X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fpanel.h;h=54e75ef5309e9e23d62645fadaf5064cafa7fddb;hb=2f70d404230954f0693a62a021b5d2ad1faed8fa;hp=8a5d1286ab97024a3abf102643a2b344fd2eb655;hpb=1e06dc208a02e68cf1bb127927e3ad5af3657c58;p=libs%2Fgltk.git diff --git a/source/panel.h b/source/panel.h index 8a5d128..54e75ef 100644 --- a/source/panel.h +++ b/source/panel.h @@ -1,7 +1,7 @@ /* $Id$ This file is part of libmspgltk -Copyright © 2007-2009 Mikko Rasa, Mikkosoft Productions +Copyright © 2007-2011 Mikko Rasa, Mikkosoft Productions Distributed under the LGPL */ @@ -23,12 +23,15 @@ class Panel: public Container public: class Loader: public Widget::Loader { + public: + typedef std::map WidgetMap; + private: Panel &pnl; - std::map &wdg_map; + WidgetMap &wdg_map; public: - Loader(Panel &, std::map &); + Loader(Panel &, WidgetMap &); private: template void child(const std::string &); @@ -55,10 +58,22 @@ protected: Panel(const Panel &); Panel &operator=(const Panel &); public: - Panel(const Resources &); + Panel(); + virtual const char *get_class() const { return "panel"; } + +protected: + virtual Child *create_child(Widget *); + +public: void raise(Widget &); + Widget *get_input_focus() const { return input_focus; } + Widget *get_final_input_focus() const; +protected: + virtual void render_special(const Part &) const; + +public: virtual void button_press(int, int, unsigned); virtual void button_release(int, int, unsigned); virtual void pointer_motion(int, int); @@ -66,11 +81,8 @@ public: virtual void key_press(unsigned, unsigned, wchar_t); virtual void key_release(unsigned, unsigned); virtual void focus_out(); -protected: - virtual const char *get_class() const { return "panel"; } - virtual void render_special(const Part &) const; - virtual Child *create_child(Widget *); +protected: void set_pointer_focus(Widget *); void set_input_focus(Widget *); };