* wxPMWorkplaceBrowserPane class does most of the * work for controlling/updating multiproject-treectrl. * Also, it is meant to be subclassed by concrete * browsers which "hook in" their code into places, * where management of their specific tree-items occures * (eg. could be extended by class/resource/file/whatever browser)
Derived from
wxPMPane
wxPMWorkplaceListener
Data structures
Members
wxPMWorkplaceBrowserPane::wxPMWorkplaceBrowserPane
wxPMWorkplaceBrowserPane::AddProjectItem
wxPMWorkplaceBrowserPane::AddProjectItems
wxPMWorkplaceBrowserPane::AppendItem
wxPMWorkplaceBrowserPane::CreateImageList
wxPMWorkplaceBrowserPane::CreatePaneWindow
wxPMWorkplaceBrowserPane::CreateRootItem
wxPMWorkplaceBrowserPane::CreateTree
wxPMWorkplaceBrowserPane::DeleteBranch
wxPMWorkplaceBrowserPane::DeleteItem
wxPMWorkplaceBrowserPane::FindDataForObject
wxPMWorkplaceBrowserPane::FindTreeItemForObject
wxPMWorkplaceBrowserPane::GetAlwaysShowWorkplace
wxPMWorkplaceBrowserPane::GetDataForObject
wxPMWorkplaceBrowserPane::GetPaneWindow
wxPMWorkplaceBrowserPane::GetProjectForItem
wxPMWorkplaceBrowserPane::GetSelectedObject
wxPMWorkplaceBrowserPane::GetSelectedProject
wxPMWorkplaceBrowserPane::GetTree
wxPMWorkplaceBrowserPane::OnAddItemsToContextMenu
wxPMWorkplaceBrowserPane::OnCmdCloseWorkplace
wxPMWorkplaceBrowserPane::OnCmdInsertProject
wxPMWorkplaceBrowserPane::OnCmdMakeProjectActive
wxPMWorkplaceBrowserPane::OnCmdNewProject
wxPMWorkplaceBrowserPane::OnCmdNewWorkplace
wxPMWorkplaceBrowserPane::OnCmdRemoveProject
wxPMWorkplaceBrowserPane::OnCmdRenameProject
wxPMWorkplaceBrowserPane::OnCmdRenameWorkplace
wxPMWorkplaceBrowserPane::OnCmdSaveWorkplace
wxPMWorkplaceBrowserPane::OnContextMenuRequested
wxPMWorkplaceBrowserPane::OnDeleteRequested
wxPMWorkplaceBrowserPane::OnItemActivated
wxPMWorkplaceBrowserPane::OnItemCollapsed
wxPMWorkplaceBrowserPane::OnItemExpanding
wxPMWorkplaceBrowserPane::OnProjectActivated
wxPMWorkplaceBrowserPane::OnProjectAdded
wxPMWorkplaceBrowserPane::OnProjectRemoved
wxPMWorkplaceBrowserPane::OnSelectionChanged
wxPMWorkplaceBrowserPane::OnSelectionChanging
wxPMWorkplaceBrowserPane::RebuildTree
wxPMWorkplaceBrowserPane::RemoveAllProjectItems
wxPMWorkplaceBrowserPane::RemoveProjectItem
wxPMWorkplaceBrowserPane::SetActiveProjectBitmap
wxPMWorkplaceBrowserPane::SetAlwaysShowWorkplace
wxPMWorkplaceBrowserPane::SetOtherFilesBitmap
wxPMWorkplaceBrowserPane::SetProjectBitmap
wxPMWorkplaceBrowserPane::SetRecentItemsBitmap
wxPMWorkplaceBrowserPane::SetWorkplaceBitmap
wxPMWorkplaceBrowserPane::Start
wxPMWorkplaceBrowserPane::Stop
wxPMWorkplaceBrowserPane()
void AddProjectItem(wxPMProject* pPrj)
void AddProjectItems()
wxTreeItemId AppendItem(wxTreeItemId parent, const wxString& text, int image = - 1, int selImage = - 1, wxPMBrowserTreeData* pData = NULL)
utility methods for use in subclasses (not for overriding) **use this method instead of m_pTree->Appned(...), this way the object refered by pData is put to hash in order to find it's corresponding id when needed later
wxImageList* CreateImageList()
the same for image list, use the indexes of below enum for adding "standard" or subclass-specific images to the list
void CreatePaneWindow(wxWindow* pParent)
wxTreeItemId CreateRootItem()
wxPMBrowserTreeCtrl* CreateTree(wxWindow* pParent)
"factory method" for creating custom treectrl in derived classes
void DeleteBranch(wxTreeItemId item)
same as above, isntead of single item, all the children of the given item are deleted first (recursively)
void DeleteItem(wxTreeItemId item)
use this method instead of m_pTree->Delete, since it keeps hashtable of objects<->tree-items synhronized
wxPMBrowserTreeData* FindDataForObject(wxObject* pObj)
finds tree-data which has it's member m_pObject machting the given one
wxTreeItemId FindTreeItemForObject(wxObject* pObj)
same as above, only returns tree-item instead of it's data
bool GetAlwaysShowWorkplace()
wxPMBrowserTreeData* GetDataForObject(wxObject* pObj)
same as above, except that it does wxASSERT_MSG() if data not found
wxWindow* GetPaneWindow()
overridden method of wxPMPane
wxPMProject* GetProjectForItem(wxTreeItemId item)
wxObject* GetSelectedObject()
returns "m_pObject" member of wxPMBrowserTreeData which corresponds to currently selected tree-item (asserts against for null-pointers)
wxPMProject* GetSelectedProject()
wxTreeCtrl* GetTree()
use this if you don't like "m_pTree" with "mp" prefix
void OnAddItemsToContextMenu(wxMenu& menu, wxPMBrowserTreeData* pData)
called when user right-click-requests popup menu for an item. Override this to add menu-items specfic to the type of item (than call the same method of base class)
void OnCmdCloseWorkplace(wxCommandEvent& event)
void OnCmdInsertProject(wxCommandEvent& event)
void OnCmdMakeProjectActive(wxCommandEvent& event)
void OnCmdNewProject(wxCommandEvent& event)
void OnCmdNewWorkplace(wxCommandEvent& event)
void OnCmdRemoveProject(wxCommandEvent& event)
event-handlers for commands received from context-popup menu **
void OnCmdRenameProject(wxCommandEvent& event)
void OnCmdRenameWorkplace(wxCommandEvent& event)
void OnCmdSaveWorkplace(wxCommandEvent& event)
void OnContextMenuRequested(wxTreeItemId item, wxPMBrowserTreeData* pData, int x, int y)
void OnDeleteRequested(wxTreeItemId item, wxPMBrowserTreeData* pData)
void OnItemActivated(wxTreeItemId item, wxPMBrowserTreeData* pData)
void OnItemCollapsed(wxTreeItemId item, wxPMBrowserTreeData* pData)
void OnItemExpanding(wxTreeItemId item, wxPMBrowserTreeData* pData)
overridables for concrete subclasses **
void OnProjectActivated(wxPMProject& project, wxPMProject* pPrevProject)
void OnProjectAdded(wxPMProject& project)
overridden notifications of wxPMWorkplaceListener
void OnProjectRemoved(wxPMProject& project)
void OnSelectionChanged(wxTreeItemId item, wxPMBrowserTreeData* pData)
bool OnSelectionChanging(wxTreeItemId item, wxPMBrowserTreeData* pData)
void RebuildTree()
void RemoveAllProjectItems()
void RemoveProjectItem(wxPMProject* pPrj)
void SetActiveProjectBitmap(const wxString& name)
void SetAlwaysShowWorkplace(bool alwaysShown)
appearance settings **TRUE, if workplace-icon is always shown as a root-item, otherwise it is hidden when only one project is in the workplace and icon of that single project is shown as root
void SetOtherFilesBitmap(const wxString& name)
void SetProjectBitmap(const wxString& name)
void SetRecentItemsBitmap(const wxString& name)
void SetWorkplaceBitmap(const wxString& name)
bool Start()
2 overridden methods of wxPMService
bool Stop()