X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fpanel.h;h=e269ca21819748185e2574758b459f8c532fb4b5;hb=30780ba31be92c977a68a2a9103eeba87747d530;hp=b4fc0237f5a1b2d408a04cccc96fac975183e518;hpb=c2635c5a3dca6a6cea5562fd387beb0662b18cf0;p=libs%2Fgltk.git diff --git a/source/panel.h b/source/panel.h index b4fc023..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(); - void button_press(int, int, unsigned); - void button_release(int, int, unsigned); - void pointer_motion(int, int); - void key_press(unsigned, unsigned, wchar_t); - void key_release(unsigned, unsigned); - 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: - const char *get_class() const { return "panel"; } - void render_part(const Part &) const; - void set_pointer_focus(Widget *); + virtual const char *get_class() const { return "panel"; } + virtual void render_special(const Part &) const; + + void set_pointer_focus(Widget *, int); void set_input_focus(Widget *); Widget *get_child_at(int, int); };