]> icculus.org git repositories - divverent/nexuiz.git/blob - data/qcsrc/menu/nexuiz/mainwindow.c
demo browser
[divverent/nexuiz.git] / data / qcsrc / menu / nexuiz / mainwindow.c
1 #ifdef INTERFACE
2 CLASS(MainWindow) EXTENDS(ModalController)
3         METHOD(MainWindow, configureMainWindow, void(entity))
4         ATTRIB(MainWindow, mutatorsDialog, entity, NULL)
5         ATTRIB(MainWindow, weaponsDialog, entity, NULL)
6         ATTRIB(MainWindow, mapInfoDialog, entity, NULL)
7         ATTRIB(MainWindow, userbindEditDialog, entity, NULL)
8         ATTRIB(MainWindow, winnerDialog, entity, NULL)
9         ATTRIB(MainWindow, radarDialog, entity, NULL)
10         ATTRIB(MainWindow, mainNexposee, entity, NULL)
11         ATTRIB(MainWindow, fadedAlpha, float, SKINALPHA_BEHIND)
12 ENDCLASS(MainWindow)
13 #endif
14
15 #ifdef IMPLEMENTATION
16
17 void DemoButton_Click(entity me, entity other)
18 {
19         if(me.text == "Do not press this button again!")
20                 DialogOpenButton_Click(me, other);
21         else
22                 me.setText(me, "Do not press this button again!");
23 }
24
25 void configureMainWindowMainWindow(entity me)
26 {
27         entity n, i;
28
29         i = spawnNexuizTeamSelectDialog();
30         i.configureDialog(i);
31         me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
32
33         me.mutatorsDialog = i = spawnNexuizMutatorsDialog();
34         i.configureDialog(i);
35         me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
36
37         me.mapInfoDialog = i = spawnNexuizMapInfoDialog();
38         i.configureDialog(i);
39         me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
40
41         me.userbindEditDialog = i = spawnNexuizUserbindEditDialog();
42         i.configureDialog(i);
43         me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
44
45         me.winnerDialog = i = spawnNexuizWinnerDialog();
46         i.configureDialog(i);
47         me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
48
49         me.weaponsDialog = i = spawnNexuizWeaponsDialog();
50         i.configureDialog(i);
51         me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
52
53         me.radarDialog = i = spawnNexuizRadarDialog();
54         i.configureDialog(i);
55         me.addItemCentered(me, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
56         
57         me.mainNexposee = n = spawnNexuizNexposee();
58         /*
59                 if(checkextension("DP_GECKO_SUPPORT"))
60                 {
61                         i = spawnNexuizNewsDialog();
62                         i.configureDialog(i);
63                         n.addItemCentered(n, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
64                         n.setNexposee(n, i, '0.1 0.1 0', SKINALPHAS_MAINMENU_x, SKINALPHAS_MAINMENU_y);
65                 }
66         */
67                 i = spawnNexuizSingleplayerDialog();
68                 i.configureDialog(i);
69                 n.addItemCentered(n, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
70                 n.setNexposee(n, i, SKINPOSITION_DIALOG_SINGLEPLAYER, SKINALPHAS_MAINMENU_x, SKINALPHAS_MAINMENU_y);
71                 
72                 i = spawnNexuizMultiplayerDialog();
73                 i.configureDialog(i);
74                 n.addItemCentered(n, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
75                 n.setNexposee(n, i, SKINPOSITION_DIALOG_MULTIPLAYER, SKINALPHAS_MAINMENU_x, SKINALPHAS_MAINMENU_y);
76
77                 i = spawnNexuizSettingsDialog();
78                 i.configureDialog(i);
79                 n.addItemCentered(n, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
80                 n.setNexposee(n, i, SKINPOSITION_DIALOG_SETTINGS, SKINALPHAS_MAINMENU_x, SKINALPHAS_MAINMENU_y);
81
82                 i = spawnNexuizCreditsDialog();
83                 i.configureDialog(i);
84                 n.addItemCentered(n, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
85                 n.setNexposee(n, i, SKINPOSITION_DIALOG_CREDITS, SKINALPHAS_MAINMENU_x, SKINALPHAS_MAINMENU_y);
86                 n.pullNexposee(n, i, eY * (SKINHEIGHT_TITLE * SKINFONTSIZE_TITLE / conheight));
87
88                 i = spawnNexuizQuitDialog();
89                 i.configureDialog(i);
90                 n.addItemCentered(n, i, i.intendedWidth * eX + i.intendedHeight * eY, SKINALPHAS_MAINMENU_z);
91                 n.setNexposee(n, i, SKINPOSITION_DIALOG_QUIT, SKINALPHAS_MAINMENU_x, SKINALPHAS_MAINMENU_y);
92                 n.pullNexposee(n, i, eY * (SKINHEIGHT_TITLE * SKINFONTSIZE_TITLE / conheight));
93         me.addItem(me, n, '0 0 0', '1 1 0', SKINALPHAS_MAINMENU_z);
94         me.moveItemAfter(me, n, NULL);
95
96         me.initializeDialog(me, n);
97 }
98 #endif
99
100 // click. The C-word so you can grep for it.