Develop and Download Open Source Software

Browse CVS Repository

Contents of /malonnote/mnFrameController.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.3 - (show annotations) (download) (as text)
Wed Oct 5 07:20:56 2005 UTC (18 years, 5 months ago) by maloninc
Branch: MAIN
CVS Tags: dev_1_5-0002
Changes since 1.2: +37 -18 lines
File MIME type: text/x-c++src
implement add/remove memo dir

1 // -*- C++ -*- generated by wxGlade 0.3.5.1 on Wed Jun 29 12:57:38 2005
2
3 #include "mnID.h"
4 #include "mnDef.h"
5 #include "mnFrameController.h"
6 #include "mnNotePanelController.h"
7 #include <wx/config.h>
8 #include <wx/tokenzr.h>
9 #include <wx/utils.h>
10 #include <wx/xrc/xmlres.h>
11
12 BEGIN_EVENT_TABLE(mnFrameController, wxEvtHandler)
13 EVT_TEXT_ENTER(XRCID("searchTextCtrl"), mnFrameController::handleSearch)
14 EVT_MENU(XRCID("New"), mnFrameController::handleNew)
15 EVT_MENU(XRCID("Remove"), mnFrameController::handleRemove)
16 EVT_MENU(XRCID("Edit"), mnFrameController::handleEdit)
17 EVT_MENU(XRCID("Highlight"), mnFrameController::handleHighlight)
18 EVT_MENU(XRCID("Expand"), mnFrameController::handleTreeExpand)
19 EVT_MENU(XRCID("Collapse"), mnFrameController::handleTreeCollapse)
20 EVT_MENU(XRCID("Clear"), mnFrameController::handleTreeClear)
21 EVT_MENU(XRCID("Group"), mnFrameController::handleGroup)
22 EVT_MENU(XRCID("OpenDocsDir"), mnFrameController::handleOpenDocsDir)
23 EVT_MENU(XRCID("AddDir"), mnFrameController::handleAddDir)
24 EVT_MENU(XRCID("RemoveDir"), mnFrameController::handleRemoveDir)
25 EVT_MENU(XRCID("Quit"), mnFrameController::handleExit)
26 EVT_MENU(wxID_ABOUT, mnFrameController::handleAbout)
27 EVT_CLOSE(mnFrameController::handleClose)
28 END_EVENT_TABLE()
29
30 mnFrameController::mnFrameController(mnFrame* inframe)
31 {
32 wxString* dirName = new wxString();
33 wxString gotDirName;
34 wxDirDialog* dlg;
35 wxString confKey;
36
37 frame = inframe;
38
39 /* create wiki model */
40 wxConfig* config = new wxConfig(wxT(CONF_APP_NAME));
41 if(config->Read(wxT(CONF_WIKI_DIR), dirName) == FALSE) {
42 delete dirName;
43 dlg = new wxDirDialog(frame);
44 if(dlg->ShowModal() == wxID_OK) {
45 gotDirName = dlg->GetPath();
46 config->Write(wxT(CONF_WIKI_DIR), gotDirName.c_str());
47 frame->addNotePanel(&gotDirName);
48 }
49 else {
50 frame->Close();
51 }
52 }
53 else {
54 frame->addNotePanel(dirName);
55
56 for(int i = 1; ;i++) {
57 confKey.sprintf(wxT(CONF_WIKI_DIR) "%d", i);
58 if(config->Read(confKey.c_str(), dirName) == FALSE) break;
59 frame->addNotePanel(dirName);
60 }
61 frame->getNotebook()->SetSelection(0);
62 }
63
64 delete config;
65 }
66
67 void mnFrameController::handleConfig(wxCommandEvent& event)
68 {
69 wxLogMessage(wxT("Config..."));
70 }
71
72 void mnFrameController::handleSearch(wxCommandEvent& event)
73 {
74 frame->getNotePanel()->getController()->handleSearch(event);
75 }
76
77 void mnFrameController::handleNew(wxCommandEvent& event)
78 {
79 frame->getNotePanel()->getController()->handleNew(event);
80 }
81
82 void mnFrameController::handleRemove(wxCommandEvent& event)
83 {
84 frame->getNotePanel()->getController()->handleRemove(event);
85 }
86
87 void mnFrameController::handleEdit(wxCommandEvent& event)
88 {
89 frame->getNotePanel()->getController()->handleEdit(event);
90 }
91
92 void mnFrameController::handleHighlight(wxCommandEvent& event)
93 {
94 frame->getNotePanel()->getController()->handleHighlight(event);
95 }
96
97 void mnFrameController::handleTreeExpand(wxCommandEvent& event)
98 {
99 frame->getNotePanel()->getController()->handleTreeExpand(event);
100 }
101
102 void mnFrameController::handleTreeCollapse(wxCommandEvent& event)
103 {
104 frame->getNotePanel()->getController()->handleTreeCollapse(event);
105 }
106
107 void mnFrameController::handleTreeClear(wxCommandEvent& event)
108 {
109 frame->getNotePanel()->getController()->handleTreeClear(event);
110 }
111
112 void mnFrameController::handleGroup(wxCommandEvent& event)
113 {
114 frame->getNotePanel()->getController()->handleGroup(event);
115 }
116
117 void mnFrameController::handleOpenDocsDir(wxCommandEvent& event)
118 {
119 frame->getNotePanel()->getController()->handleOpenDocsDir(event);
120 }
121
122 void mnFrameController::handleClose(wxCloseEvent& event)
123 {
124 frame->Destroy();
125 }
126
127 void mnFrameController::handleExit(wxCommandEvent& event)
128 {
129 frame->Close();
130 }
131
132
133 void mnFrameController::handleAbout(wxCommandEvent& event)
134 {
135 wxMessageBox(wxT(MN_APP_VERSION), wxT("Abount MalonNote"), wxOK|wxICON_INFORMATION);
136 }
137
138 void mnFrameController::handleAddDir(wxCommandEvent& event)
139 {
140 wxDirDialog* dlg;
141 wxString gotDirName;
142 wxString* dirName = new wxString();
143
144 dlg = new wxDirDialog(frame);
145 if(dlg->ShowModal() == wxID_OK) {
146 gotDirName = dlg->GetPath();
147 frame->addNotePanel(&gotDirName);
148 }
149 updateConfig();
150 }
151
152 void mnFrameController::handleRemoveDir(wxCommandEvent& event)
153 {
154 frame->removeSelectedNotePanel();
155 updateConfig();
156 }
157
158 void mnFrameController::updateConfig()
159 {
160 wxString confKey;
161 wxNotebook* notebook;
162 mnNotePanel* panel;
163
164 wxConfig* config = new wxConfig(wxT(CONF_APP_NAME));
165 config->DeleteAll();
166 notebook = frame->getNotebook();
167 int count = notebook->GetPageCount();
168 for(int i = 0; i < count; i++) {
169 panel = (mnNotePanel*)notebook->GetPage(i);
170 const wxString* dataDir = panel->getController()->getWikiDataDir();
171
172 if(i == 0){
173 config->Write(wxT(CONF_WIKI_DIR), dataDir->c_str());
174 }
175 else{
176 confKey.sprintf(wxT(CONF_WIKI_DIR) "%d", i);
177 config->Write(confKey.c_str(), dataDir->c_str());
178 }
179 }
180 delete config;
181 }

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26