Contents Up Previous Next

wxPMBootstrapService

* misc. NOTES: bootstrap is a special service is, the one which is * always availabe, even if the workplace is not opened. It also * takes over menu-merging functionality, since it is needed * from the very start. Currently, the menu-merging alg. does not make * use of wxMenu::Delete method, because (AFAIK) wxMenu/wxMenubar does not * allow removing of top-level menus, and with it's API i cannot *insert* a * single item at particular position a in top-level or -submenu. Instead, * the alg. mirrors the entire tree of menus as in-memory structures, * and uses them to recreate menu-bar whenever any changes or merges (even small * ones) occure. TODO:: ask wx-developers...

Derived from

wxEvtHandler
wxPMService

Data structures

Members

wxPMBootstrapService::wxPMBootstrapService
wxPMBootstrapService::~wxPMBootstrapService
wxPMBootstrapService::ActivateRelatedPanes
wxPMBootstrapService::AddListener
wxPMBootstrapService::AddService
wxPMBootstrapService::AssociateData
wxPMBootstrapService::CleanUp
wxPMBootstrapService::CreateTreePath
wxPMBootstrapService::DetachService
wxPMBootstrapService::DoFindItemByName
wxPMBootstrapService::DoMergeChain
wxPMBootstrapService::DoRegenerateCommandIds
wxPMBootstrapService::DoRemoveChain
wxPMBootstrapService::DoTranslateEvent
wxPMBootstrapService::FindItemByName
wxPMBootstrapService::FindServiceByClass
wxPMBootstrapService::FindServicesByClass
wxPMBootstrapService::FindUniqueServiceInstance
wxPMBootstrapService::GetActiveProject
wxPMBootstrapService::GetAppTitle
wxPMBootstrapService::GetAssociatedData
wxPMBootstrapService::GetDocManager
wxPMBootstrapService::GetKeyBinder
wxPMBootstrapService::GetMainWindow
wxPMBootstrapService::GetMergableMenuChain
wxPMBootstrapService::GetPathItem
wxPMBootstrapService::GetStartupDir
wxPMBootstrapService::GetWorkplace
wxPMBootstrapService::GetWxObject
wxPMBootstrapService::HasWorkplace
wxPMBootstrapService::HidePane
wxPMBootstrapService::MergeMenuChains
wxPMBootstrapService::MutateCommandToGroup
wxPMBootstrapService::OnAbout
wxPMBootstrapService::OnButtonEvent
wxPMBootstrapService::OnDummy
wxPMBootstrapService::OnExit
wxPMBootstrapService::OnIdle
wxPMBootstrapService::OnMenuEvent
wxPMBootstrapService::OnOptionsChangeCWD
wxPMBootstrapService::OnOptionsDirectories
wxPMBootstrapService::OnOptionsEditorPrefs
wxPMBootstrapService::OnOptionsKeyBindings
wxPMBootstrapService::OnUpdateUIEvent
wxPMBootstrapService::RegenerateCommandIds
wxPMBootstrapService::RegisterUniqueServiceInstance
wxPMBootstrapService::RemoveAllServices
wxPMBootstrapService::RemoveItemByPath
wxPMBootstrapService::RemoveListener
wxPMBootstrapService::RemoveMenuChains
wxPMBootstrapService::RemoveService
wxPMBootstrapService::RemoveServicesByClass
wxPMBootstrapService::SetAppTitle
wxPMBootstrapService::SetStatusText
wxPMBootstrapService::SetWorkplace
wxPMBootstrapService::ShowPane
wxPMBootstrapService::Start
wxPMBootstrapService::StartService
wxPMBootstrapService::StartServicesByClass
wxPMBootstrapService::Stop
wxPMBootstrapService::StopAllServices
wxPMBootstrapService::StopService
wxPMBootstrapService::StripLastPathItem
wxPMBootstrapService::TranslateKeyEvent
wxPMBootstrapService::UnregisterUniqueServiceInstance


