Develop and Download Open Source Software

Browse CVS Repository

Diff of /malonnote/mnController.cpp

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

revision 1.19 by maloninc, Fri Sep 16 04:12:58 2005 UTC revision 1.24 by maloninc, Fri Sep 30 11:44:59 2005 UTC
# Line 6  Line 6 
6  #include <wx/config.h>  #include <wx/config.h>
7  #include <wx/tokenzr.h>  #include <wx/tokenzr.h>
8  #include <wx/utils.h>  #include <wx/utils.h>
9    #include <wx/xrc/xmlres.h>
10    
11  BEGIN_EVENT_TABLE(mnController, wxEvtHandler)  BEGIN_EVENT_TABLE(mnController, wxEvtHandler)
12          EVT_TEXT_ENTER(ID_SearchTextCtrl, mnController::handleSearch)          EVT_TEXT_ENTER(XRCID("searchTextCtrl"), mnController::handleSearch)
13          EVT_TREE_SEL_CHANGED(ID_SearchTree, mnController::handleTreeItemSelect)          EVT_TREE_SEL_CHANGED(XRCID("searchTree"), mnController::handleTreeItemSelect)
14          EVT_TREE_SEL_CHANGING(ID_SearchTree, mnController::handleTreeItemSelecting)          EVT_TREE_SEL_CHANGING(XRCID("searchTree"), mnController::handleTreeItemSelecting)
15          EVT_TREE_BEGIN_LABEL_EDIT(ID_SearchTree, mnController::handleBeginLabelEdit)          EVT_TREE_BEGIN_LABEL_EDIT(XRCID("searchTree"), mnController::handleBeginLabelEdit)
16          EVT_TREE_END_LABEL_EDIT(ID_SearchTree, mnController::handleEndLabelEdit)          EVT_TREE_END_LABEL_EDIT(XRCID("searchTree"), mnController::handleEndLabelEdit)
17          EVT_MENU(ID_MenuFileNew, mnController::handleNewButton)          EVT_MENU(XRCID("New"), mnController::handleNewButton)
18          EVT_MENU(ID_MenuFileRemove, mnController::handleRemoveButton)          EVT_MENU(XRCID("Remove"), mnController::handleRemoveButton)
19          EVT_MENU(ID_MenuFileHighlight, mnController::handleHighlightButton)          EVT_MENU(XRCID("Highlight"), mnController::handleHighlightButton)
20          EVT_MENU(ID_MenuFileEdit, mnController::handleEditButton)          EVT_MENU(XRCID("Edit"), mnController::handleEditButton)
21          EVT_MENU(ID_MenuFileExit, mnController::handleExit)          EVT_MENU(XRCID("Quit"), mnController::handleExit)
22          EVT_MENU(ID_MenuFileConfig, mnController::handleConfig)          EVT_MENU(XRCID("Configure"), mnController::handleConfig)
23          EVT_MENU(ID_MenuFileGroup, mnController::handleGroup)          EVT_MENU(XRCID("Group"), mnController::handleGroup)
24          EVT_MENU(ID_MenuTreeExpand, mnController::handleTreeExpand)          EVT_MENU(XRCID("OpenDocsDir"), mnController::handleOpenDocsDir)
25          EVT_MENU(ID_MenuTreeCollapse, mnController::handleTreeCollapse)          EVT_MENU(XRCID("Expand"), mnController::handleTreeExpand)
26          EVT_MENU(ID_MenuTreeDisableUpdate, mnController::handleTreeDisableUpdate)          EVT_MENU(XRCID("Collapse"), mnController::handleTreeCollapse)
27          EVT_MENU(ID_MenuTreeClear, mnController::handleTreeClear)          EVT_MENU(XRCID("Clear"), mnController::handleTreeClear)
28          EVT_MENU(wxID_ABOUT, mnController::handleAbout)          EVT_MENU(wxID_ABOUT, mnController::handleAbout)
29          EVT_CLOSE(mnController::handleClose)          EVT_CLOSE(mnController::handleClose)
30          EVT_COMMAND(ID_HtmlTextCtrl, mnEVT_LINK_CLICK, mnController::handleLinkClick)          EVT_COMMAND(XRCID("wikiHtmlTextCtrl"), mnEVT_LINK_CLICK, mnController::handleLinkClick)
31  END_EVENT_TABLE()  END_EVENT_TABLE()
32    
33  mnController::mnController(mnFrame* inframe)  mnController::mnController(mnFrame* inframe)
# Line 55  mnController::mnController(mnFrame* infr Line 56  mnController::mnController(mnFrame* infr
56                  wiki = new mnModel(dirName->mb_str());                  wiki = new mnModel(dirName->mb_str());
57          }          }
58    
         autoUpdateMode = true;  
59          delete config;          delete config;
60  }  }
61    
# Line 114  void mnController::handleGroup(wxCommand Line 114  void mnController::handleGroup(wxCommand
114          WikiList*       wikiList;          WikiList*       wikiList;
115          const wxArrayString*  searchStrList;          const wxArrayString*  searchStrList;
116          int i;          int i;
117            wxCursor normal;
118            wxCursor watch(wxCURSOR_WATCH);
119    
120            frame->SetCursor(watch);
121          wiki->group();          wiki->group();
   
