예제 #1
0
파일: treetest.cpp 프로젝트: gitrider/wxsj2
void MyTreeCtrl::OnItemRClick(wxTreeEvent& event)
{
    wxTreeItemId itemId = event.GetItem();
    MyTreeItemData *item = itemId.IsOk() ? (MyTreeItemData *)GetItemData(itemId)
                                         : NULL;

    wxLogMessage(wxT("Item \"%s\" right clicked"), item ? item->GetDesc()
                                                        : _T(""));

    event.Skip();
}
예제 #2
0
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();
}
void luProjTree::OnItemMenu(wxTreeEvent& event)
{
    wxTreeItemId itemId = event.GetItem();

    wxPoint clientpt = event.GetPoint();
    wxPoint screenpt = ClientToScreen(clientpt);


    showMenu(itemId, clientpt);
    event.Skip();
}
예제 #4
0
// item collapse event handler
void fileDissectTreeCtrl::OnItemCollapsing(wxTreeEvent& event)
{
	wxTreeItemId id = event.GetItem();

	// prevent the root from collapsing
	if (id == GetRootItem())
	{
		event.Veto();
		return;
	}
}
예제 #5
0
파일: ModelPanel.cpp 프로젝트: SinYocto/Zee
void ModelListTree::OnItemMenu(wxTreeEvent& event)
{
	ModelTreeItemData* itemData = (ModelTreeItemData*)GetItemData(event.GetItem());
	Model* model = itemData->GetModel();

	wxPoint pt = event.GetPoint();

	wxMenu menu;
	menu.Append(ID_MODEL_PANEL_ITEM_MENU_ADD_TO_SCENE, wxT("&add to scene"));

	PopupMenu(&menu, pt);
}
예제 #6
0
void UserRulesEditorFrame::OnSelectModInMasterlist(wxTreeEvent& event) {
	//Need to find item in masterlist. :( Why can't tree lists store index number?
	string itemStr = MasterlistModsList->GetItemText(event.GetItem()).ToUTF8();
	size_t pos = game.masterlist.FindItem(itemStr, MOD);
	if (pos != game.masterlist.Items().size()) {
		string messagesOut = "";
		vector<Message> messages = game.masterlist.ItemAt(pos).Messages();
		for (vector<Message>::iterator messageIter = messages.begin(); messageIter != messages.end(); ++messageIter)
			messagesOut += messageIter->KeyToString() + ": " + messageIter->Data() + "\n\n";
		ModMessagesBox->SetValue(wxString(messagesOut.substr(0,messagesOut.length()-2).c_str(), wxConvUTF8));
	}
}
예제 #7
0
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();
    }
}
예제 #8
0
	void CategoryTree::onItemCollapsing( wxTreeEvent& p_event ) {
		auto id = p_event.GetItem( );
		auto* itemData = static_cast<const CategoryTreeItem*>( this->GetItemData( id ) );

		// Skip if this is not a category
		if ( !itemData || itemData->dataType( ) != CategoryTreeItem::DT_Category ) {
			return;
		}

		// Set icon to the closed folder
		this->SetItemImage( id, CategoryTreeImageList::IT_ClosedFolder );
	}
