Exemple #1
0
void BundlePane::OnTreeItemSelected(wxTreeEvent& event) {
	const wxTreeItemId selItem = event.GetItem();
	const BundleItemData* data = (BundleItemData*)m_bundleTree->GetItemData(selItem);

	// The menu root cannot be removed
	if (data->m_type == BUNDLE_MENU) m_bundleMinus->Disable();
	else m_bundleMinus->Enable();
}
void
mi_frame::on_right_click(wxTreeEvent &event) {
  wxTreeItemId item = event.GetItem();
  if (tree->GetChildrenCount(item) == 0)
    return;

  expand_all_elements(item, !tree->IsExpanded(item));
}
Exemple #3
0
//------------------------------------------------------------------------------
void OutputTree::OnItemActivated(wxTreeEvent &event)
{
   // get some info about this item
   wxTreeItemId itemId = event.GetItem();
   GmatTreeItemData *item = (GmatTreeItemData *)GetItemData(itemId);
   item->SetTitle(GetItemText(itemId));
   GmatAppData::Instance()->GetMainFrame()->CreateChild(item);
}
Exemple #4
0
///////////////////////////////////////////////////////////////////////////////
// Called when the user begins to drag an item in the tree control.  Determines
// if the item is allowed to be dragged, and kicks off the drag-and-drop event
// if it is allowed.
// 
void HierarchyOutliner::OnBeginDrag( wxTreeEvent& args )
{
    // You can only drag something if...
    // 1. The drag event contains a valid item to originate the drag
    // 2. The item that the drag originates on is selected
    // 3. There is something in the scene's selected item list (which had better be the
    //    case if item 2 above was true.
    // 4. You cannot drag the root item
    if ( ( args.GetItem().IsOk() )&&
        ( m_TreeCtrl->IsSelected( args.GetItem() ) ) && 
        ( m_CurrentScene->GetSelection().GetItems().Size() > 0 ) &&
        ( args.GetItem() != m_TreeCtrl->GetRootItem() ) )
    {
        args.Allow();
    }
    // else: automatically veto'd (you have to specifically allow a drag operation)
}
void CRemoteTreeView::OnItemExpanding(wxTreeEvent& event)
{
	if (m_busy)
		return;

	wxTreeItemId item = event.GetItem();
	if (!item)
		return;

	if (!ListExpand(item))
	{
		event.Veto();
		return;
	}

	Refresh(false);
}
Exemple #6
0
void MyTreeCtrl::OnBeginDrag(wxTreeEvent& event)
{
    // need to explicitly allow drag
    if ( event.GetItem() != GetRootItem() )
    {
        m_draggedItem = event.GetItem();

        wxLogMessage(wxT("OnBeginDrag: started dragging %s"),
                     GetItemText(m_draggedItem).c_str());

        event.Allow();
    }
    else
    {
        wxLogMessage(wxT("OnBeginDrag: this item can't be dragged."));
    }
}
Exemple #7
0
void ModelListTree::OnBeginDrag(wxTreeEvent& event)
{
	ModelTreeItemData* itemData = (ModelTreeItemData*)GetItemData(event.GetItem());
	Model* model = itemData->GetModel();

	//event.Allow();

}
Exemple #8
0
void CSettingsDialog::OnPageChanging(wxTreeEvent& event)
{
	if (!m_activePanel)
		return;

	if (!m_activePanel->Validate())
		event.Veto();
}
//----------------------------------------------------------------------------
void ProjTree::OnItemActivated(wxTreeEvent& event)
{
	wxTreeItemId id = event.GetItem();
	bool isExpanded = IsExpanded(id);

	if (isExpanded) Collapse(id);
	else Expand(id);
}
Exemple #10
0
///////////////////////////////////////////////////////////////////////////////
// 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 );
        }
    }
}
Exemple #11
0
void DatabaseView::UponTreeSelectionChange(wxTreeEvent& event)
{
    wxTreeCtrl& tree_ctrl = tree();
    MultiDimGrid& grid_ctrl = grid();

    // save the current selection
    wxTreeItemId const old_item = event.GetOldItem();
    if(old_item.IsOk())
        {
        database_tree_item_data* old_item_data =
            dynamic_cast<database_tree_item_data*>
                (tree_ctrl.GetItemData(old_item)
                );
        if(old_item_data)
            {
            old_item_data->set_axes_selected(grid_ctrl.GetGridAxisSelection());
            }
        }

    database_tree_item_data* item_data =
        dynamic_cast<database_tree_item_data*>
            (tree_ctrl.GetItemData(event.GetItem())
            );
    if(!item_data)
        {
        return;
        }

    table_adapter().SetTDBValue
        (&document().GetTDBValue(item_data->db_name().Idx)
        );

    bool is_topic = tree_ctrl.GetChildrenCount(event.GetItem());

    set_grid_label_text(item_data->db_name().LongName);

    wxSizer* sizer = grid_ctrl.GetContainingSizer();
    LMI_ASSERT(sizer);
    sizer->Show(&grid_ctrl, !is_topic);
    sizer->Layout();

    // restore axis selection if any
    grid_ctrl.SetGridAxisSelection(item_data->get_axes_selected());
    grid_ctrl.RefreshTableFull();
}
Exemple #12
0
void
AnimationSelector::OnAnimationListSelChanged(wxTreeEvent& e)
{
	// reset the state
	resetState();

    wxTreeItemId item = e.GetItem();

    wxASSERT(item.IsOk());

	wxTreeCtrl* tree = wxStaticCast(e.GetEventObject(), wxTreeCtrl);
    mActivedItem = e.GetItem();

    wxArrayTreeItemIds selections;
    int nCount = tree->GetSelections(selections);

	if(nCount <= 0)
		return;

	if (mIsMeshAnim)
	{
		GetDataManipulator()->changeMeshAnimation(DoActiveItem(item));
		return;
	}

	GetDataManipulator()->changeAnimation(DoActiveItem(item),0.0);

	Fairy::LogicModel* pObjModel = GetDataManipulator()->m_pObjTemplate;

	if ( pObjModel && !pObjModel->getCurrentAnimName().empty())
	{
		
		m_btnPause->Enable(true);
 
 		pObjModel->setAnimEditing(m_bPause);

		Ogre::String animationName = pObjModel->getCurrentAnimName();

		bool bLoop = pObjModel->getAnimationLoop();
		Ogre::Real timeTotal = pObjModel->getAnimationLength(animationName);

		m_endTimeText->SetValue(Ogre::StringConverter::toString(timeTotal));
		m_endFrameText->SetValue(Ogre::StringConverter::toString(timeTotal*STATIC_FPS));
	}
}
Exemple #13
0
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());
    }
}
Exemple #14
0
void CollectionsPanel::OnMyCollectionsMenu( wxTreeEvent& event )
{
    SortTreeCtrl* treeCtrl = m_MyCollectionsTreeCtrl;

    wxTreeItemId item = event.GetItem();
    if ( !item )
    {
        return;
    }

    wxTreeItemId rootID = treeCtrl->GetRootItem();
    if( item != rootID )
    {
        treeCtrl->SelectItem( item );

        AssetCollectionItemData* baseData = GetItemData( treeCtrl, item );
        if ( !baseData )
        {
            return;
        }

        AssetCollection* collection = baseData->GetCollection<AssetCollection>();
        if ( collection )
        {
            std::set< Helium::Path > paths;
            m_VaultFrame->GetSelectedPaths( paths );

            wxMenu menu;

            menu.Append( ID_ShowCollection, VaultMenu::Label( ID_ShowCollection ), VaultMenu::Label( ID_ShowCollection ), wxITEM_NORMAL );
            menu.AppendSeparator();
            menu.Append( ID_AddToCollection, VaultMenu::Label( ID_AddToCollection ), VaultMenu::Label( ID_AddToCollection ), wxITEM_NORMAL );
            menu.Append( ID_RemoveFromCollection, VaultMenu::Label( ID_RemoveFromCollection ), VaultMenu::Label( ID_RemoveFromCollection ), wxITEM_NORMAL );
            menu.AppendSeparator();
            menu.Append( ID_ImportIntoCollection, VaultMenu::Label( ID_ImportIntoCollection ), VaultMenu::Label( ID_ImportIntoCollection ), wxITEM_NORMAL );
            menu.Append( ID_SaveCollection, VaultMenu::Label( ID_SaveCollection ), VaultMenu::Label( ID_SaveCollection ), wxITEM_NORMAL );
            menu.AppendSeparator();
            menu.Append( ID_RenameCollection, VaultMenu::Label( ID_RenameCollection ), VaultMenu::Label( ID_RenameCollection ), wxITEM_NORMAL );
            //menu.Append( ID_CloseCollection, VaultMenu::Label( ID_CloseCollection ), VaultMenu::Label( ID_CloseCollection ), wxITEM_NORMAL );
            menu.Append( ID_DeleteCollection, VaultMenu::Label( ID_DeleteCollection ), VaultMenu::Label( ID_DeleteCollection ), wxITEM_NORMAL );


            menu.Enable( ID_AddToCollection, !collection->IsDynamic() && !paths.empty() );
            menu.Enable( ID_RemoveFromCollection, !collection->IsDynamic() && !paths.empty() );

            menu.Enable( ID_ImportIntoCollection, !collection->IsDynamic() );
            menu.Enable( ID_SaveCollection, true );

            menu.Enable( ID_RenameCollection, collection->CanRename() );
            //menu.Enable( ID_CloseCollection, !collection->IsTemporary() );
            menu.Enable( ID_DeleteCollection, !collection->IsTemporary() );

            // Show the menu
            PopupMenu( &menu );
        }
    } 
}
void ChooseObjectDialog::OnObjetsListSelectionChanged(wxTreeEvent& event)
{
    item = event.GetItem();
    gd::TreeItemStringData * data = dynamic_cast<gd::TreeItemStringData*>(objectsList->GetItemData(item));
    if(!data)
    	ChoisirBt->Disable();
    else
    	ChoisirBt->Enable();
}
void MainWindow::directory_ctrlOnTreeItemMenu( wxTreeEvent& event )
{
	wxPoint pt = event.GetPoint();

	wxMenu menu(wxEmptyString);
    menu.Append(FDBex_ExtractFolder, _("Extract folder to..."));

    PopupMenu(&menu, pt);
}
Exemple #17
0
void ModelListTree::OnItemSelected(wxTreeEvent& event)
{
	ModelTreeItemData* itemData = (ModelTreeItemData*)GetItemData(event.GetItem());
	Model* model = itemData->GetModel();

	mInspectorPanel->AttachModel(model);
	mInspectorPanel->GetModelPreviewCanvas()->SetPreviewModel(model);
	mInspectorPanel->GetModelPreviewCanvas()->AddjustCameraPos();
}
Exemple #18
0
//------------------------------------------------------------------------------
void OutputTree::OnEndLabelEdit(wxTreeEvent &event)
{
   wxString newLabel = event.GetLabel();
   
   // check to see if label is a single word
   if (newLabel.IsWord())
   {
      GmatTreeItemData *selItem = (GmatTreeItemData *)
         GetItemData(GetSelection());
      
      wxString oldLabel = selItem->GetName();
      selItem->SetName(newLabel);
   }
   else
   {
      event.Veto();
   }
}
Exemple #19
0
void SFTPTreeView::OnItemActivated(wxTreeEvent& event)
{
    event.Skip();
    MyClientData* cd = GetItemData(event.GetItem());
    CHECK_PTR_RET(cd);

    if(cd->IsFolder()) {
        wxTreeItemId item = event.GetItem();
        if(m_treeCtrl->IsExpanded(item)) {
            m_treeCtrl->CallAfter(&wxTreeCtrl::Collapse, item);
        } else {
            m_treeCtrl->CallAfter(&wxTreeCtrl::Expand, item);
        }

    } else {
        DoOpenFile(cd->GetFullPath());
    }
}
Exemple #20
0
void CLocalTreeView::OnItemExpanding(wxTreeEvent& event)
{
	wxTreeItemId item = event.GetItem();

	wxTreeItemIdValue value;
	wxTreeItemId child = GetFirstChild(item, value);
	if (child && GetItemText(child) == _T(""))
		DisplayDir(item, GetDirFromItem(item));
}
Exemple #21
0
////////////////////////////////////////////////////////////////////////////////
// This handler will display a popup menu for the item at the mouse position
////////////////////////////////////////////////////////////////////////////////
void frmMain::OnSelRightClick(wxTreeEvent &event)
{
	wxTreeItemId item = event.GetItem();
	if (item != browser->GetSelection())
	{
		browser->SelectItem(item);

		// Prevent changes to "currentObject" by "execSelchange" function by another thread.
		// Will hold the lock until we do popup on the respective object.
		//
		s_currentObjectMutex.Lock();
		currentObject = browser->GetObject(item);
	}

	if (currentObject)
		doPopup(browser, event.GetPoint(), currentObject);
	s_currentObjectMutex.Unlock();
}
Exemple #22
0
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;
	}
}
Exemple #23
0
void DbViewerPanel::OnItemActivate(wxTreeEvent& event)
{
    try {
        DbItem* item = (DbItem*) m_treeDatabases->GetItemData(event.GetItem());
        if (item) {
            wxMouseState cState = ::wxGetMouseState();

            wxString pagename;
            if (Table* tab = wxDynamicCast(item->GetData(), Table)) {
                if( cState.ControlDown() ) {
                    pagename = CreatePanelName(tab, DbViewerPanel::Erd);
                    ErdPanel *erdpanel = new ErdPanel(m_pNotebook,tab->GetDbAdapter()->Clone(),m_pConnections, (Table*) tab->Clone() );
                    AddEditorPage(erdpanel, pagename);

                } else {
    #if defined (__WXMSW__)
                    clWindowUpdateLocker locker(m_mgr->GetEditorPaneNotebook());
    #endif
                    pagename = CreatePanelName(tab, DbViewerPanel::Sql);
                    if(!DoSelectPage(pagename)) {
                        SQLCommandPanel *sqlpage = new SQLCommandPanel(m_pNotebook,tab->GetDbAdapter()->Clone(),tab->GetParentName(),tab->GetName());
                        AddEditorPage(sqlpage, pagename);
                    }
                }
            }

            if (View* pView = wxDynamicCast(item->GetData(), View)) {
                pagename = CreatePanelName(pView, DbViewerPanel::Sql);
                if(!DoSelectPage(pagename)) {
                    SQLCommandPanel *sqlpage = new SQLCommandPanel(m_pNotebook,pView->GetDbAdapter()->Clone(),pView->GetParentName(),pView->GetName());
                    AddEditorPage(sqlpage, pagename);
                }
            }

            if (Database* db = wxDynamicCast(item->GetData(), Database)) {
                if( cState.ControlDown() ) {
                    pagename = CreatePanelName(db, DbViewerPanel::Erd);
                    ErdPanel *erdpanel = new ErdPanel(m_pNotebook,db->GetDbAdapter()->Clone(),m_pConnections,(Database*)db->Clone());
                    AddEditorPage(erdpanel, pagename);

                } else {
                    pagename = CreatePanelName(db, DbViewerPanel::Sql);
                    if(!DoSelectPage(pagename)) {
                        SQLCommandPanel *sqlpage = new SQLCommandPanel(m_pNotebook,db->GetDbAdapter()->Clone(),db->GetName(),wxT(""));
    #ifndef __WXMSW__
                        sqlpage->Show();
    #endif
                        AddEditorPage(sqlpage, pagename);
                    }
                }
            }
        }
        
    } catch (DatabaseLayerException &e) {
        ::wxMessageBox(wxString() << "Error occured while opening SQL panel: " << e.GetErrorMessage(), "Database Explorer", wxOK|wxICON_ERROR|wxCENTER);
    }
}
void frmMDFEditor::OnTreectrlSelChanged( wxTreeEvent& event )
{
    wxString strPage;
    strPage = _( "<html><body><h3>" );
    wxTreeItemId itemID = event.GetItem();
    //MyTreeItemData *item = itemId.IsOk() ? (MyTreeItemData *)GetItemData(itemId)
    //                                     : NULL;
    if ( itemID.IsOk() ) {
        //strPage += m_mdfTree->GetItemText( itemID );
        //strPage += event.GetLabel();
    }
    else {
        strPage += _( "????" );
    }
    //strPage += _( "</h3></body></html>" );
    //m_htmlInfoWnd->SetPage( strPage );
    event.Skip();
}
void PanelObjectList::OnKeyDown(wxTreeEvent& event)
{
    if( event.GetKeyCode() == WXK_F2 )
    {
        wxArrayTreeItemIds selecteditems;
        unsigned int numselected = (unsigned int)g_pPanelObjectList->m_pTree_Objects->GetSelections( selecteditems );
    
        if( numselected == 1 )
        {
            wxTreeItemId id = selecteditems[0].GetID();
            m_pTree_Objects->EditLabel( id );
        }

        return;
    }

    event.Skip();
}
Exemple #26
0
void RheiaPackageManagementDialog::OnPackageListSelection(wxTreeEvent& event)
{
    wxTreeItemId item = event.GetItem();
    RheiaPackageTreeItemData* data = (RheiaPackageTreeItemData*) m_treelist->GetItemData(item);
    event.Skip();

    if( data == 0L )
        return;

    RheiaPackageInfo* info = data->GetInfo();

    if( info == 0L )
        return;


    DoUpdatePackageInfoFor( info );

}
Exemple #27
0
// unfortunately, under GTK we won't get the original wxKeyEvent
// to reset m_metaDown
void frmMain::OnTreeKeyDown(wxTreeEvent& event)
{
    switch (event.GetKeyCode())
    {
	case WXK_F1:
	    OnHelp(event);
	    break;
	case WXK_F5:
	    Refresh(currentObject);
	    break;
	case WXK_DELETE:
	    OnDelete(event);
	    break;
	default:
	    event.Skip();
	    break;
    }
}
void SkillObjectTree::OnBeginLabelEdit(wxTreeEvent& event)
{
	wxLogMessage(wxT("OnBeginLabelEdit"));

	// for testing, prevent this item's label editing
	wxTreeItemId itemId = event.GetItem();
	if ( IsTestItem(itemId) )
	{
		wxMessageBox(wxT("You can't edit this item."));

		event.Veto();
	}
	else if ( itemId == GetRootItem() )
	{
		// test that it is possible to change the text of the item being edited
		SetItemText(itemId, _T("Editing root item"));
	}
}
/***********权限树控件勾选状态改变*****************/
void New_PowerMangerFrame::OnTreeCtrl_PowerStatusChange(wxTreeEvent& event)
{
    TREEDATA* node = ((MyTreeData *)TreeCtrl_powerManager->GetItemData(event.GetItem()))->GetData();
    if(TreeCtrl_powerManager->GetItemState(event.GetItem()) == 0){
        if(((LIMIT*)(node->data))->type == 1){   //选中的这个节点位权限组节点,旗下所有子节点相应改变状态
            TreeCtrl_powerManager->SetItemState(node->ID,1);
            wxTreeItemIdValue cookie;
            wxTreeItemId itemID = TreeCtrl_powerManager->GetFirstChild(node->ID,cookie);
            if(itemID.IsOk())
                TreeCtrl_powerManager->SetItemState(itemID,1);
            while(1){
                itemID = TreeCtrl_powerManager->GetNextChild(node->ID,cookie);
                if(itemID.IsOk())
                    TreeCtrl_powerManager->SetItemState(itemID,1);
                else
                    break;
            }
        }
        else{       //如果选取的是项目子节点,则改变子节点勾选状态,如果子节点的父节点位勾选状态,取消勾选
            TreeCtrl_powerManager->SetItemState(event.GetItem(),1);
            wxTreeItemId itemID = TreeCtrl_powerManager->GetItemParent(event.GetItem());
            TreeCtrl_powerManager->SetItemState(itemID,1);
        }
    }
    else{
        if(((LIMIT*)(node->data))->type == 1){   //选中的这个节点位权限组节点,旗下所有子节点相应改变状态
            TreeCtrl_powerManager->SetItemState(node->ID,0);
            wxTreeItemIdValue cookie;
            wxTreeItemId itemID = TreeCtrl_powerManager->GetFirstChild(node->ID,cookie);
            if(itemID.IsOk())
                TreeCtrl_powerManager->SetItemState(itemID,0);
            while(1){
                itemID = TreeCtrl_powerManager->GetNextChild(node->ID,cookie);
                if(itemID.IsOk())
                    TreeCtrl_powerManager->SetItemState(itemID,0);
                else
                    break;
            }
        }
        else{
            TreeCtrl_powerManager->SetItemState(event.GetItem(),0);
        }
   }
}
void PanelObjectList::OnTreeContextMenuRequested(wxTreeEvent& event)
{
    // pass right click events through to the item.
    wxTreeItemId id = event.GetItem();
    TreeItemDataGenericObjectInfo* pData = (TreeItemDataGenericObjectInfo*)m_pTree_Objects->GetItemData( id );
    if( pData && pData->m_pRightClickFunction )
    {
        pData->m_pRightClickFunction( pData->m_pObject_RightClick ? pData->m_pObject_RightClick : pData->m_pObject, id );
    }
}