00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #if !defined(AFX_GLWTAB_H__5A717DEA_0AE4_4341_9991_A4575E3FF041__INCLUDED_)
00023 #define AFX_GLWTAB_H__5A717DEA_0AE4_4341_9991_A4575E3FF041__INCLUDED_
00024
00025 #include <GLW/GLWScrollPanel.h>
00026 #include <GLW/GLWLabel.h>
00027
00028 class GLWTabI
00029 {
00030 public:
00031 virtual ~GLWTabI();
00032
00033 virtual void tabDown(unsigned int id) = 0;
00034 };
00035
00036 class GLWTab : public GLWScrollPanel
00037 {
00038 public:
00039 GLWTab(const std::string &tabName = "",
00040 const LangString &tabLabel = LangString(),
00041 float x = 0.0f, float y = 0.0f,
00042 float w = 0.0f, float h = 0.0f);
00043 virtual ~GLWTab();
00044
00045 virtual void setParent(GLWPanel *parent);
00046 virtual void mouseDown(int button, float x, float y, bool &skipRest);
00047 virtual void mouseWheel(float x, float y, float z, bool &skipRest);
00048 virtual void draw();
00049 virtual void setH(float h);
00050
00051 float getTw();
00052 const char *getName() { return name_.c_str(); }
00053
00054 void setDepressed();
00055 bool getDepressed() { return depressed_; }
00056 void setHandler(GLWTabI *handler) { handler_ = handler; }
00057
00058 REGISTER_CLASS_HEADER(GLWTab);
00059
00060 protected:
00061 std::string name_;
00062 bool depressed_;
00063 GLWLabel label_;
00064 GLWTabI *handler_;
00065 float index_;
00066
00067 void drawSurround();
00068 void drawNonSurround();
00069 };
00070
00071 #endif // !defined(AFX_GLWTAB_H__5A717DEA_0AE4_4341_9991_A4575E3FF041__INCLUDED_)