Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/trunk/src/lib/gui/gl/glgui_button.h @ 8980

Last change on this file since 8980 was 8717, checked in by bensch, 18 years ago

merged the gui back

File size: 1.5 KB
RevLine 
[4838]1/*!
[5363]2 * @file glgui_button.h
3 * The gl_BUTTON widget of th openglGUI
[5360]4 *
5 */
[1853]6
[5363]7#ifndef _GLGUI_BUTTON_H
8#define _GLGUI_BUTTON_H
[1853]9
[5363]10#include "glgui_widget.h"
[1853]11
[7919]12#include "text.h"
[7779]13
14namespace OrxGui
[5363]15{
[7779]16  typedef enum
17  {
18    Button_Active,
19    Button_Inactive,
20    Button_Pressed,
21    Button_Released,
22    Button_Activating,
23    Button_Deactivating,
[5363]24
[7779]25  } ButtonState;
[5363]26
[7779]27  //! This is part of the openglGUI class
28  /**
[7919]29   * The Button is an Abstract class, that can be pushed to Toggle its state.
[7779]30   */
31  class GLGuiButton : public GLGuiWidget
32  {
[3543]33
[8035]34    public:
35      GLGuiButton(const std::string& label);
36      virtual ~GLGuiButton();
[3543]37
[8619]38      const std::string& label() const { return this->_label.text(); };
[8035]39      void setLabel(const std::string& label);
[2036]40
[8035]41      virtual void draw() const;
[8717]42      virtual bool processEvent(const Event& event);
[7919]43
[8448]44      DeclareSignal0(clicked);
[8035]45      DeclareSignal0(released);
[1853]46
[8717]47
[8035]48    protected:
[8448]49      virtual void updateFrontColor();
50
[8035]51      virtual void clicking(const Vector2D& pos);
[8717]52      virtual void releasing(const Vector2D& pos, bool focused);
[8115]53      virtual void hiding();
54      virtual void showing();
[8035]55
[8115]56      /** @returns the Text. (the physical Text) */
57      Text& labelText() { return this->_label; }
58      /** @returns the constant Text. (the physical Text) */
59      const Text& labelText() const { return this->_label; }
60
[7919]61    private:
62      void init();
63
64
[8035]65    private:
[8115]66      Text                 _label;
[8035]67      ButtonState          state;
[7779]68  };
69}
[5360]70#endif /* _GLGUI__H */
Note: See TracBrowser for help on using the repository browser.