wxPMBootstrapService::wxPMBootstrapService

wxPMBootstrapService(wxDocMDIParentFrame* pMainWnd, wxPMDocManager* pDocMgr)


wxPMBootstrapService::~wxPMBootstrapService

~wxPMBootstrapService()


wxPMBootstrapService::ActivateRelatedPanes

void ActivateRelatedPanes(wxPMDocument* pDoc, bool activate)

called by wxPMDocManager


wxPMBootstrapService::AddListener

void AddListener(wxPMBootstrapServiceListener* pListener)


wxPMBootstrapService::AddService

void AddService(wxPMService* pSvc)

service activation/disposal


wxPMBootstrapService::AssociateData

bool AssociateData(wxPMService& fromSerice, wxPMService& toService, wxObject* pData)

associating custom data with particular service, invoked from wxPMService::AssociateData(..)


wxPMBootstrapService::CleanUp

bool CleanUp()

closes all documents, removes related objects and releases itself returns FALSE, if the any of the closure was veto'ed


wxPMBootstrapService::CreateTreePath

wxCommandInfoListT* CreateTreePath(const wxString& path, wxCommandInfo *& pParent)


wxPMBootstrapService::DetachService

void DetachService(wxPMService* pSvc)


wxPMBootstrapService::DoFindItemByName

wxCommandInfo* DoFindItemByName(const char* path, wxCommandInfoListT& lst)


wxPMBootstrapService::DoMergeChain

void DoMergeChain(wxPMMergableMenuChain* pChain, wxEvtHandler* pReceiver)


wxPMBootstrapService::DoRegenerateCommandIds

void DoRegenerateCommandIds(wxCommandInfoListT& commands, int& nextId)


wxPMBootstrapService::DoRemoveChain

void DoRemoveChain(wxPMMergableMenuChain* pChain)


wxPMBootstrapService::DoTranslateEvent

void DoTranslateEvent(wxEvent& event)


wxPMBootstrapService::FindItemByName

wxCommandInfo* FindItemByName(const wxString& path)


wxPMBootstrapService::FindServiceByClass

wxPMService* FindServiceByClass(wxClassInfo* pExactSvcClass)


wxPMBootstrapService::FindServicesByClass

void FindServicesByClass(wxClassInfo* pSvcClass, PMServiceListT& toLst, bool machSubclasses)


wxPMBootstrapService::FindUniqueServiceInstance

wxPMService* FindUniqueServiceInstance(const wxString& byInterfaceName)


wxPMBootstrapService::GetActiveProject

wxPMProject* GetActiveProject()


wxPMBootstrapService::GetAppTitle

wxString& GetAppTitle()


wxPMBootstrapService::GetAssociatedData

wxObject* GetAssociatedData(wxPMService& fromService, wxPMService& toService)


wxPMBootstrapService::GetDocManager

wxPMDocManager* GetDocManager()


wxPMBootstrapService::GetKeyBinder

wxKeyBinder& GetKeyBinder()


wxPMBootstrapService::GetMainWindow

wxDocMDIParentFrame* GetMainWindow()


wxPMBootstrapService::GetMergableMenuChain

wxPMMergableMenuChain* GetMergableMenuChain()


wxPMBootstrapService::GetPathItem

wxString GetPathItem(const wxString& treePath, size_t i)


wxPMBootstrapService::GetStartupDir

const wxString& GetStartupDir()


wxPMBootstrapService::GetWorkplace

wxPMWorkplace* GetWorkplace()


wxPMBootstrapService::GetWxObject

wxObject* GetWxObject()


wxPMBootstrapService::HasWorkplace

bool HasWorkplace()


wxPMBootstrapService::HidePane

void HidePane(wxPMPane* pPane)


wxPMBootstrapService::MergeMenuChains

void MergeMenuChains(wxPMMergableMenuChain* pChains, wxEvtHandler* pOwner)


wxPMBootstrapService::MutateCommandToGroup

