00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef INFO_GUI_H
00020 #define INFO_GUI_H
00021
00022 #include <iostream>
00023 #include <string>
00024 #include <map>
00025 #include "constants.h"
00026 #include "scourge.h"
00027 #include "item.h"
00028 #include "gui/window.h"
00029 #include "gui/widget.h"
00030 #include "gui/button.h"
00031 #include "gui/canvas.h"
00032 #include "gui/widgetview.h"
00033 #include "gui/scrollinglabel.h"
00034
00035 class InfoGui : public WidgetView {
00036
00037 private:
00038 Scourge *scourge;
00039 Item *item;
00040 Window *win;
00041 Button *openButton;
00042 ScrollingLabel *label;
00043 Label *nameLabel;
00044 Canvas *image;
00045 int infoDetailLevel;
00046 char name[500], description[1000];
00047
00048 public:
00049 InfoGui(Scourge *scourge);
00050 ~InfoGui();
00051
00052 bool handleEvent(Widget *widget, SDL_Event *event);
00053
00054 inline Item *getItem() { return item; }
00055 void setItem(Item *item, int level);
00056 inline int getInfoDetailLevel() { return infoDetailLevel; }
00057 void setInfoDetailLevel(int level);
00058 inline Window *getWindow() { return win; }
00059
00060 void drawWidget(Widget *w);
00061
00062 protected:
00063 void describe();
00064 };
00065
00066 #endif
00067