Develop and Download Open Source Software

Browse CVS Repository

Diff of /malonnote/mnNotePanelController.cpp

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

revision 1.1 by maloninc, Tue Oct 4 12:45:02 2005 UTC revision 1.4 by maloninc, Fri Oct 7 12:49:26 2005 UTC
# Line 8  Line 8 
8    
9  BEGIN_EVENT_TABLE(mnNotePanelController, wxEvtHandler)  BEGIN_EVENT_TABLE(mnNotePanelController, wxEvtHandler)
10          EVT_TEXT_ENTER(XRCID("searchTextCtrl"), mnNotePanelController::handleSearch)          EVT_TEXT_ENTER(XRCID("searchTextCtrl"), mnNotePanelController::handleSearch)
 /*  
11          EVT_TREE_SEL_CHANGED(XRCID("searchTree"), mnNotePanelController::handleTreeItemSelect)          EVT_TREE_SEL_CHANGED(XRCID("searchTree"), mnNotePanelController::handleTreeItemSelect)
12          EVT_TREE_SEL_CHANGING(XRCID("searchTree"), mnNotePanelController::handleTreeItemSelecting)          EVT_TREE_SEL_CHANGING(XRCID("searchTree"), mnNotePanelController::handleTreeItemSelecting)
13          EVT_TREE_BEGIN_LABEL_EDIT(XRCID("searchTree"), mnNotePanelController::handleBeginLabelEdit)          EVT_TREE_BEGIN_LABEL_EDIT(XRCID("searchTree"), mnNotePanelController::handleBeginLabelEdit)
14          EVT_TREE_END_LABEL_EDIT(XRCID("searchTree"), mnNotePanelController::handleEndLabelEdit)          EVT_TREE_END_LABEL_EDIT(XRCID("searchTree"), mnNotePanelController::handleEndLabelEdit)
         EVT_CLOSE(mnNotePanelController::handleClose)  
15          EVT_COMMAND(XRCID("wikiHtmlTextCtrl"), mnEVT_LINK_CLICK, mnNotePanelController::handleLinkClick)          EVT_COMMAND(XRCID("wikiHtmlTextCtrl"), mnEVT_LINK_CLICK, mnNotePanelController::handleLinkClick)
 */  
16  END_EVENT_TABLE()  END_EVENT_TABLE()
17    
18  mnNotePanelController::mnNotePanelController(mnNotePanel* inPanel, wxString* inWikiDir)  mnNotePanelController::mnNotePanelController(mnNotePanel* inPanel, wxString* inWikiDir)
19  {  {
20          wikiDir = new wxString(*inWikiDir);          wiki = new mnModel(inWikiDir->mb_str());
         wiki = new mnModel(wikiDir->mb_str());  
21          panel = inPanel;          panel = inPanel;
22  }  }
23    
24  #if 0  mnNotePanelController::~mnNotePanelController()
 void mnNotePanelController::handleConfig(wxCommandEvent& event)  
25  {  {
26          wxDirDialog* dlg;  }
         wxString gotDirName;  
         wxString* dirName = new wxString();  
   
         wxConfig* config = new wxConfig(wxT(CONF_APP_NAME));  
   
         if(config->Read(wxT(CONF_WIKI_DIR), dirName)) {  
                 if(wxMessageBox(*dirName, wxT("Change data directory?"), wxYES_NO|wxICON_QUESTION) == wxNO){  
                         delete config;  
                         return;  
                 }  
         }        
   
         dlg = new wxDirDialog(frame);  
         if(dlg->ShowModal() == wxID_OK) {  
                 gotDirName = dlg->GetPath();  
                 delete wiki;  
                 wiki = new mnModel(gotDirName.mb_str());  
                 config->Write(wxT(CONF_WIKI_DIR), gotDirName.c_str());  
         }  
         delete config;  
27    
28          frame->clearAllTree();  const wxString* mnNotePanelController::getWikiDataDir()
29    {
30            return  wiki->getWikiDataDir();
31  }  }
 #endif  
32    
33  void mnNotePanelController::handleSearch(wxCommandEvent& event)  void mnNotePanelController::handleSearch(wxCommandEvent& event)
34  {  {
# Line 77  void mnNotePanelController::handleSearch Line 53  void mnNotePanelController::handleSearch
53          }          }
54  }  }
55    
 #if 0  
