36 #include "../Core/System/sharedptr.h"
37 #include "../Core/Signals/callback_0.h"
38 #include "../Core/Signals/callback_1.h"
39 #include "../Core/Signals/callback_v0.h"
40 #include "../Core/Signals/callback_v1.h"
41 #include "../Core/Signals/callback_v2.h"
42 #include "../Core/Signals/callback_v3.h"
43 #include "../Core/Signals/callback_2.h"
44 #include "../Core/IOData/virtual_directory.h"
45 #include "../Display/Window/display_window_description.h"
46 #include "../Display/Window/display_window.h"
47 #include "../Display/Render/graphic_context.h"
48 #include "../Display/Window/input_context.h"
61 class CL_GUIConsumedKeys;
64 class CL_GUIComponent_Impl;
101 int get_width()
const;
104 int get_height()
const;
110 CL_Rect get_window_geometry()
const;
125 bool has_focus()
const;
128 bool get_allow_resize()
const;
131 bool get_clip_children()
const;
143 FocusPolicy get_focus_policy()
const;
149 bool is_selected_in_group()
const;
152 bool get_blocks_default_action()
const;
182 std::vector<CL_GUIComponent*> get_child_components()
const;
207 std::vector<CL_GUIComponent*> get_child_component_group(
const CL_String &group_name)
const;
216 bool has_child_components()
const;
259 bool is_enabled()
const;
262 bool is_visible()
const;
265 bool is_active()
const;
271 virtual CL_Size get_preferred_size()
const;
274 int get_preferred_width()
const;
277 int get_preferred_height()
const;
283 CL_Rect window_to_component_coords(
const CL_Rect &window_rect)
const;
289 CL_Rect component_to_window_coords(
const CL_Rect &component_rect)
const;
310 bool is_double_click_enabled()
const;
313 bool get_constant_repaint()
const;
406 void paint(
const CL_Rect &clip_rect);
414 void exit_with_code(
int exit_code);
417 void set_geometry(
CL_Rect geometry);
420 void set_window_geometry(
CL_Rect geometry);
432 void set_enabled(
bool enable =
true);
435 void set_clip_children(
bool clip =
true,
const CL_Rect &clip_rect=
CL_Rect(0,0,0,0));
441 void set_visible(
bool visible =
true,
bool activate_root_win=
true);
446 void set_focus(
bool enable =
true);
449 void capture_mouse(
bool capture);
452 void capture_proximity(
bool capture);
455 void set_focus_policy(FocusPolicy policy);
458 void set_double_click_enabled(
bool enable);
466 void set_selected_in_component_group(
bool selected);
488 void request_repaint();
493 void request_repaint(
CL_Rect rect);
508 void delete_child_components();
517 void set_cursor(
const CL_Cursor &cursor);
528 void focus_previous();
532 void set_default(
bool value);
536 void set_cancel(
bool value);
539 void set_blocks_default_action(
bool block);
542 void set_constant_repaint(
bool enable);
551 CL_SharedPtr<CL_GUIComponent_Impl> impl;
563 friend class CL_GUIManager_Impl;
565 friend class CL_GUIComponent_Impl;
569 friend class CL_Window_Impl;