122          frame->clearAllTree();          frame->clearAllTree();
123          searchStrList = wiki->getSearchStrList();          searchStrList = wiki->getSearchStrList();
124          for(i = 0; i < searchStrList->Count(); i++) {          for(i = 0; i < searchStrList->Count(); i++) {
125                  wxString& searchStr = searchStrList->Item(i);                  wxString& searchStr = searchStrList->Item(i);
126                  frame->addSearchResult(wiki, &searchStr);                  frame->addSearchResult(wiki, &searchStr);
127          }          }
128            frame->SetCursor(normal);
129  }  }
130    
131    
# Line 132  void mnController::handleNewButton(wxCom Line 135  void mnController::handleNewButton(wxCom
135          WikiData* wikiData = wiki->newWikiData();          WikiData* wikiData = wiki->newWikiData();
136          wxString        plainTextStr;          wxString        plainTextStr;
137          wxString        newSubjectStr;          wxString        newSubjectStr;
138          mnWikiDataEntryDialog* dlg = new mnWikiDataEntryDialog(frame, -1, wxT("Malon Note"));          mnWikiDataEntryDialog* dlg = new mnWikiDataEntryDialog(frame);
139          const wxString* wikiText = wikiData->getText();          const wxString* wikiText = wikiData->getText();
140          const wxString* subject  = wikiData->getSubject();          const wxString* subject  = wikiData->getSubject();
141    
# Line 243  void mnController::handleTreeClear(wxCom Line 246  void mnController::handleTreeClear(wxCom
246          frame->clearAllTree();          frame->clearAllTree();
247  }  }
248    
 void mnController::handleTreeDisableUpdate(wxCommandEvent& event)  
 {  
         autoUpdateMode = (autoUpdateMode) ? false : true;  
         if(autoUpdateMode)  
                 frame->showSearchResult(wiki);  
 }  
   
249  void mnController::handleAbout(wxCommandEvent& event)  void mnController::handleAbout(wxCommandEvent& event)
250  {  {
251          wxMessageBox(wxT(MN_APP_VERSION), wxT("Abount MalonNote"), wxOK|wxICON_INFORMATION);          wxMessageBox(wxT(MN_APP_VERSION), wxT("Abount MalonNote"), wxOK|wxICON_INFORMATION);
# Line 262  void mnController::handleEditButton(wxCo Line 258  void mnController::handleEditButton(wxCo
258          wxString        newSubjectStr;          wxString        newSubjectStr;
259          wxTreeItemData* itemData = frame->getSelectedItem();          wxTreeItemData* itemData = frame->getSelectedItem();
260          wxString        subject  = frame->getSelectedLabel();          wxString        subject  = frame->getSelectedLabel();
261          mnWikiDataEntryDialog* dlg = new mnWikiDataEntryDialog(frame, -1, wxT("Malon Note"));          mnWikiDataEntryDialog* dlg = new mnWikiDataEntryDialog(frame);
262          int             ans;          int             ans;
263    
264          if(!frame->isEditableTreeLabel(frame->getSelection())) return; /* selection is not memo data */          if(!frame->isEditableTreeLabel(frame->getSelection())) return; /* selection is not memo data */
# Line 310  void mnController::notifyUpdate(WikiData Line 306  void mnController::notifyUpdate(WikiData
306                          memset(tokenList, 0, sizeof(char*)*32);                          memset(tokenList, 0, sizeof(char*)*32);
307                  }                  }
308          }          }
309            data->setOldSubjectFromCurrent(); // restore old subject
310  }  }
311    
312  void mnController::handleLinkClick(wxCommandEvent &event)  void mnController::handleLinkClick(wxCommandEvent &event)
# Line 337  void mnController::handleLinkClick(wxCom Line 334  void mnController::handleLinkClick(wxCom
334          }          }
335  }  }
336    
337    void mnController::handleOpenDocsDir(wxCommandEvent &event)
338    {
339            const wxString* wikiDataDir;
340            wxString cmd;
341            wxString docDir;
342    
343            wikiDataDir = wiki->getWikiDataDir();
344            docDir = *wikiDataDir + wxT("/docs/");
345    
346            /* create docs directory, anyway */
347            cmd.sprintf(wxT("mkdir "), docDir.c_str());
348            wxExecute(cmd);
349    
350            /* open docs directory */
351            openDoc(docDir);
352    }
353    
354  void mnController::openUrl(wxString& url)  void mnController::openUrl(wxString& url)
355  {  {
356          wxString cmd;          wxString cmd;
357    
358  #ifdef __WXMSW__  #ifdef __WXMSW__
359          cmd.sprintf(wxT("explorer %s"), url.c_str());          cmd.sprintf(wxT("cmd /c \"start %s\""), url.c_str());
360  #endif  #endif
361    
362  #ifdef __WXMAC__  #ifdef __WXMAC__

Legend:
Removed from v.1.19  
changed lines
  Added in v.1.24

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