56  void mnNotePanelController::handleGroup(wxCommandEvent& event)  void mnNotePanelController::handleGroup(wxCommandEvent& event)
57  {  {
58          WikiList*       wikiList;          WikiList*       wikiList;
# Line 86  void mnNotePanelController::handleGroup( Line 61  void mnNotePanelController::handleGroup(
61          wxCursor normal;          wxCursor normal;
62          wxCursor watch(wxCURSOR_WATCH);          wxCursor watch(wxCURSOR_WATCH);
63    
64          frame->SetCursor(watch);          panel->SetCursor(watch);
65          wiki->group();          wiki->group();
66          frame->clearAllTree();          panel->clearAllTree();
67          searchStrList = wiki->getSearchStrList();          searchStrList = wiki->getSearchStrList();
68          for(i = 0; i < searchStrList->Count(); i++) {          for(i = 0; i < searchStrList->Count(); i++) {
69                  wxString& searchStr = searchStrList->Item(i);                  wxString& searchStr = searchStrList->Item(i);
70                  frame->addSearchResult(wiki, &searchStr);                  panel->addSearchResult(wiki, &searchStr);
71          }          }
72          frame->SetCursor(normal);          panel->SetCursor(normal);
73  }  }
74    
75    void mnNotePanelController::handleNew(wxCommandEvent& event)
 void mnNotePanelController::handleNewButton(wxCommandEvent& event)  
