From b829170121d3657369904ec62d8065606777a9ce Mon Sep 17 00:00:00 2001 From: Aki Date: Fri, 1 Oct 2021 18:54:04 +0200 Subject: Removed doxygen generated docs They can be rebuild anytime and are considered a build artifact/binary. --- Doc/doxygen/html/_msn_edit_dlg_8cpp_source.html | 1013 ----------------------- 1 file changed, 1013 deletions(-) delete mode 100644 Doc/doxygen/html/_msn_edit_dlg_8cpp_source.html (limited to 'Doc/doxygen/html/_msn_edit_dlg_8cpp_source.html') diff --git a/Doc/doxygen/html/_msn_edit_dlg_8cpp_source.html b/Doc/doxygen/html/_msn_edit_dlg_8cpp_source.html deleted file mode 100644 index d70ca8f..0000000 --- a/Doc/doxygen/html/_msn_edit_dlg_8cpp_source.html +++ /dev/null @@ -1,1013 +0,0 @@ - - - - - -Starshatter_Open: D:/SRC/StarshatterSVN/Stars45/MsnEditDlg.cpp Source File - - - - - - - - - - - - - -
-
- - - - - - -
-
Starshatter_Open -
-
Open source Starshatter engine
-
-
- - - - - -
-
- -
-
-
- -
- - - - -
- -
- -
-
-
MsnEditDlg.cpp
-
-
-Go to the documentation of this file.
1 /* Project Starshatter 5.0
-
2  Destroyer Studios LLC
-
3  Copyright (C) 1997-2007. All Rights Reserved.
-
4 
-
5  SUBSYSTEM: Stars.exe
-
6  FILE: MsnEditDlg.cpp
-
7  AUTHOR: John DiCamillo
-
8 
-
9 
-
10  OVERVIEW
-
11  ========
-
12  Mission Editor Dialog Active Window class
-
13 */
-
14 
-
15 #include "MemDebug.h"
-
16 #include "MsnEditDlg.h"
-
17 #include "MsnElemDlg.h"
-
18 #include "MsnEventDlg.h"
-
19 #include "NavDlg.h"
-
20 #include "MenuScreen.h"
-
21 #include "Campaign.h"
-
22 #include "Mission.h"
-
23 #include "MissionEvent.h"
-
24 #include "Ship.h"
-
25 #include "ShipDesign.h"
-
26 #include "StarSystem.h"
-
27 #include "Galaxy.h"
-
28 
-
29 #include "Game.h"
-
30 #include "DataLoader.h"
-
31 #include "Button.h"
-
32 #include "ListBox.h"
-
33 #include "EditBox.h"
-
34 #include "Video.h"
-
35 #include "Keyboard.h"
-
36 #include "Mouse.h"
-
37 #include "ParseUtil.h"
-
38 #include "FormatUtil.h"
-
39 #include "Random.h"
-
40 
-
41 // +--------------------------------------------------------------------+
-
42 // DECLARE MAPPING FUNCTIONS:
-
43 
-
44 DEF_MAP_CLIENT(MsnEditDlg, OnAccept);
-
45 DEF_MAP_CLIENT(MsnEditDlg, OnCancel);
-
46 DEF_MAP_CLIENT(MsnEditDlg, OnTabButton);
-
47 DEF_MAP_CLIENT(MsnEditDlg, OnSystemSelect);
-
48 DEF_MAP_CLIENT(MsnEditDlg, OnElemAdd);
-
49 DEF_MAP_CLIENT(MsnEditDlg, OnElemEdit);
-
50 DEF_MAP_CLIENT(MsnEditDlg, OnElemDel);
-
51 DEF_MAP_CLIENT(MsnEditDlg, OnElemSelect);
-
52 DEF_MAP_CLIENT(MsnEditDlg, OnElemInc);
-
53 DEF_MAP_CLIENT(MsnEditDlg, OnElemDec);
-
54 DEF_MAP_CLIENT(MsnEditDlg, OnEventAdd);
-
55 DEF_MAP_CLIENT(MsnEditDlg, OnEventEdit);
-
56 DEF_MAP_CLIENT(MsnEditDlg, OnEventDel);
-
57 DEF_MAP_CLIENT(MsnEditDlg, OnEventSelect);
-
58 DEF_MAP_CLIENT(MsnEditDlg, OnEventInc);
-
59 DEF_MAP_CLIENT(MsnEditDlg, OnEventDec);
-
60 
-
61 // +--------------------------------------------------------------------+
-
62 
- -
64 : FormWindow(s, 0, 0, s->Width(), s->Height()), manager(mgr),
-
65 btn_accept(0), btn_cancel(0),
-
66 btn_elem_add(0), btn_elem_edit(0), btn_elem_del(0), btn_elem_inc(0), btn_elem_dec(0),
-
67 btn_event_add(0), btn_event_edit(0), btn_event_del(0), btn_event_inc(0), btn_event_dec(0),
-
68 btn_sit(0), btn_pkg(0), btn_map(0),
-
69 txt_name(0), cmb_type(0), cmb_system(0), cmb_region(0),
-
70 txt_description(0), txt_situation(0), txt_objective(0),
-
71 lst_elem(0), lst_event(0), mission(0), mission_info(0), current_tab(0),
-
72 exit_latch(true)
-
73 {
-
74  Init(def);
-
75 }
-
76 
- -
78 {
-
79 }
-
80 
-
81 // +--------------------------------------------------------------------+
-
82 
-
83 void
- -
85 {
-
86  mission = m;
-
87  current_tab = 0;
-
88 }
-
89 
-
90 void
- -
92 {
-
93  mission_info = m;
-
94  current_tab = 0;
-
95 }
-
96 
-
97 // +--------------------------------------------------------------------+
-
98 
-
99 void
- -
101 {
-
102  btn_accept = (Button*) FindControl( 1);
-
103  btn_cancel = (Button*) FindControl( 2);
-
104  btn_sit = (Button*) FindControl(301);
-
105  btn_pkg = (Button*) FindControl(302);
-
106  btn_map = (Button*) FindControl(303);
-
107 
-
108  btn_elem_add = (Button*) FindControl(501);
-
109  btn_elem_edit = (Button*) FindControl(505);
-
110  btn_elem_del = (Button*) FindControl(502);
-
111  btn_elem_inc = (Button*) FindControl(503);
-
112  btn_elem_dec = (Button*) FindControl(504);
-
113 
-
114  btn_event_add = (Button*) FindControl(511);
- -
116  btn_event_del = (Button*) FindControl(512);
-
117  btn_event_inc = (Button*) FindControl(513);
-
118  btn_event_dec = (Button*) FindControl(514);
-
119 
-
120  txt_name = (EditBox*) FindControl(201);
-
121  cmb_type = (ComboBox*) FindControl(202);
-
122  cmb_system = (ComboBox*) FindControl(203);
-
123  cmb_region = (ComboBox*) FindControl(204);
-
124 
- - - -
128 
-
129  lst_elem = (ListBox*) FindControl(510);
-
130  lst_event = (ListBox*) FindControl(520);
-
131 
-
132  if (btn_accept)
- -
134 
-
135  if (btn_cancel)
- -
137 
-
138  if (btn_elem_add)
- -
140 
-
141  if (btn_elem_edit)
- -
143 
-
144  if (btn_elem_del)
- -
146 
-
147  if (btn_elem_inc) {
-
148  char up_arrow[2];
-
149  up_arrow[0] = Font::ARROW_UP;
-
150  up_arrow[1] = 0;
-
151  btn_elem_inc->SetText(up_arrow);
-
152  btn_elem_inc->SetEnabled(false);
- -
154  }
-
155 
-
156  if (btn_elem_dec) {
-
157  char dn_arrow[2];
-
158  dn_arrow[0] = Font::ARROW_DOWN;
-
159  dn_arrow[1] = 0;
-
160  btn_elem_dec->SetText(dn_arrow);
-
161  btn_elem_dec->SetEnabled(false);
- -
163  }
-
164 
-
165  if (btn_event_add)
- -
167 
-
168  if (btn_event_edit)
- -
170 
-
171  if (btn_event_del)
- -
173 
-
174  if (btn_event_inc) {
-
175  char up_arrow[2];
-
176  up_arrow[0] = Font::ARROW_UP;
-
177  up_arrow[1] = 0;
-
178  btn_event_inc->SetText(up_arrow);
-
179  btn_event_inc->SetEnabled(false);
- -
181  }
-
182 
-
183  if (btn_event_dec) {
-
184  char dn_arrow[2];
-
185  dn_arrow[0] = Font::ARROW_DOWN;
-
186  dn_arrow[1] = 0;
-
187  btn_event_dec->SetText(dn_arrow);
-
188  btn_event_dec->SetEnabled(false);
- -
190  }
-
191 
-
192  if (btn_sit)
- -
194 
-
195  if (btn_pkg)
- -
197 
-
198  if (btn_map)
- -
200 
-
201  if (cmb_system)
- -
203 
-
204  if (lst_elem)
- -
206 
-
207  if (lst_event)
- -
209 }
-
210 
-
211 // +--------------------------------------------------------------------+
-
212 
-
213 void
- -
215 {
- -
217 
-
218  if (!txt_name || !cmb_type) return;
-
219 
-
220  txt_name->SetText("");
-
221 
-
222  if (cmb_system) {
- -
224 
-
225  Galaxy* galaxy = Galaxy::GetInstance();
-
226  ListIter<StarSystem> iter = galaxy->GetSystemList();
-
227  while (++iter) {
-
228  cmb_system->AddItem(iter->Name());
-
229  }
-
230  }
-
231 
-
232  if (mission) {
-
233  int i;
-
234 
- - -
237 
-
238  StarSystem* sys = mission->GetStarSystem();
-
239  if (sys && cmb_system && cmb_region) {
-
240  for (i = 0; i < cmb_system->NumItems(); i++) {
-
241  if (!strcmp(cmb_system->GetItem(i), sys->Name())) {
- -
243  break;
-
244  }
-
245  }
-
246 
- -
248  int sel_rgn = 0;
-
249 
-
250  List<OrbitalRegion> regions;
-
251  regions.append(sys->AllRegions());
-
252  regions.sort();
-
253 
-
254  i = 0;
-
255  ListIter<OrbitalRegion> iter = regions;
-
256  while (++iter) {
-
257  OrbitalRegion* region = iter.value();
-
258  cmb_region->AddItem(region->Name());
-
259 
-
260  if (!strcmp(mission->GetRegion(), region->Name())) {
-
261  sel_rgn = i;
-
262  }
-
263 
-
264  i++;
-
265  }
-
266 
-
267  cmb_region->SetSelection(sel_rgn);
-
268  }
-
269 
- - -
272 
-
273  if (txt_situation)
- -
275 
-
276  if (txt_objective)
- -
278 
-
279  DrawPackages();
-
280  }
-
281 
- -
283 
-
284  exit_latch = true;
-
285 }
-
286 
-
287 // +--------------------------------------------------------------------+
-
288 
-
289 void
- -
291 {
-
292  bool elem_del = false;
-
293  bool elem_edit = false;
-
294  bool elem_inc = false;
-
295  bool elem_dec = false;
-
296 
-
297  bool event_del = false;
-
298  bool event_edit = false;
-
299  bool event_inc = false;
-
300  bool event_dec = false;
-
301 
-
302  if (mission) {
-
303  if (lst_elem) {
-
304  bool cleared = false;
-
305  int index = lst_elem->GetSelection();
-
306 
-
307  if (lst_elem->NumItems() != mission->GetElements().size()) {
-
308  if (lst_elem->NumItems() < mission->GetElements().size())
-
309  index = lst_elem->NumItems();
-
310 
-
311  lst_elem->ClearItems();
-
312  cleared = true;
-
313  }
-
314 
-
315  int i = 0;
- -
317  while (++elem) {
-
318  char txt[256];
-
319 
-
320  sprintf_s(txt, "%d", elem->Identity());
-
321 
-
322  if (cleared) {
-
323  lst_elem->AddItemWithData(txt, elem->ElementID());
-
324  }
-
325  else {
-
326  lst_elem->SetItemText(i, txt);
-
327  lst_elem->SetItemData(i, elem->ElementID());
-
328  }
-
329 
-
330  sprintf_s(txt, "%d", elem->GetIFF());
-
331  lst_elem->SetItemText(i, 1, txt);
-
332  lst_elem->SetItemText(i, 2, elem->Name());
-
333  lst_elem->SetItemText(i, 4, elem->RoleName());
-
334  lst_elem->SetItemText(i, 5, elem->Region());
-
335 
-
336  const ShipDesign* design = elem->GetDesign();
-
337 
-
338  if (design) {
-
339  if (elem->Count() > 1)
-
340  sprintf_s(txt, "%d %s", elem->Count(), design->abrv);
-
341  else
-
342  sprintf_s(txt, "%s %s", design->abrv, design->name);
-
343  }
-
344  else {
-
345  sprintf_s(txt, Game::GetText("MsnDlg.undefined").data());
-
346  }
-
347 
-
348  lst_elem->SetItemText(i, 3, txt);
-
349 
-
350  i++;
-
351  }
-
352 
-
353  int nitems = lst_elem->NumItems();
-
354  if (nitems) {
-
355  if (index >= nitems)
-
356  index = nitems - 1;
-
357 
-
358  if (index >= 0) {
-
359  lst_elem->SetSelected(index);
-
360  elem_del = true;
-
361  elem_edit = true;
-
362  elem_inc = index > 0;
-
363  elem_dec = index < nitems-1;
-
364  }
-
365  }
-
366  }
-
367 
-
368  if (lst_event) {
-
369  bool cleared = false;
-
370  int index = lst_event->GetSelection();
-
371 
-
372  if (lst_event->NumItems() != mission->GetEvents().size()) {
-
373  if (lst_event->NumItems() < mission->GetEvents().size())
-
374  index = lst_event->NumItems();
-
375 
- -
377  cleared = true;
-
378  }
-
379 
-
380  int i = 0;
- -
382  while (++event) {
-
383  char txt[256];
-
384 
-
385  sprintf_s(txt, "%d", event->EventID());
-
386  if (cleared) {
-
387  lst_event->AddItemWithData(txt, event->EventID());
-
388  }
-
389  else {
-
390  lst_event->SetItemText(i, txt);
-
391  lst_event->SetItemData(i, event->EventID());
-
392  }
-
393 
-
394  if (event->Time()) {
-
395  FormatTime(txt, event->Time());
-
396  }
-
397  else if (event->Delay()) {
-
398  txt[0] = '+';
-
399  txt[1] = ' ';
-
400  FormatTime(txt+2, event->Delay());
-
401  }
-
402  else {
-
403  strcpy_s(txt, " ");
-
404  }
-
405 
-
406  lst_event->SetItemText(i, 1, txt);
-
407  lst_event->SetItemText(i, 2, event->EventName());
-
408  lst_event->SetItemText(i, 3, event->EventShip());
-
409  lst_event->SetItemText(i, 4, event->EventMessage());
-
410 
-
411  i++;
-
412  }
-
413 
-
414  int nitems = lst_event->NumItems();
-
415  if (nitems) {
-
416  if (index >= nitems)
-
417  index = nitems - 1;
-
418 
-
419  if (index >= 0) {
-
420  lst_event->SetSelected(index);
-
421  event_del = true;
-
422  event_edit = true;
-
423  event_inc = index > 0;
-
424  event_dec = index < nitems-1;
-
425  }
-
426  }
-
427  }
-
428  }
-
429 
-
430  if (btn_elem_del) btn_elem_del->SetEnabled(elem_del);
-
431  if (btn_elem_edit) btn_elem_edit->SetEnabled(elem_edit);
-
432  if (btn_elem_inc) btn_elem_inc->SetEnabled(elem_inc);
-
433  if (btn_elem_dec) btn_elem_dec->SetEnabled(elem_del);
-
434 
-
435  if (btn_event_del) btn_event_del->SetEnabled(event_del);
-
436  if (btn_event_edit) btn_event_edit->SetEnabled(event_edit);
-
437  if (btn_event_inc) btn_event_inc->SetEnabled(event_inc);
-
438  if (btn_event_dec) btn_event_dec->SetEnabled(event_dec);
-
439 }
-
440 
-
441 // +--------------------------------------------------------------------+
-
442 
-
443 void
- -
445 {
-
446  if (Keyboard::KeyDown(VK_RETURN)) {
- -
448  OnAccept(0);
-
449  }
-
450 
-
451  else if (Keyboard::KeyDown(VK_ESCAPE)) {
-
452  if (!exit_latch)
-
453  OnCancel(0);
-
454  }
-
455 
-
456  else {
-
457  exit_latch = false;
-
458  }
-
459 }
-
460 
-
461 // +--------------------------------------------------------------------+
-
462 
-
463 void
- -
465 {
-
466  if (mission) {
-
467  if (txt_name) {
- -
469  }
-
470 
-
471  if (cmb_type) {
- -
473 
-
474  if (mission_info)
- -
476  }
-
477 
-
478  Galaxy* galaxy = Galaxy::GetInstance();
-
479  StarSystem* system = 0;
-
480 
-
481  if (galaxy && cmb_system)
-
482  system = galaxy->GetSystem(cmb_system->GetSelectedItem());
-
483 
-
484  if (system) {
- -
486  mission->SetStarSystem(system);
-
487 
-
488  if (mission_info)
-
489  mission_info->system = system->Name();
-
490  }
-
491 
-
492  if (cmb_region) {
- -
494 
-
495  if (mission_info)
- -
497  }
-
498 
-
499  if (txt_description && mission_info) {
- - -
502  }
-
503 
-
504  if (txt_situation)
- -
506 
-
507  if (txt_objective)
- -
509  }
-
510 }
-
511 
-
512 // +--------------------------------------------------------------------+
-
513 
-
514 void
- -
516 {
-
517  current_tab = tab;
-
518 
-
519  if (current_tab < 0 || current_tab > 2)
-
520  current_tab = 0;
-
521 
-
522  if (btn_sit) btn_sit->SetButtonState(tab == 0 ? 1 : 0);
-
523  if (btn_pkg) btn_pkg->SetButtonState(tab == 1 ? 1 : 0);
-
524  if (btn_map) btn_map->SetButtonState(tab == 2 ? 1 : 0);
-
525 
-
526  DWORD low = 400 + tab*100;
-
527  DWORD high = low + 100;
-
528 
- -
530  while (++iter) {
-
531  ActiveWindow* a = iter.value();
-
532 
-
533  if (a->GetID() < 400)
-
534  a->Show();
-
535 
-
536  else if (a->GetID() >= low && a->GetID() < high)
-
537  a->Show();
-
538 
-
539  else
-
540  a->Hide();
-
541  }
-
542 
-
543  if (tab == 2) {
-
544  NavDlg* navdlg = manager->GetNavDlg();
-
545 
-
546  if (navdlg) {
-
547  navdlg->SetMission(mission);
-
548  navdlg->SetEditorMode(true);
-
549  }
-
550 
-
551  manager->ShowNavDlg();
-
552  }
-
553  else {
-
554  manager->HideNavDlg();
-
555  }
-
556 }
-
557 
-
558 // +--------------------------------------------------------------------+
-
559 
-
560 void
- -
562 {
-
563  if (!event) return;
-
564 
-
565  if (event->window == btn_sit)
-
566  ShowTab(0);
-
567 
-
568  else if (event->window == btn_pkg)
-
569  ShowTab(1);
-
570 
-
571  else if (event->window == btn_map)
-
572  ShowTab(2);
-
573 }
-
574 
-
575 void
- -
577 {
-
578  StarSystem* sys = 0;
-
579 
-
580  if (cmb_system) {
-
581  const char* name = cmb_system->GetSelectedItem();
-
582 
-
583  Galaxy* galaxy = Galaxy::GetInstance();
-
584  ListIter<StarSystem> iter = galaxy->GetSystemList();
-
585  while (++iter) {
-
586  StarSystem* s = iter.value();
-
587 
-
588  if (!strcmp(s->Name(), name)) {
-
589  sys = s;
-
590  break;
-
591  }
-
592  }
-
593  }
-
594 
-
595  if (sys && cmb_region) {
- -
597 
-
598  List<OrbitalRegion> regions;
-
599  regions.append(sys->AllRegions());
-
600  regions.sort();
-
601 
-
602  ListIter<OrbitalRegion> iter = regions;
-
603  while (++iter) {
-
604  OrbitalRegion* region = iter.value();
-
605  cmb_region->AddItem(region->Name());
-
606  }
-
607  }
-
608 
-
609  ScrapeForm();
-
610 
-
611  NavDlg* navdlg = manager->GetNavDlg();
-
612 
-
613  if (navdlg)
-
614  navdlg->SetMission(mission);
-
615 }
-
616 
-
617 // +--------------------------------------------------------------------+
-
618 
-
619 void
- -
621 {
-
622  static DWORD click_time = 0;
-
623 
-
624  if (lst_elem && mission) {
-
625  int selection = lst_elem->GetSelection();
-
626 
-
627  if (btn_elem_edit)
-
628  btn_elem_edit->SetEnabled(selection >= 0);
-
629 
-
630  if (btn_elem_del)
-
631  btn_elem_del->SetEnabled(selection >= 0);
-
632 
-
633  if (btn_elem_inc)
-
634  btn_elem_inc->SetEnabled(selection > 0);
-
635 
-
636  if (btn_elem_dec)
-
637  btn_elem_dec->SetEnabled(selection >= 0 && selection < lst_elem->NumItems() - 1);
-
638 
-
639  // double-click:
-
640  if (Game::RealTime() - click_time < 350) {
-
641  if (lst_elem->GetSelCount() == 1) {
-
642  int index = lst_elem->GetSelection();
-
643  MissionElement* elem = mission->GetElements().at(index);
-
644  MsnElemDlg* msn_elem_dlg = manager->GetMsnElemDlg();
-
645 
-
646  if (elem && msn_elem_dlg) {
-
647  ScrapeForm();
-
648  msn_elem_dlg->SetMission(mission);
-
649  msn_elem_dlg->SetMissionElement(elem);
- -
651  }
-
652  }
-
653  }
-
654  }
-
655 
-
656  click_time = Game::RealTime();
-
657 }
-
658 
-
659 void
- -
661 {
-
662  int index = lst_elem->GetSelection();
-
663  mission->IncreaseElemPriority(index--);
-
664 
-
665  DrawPackages();
-
666  lst_elem->SetSelected(index);
-
667  btn_elem_edit->SetEnabled(true);
-
668  btn_elem_del->SetEnabled(true);
-
669  btn_elem_inc->SetEnabled(index > 0);
-
670  btn_elem_dec->SetEnabled(index >= 0 && index < lst_elem->NumItems()-1);
-
671 }
-
672 
-
673 void
- -
675 {
-
676  int index = lst_elem->GetSelection();
-
677  mission->DecreaseElemPriority(index++);
-
678 
-
679  DrawPackages();
-
680  lst_elem->SetSelected(index);
-
681  btn_elem_edit->SetEnabled(true);
-
682  btn_elem_del->SetEnabled(true);
-
683  btn_elem_inc->SetEnabled(index > 0);
-
684  btn_elem_dec->SetEnabled(index >= 0 && index < lst_elem->NumItems()-1);
-
685 }
-
686 
-
687 
-
688 // +--------------------------------------------------------------------+
-
689 
-
690 void
- -
692 {
-
693  if (lst_elem && mission) {
- -
695  MissionElement* elem = new(__FILE__,__LINE__) MissionElement;
-
696 
-
697  if (elements.size() > 0)
-
698  elem->SetLocation(RandomPoint());
-
699 
-
700  if (cmb_region)
- -
702 
-
703  elements.append(elem);
-
704  DrawPackages();
-
705 
-
706  MsnElemDlg* msn_elem_dlg = manager->GetMsnElemDlg();
-
707 
-
708  if (msn_elem_dlg) {
-
709  ScrapeForm();
-
710  msn_elem_dlg->SetMission(mission);
-
711  msn_elem_dlg->SetMissionElement(elem);
- -
713  }
-
714  }
-
715 }
-
716 
-
717 void
- -
719 {
-
720  if (lst_elem && mission) {
- -
722  delete elements.removeIndex(lst_elem->GetSelection());
-
723  DrawPackages();
-
724  }
-
725 }
-
726 
-
727 void
- -
729 {
-
730  if (lst_elem && mission && lst_elem->GetSelCount() == 1) {
-
731  int index = lst_elem->GetSelection();
-
732  MissionElement* elem = mission->GetElements().at(index);
-
733  MsnElemDlg* msn_elem_dlg = manager->GetMsnElemDlg();
-
734 
-
735  if (elem && msn_elem_dlg) {
-
736  ScrapeForm();
-
737  msn_elem_dlg->SetMission(mission);
-
738  msn_elem_dlg->SetMissionElement(elem);
- -
740  }
-
741  }
-
742 }
-
743 
-
744 
-
745 // +--------------------------------------------------------------------+
-
746 
-
747 void
- -
749 {
-
750  static DWORD click_time = 0;
-
751 
-
752  if (lst_event && mission) {
-
753  int selection = lst_event->GetSelection();
-
754 
-
755  if (btn_event_edit)
-
756  btn_event_edit->SetEnabled(selection >= 0);
-
757 
-
758  if (btn_event_del)
-
759  btn_event_del->SetEnabled(selection >= 0);
-
760 
-
761  if (btn_event_inc)
-
762  btn_event_inc->SetEnabled(selection > 0);
-
763 
-
764  if (btn_event_dec)
-
765  btn_event_dec->SetEnabled(selection >= 0 && selection < lst_event->NumItems() - 1);
-
766 
-
767  // double-click:
-
768  if (Game::RealTime() - click_time < 350) {
-
769  if (lst_event->GetSelCount() == 1) {
-
770  int index = lst_event->GetSelection();
-
771  MissionEvent* event = mission->GetEvents().at(index);
-
772  MsnEventDlg* msn_event_dlg = manager->GetMsnEventDlg();
-
773 
-
774  if (event && msn_event_dlg) {
-
775  ScrapeForm();
-
776  msn_event_dlg->SetMission(mission);
-
777  msn_event_dlg->SetMissionEvent(event);
- -
779  }
-
780  }
-
781  }
-
782  }
-
783 
-
784  click_time = Game::RealTime();
-
785 }
-
786 
-
787 void
- -
789 {
-
790  int index = lst_event->GetSelection();
-
791  mission->IncreaseEventPriority(index--);
-
792 
-
793  DrawPackages();
-
794  lst_event->SetSelected(index);
-
795  btn_event_edit->SetEnabled(true);
-
796  btn_event_del->SetEnabled(true);
-
797  btn_event_inc->SetEnabled(index > 0);
-
798  btn_event_dec->SetEnabled(index >= 0 && index < lst_event->NumItems()-1);
-
799 }
-
800 
-
801 void
- -
803 {
-
804  int index = lst_event->GetSelection();
-
805  mission->DecreaseEventPriority(index++);
-
806 
-
807  DrawPackages();
-
808  lst_event->SetSelected(index);
-
809  btn_event_edit->SetEnabled(true);
-
810  btn_event_del->SetEnabled(true);
-
811  btn_event_inc->SetEnabled(index > 0);
-
812  btn_event_dec->SetEnabled(index >= 0 && index < lst_event->NumItems()-1);
-
813 }
-
814 
-
815 
-
816 // +--------------------------------------------------------------------+
-
817 
-
818 void
- -
820 {
-
821  if (lst_event && mission) {
-
822  List<MissionEvent>& events = mission->GetEvents();
-
823  MissionEvent* event = new(__FILE__,__LINE__) MissionEvent;
-
824 
-
825  int id = 1;
-
826  for (int i = 0; i < events.size(); i++) {
-
827  MissionEvent* e = events[i];
-
828  if (e->EventID() >= id)
-
829  id = e->EventID() + 1;
-
830  }
-
831 
-
832  event->id = id;
-
833 
-
834  events.append(event);
-
835  DrawPackages();
-
836 
-
837  MsnEventDlg* msn_event_dlg = manager->GetMsnEventDlg();
-
838 
-
839  if (msn_event_dlg) {
-
840  ScrapeForm();
-
841  msn_event_dlg->SetMission(mission);
-
842  msn_event_dlg->SetMissionEvent(event);
- -
844  }
-
845  }
-
846 }
-
847 
-
848 void
- -
850 {
-
851  if (lst_event && mission) {
-
852  List<MissionEvent>& events = mission->GetEvents();
-
853  delete events.removeIndex(lst_event->GetSelection());
-
854  DrawPackages();
-
855  }
-
856 }
-
857 
-
858 void
- -
860 {
-
861  if (lst_event && mission && lst_event->GetSelCount() == 1) {
-
862  int index = lst_event->GetSelection();
-
863  MissionEvent* event = mission->GetEvents().at(index);
-
864  MsnEventDlg* msn_event_dlg = manager->GetMsnEventDlg();
-
865 
-
866  if (event && msn_event_dlg) {
-
867  ScrapeForm();
-
868  msn_event_dlg->SetMission(mission);
-
869  msn_event_dlg->SetMissionEvent(event);
- -
871  }
-
872  }
-
873 }
-
874 
-
875 // +--------------------------------------------------------------------+
-
876 
-
877 void
- -
879 {
-
880  if (mission) {
-
881  ScrapeForm();
- -
883  mission->Save();
-
884  }
-
885 
- -
887 }
-
888 
-
889 void
- -
891 {
-
892  if (mission)
-
893  mission->Load();
-
894 
- -
896 }
-
-
- - - - -- cgit v1.1