Umasoft
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
ScenarioSelectDialog.h
1 //
2 // Name: ScenarioSelectDialog.h
3 //
4 // Copyright (c) 2005-2011 Virtual Terrain Project
5 // Free for all uses, see license.txt for details.
6 //
7 
8 #ifndef __ScenarioSelectDialog_H__
9 #define __ScenarioSelectDialog_H__
10 
11 #include "EnviroUI.h"
12 #include "vtlib/vtlib.h"
13 #include "vtlib/core/Terrain.h"
14 
15 // WDR: class declarations
16 
17 //----------------------------------------------------------------------------
18 // CScenarioListValidator
19 //----------------------------------------------------------------------------
20 
21 class CScenarioListValidator: public wxValidator
22 {
23 public:
24  // constructors and destructors
25  CScenarioListValidator(std::vector<ScenarioParams> *pScenarios) : m_pScenarios(pScenarios) {}
26 
28  {
29  m_pScenarios = Rhs.m_pScenarios;
30  }
31  virtual wxObject *Clone() const { return new CScenarioListValidator(*this); }
32  virtual bool Validate(wxWindow *pParent) { return true; }
33  virtual bool TransferToWindow();
34  virtual bool TransferFromWindow();
35 
36 protected:
37  std::vector<ScenarioParams> *m_pScenarios;
38 };
39 
40 //----------------------------------------------------------------------------
41 // ScenarioSelectDialog
42 //----------------------------------------------------------------------------
43 
45 {
46 public:
47  // constructors and destructors
48  ScenarioSelectDialog( wxWindow *parent, wxWindowID id, const wxString &title,
49  const wxPoint& pos = wxDefaultPosition,
50  const wxSize& size = wxDefaultSize,
51  long style = wxDEFAULT_DIALOG_STYLE );
52 
53  void SetTerrain(vtTerrain *pTerrain);
54  virtual bool TransferDataToWindow();
55  void ActivateCurrent();
56 
57  // WDR: method declarations for ScenarioSelectDialog
58  wxButton* GetApply() { return (wxButton*) FindWindow( wxID_APPLY ); }
59  wxButton* GetScenarioNext() { return (wxButton*) FindWindow( ID_SCENARIO_NEXT ); }
60  wxButton* GetScenarioPrevious() { return (wxButton*) FindWindow( ID_SCENARIO_PREVIOUS ); }
61  wxButton* GetMovedownScenario() { return (wxButton*) FindWindow( ID_MOVEDOWN_SCENARIO ); }
62  wxButton* GetMoveupScenario() { return (wxButton*) FindWindow( ID_MOVEUP_SCENARIO ); }
63  wxButton* GetEditScenario() { return (wxButton*) FindWindow( ID_EDIT_SCENARIO ); }
64  wxButton* GetDeleteScenario() { return (wxButton*) FindWindow( ID_DELETE_SCENARIO ); }
65  wxButton* GetNewScenario() { return (wxButton*) FindWindow( ID_NEW_SCENARIO ); }
66  wxListBox* GetScenarioList() { return (wxListBox*) FindWindow( ID_SCENARIO_LIST ); }
67 
68 private:
69  // WDR: member variable declarations for ScenarioSelectDialog
70 
71 private:
72  // WDR: handler declarations for ScenarioSelectDialog
73  void OnScenarioNext( wxCommandEvent &event );
74  void OnScenarioPrevious( wxCommandEvent &event );
75  void OnMoveDownScenario( wxCommandEvent &event );
76  void OnMoveUpScenario( wxCommandEvent &event );
77  void OnEditScenario( wxCommandEvent &event );
78  void OnDeleteScenario( wxCommandEvent &event );
79  void OnNewScenario( wxCommandEvent &event );
80  void OnScenarioList( wxCommandEvent &event );
81  void OnApply(wxCommandEvent& event);
82  void OnOK(wxCommandEvent& event);
83  void OnCancel(wxCommandEvent& event);
84 
85 private:
86  DECLARE_EVENT_TABLE()
87  bool m_bModified;
88 
89 protected:
90  void UpdateEnableState();
91  vtTerrain *m_pTerrain;
92  std::vector<ScenarioParams> m_Scenarios;
93 };
94 
95 #endif