Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 7901 in orxonox.OLD


Ignore:
Timestamp:
May 27, 2006, 1:43:23 PM (18 years ago)
Author:
bensch
Message:

orxonox/trunk: the CheckButton works

Location:
branches/gui/src
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • branches/gui/src/lib/gui/gl_gui/Makefile.am

    r7892 r7901  
    1717                glgui_button.cc \
    1818                glgui_pushbutton.cc \
     19                glgui_checkbutton.cc \
    1920                glgui_container.cc \
    2021                glgui_bar.cc \
     
    3637                glgui_button.h \
    3738                glgui_pushbutton.h \
     39                glgui_checkbutton.h \
    3840                glgui_container.h \
    3941                glgui_bar.h \
  • branches/gui/src/lib/gui/gl_gui/glgui.h

    r7892 r7901  
    1515#include "glgui_button.h"
    1616#include "glgui_checkbutton.h"
    17 #include "glgui_colorselector.h"
     17//#include "glgui_colorselector.h"
    1818#include "glgui_pushbutton.h"
    1919#include "glgui_cursor.h"
  • branches/gui/src/lib/gui/gl_gui/glgui_button.cc

    r7883 r7901  
    3030    this->init();
    3131
    32     this->setLabel(label);
     32    this->label.setText( label );
    3333  }
    3434
     
    6464  {
    6565    this->label.setText(label);
    66     this->label.setRelCoor2D(5, 5);
    67     this->setSize2D(this->label.getSizeX2D() + 10, this->label.getSizeY2D() + 10);
    68 
     66    this->resize();
    6967  }
    7068
    71 
    7269  /**
    73    * draws the GLGuiButton
     70   * @brief draws the GLGuiButton
    7471   */
    7572  void GLGuiButton::draw() const
  • branches/gui/src/lib/gui/gl_gui/glgui_button.h

    r7883 r7901  
    3939    void setLabel(const std::string& label);
    4040
     41    virtual void resize() = 0;
     42
    4143    virtual void draw() const;
    4244
  • branches/gui/src/lib/gui/gl_gui/glgui_checkbutton.cc

    r7779 r7901  
    2727   * standard constructor
    2828  */
    29   GLGuiCheckButton::GLGuiCheckButton ()
     29  GLGuiCheckButton::GLGuiCheckButton (const std::string& label, bool active)
     30  : GLGuiButton(label)
    3031  {
    3132    this->init();
     33    this->bActive = active;
    3234
     35    this->resize();
    3336  }
    3437
     
    4447   * initializes the GUI-element
    4548   */
    46   GLGuiCheckButton::init()
     49  void GLGuiCheckButton::init()
    4750  {
    4851    this->setClassID(CL_GLGUI_CHECKBUTTON, "GLGuiCheckButton");
     52  }
    4953
     54
     55  void GLGuiCheckButton::toggleActiveState()
     56  {
     57    this->bActive = !this->bActive;
     58  }
     59
     60  void GLGuiCheckButton::resize()
     61  {
     62    this->label.setRelCoor2D(25, 5);
     63    this->setSize2D(this->label.getSizeX2D() + 30, this->label.getSizeY2D() + 10);
     64  }
     65
     66
     67  void GLGuiCheckButton::released()
     68  {
     69    printf("%s released\n", this->getLabel().c_str());
     70    GLGuiWidget::released();
     71    this->toggleActiveState();
    5072  }
    5173
    5274  /**
    53    * draws the GLGuiCheckButton
     75   * @brief draws the GLGuiPushButton
    5476   */
    5577  void GLGuiCheckButton::draw() const
    5678  {
     79    this->startDraw();
     80    GLGuiButton::draw();
     81
     82    this->frontMaterial().select();
     83    glBegin(GL_QUADS);
     84
     85    glTexCoord2i(0,0); glVertex2d(1, 1);
     86    glTexCoord2i(0,1); glVertex2d(1, this->getSizeY2D() - 1);
     87    glTexCoord2i(1,1); glVertex2d(this->getSizeX2D() - 1, this->getSizeY2D() -1);
     88    glTexCoord2i(1,0); glVertex2d(this->getSizeX2D() - 1, 1);
     89
     90    if (this->bActive)
     91      glColor3f( 1, 1 ,1);
     92    else
     93      glColor3f(0, 0, 0);
     94    glTexCoord2i(0,0); glVertex2d(8, 8);
     95    glTexCoord2i(0,1); glVertex2d(8, this->getSizeY2D()-8);
     96    glTexCoord2i(1,1); glVertex2d(this->getSizeY2D()-8, this->getSizeY2D()-8);
     97    glTexCoord2i(1,0); glVertex2d(this->getSizeY2D()-8, 8);
     98
     99    glEnd();
     100
     101
     102    this->endDraw();
     103    //   this->label->draw();
     104    //  printf("test");
    57105  }
    58106}
  • branches/gui/src/lib/gui/gl_gui/glgui_checkbutton.h

    r7779 r7901  
    66
    77#ifndef _GLGUI_CHECKBUTTON_H
    8 #define _GLGUI__H
     8#define _GLGUI_CHECKBUTTON_H
    99
    1010#include "glgui_button.h"
     
    2323
    2424  public:
    25     GLGuiCheckButton();
     25    GLGuiCheckButton(const std::string& label = "", bool active = false);
    2626    virtual ~GLGuiCheckButton();
    2727
    28     void init();
     28    virtual void resize();
     29    virtual void released();
    2930
    3031    bool    isActive() { return this->bActive; };
    3132    void    setActivity(bool bActive);
     33    void    toggleActiveState();
    3234
    3335    virtual void draw() const;
    3436    virtual void update() {};
     37
     38  private:
     39    void init();
     40
    3541
    3642  private:
  • branches/gui/src/lib/gui/gl_gui/glgui_colorselector.h

    r7779 r7901  
    55 */
    66
    7 #ifndef _GLGUI__H
    8 #define _GLGUI__H
     7#ifndef _GLGUI_COLORSELECTOR_H
     8#define _GLGUI_COLORSELECTOR_H
    99
    10 #include "base_object.h"
     10#include "glgui_widget.h"
    1111
    1212namespace OrxGui
  • branches/gui/src/lib/gui/gl_gui/glgui_pushbutton.cc

    r7896 r7901  
    2828   */
    2929  GLGuiPushButton::GLGuiPushButton (const std::string& label)
    30   :GLGuiButton(label)
     30  : GLGuiButton(label)
    3131  {
    3232    this->init();
     33
     34    this->resize();
    3335  }
    3436
     
    3941  GLGuiPushButton::~GLGuiPushButton()
    4042  {
     43  }
     44
     45  void GLGuiPushButton::resize()
     46  {
     47    this->label.setRelCoor2D(5, 5);
     48    this->setSize2D(this->label.getSizeX2D() + 10, this->label.getSizeY2D() + 10);
    4149  }
    4250
     
    7886
    7987  /**
    80    * draws the GLGuiPushButton
     88   * @brief draws the GLGuiPushButton
    8189   */
    8290  void GLGuiPushButton::draw() const
  • branches/gui/src/lib/gui/gl_gui/glgui_pushbutton.h

    r7883 r7901  
    2323
    2424  public:
    25     GLGuiPushButton(const std::string& label);
     25    GLGuiPushButton(const std::string& label = "");
    2626    virtual ~GLGuiPushButton();
    2727
     28
     29    virtual void resize();
    2830
    2931    virtual void receivedFocus();
  • branches/gui/src/story_entities/simple_game_menu.cc

    r7895 r7901  
    7070  pb->setAbsCoor2D(50, 50);
    7171
    72   OrxGui::GLGuiPushButton* dnpb = new OrxGui::GLGuiPushButton("DO NOT PUSH ME");
     72  OrxGui::GLGuiButton* dnpb = new OrxGui::GLGuiCheckButton("DO NOT PUSH ME");
    7373  dnpb->show();
    7474  dnpb->setAbsCoor2D(350, 50);
Note: See TracChangeset for help on using the changeset viewer.