From e12753d2ec9db83ec08bb9db63902a82fb245cdd Mon Sep 17 00:00:00 2001 From: "Tomas Chvatal (scarabeus)" Date: Wed, 22 Oct 2008 22:50:54 +0200 Subject: X --- src/client/saveDialog.c~ | 147 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 147 insertions(+) create mode 100644 src/client/saveDialog.c~ (limited to 'src/client/saveDialog.c~') diff --git a/src/client/saveDialog.c~ b/src/client/saveDialog.c~ new file mode 100644 index 0000000..37a3d8f --- /dev/null +++ b/src/client/saveDialog.c~ @@ -0,0 +1,147 @@ + +#include +#include + +#include "main.h" +#include "list.h" +#include "tux.h" +#include "space.h" +#include "arena.h" +#include "net_multiplayer.h" + +#include "interface.h" +#include "saveDialog.h" +#include "image.h" +#include "font.h" +#include "saveLoad.h" +#include "hotKey.h" + +#include "widget.h" +#include "widget_label.h" +#include "widget_button.h" +#include "widget_textfield.h" + +static image_t *g_background; +static bool_t activeSaveDialog; + +static widget_t *widgetLabelMsg; +static widget_t *widgetTextFieldName; + +static widget_t *widgetButtonSave; +static widget_t *widgetButtonBack; + +static void switchTerm() +{ + if( activeSaveDialog == TRUE ) + { + activeSaveDialog = FALSE; + } + else + { + activeSaveDialog = TRUE; + } +} + +static void eventWidget(void *p) +{ + widget_t *button; + + button = (widget_t *)p; + + if( button == widgetButtonSave ) + { + saveArena(getTextFromWidgetTextfield(widgetTextFieldName), getCurrentArena()); + switchTerm(); + } + + if( button == widgetButtonBack ) + { + switchTerm(); + } +} + +static void hotkey_saveDialog() +{ + switchTerm(); +} + +void initSaveDialog() +{ + activeSaveDialog = FALSE; + + g_background = getImage(IMAGE_GROUP_BASE, "screen_main"); + + widgetLabelMsg = newWidgetLabel( + "name", + SAVE_DIALOG_LOCATIN_X+20, + SAVE_DIALOG_LOCATIN_Y+20, + WIDGET_LABEL_LEFT); + + widgetTextFieldName = newWidgetTextfield( + "noname", + WIDGET_TEXTFIELD_FILTER_ALPHANUM, + widgetLabelMsg->x+widgetLabelMsg->w+10, + widgetLabelMsg->y); + + widgetButtonSave = newWidgetButton( + "Save", + SAVE_DIALOG_LOCATIN_X+20, + SAVE_DIALOG_LOCATIN_Y+60, + eventWidget); + + widgetButtonBack = newWidgetButton( + "Back", + SAVE_DIALOG_LOCATIN_X+20+WIDGET_BUTTON_WIDTH+20, + SAVE_DIALOG_LOCATIN_Y+60, + eventWidget); + + registerHotKey(SDLK_F2, hotkey_saveDialog); +} + +bool_t isSaveDialogActive() +{ + return activeSaveDialog; +} + +void drawSaveDialog() +{ + if( activeSaveDialog == FALSE ) + { + return; + } + + drawImage(g_background, + SAVE_DIALOG_LOCATIN_X, + SAVE_DIALOG_LOCATIN_Y, + SAVE_DIALOG_LOCATIN_X, + SAVE_DIALOG_LOCATIN_Y, + SAVE_DIALOG_SIZE_X, SAVE_DIALOG_SIZE_Y); + + drawWidgetLabel(widgetLabelMsg); + drawWidgetTextfield(widgetTextFieldName); + drawWidgetButton(widgetButtonSave); + drawWidgetButton(widgetButtonBack); +} + +void eventSaveDialog() +{ + if( activeSaveDialog == FALSE ) + { + return; + } + + eventWidgetTextfield(widgetTextFieldName); + eventWidgetButton(widgetButtonSave); + eventWidgetButton(widgetButtonBack); + +} + +void quitSaveDialog() +{ + unregisterHotKey(SDLK_F2); + + destroyWidgetLabel(widgetLabelMsg); + destroyWidgetTextfield(widgetTextFieldName); + destroyWidgetButton(widgetButtonSave); + destroyWidgetButton(widgetButtonBack); +} -- cgit v1.2.3