Develop and Download Open Source Software

Browse CVS Repository

Annotation of /malonnote/mnFrameController.cpp

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


Revision 1.8 - (hide annotations) (download) (as text)
Tue Oct 24 04:45:10 2006 UTC (17 years, 4 months ago) by maloninc
Branch: MAIN
Changes since 1.7: +19 -0 lines
File MIME type: text/x-c++src
fixed timer routine(readAll)

1 maloninc 1.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 maloninc 1.2 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 maloninc 1.1 EVT_MENU(XRCID("Expand"), mnFrameController::handleTreeExpand)
19     EVT_MENU(XRCID("Collapse"), mnFrameController::handleTreeCollapse)
20     EVT_MENU(XRCID("Clear"), mnFrameController::handleTreeClear)
21 maloninc 1.2 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 maloninc 1.1 EVT_MENU(XRCID("Quit"), mnFrameController::handleExit)
26     EVT_MENU(wxID_ABOUT, mnFrameController::handleAbout)
27     EVT_CLOSE(mnFrameController::handleClose)
28 maloninc 1.6 EVT_NOTEBOOK_PAGE_CHANGED(XRCID("noteBook"), mnFrameController::handlePageChange)
29 maloninc 1.8 EVT_TIMER(wxID_ANY, mnFrameController::readAll)
30 maloninc 1.1 END_EVENT_TABLE()
31    
32     mnFrameController::mnFrameController(mnFrame* inframe)
33     {
34     frame = inframe;
35 maloninc 1.8
36     wxTimer* timer = new wxTimer(this);
37     timer->Start(MN_READ_INTERVAL, wxTIMER_CONTINUOUS);
38     }
39    
40     void mnFrameController::readAll(wxTimerEvent& event)
41     {
42     int count = 0;
43     mnNotePanel* panel;
44     mnNotePanelController* controller;
45    
46     count = frame->getNotebook()->GetPageCount();
47     for(int i = 0; i < count; i++)
48     {
49     panel = (mnNotePanel*)frame->getNotebook()->GetPage(i);
50     controller = panel->getController();
51     controller->readAll();
52     }
53 maloninc 1.1 }
54    
55     void mnFrameController::handleConfig(wxCommandEvent& event)
56     {
57     wxLogMessage(wxT("Config..."));
58     }
59    
60     void mnFrameController::handleSearch(wxCommandEvent& event)
61     {
62     frame->getNotePanel()->getController()->handleSearch(event);
63     }
64    
65 maloninc 1.2 void mnFrameController::handleNew(wxCommandEvent& event)
66     {
67     frame->getNotePanel()->getController()->handleNew(event);
68     }
69    
70     void mnFrameController::handleRemove(wxCommandEvent& event)
71     {
72     frame->getNotePanel()->getController()->handleRemove(event);
73     }
74    
75     void mnFrameController::handleEdit(wxCommandEvent& event)
76     {
77     frame->getNotePanel()->getController()->handleEdit(event);
78     }
79    
80     void mnFrameController::handleHighlight(wxCommandEvent& event)
81     {
82     frame->getNotePanel()->getController()->handleHighlight(event);
83     }
84    
85     void mnFrameController::handleTreeExpand(wxCommandEvent& event)
86     {
87     frame->getNotePanel()->getController()->handleTreeExpand(event);
88     }
89    
90     void mnFrameController::handleTreeCollapse(wxCommandEvent& event)
91     {
92     frame->getNotePanel()->getController()->handleTreeCollapse(event);
93     }
94    
95     void mnFrameController::handleTreeClear(wxCommandEvent& event)
96     {
97     frame->getNotePanel()->getController()->handleTreeClear(event);
98     }
99    
100     void mnFrameController::handleGroup(wxCommandEvent& event)
101     {
102     frame->getNotePanel()->getController()->handleGroup(event);
103     }
104    
105     void mnFrameController::handleOpenDocsDir(wxCommandEvent& event)
106     {
107     frame->getNotePanel()->getController()->handleOpenDocsDir(event);
108     }
109 maloninc 1.1
110     void mnFrameController::handleClose(wxCloseEvent& event)
111     {
112     frame->Destroy();
113     }
114    
115     void mnFrameController::handleExit(wxCommandEvent& event)
116     {
117     frame->Close();
118     }
119    
120    
121     void mnFrameController::handleAbout(wxCommandEvent& event)
122     {
123     wxMessageBox(wxT(MN_APP_VERSION), wxT("Abount MalonNote"), wxOK|wxICON_INFORMATION);
124     }
125    
126 maloninc 1.2 void mnFrameController::handleAddDir(wxCommandEvent& event)
127     {
128     wxDirDialog* dlg;
129     wxString gotDirName;
130     wxString* dirName = new wxString();
131 maloninc 1.3
132 maloninc 1.2 dlg = new wxDirDialog(frame);
133     if(dlg->ShowModal() == wxID_OK) {
134     gotDirName = dlg->GetPath();
135 maloninc 1.5 if(isExistConfig(&gotDirName) == false){
136     frame->addNotePanel(&gotDirName);
137     }
138     else {
139     wxMessageBox(wxT("It already exist in MalonNote"), wxT("Already exist"), wxOK|wxICON_INFORMATION);
140     return;
141     }
142 maloninc 1.2 }
143 maloninc 1.3 updateConfig();
144 maloninc 1.2 }
145    
146     void mnFrameController::handleRemoveDir(wxCommandEvent& event)
147     {
148 maloninc 1.3 frame->removeSelectedNotePanel();
149     updateConfig();
150     }
151    
152     void mnFrameController::updateConfig()
153     {
154     wxString confKey;
155     wxNotebook* notebook;
156     mnNotePanel* panel;
157    
158     wxConfig* config = new wxConfig(wxT(CONF_APP_NAME));
159     config->DeleteAll();
160 maloninc 1.7 delete config;
161     config = new wxConfig(wxT(CONF_APP_NAME)); // recreate config object
162 maloninc 1.3 notebook = frame->getNotebook();
163     int count = notebook->GetPageCount();
164     for(int i = 0; i < count; i++) {
165     panel = (mnNotePanel*)notebook->GetPage(i);
166     const wxString* dataDir = panel->getController()->getWikiDataDir();
167    
168     if(i == 0){
169     config->Write(wxT(CONF_WIKI_DIR), dataDir->c_str());
170     }
171     else{
172     confKey.sprintf(wxT(CONF_WIKI_DIR) "%d", i);
173     config->Write(confKey.c_str(), dataDir->c_str());
174     }
175     }
176     delete config;
177 maloninc 1.2 }
178 maloninc 1.5
179     bool mnFrameController::isExistConfig(wxString* dir)
180     {
181     wxString* dirName = new wxString();
182     wxString gotDirName;
183     wxDirDialog* dlg;
184     wxString confKey;
185    
186     wxConfig* config = new wxConfig(wxT(CONF_APP_NAME));
187     for(int i = 0; ;i++) {
188     if(i == 0) {
189     confKey.sprintf(wxT(CONF_WIKI_DIR));
190     }
191     else {
192     confKey.sprintf(wxT(CONF_WIKI_DIR) "%d", i);
193     }
194     if(config->Read(confKey.c_str(), dirName)) {
195     if(*dir == *dirName) return true; /* Exist */
196     }
197     else {
198     break;
199     }
200     }
201    
202     delete dirName;
203     delete config;
204    
205     return false;
206     }
207 maloninc 1.6
208    
209     void mnFrameController::handlePageChange(wxNotebookEvent& event)
210     {
211     wxNotebook* notebook;
212     mnNotePanel* panel;
213    
214     notebook = frame->getNotebook();
215     panel = (mnNotePanel*)notebook->GetPage(event.GetSelection());
216     const wxString* dataDir = panel->getController()->getWikiDataDir();
217    
218     frame->GetStatusBar()->SetStatusText(*dataDir);
219     }

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