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.6 - (hide annotations) (download) (as text)
Fri Oct 7 12:49:26 2005 UTC (18 years, 5 months ago) by maloninc
Branch: MAIN
Changes since 1.5: +14 -0 lines
File MIME type: text/x-c++src
implement TAB function perfectly.

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

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