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.3 - (hide 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 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     END_EVENT_TABLE()
29    
30     mnFrameController::mnFrameController(mnFrame* inframe)
31     {
32     wxString* dirName = new wxString();
33     wxString gotDirName;
34     wxDirDialog* dlg;
35 maloninc 1.3 wxString confKey;
36 maloninc 1.1
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 maloninc 1.3 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 maloninc 1.1 }
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 maloninc 1.2 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 maloninc 1.1
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 maloninc 1.2 void mnFrameController::handleAddDir(wxCommandEvent& event)
139     {
140     wxDirDialog* dlg;
141     wxString gotDirName;
142     wxString* dirName = new wxString();
143 maloninc 1.3
144 maloninc 1.2 dlg = new wxDirDialog(frame);
145     if(dlg->ShowModal() == wxID_OK) {
146     gotDirName = dlg->GetPath();
147 maloninc 1.3 frame->addNotePanel(&gotDirName);
148 maloninc 1.2 }
149 maloninc 1.3 updateConfig();
150 maloninc 1.2 }
151    
152     void mnFrameController::handleRemoveDir(wxCommandEvent& event)
153     {
154 maloninc 1.3 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 maloninc 1.2 }

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