summaryrefslogtreecommitdiff
path: root/misc_gui.c
diff options
context:
space:
mode:
authorDarkvater <darkvater@openttd.org>2006-01-26 16:19:24 +0000
committerDarkvater <darkvater@openttd.org>2006-01-26 16:19:24 +0000
commit2612d485506311f7bc9858af2bd8702939058f84 (patch)
tree121941aa494a22ee9c09b0ba52e6c0d61f8a8fba /misc_gui.c
parentbc450bbc9a48e5d6b776eee0f02b76d533e5279a (diff)
downloadopenttd-2612d485506311f7bc9858af2bd8702939058f84.tar.xz
(svn r3439) - CodeChange: Remove a whole bunch of global variables and put them into the WP() macro. Also combine more than one WP-custom element. For this the maximum size of w->custom (WP) has been increased, and multiple types put inside one with possibly moved to the corresponding gui file if it is only used there.
Diffstat (limited to 'misc_gui.c')
-rw-r--r--misc_gui.c35
1 files changed, 17 insertions, 18 deletions
diff --git a/misc_gui.c b/misc_gui.c
index 8579a2dc7..c55255fdb 100644
--- a/misc_gui.c
+++ b/misc_gui.c
@@ -885,7 +885,7 @@ void UpdateTextBufferSize(Textbuf *tb)
tb->caretxoffs = tb->width;
}
-int HandleEditBoxKey(Window *w, int wid, WindowEvent *we)
+int HandleEditBoxKey(Window *w, querystr_d *string, int wid, WindowEvent *we)
{
we->keypress.cont = false;
@@ -893,24 +893,24 @@ int HandleEditBoxKey(Window *w, int wid, WindowEvent *we)
case WKC_ESC: return 2;
case WKC_RETURN: case WKC_NUM_ENTER: return 1;
case (WKC_CTRL | 'V'):
- if (InsertTextBufferClipboard(&WP(w, querystr_d).text))
+ if (InsertTextBufferClipboard(&string->text))
InvalidateWidget(w, wid);
break;
case (WKC_CTRL | 'U'):
- DeleteTextBufferAll(&WP(w, querystr_d).text);
+ DeleteTextBufferAll(&string->text);
InvalidateWidget(w, wid);
break;
case WKC_BACKSPACE: case WKC_DELETE:
- if (DeleteTextBufferChar(&WP(w, querystr_d).text, we->keypress.keycode))
+ if (DeleteTextBufferChar(&string->text, we->keypress.keycode))
InvalidateWidget(w, wid);
break;
case WKC_LEFT: case WKC_RIGHT: case WKC_END: case WKC_HOME:
- if (MoveTextBufferPos(&WP(w, querystr_d).text, we->keypress.keycode))
+ if (MoveTextBufferPos(&string->text, we->keypress.keycode))
InvalidateWidget(w, wid);
break;
default:
if (IsValidAsciiChar(we->keypress.ascii)) {
- if (InsertTextBufferChar(&WP(w, querystr_d).text, we->keypress.ascii))
+ if (InsertTextBufferChar(&string->text, we->keypress.ascii))
InvalidateWidget(w, wid);
} else // key wasn't caught
we->keypress.cont = true;
@@ -931,20 +931,19 @@ bool HandleCaret(Textbuf *tb)
return false;
}
-void HandleEditBox(Window *w, int wid)
+void HandleEditBox(Window *w, querystr_d *string, int wid)
{
- if (HandleCaret(&WP(w, querystr_d).text)) InvalidateWidget(w, wid);
+ if (HandleCaret(&string->text)) InvalidateWidget(w, wid);
}
-void DrawEditBox(Window *w, int wid)
+void DrawEditBox(Window *w, querystr_d *string, int wid)
{
const Widget *wi = w->widget + wid;
- const Textbuf *tb = &WP(w,querystr_d).text;
+ const Textbuf *tb = &string->text;
GfxFillRect(wi->left+1, wi->top+1, wi->right-1, wi->bottom-1, 215);
DoDrawString(tb->buf, wi->left+2, wi->top+1, 8);
- if (tb->caret)
- DoDrawString("_", wi->left + 2 + tb->caretxoffs, wi->top + 1, 12);
+ if (tb->caret) DoDrawString("_", wi->left + 2 + tb->caretxoffs, wi->top + 1, 12);
}
static void QueryStringWndProc(Window *w, WindowEvent *e)
@@ -960,7 +959,7 @@ static void QueryStringWndProc(Window *w, WindowEvent *e)
SetDParam(0, WP(w,querystr_d).caption);
DrawWindowWidgets(w);
- DrawEditBox(w, 5);
+ DrawEditBox(w, &WP(w,querystr_d), 5);
break;
case WE_CLICK:
@@ -999,11 +998,11 @@ press_ok:;
DeleteWindow(w);
return;
}
- HandleEditBox(w, 5);
+ HandleEditBox(w, &WP(w, querystr_d), 5);
} break;
case WE_KEYPRESS: {
- switch (HandleEditBoxKey(w, 5, e)) {
+ switch (HandleEditBoxKey(w, &WP(w, querystr_d), 5, e)) {
case 1: // Return
goto press_ok;
case 2: // Escape
@@ -1275,7 +1274,7 @@ static void SaveLoadDlgWndProc(Window *w, WindowEvent *e)
}
if (_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO) {
- DrawEditBox(w, 10);
+ DrawEditBox(w, &WP(w,querystr_d), 10);
}
break;
}
@@ -1339,7 +1338,7 @@ static void SaveLoadDlgWndProc(Window *w, WindowEvent *e)
}
break;
case WE_MOUSELOOP:
- HandleEditBox(w, 10);
+ HandleEditBox(w, &WP(w, querystr_d), 10);
break;
case WE_KEYPRESS:
if (e->keypress.keycode == WKC_ESC) {
@@ -1348,7 +1347,7 @@ static void SaveLoadDlgWndProc(Window *w, WindowEvent *e)
}
if (_saveload_mode == SLD_SAVE_GAME || _saveload_mode == SLD_SAVE_SCENARIO) {
- if (HandleEditBoxKey(w, 10, e) == 1) /* Press Enter */
+ if (HandleEditBoxKey(w, &WP(w, querystr_d), 10, e) == 1) /* Press Enter */
HandleButtonClick(w, 12);
}
break;