Develop and Download Open Source Software

Browse CVS Repository

Diff of /malonnote/mnFrame.cpp

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

revision 1.17 by maloninc, Thu Sep 15 03:02:37 2005 UTC revision 1.18 by maloninc, Thu Sep 15 09:20:48 2005 UTC
# Line 115  void mnFrame::do_layout() Line 115  void mnFrame::do_layout()
115    
116  void mnFrame::showSearchResult(mnModel* wiki, bool isExpand)  void mnFrame::showSearchResult(mnModel* wiki, bool isExpand)
117  {  {
118    /*
119          const wxArrayString*  searchStrList;          const wxArrayString*  searchStrList;
120          int i;          int i;
121    
# Line 127  void mnFrame::showSearchResult(mnModel* Line 128  void mnFrame::showSearchResult(mnModel*
128          }          }
129    
130          searchTree->ScrollTo(searchItemRoot);          searchTree->ScrollTo(searchItemRoot);
131    */
132            wxLogMessage(wxT("showSearchResult was invalid"));
133    }
134    
135    void mnFrame::updateSearchResult(mnModel* wiki, wxString* searchStr, bool isExpand)
136    {
137            wxTreeItemIdValue cookie1, cookie2;
138            wxTreeItemId      searchStrId;
139            wxTreeItemId      wikiDataId;
140            const WikiList* wikiList;
141            WikiList::Node* node;
142            WikiData*       data;
143            const wxString* subject;
144    
145            memset(&cookie1, 1, sizeof(cookie1));
146            memset(&cookie2, 2, sizeof(cookie2));
147            searchStrId = searchTree->GetFirstChild(searchItemRoot, cookie1);
148            while(searchStrId.IsOk()) {
149                    if(searchTree->GetItemText(searchStrId) == *searchStr) {
150                            wikiDataId = searchTree->GetFirstChild(searchStrId, cookie2);
151                            while(wikiDataId.IsOk()) {
152                                    searchTree->SetItemData(wikiDataId, NULL);
153                                    wikiDataId = searchTree->GetNextChild(searchStrId, cookie2);
154                            }
155                            searchTree->DeleteChildren(searchStrId);
156                            break;
157                    }              
158                    searchStrId = searchTree->GetNextChild(searchItemRoot, cookie1);
159            }
160    
161            wikiList = wiki->getSearchResultList(searchStr);
162            node = wikiList->GetFirst();
163            while(node) {
164                    data = node->GetData();
165                    subject = data->getSubject();
166                    searchTree->AppendItem(searchStrId, *subject, -1, -1, (wxTreeItemData*)data);
167                    node = node->GetNext();
168            }
169            if(isExpand){
170                    searchTree->Expand(searchStrId);
171            }
172            else {
173                    searchTree->Collapse(searchStrId);
174            }
175  }  }
176    
177  void mnFrame::addSearchResult(mnModel* wiki, wxString* searchStr, bool isExpand)  void mnFrame::addSearchResult(mnModel* wiki, wxString* searchStr, bool isExpand)
178  {  {
179          wxTreeItemId    searchItem;          wxTreeItemId    searchItem;
180          WikiList* wikiList;          const WikiList* wikiList;
181          WikiList::Node* node;          WikiList::Node* node;
182          WikiData*       data;          WikiData*       data;
183          const wxString* subject;          const wxString* subject;
184    
185          wikiList = wiki->search(searchStr->mb_str());          wikiList = wiki->getSearchResultList(searchStr);
186          //searchItem = searchTree->AppendItem(searchItemRoot, *searchStr, -1, -1, NULL);          //searchItem = searchTree->AppendItem(searchItemRoot, *searchStr, -1, -1, NULL);
187          searchItem = searchTree->InsertItem(searchItemRoot, 0, *searchStr, -1, -1, NULL);          searchItem = searchTree->InsertItem(searchItemRoot, 0, *searchStr, -1, -1, NULL);
188          node = wikiList->GetFirst();          node = wikiList->GetFirst();
# Line 232  void mnFrame::makeHtml(WikiData* wikiDat Line 277  void mnFrame::makeHtml(WikiData* wikiDat
277    
278  void mnFrame::showSelectedItemText(wxTreeEvent& event)  void mnFrame::showSelectedItemText(wxTreeEvent& event)
279  {  {
280          wxTreeItemData* item    = searchTree->GetItemData(event.GetItem());          wxTreeItemId    id;
281          if(item == NULL) {          wxTreeItemData* item;
282    
283            id = searchTree->GetSelection();
284            if(!id.IsOk()) return ;
285            item = searchTree->GetItemData(id);
286    
287            if(item == NULL) return ;
288    
289            if(!isEditableTreeLabel(id)) { /* selection is not memo data */
290                  wikiHtmlTextCtrl->SetPage(wxT(""));                  wikiHtmlTextCtrl->SetPage(wxT(""));
291                  return;                  return;
292          }          }
   
293          makeHtml((WikiData*)item, false);          makeHtml((WikiData*)item, false);
294  }  }
295    
296    wxTreeItemId mnFrame::getSelection()
297    {
298            return searchTree->GetSelection();
299    }
300    
301  void mnFrame::highlightSelectedItem()  void mnFrame::highlightSelectedItem()
302  {  {
303          wxTreeItemData* item    = getSelectedItem();          wxTreeItemData* item    = getSelectedItem();
304          if(item == NULL) {          
305            if(!isEditableTreeLabel(searchTree->GetSelection())) { /* selection is not memo data */
306                  wikiHtmlTextCtrl->SetPage(wxT(""));                  wikiHtmlTextCtrl->SetPage(wxT(""));
307                  return;                  return;
308          }          }
# Line 305  wxString mnFrame::getSelectedLabel() Line 363  wxString mnFrame::getSelectedLabel()
363    
364  bool mnFrame::isEditableTreeLabel(wxTreeItemId id)  bool mnFrame::isEditableTreeLabel(wxTreeItemId id)
365  {  {
366          return !(searchTree->GetItemParent(id) == searchItemRoot || id == searchItemRoot);          if(id.IsOk()){
367                    return !(searchTree->GetItemParent(id) == searchItemRoot || id == searchItemRoot);
368            }
369            else {
370                    return false;
371            }
372  }  }
373    

Legend:
Removed from v.1.17  
changed lines
  Added in v.1.18

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