void CollectionsPanel::OnMyCollectionsBeginLabelEdit( wxTreeEvent& event ) { // this just makes the code below more generic in case we want to abstract it later SortTreeCtrl* treeCtrl = m_MyCollectionsTreeCtrl; wxTreeItemId item = event.GetItem(); if ( !item ) { event.Veto(); return; } AssetCollectionItemData* baseData = GetItemData( m_MyCollectionsTreeCtrl, item ); if ( !baseData ) { event.Veto(); return; } AssetCollection* collection = baseData->GetCollection<AssetCollection>(); if ( !collection || !collection->CanRename() ) { event.Veto(); return; } treeCtrl->SetItemText( item, collection->GetName() ); //treeCtrl->EditLabel( item ); event.Skip(); }
void CLocalTreeView::OnBeginLabelEdit(wxTreeEvent& event) { wxTreeItemId item = event.GetItem(); #ifdef __WXMSW__ if (item == m_desktop || item == m_documents) { wxBell(); event.Veto(); return; } #endif wxString path = GetDirFromItem(item); #ifdef __WXMSW__ if (path.Len() == 3 && path.Mid(1) == _T(":\\")) { wxBell(); event.Veto(); return; } #endif if (!m_pState->LocalDirHasParent(path) || !m_pState->LocalDirIsWriteable(path)) { wxBell(); event.Veto(); return; } }
void wxGxTreeView::OnBeginLabelEdit(wxTreeEvent& event) { wxTreeItemId item = event.GetItem(); if(!item.IsOk()) return; wxGxTreeItemData* pData = (wxGxTreeItemData*)GetItemData(item); if(pData == NULL) { event.Veto(); return; } wxGxObject* pGxObject = m_pCatalog->GetRegisterObject(pData->m_nObjectID); IGxObjectEdit* pObjEdit = dynamic_cast<IGxObjectEdit*>(pGxObject); IGxObjectTreeAttr* pObjAttr = dynamic_cast<IGxObjectTreeAttr*>(pGxObject); if(pObjEdit == NULL || pObjAttr) { event.Veto(); return; } if(!pObjEdit->CanRename()) { event.Veto(); return; } }
//---------------------------------------- void CFieldsTreeCtrl::OnBeginDrag( wxTreeEvent &event ) { if (ItemHasChildren(event.GetItem())) { event.Veto(); return; } CFieldsTreeItemData* itemData = dynamic_cast<CFieldsTreeItemData*>(GetItemData(event.GetItem())); if (itemData == NULL) { event.Veto(); return; } CField* field = itemData->GetField(); if (field == NULL) { event.Veto(); return; } //event.Allow(); // start drag operation CDndField* dndField = new CDndField(); // dndField->AddField(field); dndField->m_field = field; CDndFieldDataObject dndFieldDataObject(dndField); wxDropSource source(dndFieldDataObject, this, wxDROP_ICON(dnd_copy), wxDROP_ICON(dnd_move), wxDROP_ICON(dnd_none)); //source.DoDragDrop(wxDrag_DefaultMove); // Effectuer l'opération de D&D source.DoDragDrop(); // Effectuer l'opération de D&D event.Skip(); /* wxDropSource source(textData, this, wxDROP_ICON(dnd_copy), wxDROP_ICON(dnd_move), wxDROP_ICON(dnd_none)); */ /* wxDropSource source(textData, this); //int flags = 0; wxDragResult result = source.DoDragDrop(); */ }
void CBookmarksDialog::OnBeginLabelEdit(wxTreeEvent& event) { wxTreeItemId item = event.GetItem(); if (item != m_pTree->GetSelection()) { if (!Verify()) { event.Veto(); return; } } if (!item || item == m_bookmarks_global || item == m_bookmarks_site) { event.Veto(); return; } }
/////////////////////////////////////////////////////////////////////////////// // GUI callback for when a label is done being edited by the user. Creates a // command to change the name of the dependency node associated with the item. // void SceneOutliner::OnEndLabelEdit( wxTreeEvent& args ) { if ( !args.IsEditCancelled() ) { SceneOutlinerItemData* data = GetTreeItemData( args.GetItem() ); Reflect::Object* object = data->GetObject(); SceneGraph::SceneNode* node = Reflect::SafeCast< SceneGraph::SceneNode >( object ); if ( node ) { const tstring newName = args.GetLabel().c_str(); if ( node->GetName() != newName ) { // Create an undoable command to rename the object m_CurrentScene->Push( new PropertyUndoCommand<tstring>( new Helium::MemberProperty<SceneGraph::SceneNode, tstring> (node, &SceneGraph::SceneNode::GetName, &SceneGraph::SceneNode::SetGivenName), newName) ); m_CurrentScene->Execute( false ); // Sort Sort( m_TreeCtrl->GetItemParent( args.GetItem() ) ); // Keep the item in view if ( !m_TreeCtrl->IsVisible( args.GetItem() ) ) { m_TreeCtrl->EnsureVisible( args.GetItem() ); } } args.Veto(); OnSelectionChanged( (wxTreeEvent)NULL ); } } }
void wxGenericDirCtrl::OnItemActivated(wxTreeEvent &event) { wxTreeItemId treeid = event.GetItem(); const wxDirItemData *data = GetItemData(treeid); if (data->m_isDir) { // is dir event.Skip(); } else { // is file wxTreeEvent changedEvent(wxEVT_DIRCTRL_FILEACTIVATED, GetId()); changedEvent.SetEventObject(this); changedEvent.SetItem(treeid); changedEvent.SetClientObject(m_treeCtrl->GetItemData(treeid)); if (GetEventHandler()->SafelyProcessEvent(changedEvent) && !changedEvent.IsAllowed()) event.Veto(); else event.Skip(); } }
void wxGenericDirCtrl::OnBeginEditItem(wxTreeEvent &event) { // don't rename the main entry "Sections" if (event.GetItem() == m_rootId) { event.Veto(); return; } // don't rename the individual sections if (m_treeCtrl->GetItemParent( event.GetItem() ) == m_rootId) { event.Veto(); return; } }
void ProjectExplorerWindow::OnTreeItemCollapsing(wxTreeEvent& event) { if (event.GetItem() == m_stopExpansion) { event.Veto(); m_stopExpansion = 0; } }
void wxGenericDirCtrl::OnEndEditItem(wxTreeEvent &event) { if (event.IsEditCancelled()) return; if ((event.GetLabel().empty()) || (event.GetLabel() == wxT(".")) || (event.GetLabel() == wxT("..")) || (event.GetLabel().Find(wxT('/')) != wxNOT_FOUND) || (event.GetLabel().Find(wxT('\\')) != wxNOT_FOUND) || (event.GetLabel().Find(wxT('|')) != wxNOT_FOUND)) { wxMessageDialog dialog(this, _("Illegal directory name."), _("Error"), wxOK | wxICON_ERROR ); dialog.ShowModal(); event.Veto(); return; } wxTreeItemId treeid = event.GetItem(); wxDirItemData *data = (wxDirItemData*)m_treeCtrl->GetItemData( treeid ); wxASSERT( data ); wxString new_name( wxPathOnly( data->m_path ) ); new_name += wxString(wxFILE_SEP_PATH); new_name += event.GetLabel(); wxLogNull log; if (wxFileExists(new_name)) { wxMessageDialog dialog(this, _("File name exists already."), _("Error"), wxOK | wxICON_ERROR ); dialog.ShowModal(); event.Veto(); } if (wxRenameFile(data->m_path,new_name)) { data->SetNewDirName( new_name ); } else { wxMessageDialog dialog(this, _("Operation not permitted."), _("Error"), wxOK | wxICON_ERROR ); dialog.ShowModal(); event.Veto(); } }
void CSettingsDialog::OnPageChanging(wxTreeEvent& event) { if (!m_activePanel) return; if (!m_activePanel->Validate()) event.Veto(); }
void SceneBrowser::OnBeginLabelEdit(wxTreeEvent& event) { wxTreeItemId item = event.GetItem(); wxASSERT(item.IsOk()); ObjectItemData* data = static_cast<ObjectItemData*>(mObjectsTree->GetItemData(item)); if (!data || data->object.expired()) event.Veto(); }
void BookmarkView::onTreeEndDrag( wxTreeEvent& event ) { wxColour bgColor(ThemeMgr::mgr.currentTheme->generalBackground); wxColour textColor(ThemeMgr::mgr.currentTheme->text); m_treeView->SetBackgroundColour(bgColor); m_treeView->SetForegroundColour(textColor); m_treeView->UnsetToolTip(); SetCursor(wxCURSOR_ARROW); if (visualDragItem != nullptr) { visualDragItem->Destroy(); delete visualDragItem; visualDragItem = nullptr; } if (!event.GetItem()) { event.Veto(); return; } TreeViewItem* tvi = dynamic_cast<TreeViewItem*>(m_treeView->GetItemData(event.GetItem())); if (!tvi) { if (event.GetItem() == bookmarkBranch) { if (dragItem && dragItem->type == TreeViewItem::TREEVIEW_ITEM_TYPE_ACTIVE) { doBookmarkActive(BOOKMARK_VIEW_STR_UNNAMED, dragItem->demod); } else if (dragItem && dragItem->type == TreeViewItem::TREEVIEW_ITEM_TYPE_RECENT) { doBookmarkRecent(BOOKMARK_VIEW_STR_UNNAMED, dragItem->bookmarkEnt); } else if (dragItem && dragItem->type == TreeViewItem::TREEVIEW_ITEM_TYPE_BOOKMARK) { doMoveBookmark(dragItem->bookmarkEnt, BOOKMARK_VIEW_STR_UNNAMED); } } return; } if (tvi->type == TreeViewItem::TREEVIEW_ITEM_TYPE_GROUP) { if (dragItem && dragItem->type == TreeViewItem::TREEVIEW_ITEM_TYPE_ACTIVE) { // Active -> Group Item doBookmarkActive(tvi->groupName, dragItem->demod); } else if (dragItem && dragItem->type == TreeViewItem::TREEVIEW_ITEM_TYPE_RECENT) { // Recent -> Group Item doBookmarkRecent(tvi->groupName, dragItem->bookmarkEnt); m_treeView->Delete(dragItemId); } else if (dragItem && dragItem->type == TreeViewItem::TREEVIEW_ITEM_TYPE_BOOKMARK) { // Bookmark -> Group Item doMoveBookmark(dragItem->bookmarkEnt, tvi->groupName); } } else if (tvi->type == TreeViewItem::TREEVIEW_ITEM_TYPE_BOOKMARK) { if (dragItem && dragItem->type == TreeViewItem::TREEVIEW_ITEM_TYPE_ACTIVE) { // Active -> Same Group doBookmarkActive(tvi->groupName, dragItem->demod); } else if (dragItem && dragItem->type == TreeViewItem::TREEVIEW_ITEM_TYPE_RECENT) { // Recent -> Same Group doBookmarkRecent(tvi->groupName, dragItem->bookmarkEnt); m_treeView->Delete(dragItemId); } else if (dragItem && dragItem->type == TreeViewItem::TREEVIEW_ITEM_TYPE_BOOKMARK) { // Bookmark -> Same Group doMoveBookmark(dragItem->bookmarkEnt, tvi->groupName); } } }
//---------------------------------------- void CFieldsTreeCtrl::OnGetToolTip( wxTreeEvent &event ) { if (m_product == NULL) { event.Veto(); return; } wxTreeItemId itemId = event.GetItem(); CFieldsTreeItemData* itemData = itemId.IsOk() ? dynamic_cast<CFieldsTreeItemData*>(GetItemData(itemId)) : NULL; if (itemData == NULL) { event.Veto(); return; } CField* field = itemData->GetField(); if (field == NULL) { event.Veto(); return; } /* wxString str; wxStringTokenizer tkz(wxT(field->GetDescription()), wxT("."), wxTOKEN_RET_DELIMS); while ( tkz.HasMoreTokens() ){ str.Append(tkz.GetNextToken()); if (tkz.HasMoreTokens()) { str.Append("\n"); } } */ SetToolTip(NULL); // This forces to recreate tooltip and to set its length to the max line length of text event.SetToolTip(itemData->GetSplittedFieldDescr()); }
void CBookmarksDialog::OnSelChanging(wxTreeEvent& event) { if (!Verify()) { event.Veto(); return; } UpdateBookmark(); }
void BookmarkView::onTreeBeginDrag( wxTreeEvent& event ) { TreeViewItem* tvi = dynamic_cast<TreeViewItem*>(m_treeView->GetItemData(event.GetItem())); dragItem = nullptr; dragItemId = nullptr; SetCursor(wxCURSOR_CROSS); if (!tvi) { event.Veto(); return; } bool bAllow = false; std::wstring dragItemName; if (tvi->type == TreeViewItem::TREEVIEW_ITEM_TYPE_ACTIVE) { bAllow = true; dragItemName = BookmarkMgr::getActiveDisplayName(tvi->demod); } else if (tvi->type == TreeViewItem::TREEVIEW_ITEM_TYPE_RECENT || tvi->type == TreeViewItem::TREEVIEW_ITEM_TYPE_BOOKMARK) { bAllow = true; dragItemName = BookmarkMgr::getBookmarkEntryDisplayName(tvi->bookmarkEnt); } if (bAllow) { wxColour bgColor(ThemeMgr::mgr.currentTheme->generalBackground); wxColour textColor(ThemeMgr::mgr.currentTheme->text); m_treeView->SetBackgroundColour(textColor); m_treeView->SetForegroundColour(bgColor); // m_treeView->SetToolTip("Dragging " + dragItemName); dragItem = tvi; dragItemId = event.GetItem(); visualDragItem = new BookmarkViewVisualDragItem(dragItemName); event.Allow(); } else { event.Veto(); } }
void frmMain::OnCollapse(wxTreeEvent &event) { #ifdef WIN32 // This is weird stuff, but somewhere comes a collapse after we have done // connecting the server and expanding the tree. // Possibly not necessary if (event.GetItem() == denyCollapseItem) event.Veto(); #endif denyCollapseItem = wxTreeItemId(); }
// item collapse event handler void fileDissectTreeCtrl::OnItemCollapsing(wxTreeEvent& event) { wxTreeItemId id = event.GetItem(); // prevent the root from collapsing if (id == GetRootItem()) { event.Veto(); return; } }
void SamplesTreeCtrl::onCollapsing( wxTreeEvent &event ) { wxTreeItemId item = event.GetItem(); wxTreeItemData *data = GetItemData( item ); if ( !data ) // Prevent collapsing of speakers { event.Veto(); return; } }
void PanelObjectList::OnTreeBeginLabelEdit(wxTreeEvent& event) { wxTreeItemId id = event.GetItem(); TreeItemDataGenericObjectInfo* pData = (TreeItemDataGenericObjectInfo*)m_pTree_Objects->GetItemData( id ); // don't allow edits if there's no callback. if( pData == 0 || pData->m_pLabelEditFunction == 0 ) { // cancel the edit event.Veto(); } }
void CRemoteTreeView::OnBeginLabelEdit(wxTreeEvent& event) { if (!m_pState->IsRemoteIdle()) { event.Veto(); return; } const CServerPath& path = GetPathFromItem(event.GetItem()); if (path.empty()) { event.Veto(); return; } if (!path.HasParent()) { event.Veto(); return; } }
void SkillObjectTree::OnEndLabelEdit(wxTreeEvent& event) { wxLogMessage(wxT("OnEndLabelEdit")); // don't allow anything except letters in the labels if ( !event.GetLabel().IsWord() ) { wxMessageBox(wxT("The new label should be a single word.")); event.Veto(); } }
void CBookmarksDialog::OnEndLabelEdit(wxTreeEvent& event) { if (event.IsEditCancelled()) return; wxTreeItemId item = event.GetItem(); if (item != m_pTree->GetSelection()) { if (!Verify()) { event.Veto(); return; } } if (!item || item == m_bookmarks_global || item == m_bookmarks_site) { event.Veto(); return; } wxString name = event.GetLabel(); wxTreeItemId parent = m_pTree->GetItemParent(item); wxTreeItemIdValue cookie; for (wxTreeItemId child = m_pTree->GetFirstChild(parent, cookie); child.IsOk(); child = m_pTree->GetNextChild(parent, cookie)) { if (child == item) continue; if (!name.CmpNoCase(m_pTree->GetItemText(child))) { wxMessageBoxEx(_("Name already exists"), _("Cannot rename entry"), wxICON_EXCLAMATION, this); event.Veto(); return; } } m_pTree->SortChildren(parent); }
void wxGenericDirCtrl::OnTreeSelChange(wxTreeEvent &event) { wxTreeEvent changedEvent(wxEVT_DIRCTRL_SELECTIONCHANGED, GetId()); changedEvent.SetEventObject(this); changedEvent.SetItem(event.GetItem()); changedEvent.SetClientObject(m_treeCtrl->GetItemData(event.GetItem())); if (GetEventHandler()->SafelyProcessEvent(changedEvent) && !changedEvent.IsAllowed()) event.Veto(); else event.Skip(); }
void MyTreeCtrl::OnItemCollapsing(wxTreeEvent& event) { wxLogMessage(wxT("OnItemCollapsing")); // for testing, prevent the user from collapsing the first child folder wxTreeItemId itemId = event.GetItem(); if ( IsTestItem(itemId) ) { wxMessageBox(wxT("You can't collapse this item.")); event.Veto(); } }
//------------------------------------------------------------------------------ void OutputTree::OnBeginLabelEdit(wxTreeEvent &event) { GmatTreeItemData *selItem = (GmatTreeItemData *) GetItemData(event.GetItem()); //kind of redundant because OpenPage returns false for some //of the default folders if (GmatAppData::Instance()->GetMainFrame()->IsChildOpen(selItem)) { event.Veto(); } }
void WatchWindow::OnBeginLabelEdit(wxTreeEvent& event) { if (GetItemParent(event.GetItem()) == m_root) { m_editing = true; } else { event.Veto(); } }
void CLocalTreeView::OnBeginLabelEdit(wxTreeEvent& event) { wxTreeItemId item = event.GetItem(); #ifdef __WXMSW__ if (item == m_desktop || item == m_documents) { wxBell(); event.Veto(); return; } #endif CLocalPath path(GetDirFromItem(item)); if (!path.HasParent() || !path.IsWriteable()) { wxBell(); event.Veto(); return; } }
void CollectionsPanel::OnMyCollectionsEndLabelEdit( wxTreeEvent& event ) { // this just makes the code below more generic in case we want to abstract it later SortTreeCtrl* treeCtrl = m_MyCollectionsTreeCtrl; event.Veto(); if( event.IsEditCancelled() ) { return; } wxTreeItemId item = event.GetItem(); if ( !item ) { return; } AssetCollectionItemData* baseData = GetItemData( treeCtrl, item ); if ( !baseData ) { return; } AssetCollection* collection = baseData->GetCollection<AssetCollection>(); if ( !collection || !collection->CanRename() ) { return; } wxString labelValue = event.GetLabel(); labelValue.Trim(true); // trim white-space right labelValue.Trim(false); // trim white-space left if ( labelValue.empty() ) { return; } tstring errors; collection->Freeze(); bool renameResult = m_CollectionManager->RenameCollection( collection, (const wxChar*)labelValue.c_str(), errors ); collection->Thaw(); if ( !renameResult ) { wxMessageBox( errors.c_str(), TXT( "MyCollection Name Already In Use" ), wxCENTER | wxICON_WARNING | wxOK, this ); //treeCtrl->EditLabel( item ); return; } }
void wxGxTreeView::OnEndLabelEdit(wxTreeEvent& event) { if ( event.GetLabel().IsEmpty() ) { event.Veto(); return; } wxTreeItemId item = event.GetItem(); if(!item.IsOk()) { event.Veto(); return; } wxGxTreeItemData* pData = (wxGxTreeItemData*)GetItemData(event.GetItem()); if(pData == NULL) { event.Veto(); return; } wxGxObject* pGxObject = m_pCatalog->GetRegisterObject(pData->m_nObjectID); IGxObjectEdit* pObjEdit = dynamic_cast<IGxObjectEdit*>(pGxObject); if(pObjEdit == NULL) { event.Veto(); return; } if(!pObjEdit->Rename(event.GetLabel())) { event.Veto(); wxMessageBox(_("Rename error!"), _("Error"), wxICON_ERROR | wxOK ); return; } m_pCatalog->ObjectChanged(pGxObject->GetId()); }