void MutateCommandToGroup(wxCommandInfoListT& lst, size_t cmdIdx)


wxPMBootstrapService::OnAbout

void OnAbout(wxCommandEvent& event)


wxPMBootstrapService::OnButtonEvent

void OnButtonEvent(wxEvent& event)

of "requested" by event-owners -/-


wxPMBootstrapService::OnDummy

void OnDummy(wxCommandEvent& event)


wxPMBootstrapService::OnExit

void OnExit(wxCommandEvent& event)

command-event handlers **


wxPMBootstrapService::OnIdle

void OnIdle(wxIdleEvent& event)

event handlers used for updating menu-bar (batches multiple


wxPMBootstrapService::OnMenuEvent

void OnMenuEvent(wxEvent& event)

menu-merges/removes into one to reduce flicker) used for translation of event-ids to those


wxPMBootstrapService::OnOptionsChangeCWD

void OnOptionsChangeCWD(wxCommandEvent& event)


wxPMBootstrapService::OnOptionsDirectories

void OnOptionsDirectories(wxCommandEvent& event)


wxPMBootstrapService::OnOptionsEditorPrefs

void OnOptionsEditorPrefs(wxCommandEvent& event)


wxPMBootstrapService::OnOptionsKeyBindings

void OnOptionsKeyBindings(wxCommandEvent& event)


wxPMBootstrapService::OnUpdateUIEvent

void OnUpdateUIEvent(wxEvent& event)

-/-


wxPMBootstrapService::RegenerateCommandIds

void RegenerateCommandIds()


wxPMBootstrapService::RegisterUniqueServiceInstance

bool RegisterUniqueServiceInstance(wxPMService* pSvc, const wxString& interfaceName)

registering instances which implement certain interface, but can exist only as single object at run-time, so that others services can find this distinct service. Interface name should correspond to the real interface class name which the service supports in it's QueryInterface(..)


wxPMBootstrapService::RemoveAllServices

void RemoveAllServices()


wxPMBootstrapService::RemoveItemByPath

void RemoveItemByPath(const wxString& treePath)


wxPMBootstrapService::RemoveListener

void RemoveListener(wxPMBootstrapServiceListener* pListener)


wxPMBootstrapService::RemoveMenuChains

void RemoveMenuChains(wxPMMergableMenuChain* pChains)

merging of menus into menubar of main window


wxPMBootstrapService::RemoveService

void RemoveService(wxPMService* pSvc)


wxPMBootstrapService::RemoveServicesByClass

int RemoveServicesByClass(wxClassInfo* pSvcClass)

returns number of services actually removed


wxPMBootstrapService::SetAppTitle

void SetAppTitle(const wxString& appTitle)


wxPMBootstrapService::SetStatusText

void SetStatusText(const wxString& message)


wxPMBootstrapService::SetWorkplace

void SetWorkplace(wxPMWorkplace* wp)

sets currently opened workplace


wxPMBootstrapService::ShowPane

void ShowPane(wxPMPane* pPane)

displaying/hiding of panes


wxPMBootstrapService::Start

bool Start()

overriden methods of wxPMService ///


wxPMBootstrapService::StartService

bool StartService(wxPMService* pSvc)


wxPMBootstrapService::StartServicesByClass

bool StartServicesByClass(wxClassInfo* pSvcClass)


wxPMBootstrapService::Stop

bool Stop()


wxPMBootstrapService::StopAllServices

void StopAllServices()


wxPMBootstrapService::StopService

void StopService(wxPMService* pSvc)


wxPMBootstrapService::StripLastPathItem

wxString StripLastPathItem(const wxString& treePath)


wxPMBootstrapService::TranslateKeyEvent

void TranslateKeyEvent(wxKeyEvent& event)


wxPMBootstrapService::UnregisterUniqueServiceInstance

bool UnregisterUniqueServiceInstance(wxPMService* pSvc, const wxString& interfaceName)