예제 #9
0
void
SamplesTreeCtrl::onCollapsing( wxTreeEvent &event )
{
	wxTreeItemId item = event.GetItem();

	wxTreeItemData *data = GetItemData( item );
	if ( !data ) // Prevent collapsing of speakers
	{
		event.Veto();
		return;
	}
}
void luProjTree::OnItemActivated(wxTreeEvent& event)
{
    wxTreeItemId itemId = event.GetItem();
    ItemData* item = (ItemData*)GetItemData(itemId);

	luMainFrame* frame = getLuMainFrame();

	if (!item || !frame) return;
	int data = item->GetData();

	wxString name = item->GetName();
}
예제 #11
0
파일: dirctrlg.cpp 프로젝트: drvo/wxWidgets
void wxGenericDirCtrl::OnExpandItem(wxTreeEvent &event)
{
    wxTreeItemId parentId = event.GetItem();

    // VS: this is needed because the event handler is called from wxTreeCtrl
    //     ctor when wxTR_HIDE_ROOT was specified

    if (!m_rootId.IsOk())
        m_rootId = m_treeCtrl->GetRootItem();

    ExpandDir(parentId);
}
예제 #12
0
void ScenePanel::SceneTooltipSet(wxTreeEvent& evt)
{
	wxTreeItemId item = evt.GetItem();
	SceneTreeItemData *sceneData = dynamic_cast<SceneTreeItemData*>(mSceneTree->GetItemData(item));
	if (sceneData != NULL)
	{		
		evt.SetToolTip(wxString::Format(wxT("%d meshes"), sceneData->GetData()->mNumMeshes)); 
	}

	return;
	
}
예제 #13
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);
        currentObject = browser->GetObject(item);
    }

    if (currentObject)
        doPopup(browser, event.GetPoint(), currentObject);
}
예제 #14
0
void YardEmployee::OnChange(wxTreeEvent& event)
{
    m_loading = true;
    empItemData * data = static_cast<empItemData *>(m_tree->GetItemData(event.GetItem()));

    if (!data)
        return;
    
    try {
        m_emp = wxGetApp().DB().EmployeeGet(data->GetID());
    }
    catch (YardDBException& e)
    {
        wxLogDebug(wxT("Error (employee not loaded): %s, %s"),e.what(), e.GetSQL().c_str());
        return;
    }
        
    if (m_emp.GetPicLocal() != "")
    {
        wxImage pic(m_emp.GetPicLocal().c_str());
        if (pic.Ok())
            m_pic->SetBitmap(pic);
        else
            wxLogDebug(wxT("Bad image data (pic)."));
    }
    else
        m_pic->SetBitmap(wxImage("res/ys_employee_128x128.png"));
    
    if (m_emp.GetSigLocal() != "")
    {
        wxImage sig(m_emp.GetSigLocal().c_str());
        if (sig.Ok())
            m_sig->SetBitmap(sig);
        else
            wxLogDebug(wxT("Bad image data (sig)."));
    }
    else
        m_sig->SetBitmap(wxNullBitmap);
    
    m_first->SetValue(m_emp.GetFirst().c_str());
    m_middle->SetValue(m_emp.GetMiddle().c_str());
    m_last->SetValue(m_emp.GetLast().c_str());
    m_address->SetValue(m_emp.GetAddress().c_str());
    m_id->SetValue(m_emp.GetIdS().c_str());
    m_taxid->SetValue(m_emp.GetTaxIdS().c_str());
    m_phone->SetValue(m_emp.GetPhone().c_str());
    wxString pos;
    pos.Printf(wxT("Title: %s"), m_emp.GetACL().c_str());
    m_position->SetLabel(pos);
    pos.Printf(wxT("Hire date: %s"), m_emp.GetSince().c_str());
    m_hire->SetLabel(pos);
    m_loading = false;
}
예제 #15
0
void WorkspacePanel::OnSelectionChanged(wxTreeEvent& event)
{
	SelectionList list;
	wxTreeItemId id = event.GetItem();
	if(isProject(id)) list.push_back(getProject(id));
	else if(isMaterial(id)) list.push_back(getMaterial(id));
	else if(isTechnique(id)) list.push_back(getTechnique(id));
	else if(isPass(id)) list.push_back(getPass(id));
	// else its the workspace so just leave the list empty as if nothing were selected

	SelectionService::getSingletonPtr()->setSelection(list);
}
예제 #16
0
void               P3DPlantModelTreeCtrl::OnSelectionChanged
                                      (wxTreeEvent        &event)
 {
  P3DBranchModel                      *BranchModel;

  #if defined(__WXMSW__)
   {
    SetItemBold(event.GetOldItem(),false);
    SetItemBold(event.GetItem(),true);
   }
  #endif

  if (!event.GetItem().IsOk())
   {
    return;
   }

  BranchModel = ((P3DPlantModelTreeCtrlItemData*)(GetItemData(event.GetItem())))->GetBranchModel();

  BranchPanel->SwitchToBranch(BranchModel);
 }
