X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fpanel.h;h=e269ca21819748185e2574758b459f8c532fb4b5;hb=30780ba31be92c977a68a2a9103eeba87747d530;hp=7279d78276289d35411f3c372524dcfb426d9be0;hpb=1fde94c15fc65e85f5931a9daf74dd8806e682e0;p=libs%2Fgltk.git diff --git a/source/panel.h b/source/panel.h index 7279d78..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; @@ -50,17 +48,29 @@ public: ~Panel(); 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); };