Пример #1
0
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;
}
Пример #2
0
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;
}
Пример #3
0
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;
}
Пример #4
0
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;
}
Пример #6
0
CL_GUITopLevelDescription Toolbar::get_toplevel_description(const CL_Rect &position)
{
	CL_GUITopLevelDescription desc;
	desc.set_position(position, false);
	return desc;
}