예제 #17
0
void
SamplesTreeCtrl::onSelectionChanging( wxTreeEvent &event )
{
	SamplesTreeData *data = (SamplesTreeData *)GetItemData(event.GetItem() );

	if ( data != NULL )
		smp::sampleManager->selectSample( data->m_sample );
	else
	{
		wxTreeItemIdValue cookie;
		wxTreeItemId firstSpeech = GetFirstChild( event.GetItem(), cookie );

		if ( firstSpeech.IsOk() )
		{
			event.Veto();

			data = (SamplesTreeData *)GetItemData( firstSpeech );
			smp::sampleManager->selectSample( data->m_sample );
		}
	}
}
예제 #18
0
void YardCustomer::OnChange(wxTreeEvent& event)
{
    m_loading = true;
    custItemData * data = static_cast<custItemData *>(m_tree->GetItemData(event.GetItem()));

    if (!data)
        return;
    
    try {
        m_cust = wxGetApp().DB().CustomerGet(data->GetID());
    }
    catch (YardDBException& e)
    {
        wxLogDebug(wxT("Error (customer not loaded): %s, %s"),e.what(), e.GetSQL().c_str());
        return;
    }
        
    if (m_cust.GetPicLocal() != "")
    {
        wxImage pic(m_cust.GetPicLocal().c_str());
        if (pic.Ok())
            m_pic->SetBitmap(pic);
        else
            wxLogDebug(wxT("Bad image data (pic)."));
    }
    else
        m_pic->SetBitmap(wxImage("res/personal.png"));
    
    if (m_cust.GetSigLocal() != "")
    {
        wxImage sig(m_cust.GetSigLocal().c_str());
        if (sig.Ok())
            m_sig->SetBitmap(sig);
        else
            wxLogDebug(wxT("Bad image data (sig)."));
    }
    else
        m_sig->SetBitmap(wxNullBitmap);
    
    m_first->SetValue(m_cust.GetFirstName().c_str());
    m_middle->SetValue(m_cust.GetMiddleName().c_str());
    m_last->SetValue(m_cust.GetLastName().c_str());
    m_address->SetValue(m_cust.GetAddress().c_str());
    m_ccNum->SetValue(m_cust.GetCreditCardNumber().c_str());
    m_ccName->SetValue(m_cust.GetCreditCardName().c_str());
    m_ccExp->SetValue(m_cust.GetCreditCardExpiration().c_str());
    m_phone->SetValue(m_cust.GetPhone().c_str());
    wxString pos;
    pos.Printf(wxT("Customer Since: %s"), m_cust.GetSince().c_str());
    m_custSince->SetLabel(pos);
    
    m_loading = false;
}
예제 #19
0
void SkillObjectTree::OnBeginDrag(wxTreeEvent& event)
{
	// need to explicitly allow drag
	if ( event.GetItem() != GetRootItem() )
	{
		m_draggedItem = event.GetItem();

		wxPoint clientpt = event.GetPoint();
		wxPoint screenpt = ClientToScreen(clientpt);

		//wxLogMessage(wxT("OnBeginDrag: started dragging %s at screen coords (%i,%i)"),
		//	GetItemText(m_draggedItem).c_str(),
		//	screenpt.x, screenpt.y);

		event.Allow();
	}
	else
	{
		//wxLogMessage(wxT("OnBeginDrag: this item can't be dragged."));
	}
}
예제 #20
0
void ProjectExplorerWindow::OnTreeItemActivated(wxTreeEvent& event)
{
    
    // This is a bit hacky, but to prevent the control from expanding an item
    // when we activate it, we store the id and then veto the
    // expansion/contraction event.
    m_stopExpansion = event.GetItem();

    // Keep processing the event.
    event.Skip(true);

}
예제 #21
0
void SFTPTreeView::OnItemActivated(wxTreeEvent& event)
{
    event.Skip();
    MyClientData* cd = GetItemData(event.GetItem());
    CHECK_PTR_RET(cd);

    if(cd->IsFolder()) {
        m_treeCtrl->Expand(event.GetItem());

    } else {

        RemoteFileInfo remoteFile;
        remoteFile.SetAccount(m_account);
        remoteFile.SetRemoteFile(cd->GetFullPath());

        SFTPThreadRequet* req = new SFTPThreadRequet(remoteFile);
        SFTPWorkerThread::Instance()->Add(req);

        m_plugin->AddRemoteFile(remoteFile);
    }
}
예제 #22
0
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();
    }
}
예제 #23
0
//------------------------------------------------------------------------------
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();
   }
}
예제 #24
0
void MainFrame::OnTreeSelChanged(wxTreeEvent& evt)
{
	SetCursor(*wxHOURGLASS_CURSOR);

	wxTreeItemId item_id = evt.GetItem();
	wxString strText;
	while (item_id)
	{
		if (item_id != m_pTree->GetRootItem())
			strText = wxT("/") + m_pTree->GetItemText(item_id) + strText;

		item_id = m_pTree->GetItemParent(item_id);
	}
	if (strText.IsEmpty())
		strText = wxT("/");

	m_strSelection = strText;

	SetKeyDescription(evt.GetItem());

	SetCursor(*wxSTANDARD_CURSOR);
}
예제 #25
0
void cssVFSFileDlg :: OnDirTreeExpandBranch( wxTreeEvent& event )
{
  wxTreeItemId curSelection = event.GetItem();
  csString curDirPath = GetPathByTreeItem( curSelection );
	
  if( dirtree->GetChildrenCount(curSelection, FALSE) == 0 )
  {		
    LoadVFSTreeBranch(curSelection, curDirPath.GetData());
  }

  //Select the item that was expanded
  dirtree->SelectItem( curSelection );
}
예제 #26
0
void WatchWindow::OnBeginLabelEdit(wxTreeEvent& event)
{
    
    if (GetItemParent(event.GetItem()) == m_root)
    {
        m_editing = true;
    }    
    else
    {
        event.Veto();
    }
        
}
예제 #27
0
void CTimeBarFrame::OnTreeItemEndDrag(wxTreeEvent& event)
{
    wxTreeItemId draggingItemId = m_pItemTreeCtrl->GetSelection();
    wxTreeItemId targetItemId = event.GetItem();
    BEATS_ASSERT(draggingItemId.IsOk() && targetItemId.IsOk());
    if (draggingItemId != targetItemId && !IsParentOfItem(draggingItemId, targetItemId))
    {
        m_pEndDragData = static_cast<CTimeBarFrameData*>(m_pItemTreeCtrl->GetItemData(event.GetItem()));
        wxCommandEvent dragEvent(TIMTBAR_DRAGITEMEND_EVENT, GetId());
        dragEvent.SetEventObject(this);
        ProcessWindowEvent(dragEvent);
    }
}
예제 #28
0
void SkillObjectTree::OnItemActivated(wxTreeEvent& event)
{
	// show some info about this item
	wxTreeItemId itemId = event.GetItem();
	SkillTreeItemData *item = (SkillTreeItemData *)GetItemData(itemId);

	if ( item != NULL )
	{
		item->ShowInfo(this);
	}

	wxLogMessage(wxT("OnItemActivated"));
}
void PL_EDITOR_FRAME::OnTreeRightClick( wxTreeEvent& event )
{
    m_treePagelayout->SelectCell( event.GetItem() );

    wxMenu popMenu;
    AddNewItemsCommand( &popMenu );

    popMenu.AppendSeparator();
    AddMenuItem( &popMenu, ID_POPUP_DESIGN_TREE_ITEM_DELETE, _( "Delete" ),
                 KiBitmap( delete_xpm ) );

    PopupMenu( &popMenu );
}
예제 #30
0
void BulletTree::OnSelChanged(wxTreeEvent& event)
{

	wxTreeItemId id = event.GetItem();
	if ( !id )
	{
		wxLogMessage(wxT("No item under mouse"));
	}

	BulletTreeItemData* pItemData = dynamic_cast<BulletTreeItemData*>(GetItemData(id)); 
	if(pItemData)
	{

		BulletEditor* pEditor = dynamic_cast<BulletEditor*>(m_parent);
		EffectObjectPropertyEditor * pPropertyEditor = pEditor->GetParentFrame()->GetEffectObjectProperty();

		if(pItemData->GetDesc() == "BulletFlow root item" || 
			pItemData->GetDesc() == "BulletFlow property item")
		{
			pPropertyEditor->InitBulletFlowProperty();
			mSelectBulletObject = NULL;
		}
		else if(pItemData->GetDesc() == "BulletOperator item" ||
			pItemData->GetDesc() == "BulletOperator property item")
		{
			Fairy::BulletOperator* pOperator = (Fairy::BulletOperator*)pItemData->GetData();
			pPropertyEditor->InitBulletOperator(pOperator);
			mSelectBulletObject = pOperator;
		}
		else if(pItemData->GetDesc() == "BulletEventSysetem item" )
		{
			Fairy::BulletEventSystem* pEvent = (Fairy::BulletEventSystem*)pItemData->GetData();
			mSelectBulletObject = pEvent;
		}
		else if(pItemData->GetDesc() == "BulletSystem item" )
		{
			Fairy::BulletSystem* pSystem = (Fairy::BulletSystem*)pItemData->GetData();
			mSelectBulletObject = pSystem;
		}
		else if(pItemData->GetDesc() == "BulletSystem Element" ||
			pItemData->GetDesc() == "BulletSystem Element item")
		{
			Ogre::StringInterface* pElement = (Ogre::StringInterface*)pItemData->GetData();
			pPropertyEditor->InitBulletSystemElement(pElement);
			mSelectBulletObject = pElement;
		}

	}

	event.Skip();
}