aboutsummaryrefslogtreecommitdiff
path: root/engines/neverhood/menumodule.h
diff options
context:
space:
mode:
authorjohndoe1232013-01-29 15:40:41 +0000
committerWillem Jan Palenstijn2013-05-08 20:47:43 +0200
commit8749efdea821433cf355ae4fa543ef412f33c2fe (patch)
treeaabfe5ebe3c0d88c775a0cd752e23ecced76cce8 /engines/neverhood/menumodule.h
parenta03879963f2e8adebd1f4bb90975ff0c43f286dc (diff)
downloadscummvm-rg350-8749efdea821433cf355ae4fa543ef412f33c2fe.tar.gz
scummvm-rg350-8749efdea821433cf355ae4fa543ef412f33c2fe.tar.bz2
scummvm-rg350-8749efdea821433cf355ae4fa543ef412f33c2fe.zip
NEVERHOOD: Add game-internal savegame delete menu
- Rename Widget::addSprite to Widget::initialize
Diffstat (limited to 'engines/neverhood/menumodule.h')
-rw-r--r--engines/neverhood/menumodule.h26
1 files changed, 22 insertions, 4 deletions
diff --git a/engines/neverhood/menumodule.h b/engines/neverhood/menumodule.h
index 2f91bdb40e..39cd36a7a2 100644
--- a/engines/neverhood/menumodule.h
+++ b/engines/neverhood/menumodule.h
@@ -44,6 +44,7 @@ public:
virtual ~MenuModule();
void setLoadgameInfo(uint index);
void setSavegameInfo(const Common::String &description, uint index, bool newSavegame);
+ void setDeletegameInfo(uint index);
protected:
int _sceneNum;
byte *_savedPaletteData;
@@ -55,8 +56,10 @@ protected:
uint32 handleMessage(int messageNum, const MessageParam &param, Entity *sender);
void createLoadGameMenu();
void createSaveGameMenu();
+ void createDeleteGameMenu();
void handleLoadGameMenuAction(bool doLoad);
void handleSaveGameMenuAction(bool doSave, bool doQuery);
+ void handleDeleteGameMenuAction(bool doDelete);
void loadSavegameList();
};
@@ -114,7 +117,7 @@ public:
virtual void onClick();
virtual void setPosition(int16 x, int16 y);
virtual void refreshPosition();
- virtual void addSprite();
+ virtual void initialize();
virtual int16 getWidth();
virtual int16 getHeight();
virtual void enterWidget();
@@ -133,7 +136,7 @@ public:
TextLabelWidget(NeverhoodEngine *vm, int16 x, int16 y, int16 itemID, WidgetScene *parentScene,
int baseObjectPriority, int baseSurfacePriority,
const byte *string, int stringLen, BaseSurface *drawSurface, int16 tx, int16 ty, FontSurface *fontSurface);
- virtual void addSprite();
+ virtual void initialize();
virtual int16 getWidth();
virtual int16 getHeight();
void drawString(int maxStringLength);
@@ -154,7 +157,7 @@ public:
int maxStringLength, FontSurface *fontSurface, uint32 fileHash, const NRect &rect);
~TextEditWidget();
virtual void onClick();
- virtual void addSprite();
+ virtual void initialize();
virtual void enterWidget();
virtual void exitWidget();
void setCursor(uint32 cursorFileHash, int16 cursorWidth, int16 cursorHeight);
@@ -191,7 +194,7 @@ public:
SavegameListBox(NeverhoodEngine *vm, int16 x, int16 y, int16 itemID, WidgetScene *parentScene,
SavegameList *savegameList, FontSurface *fontSurface, uint32 bgFileHash, const NRect &rect);
virtual void onClick();
- virtual void addSprite();
+ virtual void initialize();
void buildItems();
void drawItems();
void refresh();
@@ -244,6 +247,21 @@ protected:
void performLoadGame();
};
+class DeleteGameMenu : public WidgetScene {
+public:
+ DeleteGameMenu(NeverhoodEngine *vm, Module *parentModule, SavegameList *savegameList);
+ ~DeleteGameMenu();
+ virtual void handleEvent(int16 itemID, int eventType);
+protected:
+ SavegameList *_savegameList;
+ FontSurface *_fontSurface;
+ SavegameListBox *_listBox;
+ TextEditWidget *_textEditWidget;
+ Common::String _savegameDescription;
+ uint32 handleMessage(int messageNum, const MessageParam &param, Entity *sender);
+ void performDeleteGame();
+};
+
class QueryOverwriteMenu : public Scene {
public:
QueryOverwriteMenu(NeverhoodEngine *vm, Module *parentModule, const Common::String &description);