+public:
+ Button(const std::string & = std::string());
+
+ virtual const char *get_class() const { return "button"; }
+
+private:
+ virtual void autosize_special(const Part &, Geometry &) const;
+
+public:
+ void set_text(const std::string &);
+ void set_icon(const GL::Texture2D *);
+
+private:
+ virtual void rebuild_special(const Part &);
+
+public:
+ virtual void button_press(int, int, unsigned);
+ virtual void button_release(int, int, unsigned);
+ virtual void pointer_motion(int, int);
+ virtual bool navigate(Navigation);
+private:
+ virtual void on_style_change();