Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 7779 in orxonox.OLD for trunk/src/lib/gui/gl_gui/glgui_widget.h


Ignore:
Timestamp:
May 23, 2006, 10:04:17 PM (18 years ago)
Author:
bensch
Message:

3088 linews changed :): trunk: namespaces

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/lib/gui/gl_gui/glgui_widget.h

    r7221 r7779  
    99#include "element_2d.h"
    1010#include "event.h"
    11 
    1211#include "material.h"
    1312
    1413#include "glincl.h"
    15 #include "executor/executor.h"
     14#include "signal_connector.h"
    1615
    1716// FORWARD DECLARATION
    1817class Material;
    1918
    20 typedef enum
     19namespace OrxGui
    2120{
    22   GLGuiSignal_click     = 0,
    23   GLGuiSignal_release,
    24   GLGuiSignal_rollOn,
    25   GLGuiSignal_rollOff,
    26   GLGuiSignal_open,
    27   GLGuiSignal_close,
    28   GLGuiSignal_destroy,
    2921
    30   GLGuiSignalCount,
    31 } GLGuiSignalType;
     22  typedef enum
     23  {
     24    GLGuiSignal_click     = 0,
     25    GLGuiSignal_release,
     26    GLGuiSignal_rollOn,
     27    GLGuiSignal_rollOff,
     28    GLGuiSignal_open,
     29    GLGuiSignal_close,
     30    GLGuiSignal_destroy,
    3231
    33 //! if the Element should be visible by default.
     32    GLGuiSignalCount,
     33  } GLGuiSignalType;
     34
     35  //! if the Element should be visible by default.
    3436#define GLGUI_WIDGET_DEFAULT_VISIBLE       false
    3537
    36 //! This is widget part of the openglGUI class
    37 /**
    38  * A widget is the main class of all the elements of th GUI.
    39  */
    40 class GLGuiWidget : public Element2D {
     38  //! This is widget part of the openglGUI class
     39  /**
     40   * A widget is the main class of all the elements of th GUI.
     41   */
     42  class GLGuiWidget : public Element2D
     43  {
     44  private:
     45
    4146  public:
    4247    GLGuiWidget();
    4348    virtual ~GLGuiWidget();
    4449
    45     void init();
    46     /** @returns a new char-array containing a string with the options. Delete with delete[]; */
    47     virtual char* save() {};
    48     /** loads options of the Widget. @param loadString a string containing the Options */
    49     virtual void load(const std::string& loadString) {};
    50 
    5150    void show();
    5251    void hide();
    5352
    54     void connectSignal(GLGuiSignalType signalType, const Executor& signal);
     53    void connectSignal(GLGuiSignalType signalType, BaseObject* obj, const Executor* signal);
    5554    void disconnectSignal(GLGuiSignalType signalType);
    5655    bool focusOverWidget(float x, float y);
     
    7372    inline void endDraw() const { glPopMatrix(); };
    7473
     74  private:
     75    void init();
     76
    7577  protected:
    76     Material              backMat;
    77     GLuint                backModel;
     78    Material               backMat;
     79    GLuint                 backModel;
    7880
    79     Material              frontMat;
    80     GLuint                frontModel;
     81    Material               frontMat;
     82    GLuint                 frontModel;
    8183
    8284  private:
    83     Executor*             widgetSignals[GLGuiSignalCount];
     85    std::vector<SignalConnector*> widgetSignals;
    8486
    85     bool                  focusable;        //!< If this widget can receive focus.
    86     bool                  clickable;        //!< if this widget can be clicked upon.
    87 };
    88 
     87    bool                   focusable;        //!< If this widget can receive focus.
     88    bool                   clickable;        //!< if this widget can be clicked upon.
     89  };
     90}
    8991#endif /* _GLGUI_WIDGET_H */
Note: See TracChangeset for help on using the changeset viewer.