void wxSTEditorTreeCtrl::OnTreeCtrl(wxTreeEvent &event) { wxTreeItemId id = event.GetItem(); if (!id || (m_steNotebook == NULL)) return; wxSTETreeItemData* data = (wxSTETreeItemData*)GetItemData(id); if (event.GetEventType() == wxEVT_COMMAND_TREE_ITEM_ACTIVATED) { if (data && (data->m_page_num >= 0) && (data->m_page_num < (int)m_steNotebook->GetPageCount())) m_steNotebook->SetSelection(data->m_page_num); else event.Skip(); } else if (event.GetEventType() == wxEVT_COMMAND_TREE_ITEM_GETTOOLTIP) { if (data) event.SetToolTip(data->m_fileName.GetFullPath()); } else if (event.GetEventType() == wxEVT_COMMAND_TREE_ITEM_MENU) { if (data) PopupMenu(m_popupMenu, event.GetPoint()); } }
void RegTreeCtrl::OnItemExpanding(wxTreeEvent& event) { TreeNode *pNode = GetNode(event); bool bExpanding = event.GetEventType() == wxEVT_TREE_ITEM_EXPANDING; // expansion might take some time wxSetCursor(*wxHOURGLASS_CURSOR); wxLogStatus(wxT("Working...")); wxYield(); // to give the status line a chance to refresh itself m_restoreStatus = true; // some time later... if ( pNode->IsKey() ) { if ( bExpanding ) { // expanding: add subkeys/values if ( !pNode->OnExpand() ) return; } else { // collapsing: clean up pNode->OnCollapse(); } } }
void wxRemotelyScrolledTreeCtrl::OnExpand(wxTreeEvent& event) { AdjustRemoteScrollbars(); event.Skip(); // If we don't have this, we get some bits of lines still remaining if (event.GetEventType() == wxEVT_COMMAND_TREE_ITEM_COLLAPSED) Refresh(); // Pass on the event if (m_companionWindow) m_companionWindow->GetEventHandler()->ProcessEvent(event); }
//--------------------------------------------------------- void CData_Source_Files::On_TreeEvent(wxTreeEvent &event) { //----------------------------------------------------- if ( event.GetEventType() == wxEVT_COMMAND_TREE_ITEM_ACTIVATED ) { g_pWKSP->Open(m_pControl->GetFilePath()); } //----------------------------------------------------- else if( event.GetEventType() == wxEVT_COMMAND_TREE_ITEM_MENU ) { wxMenu Menu; CMD_Menu_Add_Item(&Menu, false, ID_CMD_DATASOURCE_REFRESH); PopupMenu(&Menu); return; } //----------------------------------------------------- event.Skip(); }
void RegTreeCtrl::OnBeginDrag(wxTreeEvent& event) { m_copyOnDrop = event.GetEventType() == wxEVT_TREE_BEGIN_DRAG; TreeNode *pNode = GetNode(event); if ( pNode->IsRoot() || pNode->Parent()->IsRoot() ) { wxLogStatus(wxT("This registry key can't be %s."), m_copyOnDrop ? wxT("copied") : wxT("moved")); } else { wxLogStatus(wxT("%s item %s..."), m_copyOnDrop ? wxT("Copying") : wxT("Moving"), pNode->FullName()); m_draggedItem = pNode; event.Allow(); } }
void wxExGenericDirCtrl::OnTree(wxTreeEvent& event) { wxArrayString files; GetPaths(files); if (files.empty()) { event.Skip(); return; } if (event.GetEventType() == wxEVT_COMMAND_TREE_ITEM_MENU) { const wxExFileName filename(files[0]); wxExMenu menu; // uses AppendVCS if (filename.FileExists()) { menu.Append(ID_TREE_OPEN, _("&Open")); menu.AppendSeparator(); } menu.Append(ID_TREE_COPY, wxGetStockLabel(wxID_COPY), wxEmptyString, wxART_COPY); if (wxExVCS::DirExists(filename)) { menu.AppendSeparator(); menu.AppendVCS(filename); } if (filename.GetLexer().GetScintillaLexer() == "makefile") { menu.AppendSeparator(); menu.Append(ID_TREE_RUN_MAKE, "&Make"); } menu.AppendSeparator(); menu.Append(ID_TOOL_REPORT_FIND, wxExEllipsed(m_Frame->GetFindInCaption(ID_TOOL_REPORT_FIND))); menu.Append(ID_TOOL_REPORT_REPLACE, wxExEllipsed(m_Frame->GetFindInCaption(ID_TOOL_REPORT_REPLACE))); PopupMenu(&menu); } else if (event.GetEventType() == wxEVT_COMMAND_TREE_ITEM_ACTIVATED) { const wxFileName fn(files[0]); if (!fn.FileExists() && fn.DirExists()) { if (!GetTreeCtrl()->IsExpanded(event.GetItem())) { ExpandAndSelectPath(files[0]); } else { CollapsePath(files[0]); } } else { wxExOpenFiles(m_Frame, files, 0, wxDIR_FILES); // only files in this dir } } else if (event.GetEventType() == wxEVT_COMMAND_TREE_SEL_CHANGED) { wxExLogStatus(wxFileName(files[0]), STAT_FULLPATH); } else { wxFAIL; } }