CL_GUITopLevelDescription LoginView::get_toplevel_description() { CL_GUITopLevelDescription desc; desc.set_title("Connect to Server"); desc.set_position(CL_RectPS(312, 100, 400, 260), false); return desc; }
CL_GUITopLevelDescription MainWindow::get_window_description() { CL_GUITopLevelDescription desc; desc.set_title("ClanLib Texture Packer"); desc.set_allow_resize(true); desc.set_position(CL_Rect(200, 200, 1024, 768), false); return desc; }
CL_GUITopLevelDescription CSSBrowser::get_window_description() { CL_GUITopLevelDescription desc; desc.set_size(CL_Size(1280, 865), false); desc.set_title("CSS Browser"); desc.set_allow_resize(true); return desc; }
CL_GUIComponent::CL_GUIComponent(CL_GUIComponent *owner, CL_GUITopLevelDescription description) : impl(CL_GUIComponent_Impl::create_from_owner(owner)) { impl->component = this; impl->allow_resize = description.get_allow_resize(); impl->visible = description.is_visible(); impl->gui_manager.lock()->add_component(this, owner, description); impl->type_name = "component"; impl->geometry = impl->gui_manager.lock()->window_manager.get_geometry(impl->gui_manager.lock()->get_toplevel_window(this), true); request_repaint(); }
void CL_GUIWindowManagerProvider_System::create_window( CL_GUITopLevelWindow *handle, CL_GUITopLevelWindow *owner, CL_GUIComponent *component, CL_GUITopLevelDescription description) { CL_GUITopLevelWindowSystem *owner_window = 0; if (owner) { owner_window = window_map[owner]; description.set_owner_window(owner_window->window); } CL_GUITopLevelWindowSystem *top_level_window; #ifdef WIN32 // Cached windows do not work on Linux if (description.get_using_gui_window_cache()) { used_cached_windows++; if (used_cached_windows <= cached_windows.size()) { top_level_window = cached_windows[used_cached_windows-1]; top_level_window->slots = CL_SlotContainer(); cache_window_handles[handle] = top_level_window->window.get_hwnd(); } else { top_level_window = new CL_GUITopLevelWindowSystem; top_level_window->window = CL_DisplayWindow(description); cached_windows.push_back(top_level_window); cache_window_handles[handle] = top_level_window->window.get_hwnd(); } } else #endif { top_level_window = new CL_GUITopLevelWindowSystem; top_level_window->window = CL_DisplayWindow(description); } top_level_window->window.get_gc().set_map_mode(cl_map_2d_upper_left); top_level_window->slots.connect(top_level_window->window.sig_lost_focus(), this, &CL_GUIWindowManagerProvider_System::on_displaywindow_lost_focus, handle); top_level_window->slots.connect(top_level_window->window.sig_got_focus(), this, &CL_GUIWindowManagerProvider_System::on_displaywindow_got_focus, handle); top_level_window->slots.connect(top_level_window->window.sig_resize(), this, &CL_GUIWindowManagerProvider_System::on_displaywindow_resize, handle); top_level_window->slots.connect(top_level_window->window.sig_paint(), this, &CL_GUIWindowManagerProvider_System::on_displaywindow_paint, handle); top_level_window->slots.connect(top_level_window->window.sig_window_close(), this, &CL_GUIWindowManagerProvider_System::on_displaywindow_window_close, handle); top_level_window->slots.connect(top_level_window->window.sig_window_destroy(), this, &CL_GUIWindowManagerProvider_System::on_displaywindow_window_destroy, handle); CL_InputContext& ic = top_level_window->window.get_ic(); top_level_window->slots.connect(ic.get_mouse().sig_key_up(), this, &CL_GUIWindowManagerProvider_System::on_input, handle); top_level_window->slots.connect(ic.get_mouse().sig_key_down(), this, &CL_GUIWindowManagerProvider_System::on_input, handle); top_level_window->slots.connect(ic.get_mouse().sig_key_dblclk(), this, &CL_GUIWindowManagerProvider_System::on_input, handle); top_level_window->slots.connect(ic.get_mouse().sig_pointer_move(), this, &CL_GUIWindowManagerProvider_System::on_input, handle); top_level_window->slots.connect(ic.get_keyboard().sig_key_up(), this, &CL_GUIWindowManagerProvider_System::on_input, handle); top_level_window->slots.connect(ic.get_keyboard().sig_key_down(), this, &CL_GUIWindowManagerProvider_System::on_input, handle); for (int i = 0; i < ic.get_tablet_count(); ++i) { top_level_window->slots.connect(ic.get_tablet(i).sig_axis_move(), this, &CL_GUIWindowManagerProvider_System::on_input, handle); top_level_window->slots.connect(ic.get_tablet(i).sig_key_down(), this, &CL_GUIWindowManagerProvider_System::on_input, handle); top_level_window->slots.connect(ic.get_tablet(i).sig_key_dblclk(), this, &CL_GUIWindowManagerProvider_System::on_input, handle); top_level_window->slots.connect(ic.get_tablet(i).sig_key_up(), this, &CL_GUIWindowManagerProvider_System::on_input, handle); top_level_window->slots.connect(ic.get_tablet(i).sig_proximity_change(), this, &CL_GUIWindowManagerProvider_System::on_input, handle); } window_map[handle] = top_level_window; }
CL_GUITopLevelDescription Toolbar::get_toplevel_description(const CL_Rect &position) { CL_GUITopLevelDescription desc; desc.set_position(position, false); return desc; }