Example #1
0
	void WindowView_Impl::window_key_event(KeyEvent &e)
	{
		Pointf pointer_pos = e.pointer_pos(window_view);
		pointer_pos -= window_view->geometry().content.get_top_left();
		window_view->to_root_pos(pointer_pos);

		View *view = window_view->focus_view();
		if (view)
		{
			view->dispatch_event(&e);
		}

		if (!e.default_prevented() && e.type() == KeyEventType::press && e.shift_down() && e.key() == Key::tab)
		{
			window_view->prev_focus();
		}
		else if (!e.default_prevented() && e.type() == KeyEventType::press && e.key() == Key::tab)
		{
			window_view->next_focus();
		}
	}