X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fpanel.h;h=e269ca21819748185e2574758b459f8c532fb4b5;hb=30780ba31be92c977a68a2a9103eeba87747d530;hp=3d268751979b0b0a6f9097f167881d4412448e8a;hpb=2f1c7d6861c801e24a003ee5f6132032e04c9bbe;p=libs%2Fgltk.git diff --git a/source/panel.h b/source/panel.h index 3d26875..e269ca2 100644 --- a/source/panel.h +++ b/source/panel.h @@ -36,9 +36,7 @@ public: }; private: - typedef std::list ChildSeq; - - ChildSeq children; + std::list children; Widget *pointer_focus; unsigned pointer_grab; Widget *input_focus; @@ -51,17 +49,28 @@ public: void add(Widget &); void remove(Widget &); + const std::list &get_children() const { return children; } + void raise(Widget &); + void set_focus(Widget &); virtual void button_press(int, int, unsigned); virtual void button_release(int, int, unsigned); virtual void pointer_motion(int, int); + virtual void pointer_leave(); virtual void key_press(unsigned, unsigned, wchar_t); virtual void key_release(unsigned, unsigned); virtual void focus_out(); + + // These functions are not intended to be called from outside GLtk + void child_hidden(Widget &); + void grab_pointer(Widget &); + void ungrab_pointer(Widget &); + void grab_focus(Widget &); private: virtual const char *get_class() const { return "panel"; } - virtual void render_part(const Part &) const; - void set_pointer_focus(Widget *); + virtual void render_special(const Part &) const; + + void set_pointer_focus(Widget *, int); void set_input_focus(Widget *); Widget *get_child_at(int, int); };