1 #include "wxCreaDevManagerMainFrame.h"
2 #include "creaDevManagerIds.h"
4 #include "wxCreaDevManagerTreeCtrl.h"
6 #include "wxCreaDevManagerDescriptionPanel.h"
7 #include "wxCreaDevManagerProjectActionsPanel.h"
21 BEGIN_EVENT_TABLE(wxCreaDevManagerMainFrame, wxFrame)
22 EVT_MENU(ID_MENU_NEW_PROJECT, wxCreaDevManagerMainFrame::OnMenuNewProject)
23 EVT_MENU(ID_MENU_OPEN_PROJECT, wxCreaDevManagerMainFrame::OnMenuOpenProject)
24 EVT_MENU(ID_MENU_OPEN_RECENT, wxCreaDevManagerMainFrame::OnMenuOpenRecent)
25 EVT_MENU(ID_MENU_CLOSE_PROJECT, wxCreaDevManagerMainFrame::OnMenuCloseProject)
26 EVT_MENU(ID_MENU_CLOSE_ALL_PROJECTS, wxCreaDevManagerMainFrame::OnMenuCloseAllProjects)
27 EVT_MENU(ID_MENU_EXPORT_HIERARCHY, wxCreaDevManagerMainFrame::OnMenuExportHierarchy)
28 EVT_MENU(ID_MENU_EXIT, wxCreaDevManagerMainFrame::OnMenuExit)
29 EVT_MENU(ID_MENU_REFRESH_PROJECT, wxCreaDevManagerMainFrame::OnMenuRefreshProject)
30 EVT_MENU(ID_MENU_CUT, wxCreaDevManagerMainFrame::OnMenuMenuCut)
31 EVT_MENU(ID_MENU_COPY, wxCreaDevManagerMainFrame::OnMenuMenuCopy)
32 EVT_MENU(ID_MENU_PASTE, wxCreaDevManagerMainFrame::OnMenuMenuPaste)
33 EVT_MENU(ID_MENU_DELETE, wxCreaDevManagerMainFrame::OnMenuMenuDelete)
34 EVT_MENU(ID_MENU_SELECT_ALL, wxCreaDevManagerMainFrame::OnMenuSelectAll)
35 EVT_MENU(ID_MENU_SELECT_NONE, wxCreaDevManagerMainFrame::OnMenuSelectNone)
36 EVT_MENU(ID_MENU_EVENT_LOG, wxCreaDevManagerMainFrame::OnMenuEventLog)
37 EVT_MENU(ID_MENU_BBTK_GRAPHICAL_EDITOR, wxCreaDevManagerMainFrame::OnMenuBBTKGraphicalEditor)
38 EVT_MENU(ID_MENU_MINITOOLS, wxCreaDevManagerMainFrame::OnMenuMiniTools)
39 EVT_MENU(ID_MENU_CODE_EDITOR, wxCreaDevManagerMainFrame::OnMenuCodeEditor)
40 EVT_MENU(ID_MENU_COMMAND_LINE, wxCreaDevManagerMainFrame::OnMenuCommandLine)
41 EVT_MENU(ID_MENU_HELP, wxCreaDevManagerMainFrame::OnMenuHelp)
42 EVT_MENU(ID_MENU_REPORT_BUG, wxCreaDevManagerMainFrame::OnMenuReportBug)
43 EVT_MENU(ID_MENU_ABOUT_CREADEVMANAGER, wxCreaDevManagerMainFrame::OnMenuAboutCreaDevManager)
44 EVT_MENU(ID_MENU_ABOUT_CREATIS, wxCreaDevManagerMainFrame::OnMenuAboutCreatis)
47 wxCreaDevManagerMainFrame::wxCreaDevManagerMainFrame(
50 const wxString& caption,
56 Create(parent, id, caption, pos, size, style);
59 wxCreaDevManagerMainFrame::~wxCreaDevManagerMainFrame()
64 bool wxCreaDevManagerMainFrame::Create(
67 const wxString& caption,
73 wxFrame::Create(parent, id, caption, pos, size, style);
79 void wxCreaDevManagerMainFrame::CreateMenus()
81 wxMenuBar* menuBar = new wxMenuBar;
84 menu_File = new wxMenu();
85 menu_File->Append(ID_MENU_NEW_PROJECT, _("&New Project..."));
86 menu_File->Append(ID_MENU_OPEN_PROJECT, _("&Open Project..."));
87 menu_File->Append(ID_MENU_OPEN_RECENT, _("Open &Recent"));
88 menu_File->AppendSeparator();
89 menu_File->Append(ID_MENU_CLOSE_PROJECT, _("&Close Project"));
90 menu_File->Append(ID_MENU_CLOSE_ALL_PROJECTS, _("C&lose All Projects"));
91 menu_File->AppendSeparator();
92 menu_File->Append(ID_MENU_EXPORT_HIERARCHY, _("&Export Project Hierarchy..."));
93 menu_File->AppendSeparator();
94 menu_File->Append(ID_MENU_EXIT, _("E&xit"));
96 menuBar->Append(menu_File, _("&File"));
99 menu_Edit = new wxMenu();
100 menu_Edit->Append(ID_MENU_REFRESH_PROJECT, _("&Refresh Project"));
101 menu_Edit->AppendSeparator();
102 menu_Edit->Append(ID_MENU_CUT, _("Cu&t"));
103 menu_Edit->Append(ID_MENU_COPY, _("&Copy"));
104 menu_Edit->Append(ID_MENU_PASTE, _("&Paste"));
105 menu_Edit->AppendSeparator();
106 menu_Edit->Append(ID_MENU_DELETE, _("&Delete"));
107 menu_Edit->Append(ID_MENU_SELECT_ALL, _("Select &All"));
108 menu_Edit->Append(ID_MENU_SELECT_NONE, _("Ca&ncel Selection"));
110 menuBar->Append(menu_Edit, _("&Edit"));
113 menu_Tools = new wxMenu();
114 menu_Tools->Append(ID_MENU_EVENT_LOG, _("Event &Log"));
115 menu_Tools->Append(ID_MENU_BBTK_GRAPHICAL_EDITOR, _("BBTK &Graphical Editor"));
116 menu_Tools->Append(ID_MENU_MINITOOLS, _("&MiniTools"));
117 menu_Tools->Append(ID_MENU_CODE_EDITOR, _("&Code Editor"));
118 menu_Tools->Append(ID_MENU_COMMAND_LINE, _("&Command Line"));
120 menuBar->Append(menu_Tools, _("&Tools"));
123 menu_Help = new wxMenu();
124 menu_Help->Append(ID_MENU_HELP, _("&Help"));
125 menu_Help->Append(ID_MENU_REPORT_BUG, _("Report &Bug"));
126 menu_Help->Append(ID_MENU_ABOUT_CREADEVMANAGER, _("&About CreaDevManager"));
127 menu_Help->Append(ID_MENU_ABOUT_CREATIS, _("A&bout CREATIS"));
129 menuBar->Append(menu_Help, _("&Help"));
134 wxStatusBar* statusBar = new wxStatusBar(this, ID_STATUS_BAR, wxST_SIZEGRIP);
135 statusBar->SetFieldsCount(1);
136 SetStatusBar(statusBar);
140 void wxCreaDevManagerMainFrame::CreateControls()
143 auiManager.SetManagedWindow(this);
146 tree_Projects = new wxCreaDevManagerTreeCtrl(
151 wxTR_HAS_BUTTONS | wxTR_AQUA_BUTTONS
153 tree_Projects->SetSize(400,100);
154 tree_Projects->SetMinSize(wxSize(300,100));
156 panel_Properties = new wxCreaDevManagerDescriptionPanel(
158 ID_WINDOW_PROPERTIES,
159 _("Description Panel"),
167 panel_ProjectActions = new wxCreaDevManagerProjectActionsPanel(
169 ID_WINDOW_PROJ_ACTIONS,
170 _("Project Actions Panel"),
175 panel_ProjectActions->SetMinSize(wxSize(500, 150));
177 auiManager.AddPane(tree_Projects, wxLEFT, wxT("Projects Tree"));
178 auiManager.AddPane(panel_ProjectActions, wxBOTTOM, wxT("Project Actions"));
179 auiManager.AddPane(panel_Properties, wxCENTER, wxT("Properties"));
182 auiManager.GetPane(tree_Projects).CloseButton(false).MaximizeButton(true);
183 auiManager.GetPane(panel_Properties).CloseButton(false);
188 void wxCreaDevManagerMainFrame::OnMenuNewProject(wxCommandEvent& event)
190 cerr << "Event OnMenuNewProject not implemented yet" << endl;
193 void wxCreaDevManagerMainFrame::OnMenuOpenProject(wxCommandEvent& event)
195 cerr << "Event OnMenuOpenProject not implemented" << endl;
197 long style = wxDD_DEFAULT_STYLE | wxDD_DIR_MUST_EXIST;
198 wxDirDialog* FD = new wxDirDialog(this, crea::std2wx("Select the project directory"), crea::std2wx(""), style);
200 userResponse = FD->ShowModal();
201 if(userResponse == wxID_OK)
203 string path = crea::wx2std (FD->GetPath());
204 cout << "selection path: "<< path << endl;
205 string path1 = path + "/Makefile";
207 FILE* pFile = fopen(path1.c_str(), "r");
208 if(pFile == NULL) // not the binary folder
210 cerr << path1 << ": file not found..." << endl;
211 path1 = path + "/CMakeLists.txt";
212 pFile = fopen(path1.c_str(), "r");
213 if(pFile == NULL) //not the source folder
215 cerr << path1 << ": file not found..." << endl;
216 wxMessageBox( wxT("No project selected."), wxT("Open Project - Error"), wxICON_ERROR);
219 }else{//source folder
220 cout << "sources folder found..." << endl;
223 }else{//binary folder
224 cout << "binary folder found..." << endl;
228 readFile.open(path1.c_str());
231 while(!found && readFile >> word)
233 //cout << word << endl;
234 if(word == "CMAKE_SOURCE_DIR")
238 getline(readFile, word, '\n');
247 cerr << "sources not found..." << endl;
248 wxMessageBox( wxT("Sources not found."), wxT("Open Project - Error"), wxICON_ERROR);
252 pFile = fopen(path.c_str(), "r");
253 cout << "sources at " << path << " open = " << (pFile != NULL) << endl;
259 this->projectTree.addRoot(path);
260 this->projectTree.populateNode(path);
262 ((wxCreaDevManagerTreeCtrl*)tree_Projects)->BuildTree(this->projectTree);
268 void wxCreaDevManagerMainFrame::OnMenuOpenRecent(wxCommandEvent& event)
270 cerr << "Event OnMenuOpenRecent not implemented" << endl;
273 void wxCreaDevManagerMainFrame::OnMenuCloseProject(wxCommandEvent& event)
275 cerr << "Event OnMenuCloseProject not implemented" << endl;
278 void wxCreaDevManagerMainFrame::OnMenuCloseAllProjects(wxCommandEvent& event)
280 cerr << "Event OnMenuCloseAllProjects not implemented" << endl;
283 void wxCreaDevManagerMainFrame::OnMenuExportHierarchy(wxCommandEvent& event)
285 cerr << "Event OnMenuExportHierarchy not implemented" << endl;
288 void wxCreaDevManagerMainFrame::OnMenuExit(wxCommandEvent& event)
290 cout << "Closing CreaDevManager..." << endl;
296 void wxCreaDevManagerMainFrame::OnMenuRefreshProject(wxCommandEvent& event)
298 cerr << "Event OnMenuRefreshProject not implemented" << endl;
301 void wxCreaDevManagerMainFrame::OnMenuMenuCut(wxCommandEvent& event)
303 cerr << "Event OnMenuMenuCut not implemented" << endl;
306 void wxCreaDevManagerMainFrame::OnMenuMenuCopy(wxCommandEvent& event)
308 cerr << "Event OnMenuMenuCopy not implemented" << endl;
311 void wxCreaDevManagerMainFrame::OnMenuMenuPaste(wxCommandEvent& event)
313 cerr << "Event OnMenuMenuPaste not implemented" << endl;
316 void wxCreaDevManagerMainFrame::OnMenuMenuDelete(wxCommandEvent& event)
318 cerr << "Event OnMenuMenuDelete not implemented" << endl;
321 void wxCreaDevManagerMainFrame::OnMenuSelectAll(wxCommandEvent& event)
323 cerr << "Event OnMenuSelectAll not implemented" << endl;
326 void wxCreaDevManagerMainFrame::OnMenuSelectNone(wxCommandEvent& event)
328 cerr << "Event OnMenuSelectNone not implemented" << endl;
333 void wxCreaDevManagerMainFrame::OnMenuEventLog(wxCommandEvent& event)
335 cerr << "Event OnMenuEventLog not implemented" << endl;
338 void wxCreaDevManagerMainFrame::OnMenuBBTKGraphicalEditor(wxCommandEvent& event)
340 cerr << "Event OnMenuBBTKGraphicalEditor not implemented" << endl;
343 void wxCreaDevManagerMainFrame::OnMenuMiniTools(wxCommandEvent& event)
345 cerr << "Event OnMenuMiniTools not implemented" << endl;
348 void wxCreaDevManagerMainFrame::OnMenuCodeEditor(wxCommandEvent& event)
350 cerr << "Event OnMenuCodeEditor not implemented" << endl;
353 void wxCreaDevManagerMainFrame::OnMenuCommandLine(wxCommandEvent& event)
355 cerr << "Event OnMenuCommandLine not implemented" << endl;
360 void wxCreaDevManagerMainFrame::OnMenuHelp(wxCommandEvent& event)
362 cerr << "Event OnMenuHelp not implemented" << endl;
365 void wxCreaDevManagerMainFrame::OnMenuReportBug(wxCommandEvent& event)
367 cerr << "Event OnMenuReportBug not implemented" << endl;
370 void wxCreaDevManagerMainFrame::OnMenuAboutCreaDevManager(wxCommandEvent& event)
372 cerr << "Event OnMenuAboutCreaDevManager not implemented" << endl;
375 void wxCreaDevManagerMainFrame::OnMenuAboutCreatis(wxCommandEvent& event)
377 cerr << "Event OnMenuAboutCreatis not implemented" << endl;