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.7 - (hide annotations) (download) (as text)
Tue Oct 11 09:05:15 2005 UTC (18 years, 5 months ago) by maloninc
Branch: MAIN
CVS Tags: rel_1_7_1, dev_1_6-0004, dev_1_6-0003, dev_1_6-0002, dev_1_6-0001, dev_1_6-0005
Changes since 1.6: +2 -0 lines
File MIME type: text/x-c++src
fixed Makefile to include new.template package.
fixed config bug.

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 maloninc 1.7 delete config;
142     config = new wxConfig(wxT(CONF_APP_NAME)); // recreate config object
143 maloninc 1.3 notebook = frame->getNotebook();
144     int count = notebook->GetPageCount();
145     for(int i = 0; i < count; i++) {
146     panel = (mnNotePanel*)notebook->GetPage(i);
147     const wxString* dataDir = panel->getController()->getWikiDataDir();
148    
149     if(i == 0){
150     config->Write(wxT(CONF_WIKI_DIR), dataDir->c_str());
151     }
152     else{
153     confKey.sprintf(wxT(CONF_WIKI_DIR) "%d", i);
154     config->Write(confKey.c_str(), dataDir->c_str());
155     }
156     }
157     delete config;
158 maloninc 1.2 }
159 maloninc 1.5
160     bool mnFrameController::isExistConfig(wxString* dir)
161     {
162     wxString* dirName = new wxString();
163     wxString gotDirName;
164     wxDirDialog* dlg;
165     wxString confKey;
166    
167     wxConfig* config = new wxConfig(wxT(CONF_APP_NAME));
168     for(int i = 0; ;i++) {
169     if(i == 0) {
170     confKey.sprintf(wxT(CONF_WIKI_DIR));
171     }
172     else {
173     confKey.sprintf(wxT(CONF_WIKI_DIR) "%d", i);
174     }
175     if(config->Read(confKey.c_str(), dirName)) {
176     if(*dir == *dirName) return true; /* Exist */
177     }
178     else {
179     break;
180     }
181     }
182    
183     delete dirName;
184     delete config;
185    
186     return false;
187     }
188 maloninc 1.6
189    
190     void mnFrameController::handlePageChange(wxNotebookEvent& event)
191     {
192     wxNotebook* notebook;
193     mnNotePanel* panel;
194    
195     notebook = frame->getNotebook();
196     panel = (mnNotePanel*)notebook->GetPage(event.GetSelection());
197     const wxString* dataDir = panel->getController()->getWikiDataDir();
198    
199     frame->GetStatusBar()->SetStatusText(*dataDir);
200     }

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