Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/ai/src/lib/gui/gl/glgui_box.h @ 10120

Last change on this file since 10120 was 9869, checked in by bensch, 18 years ago

orxonox/trunk: merged the new_class_id branche back to the trunk.
merged with command:
svn merge https://svn.orxonox.net/orxonox/branches/new_class_id trunk -r9683:HEAD
no conflicts… puh..

File size: 1.5 KB
Line 
1/*!
2 * @file glgui_box.h
3 * The gl_box widget of th openglGUI
4 *
5 */
6
7#ifndef _GLGUI_BOX_H
8#define _GLGUI_BOX_H
9
10#include "glgui_container.h"
11#include "glgui_defs.h"
12
13namespace OrxGui
14{
15  //! This is BOX part of the openglGUI class
16  /**
17   *
18   */
19  class GLGuiBox : public GLGuiContainer
20  {
21    ObjectListDeclaration(GLGuiBox);
22  public:
23    GLGuiBox(OrxGui::Orientation orientation = OrxGui::Vertical);
24    virtual ~GLGuiBox();
25
26    /** @returns the Orientation of the Box */
27    OrxGui::Orientation orientation() const { return this->_orientation; };
28    /** @param orientation the Orientation of the Box */
29    void setOrientation(OrxGui::Orientation orientation) { this->_orientation = orientation; };
30
31    virtual void pack(GLGuiWidget* widget);
32    void pack(GLGuiWidget* widget, unsigned int position);
33    void pack(GLGuiWidget* widget, const GLGuiWidget* widgetPointer);
34    void packFront(GLGuiWidget* widget);
35    void packBack(GLGuiWidget* widget);
36    virtual void unpack(GLGuiWidget* widget);
37
38    virtual void clear();
39
40    virtual void showAll();
41    virtual void hideAll();
42
43    virtual void draw() const;
44
45  protected:
46    virtual void resize();
47
48  private:
49    void init();
50    void packing(GLGuiWidget* widget); // the action executing when packing a widget.
51    void pack(GLGuiWidget* widget, std::list<GLGuiWidget*>::iterator pos);
52
53  private:
54
55
56    Orientation                _orientation;
57    std::list<GLGuiWidget*>    _children;
58  };
59}
60#endif /* _GLGUI__H */
Note: See TracBrowser for help on using the repository browser.