};
private:
- typedef std::list<Widget *> ChildSeq;
-
- ChildSeq children;
+ std::list<Widget *> children;
Widget *pointer_focus;
unsigned pointer_grab;
Widget *input_focus;
void add(Widget &);
void remove(Widget &);
+ const std::list<Widget *> &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);
};