]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/menu/xonotic/dialog_settings_input_userbind.qc
Header police
[xonotic/xonotic-data.pk3dir.git] / qcsrc / menu / xonotic / dialog_settings_input_userbind.qc
1 #include "dialog_settings_input_userbind.qh"
2 #ifndef DIALOG_SETTINGS_INPUT_USERBIND_H
3 #define DIALOG_SETTINGS_INPUT_USERBIND_H
4 #include "dialog.qc"
5 CLASS(XonoticUserbindEditDialog, XonoticDialog)
6         METHOD(XonoticUserbindEditDialog, loadUserBind, void(entity, string, string, string));
7         METHOD(XonoticUserbindEditDialog, fill, void(entity));
8         ATTRIB(XonoticUserbindEditDialog, title, string, _("User defined key bind"))
9         ATTRIB(XonoticUserbindEditDialog, color, vector, SKINCOLOR_DIALOG_USERBIND)
10         ATTRIB(XonoticUserbindEditDialog, intendedWidth, float, 0.7)
11         ATTRIB(XonoticUserbindEditDialog, rows, float, 4)
12         ATTRIB(XonoticUserbindEditDialog, columns, float, 3)
13         ATTRIB(XonoticUserbindEditDialog, keybindBox, entity, NULL)
14
15         ATTRIB(XonoticUserbindEditDialog, nameBox, entity, NULL)
16         ATTRIB(XonoticUserbindEditDialog, commandPressBox, entity, NULL)
17         ATTRIB(XonoticUserbindEditDialog, commandReleaseBox, entity, NULL)
18 ENDCLASS(XonoticUserbindEditDialog)
19 #endif
20
21 #ifdef IMPLEMENTATION
22 void XonoticUserbindEditDialog_Save(entity btn, entity me)
23 {
24         me.keybindBox.editUserbind(me.keybindBox, me.nameBox.text, me.commandPressBox.text, me.commandReleaseBox.text);
25         Dialog_Close(btn, me);
26 }
27
28 void XonoticUserbindEditDialog_loadUserBind(entity me, string theName, string theCommandPress, string theCommandRelease)
29 {
30         me.nameBox.setText(me.nameBox, theName);
31                 me.nameBox.keyDown(me.nameBox, K_END, 0, 0);
32         me.commandPressBox.setText(me.commandPressBox, theCommandPress);
33                 me.nameBox.keyDown(me.commandPressBox, K_END, 0, 0);
34         me.commandReleaseBox.setText(me.commandReleaseBox, theCommandRelease);
35                 me.nameBox.keyDown(me.commandReleaseBox, K_END, 0, 0);
36 }
37
38 void XonoticUserbindEditDialog_fill(entity me)
39 {
40         entity e;
41         me.TR(me);
42                 me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Name:")));
43                 me.TD(me, 1, me.columns - 1, me.nameBox = makeXonoticInputBox(0, string_null));
44         me.TR(me);
45                 me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Command when pressed:")));
46                 me.TD(me, 1, me.columns - 1, me.commandPressBox = makeXonoticInputBox(0, string_null));
47         me.TR(me);
48                 me.TD(me, 1, 1, e = makeXonoticTextLabel(0, _("Command when released:")));
49                 me.TD(me, 1, me.columns - 1, me.commandReleaseBox = makeXonoticInputBox(0, string_null));
50         me.TR(me);
51                 me.TD(me, 1, me.columns / 2, e = makeXonoticButton(_("Save"), '0 0 0'));
52                         e.onClick = XonoticUserbindEditDialog_Save;
53                         e.onClickEntity = me;
54                 me.TD(me, 1, me.columns / 2, e = makeXonoticButton(_("Cancel"), '0 0 0'));
55                         e.onClick = Dialog_Close;
56                         e.onClickEntity = me;
57 }
58 #endif