00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef PAGEDGUMP_H
00020 #define PAGEDGUMP_H
00021
00022 #include "ModalGump.h"
00023
00024 class PagedGump : public ModalGump
00025 {
00026 public:
00027 ENABLE_RUNTIME_CLASSTYPE();
00028
00029 PagedGump(int left, int right, int top, int shape);
00030 virtual ~PagedGump(void);
00031
00032
00033 virtual void InitGump(Gump* newparent, bool take_focus=true);
00034 virtual void Close(bool no_del = false);
00035
00036
00037 virtual void PaintThis(RenderSurface*, sint32 lerp_factor, bool scaled);
00038
00039 virtual bool OnKeyDown(int key, int mod);
00040 virtual void ChildNotify(Gump *child, uint32 message);
00041
00043 void addPage(Gump* g);
00044
00045 void enableButtons(bool enabled) { buttonsEnabled = enabled; }
00046
00047 bool loadData(IDataSource* ids);
00048 protected:
00049 virtual void saveData(ODataSource* ods);
00050 int leftOff, rightOff, topOff, gumpShape;
00051 std::vector<Gump *> gumps;
00052 Gump * nextButton;
00053 Gump * prevButton;
00054 std::vector<Gump *>::iterator current;
00055 bool buttonsEnabled;
00056 };
00057
00058 #endif