76  {  {
77          int             ans;          int             ans;
78          WikiData* wikiData = wiki->newWikiData();          WikiData* wikiData = wiki->newWikiData();
79          wxString        plainTextStr;          wxString        plainTextStr;
80          wxString        newSubjectStr;          wxString        newSubjectStr;
81          mnWikiDataEntryDialog* dlg = new mnWikiDataEntryDialog(frame);          mnWikiDataEntryDialog* dlg = new mnWikiDataEntryDialog(panel);
82          const wxString* wikiText = wikiData->getText();          const wxString* wikiText = wikiData->getText();
83          const wxString* subject  = wikiData->getSubject();          const wxString* subject  = wikiData->getSubject();
84    
# Line 126  void mnNotePanelController::handleNewBut Line 100  void mnNotePanelController::handleNewBut
100          delete dlg;          delete dlg;
101  }  }
102    
103  void mnNotePanelController::handleRemoveButton(wxCommandEvent& event)  void mnNotePanelController::handleRemove(wxCommandEvent& event)
104  {  {
105          wxTreeItemData* item = frame->getSelectedItem();          wxTreeItemData* item = panel->getSelectedItem();
106    
107          if(frame->isEditableTreeLabel(frame->getSelection())) {          if(panel->isEditableTreeLabel(panel->getSelection())) {
108                  if(wxMessageBox(wxT("Do you realy remove this memo?\n") + frame->getSelectedLabel(), wxT("Realy?"), wxYES_NO|wxICON_QUESTION) == wxYES){                  if(wxMessageBox(wxT("Do you realy remove this memo?\n") + panel->getSelectedLabel(), wxT("Realy?"), wxYES_NO|wxICON_QUESTION) == wxYES){
109                          ((WikiData*)(item))->removeDataFile();                          ((WikiData*)(item))->removeDataFile();
110                          notifyUpdate((WikiData*)(item));                          notifyUpdate((WikiData*)(item));
111                  }                  }
# Line 140  void mnNotePanelController::handleRemove Line 114  void mnNotePanelController::handleRemove
114                  }                  }
115          }          }
116          else {          else {
117                  wiki->removeSearchStr(frame->getSelectedLabel());                  wiki->removeSearchStr(panel->getSelectedLabel());
118                  frame->removeSelectedItem();                  panel->removeSelectedItem();
119          }          }
120    
121  }  }
122    
123  void mnNotePanelController::handleHighlightButton(wxCommandEvent& event)  void mnNotePanelController::handleHighlight(wxCommandEvent& event)
124  {  {
125          frame->highlightSelectedItem();          panel->highlightSelectedItem();
126  }  }
127    
128    
129  void mnNotePanelController::handleTreeItemSelect(wxTreeEvent& event)  void mnNotePanelController::handleTreeItemSelect(wxTreeEvent& event)
130  {  {
131          frame->showSelectedItemText(event);          panel->showSelectedItemText(event);
132  }  }
133    
134    
# Line 164  void mnNotePanelController::handleTreeIt Line 138  void mnNotePanelController::handleTreeIt
138    
139  void mnNotePanelController::handleBeginLabelEdit(wxTreeEvent& event)  void mnNotePanelController::handleBeginLabelEdit(wxTreeEvent& event)
140  {  {
141          if(!frame->isEditableTreeLabel(event.GetItem())) event.Veto();          if(!panel->isEditableTreeLabel(event.GetItem())) event.Veto();
142  }  }
143    
144  void mnNotePanelController::handleEndLabelEdit(wxTreeEvent& event)  void mnNotePanelController::handleEndLabelEdit(wxTreeEvent& event)
145  {  {
146          wxString newSubject   = event.GetLabel();          wxString newSubject   = event.GetLabel();
147          wxTreeItemData* item  = frame->getSelectedItem();          wxTreeItemData* item  = panel->getSelectedItem();
148    
149          if(item == NULL) {          if(item == NULL) {
150                  return ;                  return ;
# Line 188  void mnNotePanelController::handleEndLab Line 162  void mnNotePanelController::handleEndLab
162          notifyUpdate((WikiData*)item);          notifyUpdate((WikiData*)item);
163  }  }
164    
 void mnNotePanelController::handleClose(wxCloseEvent& event)  
 {  
         frame->Destroy();  
 }  
   
 void mnNotePanelController::handleExit(wxCommandEvent& event)  
 {  
         frame->Close();  
 }  
   
165  void mnNotePanelController::handleTreeExpand(wxCommandEvent& event)  void mnNotePanelController::handleTreeExpand(wxCommandEvent& event)
166  {  {
167          frame->expandAllTree();          panel->expandAllTree();
168  }  }
169    
170  void mnNotePanelController::handleTreeCollapse(wxCommandEvent& event)  void mnNotePanelController::handleTreeCollapse(wxCommandEvent& event)
171  {  {
172          frame->collapseAllTree();          panel->collapseAllTree();
173  }  }
174    
175  void mnNotePanelController::handleTreeClear(wxCommandEvent& event)  void mnNotePanelController::handleTreeClear(wxCommandEvent& event)
176  {  {
177          wiki->clearSearchStrList();          wiki->clearSearchStrList();
178          wiki->clearSearchResultList();          wiki->clearSearchResultList();
179          frame->clearAllTree();          panel->clearAllTree();
180  }  }
181    
182  void mnNotePanelController::handleAbout(wxCommandEvent& event)  void mnNotePanelController::handleEdit(wxCommandEvent& event)
 {  
         wxMessageBox(wxT(MN_APP_VERSION), wxT("Abount MalonNote"), wxOK|wxICON_INFORMATION);  
 }  
   
   
 void mnNotePanelController::handleEditButton(wxCommandEvent& event)  
183  {  {
184          wxString        plainTextStr;          wxString        plainTextStr;
185          wxString        newSubjectStr;          wxString        newSubjectStr;
186          wxTreeItemData* itemData = frame->getSelectedItem();          wxTreeItemData* itemData = panel->getSelectedItem();
187          wxString        subject  = frame->getSelectedLabel();          wxString        subject  = panel->getSelectedLabel();
188          mnWikiDataEntryDialog* dlg = new mnWikiDataEntryDialog(frame);          mnWikiDataEntryDialog* dlg = new mnWikiDataEntryDialog(panel);
189          int             ans;          int             ans;
190    
191          if(!frame->isEditableTreeLabel(frame->getSelection())) return; /* selection is not memo data */          if(!panel->isEditableTreeLabel(panel->getSelection())) return; /* selection is not memo data */
192    
193          const wxString* wikiText = ((WikiData*)(itemData))->getText();          const wxString* wikiText = ((WikiData*)(itemData))->getText();
194    
# Line 264  void mnNotePanelController::notifyUpdate Line 222  void mnNotePanelController::notifyUpdate
222                  if( wiki->makeSearchToken(searchStr.mb_str(), tokenList) ) { /* create token */                  if( wiki->makeSearchToken(searchStr.mb_str(), tokenList) ) { /* create token */
223                          if(wiki->matchWithToken((wxString*)(data->getFileName()), tokenList)) { /* match */                          if(wiki->matchWithToken((wxString*)(data->getFileName()), tokenList)) { /* match */
224                                  wiki->addSearchResultList(&searchStr, data);                                  wiki->addSearchResultList(&searchStr, data);
225                                  frame->updateSearchResult(wiki, &searchStr);                                  panel->updateSearchResult(wiki, &searchStr);
226                          }                          }
227                          else {                                                                  /* not match */                          else {                                                                  /* not match */
228                                  if( wiki->delSearchResultList(&searchStr, data) ) {                                  if( wiki->delSearchResultList(&searchStr, data) ) {
229                                          frame->updateSearchResult(wiki, &searchStr); /* only when suceed to delete */                                          panel->updateSearchResult(wiki, &searchStr); /* only when suceed to delete */
230                                  }                                  }
231                          }                          }
232                          for(int j = 0; tokenList[j] != NULL; j++) free(tokenList[j]);                          for(int j = 0; tokenList[j] != NULL; j++) free(tokenList[j]);
# Line 313  void mnNotePanelController::handleOpenDo Line 271  void mnNotePanelController::handleOpenDo
271          docDir = *wikiDataDir + wxT("/docs/");          docDir = *wikiDataDir + wxT("/docs/");
272    
273          /* create docs directory, anyway */          /* create docs directory, anyway */
274          cmd.sprintf(wxT("mkdir "), docDir.c_str());          cmd.sprintf(wxT("mkdir %s"), docDir.c_str());
275          wxExecute(cmd);          wxExecute(cmd);
276    
277          /* open docs directory */          /* open docs directory */
# Line 367  void mnNotePanelController::openDoc(wxSt Line 325  void mnNotePanelController::openDoc(wxSt
325          wxExecute(cmd);          wxExecute(cmd);
326  }  }
327    
 #endif  

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.4

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