DiaDes  0.1
DIAgnosisofDiscrete-EventSystem
MainFrame.hh
Go to the documentation of this file.
1 #ifndef __DIADES__MAINFRAME_HH
2 #define __DIADES__MAINFRAME_HH
3 
4 #include <wx/wxprec.h>
5 
6 #ifdef __BORLANDC__
7 #pragma hdrstop
8 #endif
9 #ifndef WX_PRECOMP
10 #include <wx/wx.h>
11 #endif
12 #include <wx/splitter.h>
13 #include <wx/notebook.h>
14 #include <wx/treectrl.h>
15 #include <wx/listctrl.h>
16 #include "ModelAcquisition.hh"
17 
18 namespace Diades
19 {
20  namespace Altarica
21  {
22 
23  class MainFrame : public wxFrame
24  {
25 
26  protected:
27  // main menu
28  wxMenuBar * _menuBar;
29  wxMenu * _fileMenu;
30  wxMenu * _helpMenu;
31 
32  // main note book
33  wxNotebook * _mainNotebook;
34 
35  // syntaxical tree panel
37  wxTreeCtrl * _syntaxicalTreeCtrl;
38 
39  // domain panel
40  wxPanel* _domainPanel;
41  wxListCtrl * _domainCtrl;
42 
43 
44  // node tree panel
45  wxSplitterWindow* _nodePanelSplitterWindow;
46  wxPanel* _nodeTreePanel;
47  wxTreeCtrl * _nodeTreeCtrl;
48  wxPanel * _nodeContentPanel;
49  wxTextCtrl* _nodeContentTextCtrl;
50 
51  // logPanel
52  wxPanel * _logPanel;
53  wxTextCtrl * _logTextCtrl;
54 
55 
56  // Altarica Model
59 
60 
61  private:
66  void setProperties();
67 
71  void doLayout();
72 
73 
74  public:
75  MainFrame(const wxString& title);
76  void onQuit(wxCommandEvent& event);
77  void onOpen(wxCommandEvent& event);
78  void onAbout(wxCommandEvent& event);
79  void onNewTreeNodeSelection(wxTreeEvent& event);
80 
81  private:
82 
86  void createMainMenuBar();
87 
92  void updateLog();
93 
94 
103  bool generateSyntaxicTree(wxTreeItemId & treeID,const AltaricaTree * tree,
104  wxTreeCtrl * syntaxicalTreeCtrl, bool generateRoot);
105 
106 
107 
114  bool updateSyntaxicalTreeCtrl(AltaricaTree * root, wxTreeCtrl * syntaxicalTreeCtrl);
115 
116 
123  bool updateDomainCtrl(AltaricaModel * model,wxListCtrl * domainCtrl);
124 
125 
132  bool updateNodeTreePanel(AltaricaModel * model,wxTreeCtrl * nodeTreeCtrl);
133 
134 
142  bool updateNodeContentCtrl(const AltaricaModel * model, wxTextCtrl * nodeContentTextCtrl, NodeInstance selection);
143 
144 
148  void createMainBook();
149 
153  bool printDomainsOfType(const AltaricaModel * model, DomainType type, wxListCtrl * domainCtrl, unsigned rowIndex);
154 
155 
159  void cleanModels();
160 
167  bool updateNodePanel(AltaricaModel * model,wxTreeCtrl * nodeTreeCtrl,wxTextCtrl * nodeContentTextCtrl);
168 
173  void cleanNodePanel(wxTreeCtrl * nodeTreeCtrl,wxTextCtrl * nodeContentTextCtrl);
174 
175 
179  void cleanDomainCtrl(wxListCtrl * domainCtrl);
180 
181 
182  private:
183  DECLARE_EVENT_TABLE()
184  };
185 
186 
187 
188 
189 
190  };
191 };
192 #endif
bool updateSyntaxicalTreeCtrl(AltaricaTree *root, wxTreeCtrl *syntaxicalTreeCtrl)
AltaricaModel * _model
Definition: MainFrame.hh:57
void cleanNodePanel(wxTreeCtrl *nodeTreeCtrl, wxTextCtrl *nodeContentTextCtrl)
void onAbout(wxCommandEvent &event)
wxTreeCtrl * _syntaxicalTreeCtrl
Definition: MainFrame.hh:37
bool updateNodeTreePanel(AltaricaModel *model, wxTreeCtrl *nodeTreeCtrl)
wxTreeCtrl * _nodeTreeCtrl
Definition: MainFrame.hh:47
void onOpen(wxCommandEvent &event)
void cleanDomainCtrl(wxListCtrl *domainCtrl)
bool updateNodeContentCtrl(const AltaricaModel *model, wxTextCtrl *nodeContentTextCtrl, NodeInstance selection)
MainFrame(const wxString &title)
bool updateDomainCtrl(AltaricaModel *model, wxListCtrl *domainCtrl)
void onQuit(wxCommandEvent &event)
bool updateNodePanel(AltaricaModel *model, wxTreeCtrl *nodeTreeCtrl, wxTextCtrl *nodeContentTextCtrl)
wxTextCtrl * _nodeContentTextCtrl
Definition: MainFrame.hh:49
wxNotebook * _mainNotebook
Definition: MainFrame.hh:33
bool generateSyntaxicTree(wxTreeItemId &treeID, const AltaricaTree *tree, wxTreeCtrl *syntaxicalTreeCtrl, bool generateRoot)
Namespace of the Diades project.
altarica_tree AltaricaTree
void onNewTreeNodeSelection(wxTreeEvent &event)
bool printDomainsOfType(const AltaricaModel *model, DomainType type, wxListCtrl *domainCtrl, unsigned rowIndex)
wxSplitterWindow * _nodePanelSplitterWindow
Definition: MainFrame.hh:45