summaryrefslogtreecommitdiffhomepage
path: root/Stars45/MsnNavDlg.cpp
diff options
context:
space:
mode:
authorFWoltermann@gmail.com <FWoltermann@gmail.com@076cb2c4-205e-83fd-5cf3-1be9aa105544>2011-12-08 14:53:40 +0000
committerFWoltermann@gmail.com <FWoltermann@gmail.com@076cb2c4-205e-83fd-5cf3-1be9aa105544>2011-12-08 14:53:40 +0000
commite33e19d0587146859d48a134ec9fd94e7b7ba5cd (patch)
tree69d048c8801858d2756ab3a487090a7a1b74bf14 /Stars45/MsnNavDlg.cpp
downloadstarshatter-e33e19d0587146859d48a134ec9fd94e7b7ba5cd.zip
starshatter-e33e19d0587146859d48a134ec9fd94e7b7ba5cd.tar.gz
starshatter-e33e19d0587146859d48a134ec9fd94e7b7ba5cd.tar.bz2
Initial upload
Diffstat (limited to 'Stars45/MsnNavDlg.cpp')
-rw-r--r--Stars45/MsnNavDlg.cpp104
1 files changed, 104 insertions, 0 deletions
diff --git a/Stars45/MsnNavDlg.cpp b/Stars45/MsnNavDlg.cpp
new file mode 100644
index 0000000..1f3dfb2
--- /dev/null
+++ b/Stars45/MsnNavDlg.cpp
@@ -0,0 +1,104 @@
+/* Project Starshatter 4.5
+ Destroyer Studios LLC
+ Copyright © 1997-2004. All Rights Reserved.
+
+ SUBSYSTEM: Stars.exe
+ FILE: MsnNavDlg.cpp
+ AUTHOR: John DiCamillo
+
+
+ OVERVIEW
+ ========
+ Mission Briefing Dialog Active Window class
+*/
+
+#include "MemDebug.h"
+#include "MsnNavDlg.h"
+#include "PlanScreen.h"
+#include "Campaign.h"
+#include "Mission.h"
+#include "Instruction.h"
+#include "Ship.h"
+#include "ShipDesign.h"
+#include "StarSystem.h"
+
+#include "Keyboard.h"
+
+// +--------------------------------------------------------------------+
+// DECLARE MAPPING FUNCTIONS:
+DEF_MAP_CLIENT(MsnNavDlg, OnCommit);
+DEF_MAP_CLIENT(MsnNavDlg, OnCancel);
+DEF_MAP_CLIENT(MsnNavDlg, OnTabButton);
+
+// +--------------------------------------------------------------------+
+
+MsnNavDlg::MsnNavDlg(Screen* s, FormDef& def, PlanScreen* mgr)
+ : NavDlg(s, def, mgr), MsnDlg(mgr)
+{
+ RegisterControls();
+}
+
+MsnNavDlg::~MsnNavDlg()
+{
+}
+
+// +--------------------------------------------------------------------+
+
+void
+MsnNavDlg::RegisterControls()
+{
+ RegisterMsnControls(this);
+
+ if (commit)
+ REGISTER_CLIENT(EID_CLICK, commit, MsnNavDlg, OnCommit);
+
+ if (cancel)
+ REGISTER_CLIENT(EID_CLICK, cancel, MsnNavDlg, OnCancel);
+
+ if (sit_button)
+ REGISTER_CLIENT(EID_CLICK, sit_button, MsnNavDlg, OnTabButton);
+
+ if (pkg_button)
+ REGISTER_CLIENT(EID_CLICK, pkg_button, MsnNavDlg, OnTabButton);
+
+ if (nav_button)
+ REGISTER_CLIENT(EID_CLICK, nav_button, MsnNavDlg, OnTabButton);
+
+ if (wep_button)
+ REGISTER_CLIENT(EID_CLICK, wep_button, MsnNavDlg, OnTabButton);
+}
+
+// +--------------------------------------------------------------------+
+
+void
+MsnNavDlg::Show()
+{
+ NavDlg::Show();
+ ShowMsnDlg();
+}
+
+void
+MsnNavDlg::ExecFrame()
+{
+ NavDlg::ExecFrame();
+
+ if (Keyboard::KeyDown(VK_RETURN)) {
+ OnCommit(0);
+ }
+}
+
+// +--------------------------------------------------------------------+
+
+void
+MsnNavDlg::OnCommit(AWEvent* event)
+{
+ MsnDlg::OnCommit(event);
+ NavDlg::OnCommit(event);
+}
+
+void
+MsnNavDlg::OnCancel(AWEvent* event)
+{
+ MsnDlg::OnCancel(event);
+ NavDlg::OnCancel(event);
+}