00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #if !defined(__INCLUDE_GLWImageListh_INCLUDE__)
00022 #define __INCLUDE_GLWImageListh_INCLUDE__
00023
00024 #include <GLW/GLWButton.h>
00025 #include <GLW/GLWSelector.h>
00026 #include <GLEXT/GLTexture.h>
00027 #include <list>
00028
00029 class GLWImageList :
00030 public GLWidget,
00031 public GLWSelectorI
00032 {
00033 public:
00034 GLWImageList(float x = 0.0f, float y = 0.0f);
00035 virtual ~GLWImageList();
00036
00037 void addDirectory(const std::string &directory);
00038
00039 const char *getCurrentShortPath();
00040 const char *getCurrentLongPath();
00041 bool setCurrentShortPath(const char *current);
00042
00043
00044 virtual void draw();
00045 virtual void simulate(float frameTime);
00046 virtual void mouseDown(int button, float x, float y, bool &skipRest);
00047 virtual void mouseUp(int button, float x, float y, bool &skipRest);
00048 virtual void mouseDrag(int button, float mx, float my, float x, float y, bool &skipRest);
00049
00050
00051 virtual void itemSelected(GLWSelectorEntry *entry, int position);
00052
00053 void setEnabled(bool enabled) { enabled_ = enabled; }
00054
00055 REGISTER_CLASS_HEADER(GLWImageList);
00056
00057 protected:
00058 class GLWImageListEntry
00059 {
00060 public:
00061 std::string shortFileName;
00062 std::string longFileName;
00063 GLTexture texture;
00064 };
00065 std::list<GLWImageListEntry*> entries_;
00066 GLWImageListEntry *current_;
00067 bool enabled_;
00068
00069 };
00070
00071 #endif // __INCLUDE_GLWImageListh_INCLUDE__