Starshatter_Open
Open source Starshatter engine
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
MenuScreen.h
Go to the documentation of this file.
1 /* Project Starshatter 4.5
2  Destroyer Studios LLC
3  Copyright © 1997-2004. All Rights Reserved.
4 
5  SUBSYSTEM: Stars.exe
6  FILE: MenuScreen.h
7  AUTHOR: John DiCamillo
8 
9 */
10 
11 #ifndef MenuScreen_h
12 #define MenuScreen_h
13 
14 #include "Types.h"
15 #include "Bitmap.h"
16 #include "Screen.h"
17 #include "BaseScreen.h"
18 
19 // +--------------------------------------------------------------------+
20 
21 class MenuDlg;
22 class AudDlg;
23 class VidDlg;
24 class OptDlg;
25 class CtlDlg;
26 class JoyDlg;
27 class KeyDlg;
28 class ExitDlg;
29 class ConfirmDlg;
30 
31 class FirstTimeDlg;
32 class PlayerDlg;
33 class AwardShowDlg;
34 
35 class MsnSelectDlg;
36 class CmpSelectDlg;
37 class ModDlg;
38 class ModInfoDlg;
39 class MsnEditDlg;
40 class MsnElemDlg;
41 class MsnEventDlg;
42 
43 class NetClientDlg;
44 class NetAddrDlg;
45 class NetPassDlg;
46 class NetLobbyDlg;
47 class NetServerDlg;
48 class NetUnitDlg;
49 
50 class LoadDlg;
51 class TacRefDlg;
52 
53 class ActiveWindow;
54 class Bitmap;
55 class DataLoader;
56 class FadeView;
57 class Font;
58 class FormWindow;
59 class Screen;
60 class Video;
61 class VideoFactory;
62 class Window;
63 
64 // +--------------------------------------------------------------------+
65 
66 class MenuScreen : public BaseScreen
67 {
68 public:
69  MenuScreen();
70  virtual ~MenuScreen();
71 
72  virtual void Setup(Screen* screen);
73  virtual void TearDown();
74  virtual bool CloseTopmost();
75 
76  virtual bool IsShown() const { return isShown; }
77  virtual void Show();
78  virtual void Hide();
79 
80  virtual void ExecFrame();
81 
82  virtual void ShowMenuDlg();
83  virtual void ShowCmpSelectDlg();
84  virtual void ShowMsnSelectDlg();
85  virtual void ShowModDlg();
86  virtual void ShowModInfoDlg();
87  virtual void ShowMsnEditDlg();
88  virtual void ShowNetClientDlg();
89  virtual void ShowNetAddrDlg();
90  virtual void ShowNetPassDlg();
91  virtual void ShowNetLobbyDlg();
92  virtual void ShowNetServerDlg();
93  virtual void ShowNetUnitDlg();
94  virtual void ShowFirstTimeDlg();
95  virtual void ShowPlayerDlg();
96  virtual void ShowTacRefDlg();
97  virtual void ShowAwardDlg();
98  virtual void ShowAudDlg();
99  virtual void ShowVidDlg();
100  virtual void ShowOptDlg();
101  virtual void ShowCtlDlg();
102  virtual void ShowJoyDlg();
103  virtual void ShowKeyDlg();
104  virtual void ShowExitDlg();
105  virtual void ShowConfirmDlg();
106  virtual void HideConfirmDlg();
107  virtual void ShowLoadDlg();
108  virtual void HideLoadDlg();
109 
110  // base screen interface:
111  virtual void ShowMsnElemDlg();
112  virtual void HideMsnElemDlg();
113  virtual MsnElemDlg* GetMsnElemDlg() { return msnElemDlg; }
114 
115  virtual void ShowMsnEventDlg();
116  virtual void HideMsnEventDlg();
117  virtual MsnEventDlg* GetMsnEventDlg() { return msnEventDlg; }
118 
119  virtual void ShowNavDlg();
120  virtual void HideNavDlg();
121  virtual bool IsNavShown();
122  virtual NavDlg* GetNavDlg() { return msnEditNavDlg; }
123 
124  virtual MsnSelectDlg* GetMsnSelectDlg() const { return msnSelectDlg; }
125  virtual ModDlg* GetModDlg() const { return modDlg; }
126  virtual ModInfoDlg* GetModInfoDlg() const { return modInfoDlg; }
127  virtual MsnEditDlg* GetMsnEditDlg() const { return msnEditDlg; }
128  virtual NetClientDlg* GetNetClientDlg() const { return netClientDlg; }
129  virtual NetAddrDlg* GetNetAddrDlg() const { return netAddrDlg; }
130  virtual NetPassDlg* GetNetPassDlg() const { return netPassDlg; }
131  virtual NetLobbyDlg* GetNetLobbyDlg() const { return netLobbyDlg; }
132  virtual NetServerDlg* GetNetServerDlg() const { return netServerDlg; }
133  virtual NetUnitDlg* GetNetUnitDlg() const { return netUnitDlg; }
134  virtual LoadDlg* GetLoadDlg() const { return loadDlg; }
135  virtual TacRefDlg* GetTacRefDlg() const { return tacRefDlg; }
136 
137  virtual AudDlg* GetAudDlg() const { return auddlg; }
138  virtual VidDlg* GetVidDlg() const { return viddlg; }
139  virtual OptDlg* GetOptDlg() const { return optdlg; }
140  virtual CtlDlg* GetCtlDlg() const { return ctldlg; }
141  virtual JoyDlg* GetJoyDlg() const { return joydlg; }
142  virtual KeyDlg* GetKeyDlg() const { return keydlg; }
143  virtual ExitDlg* GetExitDlg() const { return exitdlg; }
144  virtual FirstTimeDlg* GetFirstTimeDlg() const { return firstdlg; }
145  virtual PlayerDlg* GetPlayerDlg() const { return playdlg; }
146  virtual AwardShowDlg* GetAwardDlg() const { return awarddlg; }
147  virtual ConfirmDlg* GetConfirmDlg() const { return confirmdlg; }
148 
149  virtual void ApplyOptions();
150  virtual void CancelOptions();
151 
152 private:
153  void HideAll();
154 
155  Screen* screen;
156  MenuDlg* menudlg;
157 
158  Window* fadewin;
159  FadeView* fadeview;
160  ExitDlg* exitdlg;
161  AudDlg* auddlg;
162  VidDlg* viddlg;
163  OptDlg* optdlg;
164  CtlDlg* ctldlg;
165  JoyDlg* joydlg;
166  KeyDlg* keydlg;
167  ConfirmDlg* confirmdlg;
168  PlayerDlg* playdlg;
169  AwardShowDlg* awarddlg;
170  ModDlg* modDlg;
171  ModInfoDlg* modInfoDlg;
172  MsnSelectDlg* msnSelectDlg;
173  MsnEditDlg* msnEditDlg;
174  MsnElemDlg* msnElemDlg;
175  MsnEventDlg* msnEventDlg;
176  NavDlg* msnEditNavDlg;
177  LoadDlg* loadDlg;
178  TacRefDlg* tacRefDlg;
179 
180  CmpSelectDlg* cmpSelectDlg;
181  FirstTimeDlg* firstdlg;
182  NetClientDlg* netClientDlg;
183  NetAddrDlg* netAddrDlg;
184  NetPassDlg* netPassDlg;
185  NetLobbyDlg* netLobbyDlg;
186  NetServerDlg* netServerDlg;
187  NetUnitDlg* netUnitDlg;
188 
189  FormWindow* current_dlg;
190  DataLoader* loader;
191 
192  int wc, hc;
193  bool isShown;
194 };
195 
196 // +--------------------------------------------------------------------+
197 
198 #endif MenuScreen_h
199