CWindowManager Class Reference

Search Toolkit Book for CWindowManager

#include <window_manager.hpp>

Inheritance diagram for CWindowManager:

Inheritance graph
[legend]
Collaboration diagram for CWindowManager:

Collaboration graph
[legend]
List of all members.

Detailed Description

CWindowManager - component controlling windowing of client windows.

CWindowManager provides centralized control over multiple clients (views) associated with an application. Window Manager provides two ways to place clients - in independent top-level frame windows (Floating Frame) or in containers embedded into manager's main window (docked). CWindowManager allows for dynamic creation of hierarchical layouts consisting of containers such as CSplitter and CTabControl and clients. IWMClient interface represents an abstract client window that can be managed by CWindowManager. IWMContainer interface represents an abstract container that can be embedded into CWindowManager. IWMCPosition represents abstract notion of position in IWMContainer.

Definition at line 112 of file window_manager.hpp.

Public Types

typedef vector< IWMClient * > TClients
typedef CWindowManagerEvent TEvent
typedef wxFrame TFrame

Public Member Functions

 CWindowManager (wxFrame *frame)
virtual ~CWindowManager ()
virtual bool Create (wxWindow *parent, wxWindowID id, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize)
virtual void SetAdvisor (IWindowManagerAdvisor *advisor)
virtual void SetMenuListener (IWindowManagerMenuListener *listener)
wxFrame * GetFrameWindow ()
wxWindow * GetRootWMContainer ()
void ApplyLayout (const objects::CUser_object &layout)
void LoadLayout (const objects::CUser_object &layout, IWMClientFactory &factory)
objects::CUser_object * SaveLayout ()
bool HasToolBar (const string &name)
void AddToolBar (wxToolBar *toolbar)
void DeleteToolBar (const string &name)
virtual void SetRegistryPath (const string &reg_path)
bool OnSetClientColor (IDockPanel &panel)
void OnDockPanelStartDrag (CDockPanel *panel, const wxPoint &pt)
 Called by CDockPanel to delegated DnD handling to Window Manager.
virtual const wxMenu * GetMenu ()
virtual void UpdateMenuBar (wxMenu &_menu)
Client manipulation routines
bool AddClientInTab (IWMClient &client)
 adds the client to the Main Tabbed Pane
void MoveToMainTab (IWMClient &client)
wxFrame * MoveToFloatingFrame (IWMClient &client)
void Minimize (IWMClient &client)
void Restore (IWMClient &client)
bool IsInMainTab (IWMClient &client) const
bool IsFloating (IWMClient &client) const
bool IsMinimized (IWMClient &client) const
bool CloseClient (IWMClient &client)
void CloseClients (const TClients &clients)
void CloseAllClients ()
bool IsRegistered (IWMClient &client) const
 checks if the client in registered in the Window Manager
void GetAllClients (TClients &clients)
IWMClientGetActiveClient ()
void ActivateClient (IWMClient &client)
void ActivateClients (TClients &clients)
void RefreshClient (IWMClient &client)
Event handlers
virtual bool ProcessEvent (wxEvent &event)
virtual bool Dispatch (CEvent *evt, EDispatch disp_how, int pool)
void OnPostCommand (CEvent *evt)
 handles an internal command posted to itself
void OnCloseClientsRequestEvent (CEvent *evt)
void OnMoveToTopLevel (CEvent *evt)
void OnLeftUp (wxMouseEvent &evt)
void OnMotion (wxMouseEvent &evt)
void OnMouseCaptureLost (wxMouseCaptureLostEvent &event)
void OnActivateWindow (wxCommandEvent &event)
void OnShowWindowsDlg (wxCommandEvent &event)
void OnWindowCommand (wxCommandEvent &event)
void OnUpdateWindowCommand (wxUpdateUIEvent &event)
void OnUpdateWindowCommand_Client (wxUpdateUIEvent &event, IWMClient *client)
IWindowManager implementation
virtual bool OnCaptionPanelCommand (IDockPanel &panel, TCmdID cmd)
virtual bool OnCloseClientsRequest (const TClients &clients)
virtual IWMClientGetClientByWindow (wxWindow *widget)
virtual void OnFocusChanged (wxWindow *new_focus)
virtual string GetNewFloatingFrameTitle ()
 returns a title for a new floating frame
IWMClientFactory implementation
virtual IWMClientCreateClient (const TFingerprint &fingerprint, wxWindow *parent)

Static Public Member Functions

static void RegisterImageAliases (wxFileArtProvider &provider)
 registers graphical resources used by Window Manager

Protected Types

typedef map< wxWindow *, IWMClient * > TWindowToClientMap
typedef map< int, IWMClient * > TCmdToWindowMap

Protected Member Functions

 DECLARE_EVENT_MAP ()
 DECLARE_EVENT_TABLE ()
bool x_RegisterClient (IWMClient &client)
bool x_UnRegisterClient (IWMClient &client)
bool x_AddClient (IWMClient &client)
bool x_CloseClient (IWMClient &client)
void x_RemoveClient (IWMClient &client)
void x_UpdateListener (IWMClient &client)
virtual void x_SetActiveClient (wxWindow *focused)
virtual void x_UpdateActiveClient ()
virtual bool OnCommand (const TCmdID cmd)
 overriding CCommandTarget behavior
void x_HandlePanelCommand (IWMClient &client, int cmd)
IDockPanelx_GetCaptionPanelByWindow (wxWindow *widget)
virtual void x_UpdateWindowsMenu (wxMenu &root_menu)
string x_GetClientLabelForMenu (IWMClient &client)
virtual void x_ResetMenuBar ()
virtual void x_OnBeginDrag (const wxPoint &mouse_pos)
virtual void x_OnDrag (const wxPoint &mouse_pos)
virtual void x_OnEndDrag (const wxPoint &mouse_pos, CDockManager::EDragResult result)

Protected Attributes

IWindowManagerAdvisorm_Advisor
 Advisor is an external object that wants to customize the behavior of Window Manager by providing a callback interface.
IWindowManagerMenuListenerm_MenuListener
wxFrame * m_FrameWindow
 main frame window hosting window manager
wxAuiManager m_AuiManager
 wxAuiManager is required for CNotebook
string m_RegPath
CDockManagerm_DockManager
 the Docking Manager associated with this Window Manager
TClients m_Clients
 the collection of registered Client
TWindowToClientMap m_WindowToClient
 index wxWindow -> IWMClient
wxWindow * m_SavedFocus
 widget that was previously focused
IDockPanelm_SavedFocusPanel
 caption panel containing m_SavedFocus
IWMClientm_ActiveClient
 belonging to focused IWMClient
CEventHandlerm_ActiveClientTarget
IWMClientFactorym_ClientFactory
TCmdToWindowMap m_CmdToWindow
auto_ptr< wxMenu > m_Menu
CDockPanelm_DragDockPanel
wxPoint m_ClickPoint
bool m_IsDragging
bool m_Canceled

Private Types

typedef wxPanel TParent


Member Typedef Documentation

typedef vector<IWMClient*> CWindowManager::TClients
 

Definition at line 120 of file window_manager.hpp.

typedef map<int, IWMClient*> CWindowManager::TCmdToWindowMap [protected]
 

Definition at line 263 of file window_manager.hpp.

typedef CWindowManagerEvent CWindowManager::TEvent
 

Definition at line 121 of file window_manager.hpp.

typedef wxFrame CWindowManager::TFrame
 

Definition at line 122 of file window_manager.hpp.

typedef wxPanel CWindowManager::TParent [private]
 

Definition at line 118 of file window_manager.hpp.

typedef map<wxWindow*, IWMClient*> CWindowManager::TWindowToClientMap [protected]
 

Definition at line 262 of file window_manager.hpp.


Constructor & Destructor Documentation

CWindowManager::OnUpdateWindowCommand &CWindowManager::OnCloseClientsRequestEvent CWindowManager::CWindowManager wxFrame *  frame  ) 
 

Definition at line 171 of file window_manager.cpp.

CWindowManager::~CWindowManager  )  [virtual]
 

Definition at line 262 of file window_manager.cpp.

References CloseAllClients(), m_AuiManager, and m_DockManager.


Member Function Documentation

void CWindowManager::ActivateClient IWMClient client  ) 
 

Definition at line 520 of file window_manager.cpp.

References ActivateClients().

Referenced by CWindowManagerService::ActivateClient(), and OnActivateWindow().

void CWindowManager::ActivateClients TClients clients  ) 
 

Definition at line 530 of file window_manager.cpp.

References CDockManager::ActivateClients(), and m_DockManager.

Referenced by ActivateClient(), CWindowManagerService::ActivateClients(), and CWindowsDlg::OnActivateClick().

bool CWindowManager::AddClientInTab IWMClient client  ) 
 

adds the client to the Main Tabbed Pane

Definition at line 291 of file window_manager.cpp.

References CDockManager::AddToDefaultLocation(), IWMClient::GetWindow(), m_DockManager, x_RegisterClient(), and x_ResetMenuBar().

Referenced by CWindowManagerService::AddClientInTab().

void CWindowManager::AddToolBar wxToolBar *  toolbar  ) 
 

Definition at line 544 of file window_manager.cpp.

References _ASSERT, and m_AuiManager.

Referenced by CWindowManagerService::x_ShowToolBar().

void CWindowManager::ApplyLayout const objects::CUser_object &  layout  ) 
 

Definition at line 1091 of file window_manager.cpp.

References CDockManager::ApplyLayout(), m_DockManager, and x_ResetMenuBar().

Referenced by CWindowManagerService::ApplyLayout().

void CWindowManager::CloseAllClients  ) 
 

Definition at line 470 of file window_manager.cpp.

References m_Clients, and x_CloseClient().

Referenced by CWindowManagerService::CloseAllClients(), CWindowManagerService::ShutDownService(), and ~CWindowManager().

bool CWindowManager::CloseClient IWMClient client  ) 
 

Definition at line 450 of file window_manager.cpp.

References x_CloseClient(), and x_ResetMenuBar().

Referenced by CWindowManagerService::CloseClient().

void CWindowManager::CloseClients const TClients clients  ) 
 

Definition at line 460 of file window_manager.cpp.

References x_CloseClient().

Referenced by CWindowManagerService::CloseClients().

bool CWindowManager::Create wxWindow *  parent,
wxWindowID  id,
const wxPoint &  pos = wxDefaultPosition,
const wxSize &  size = wxDefaultSize
[virtual]
 

Definition at line 232 of file window_manager.cpp.

References _T, CDockManager::GetMainContainer(), CDockManager::GetMinPanelContainer(), m_AuiManager, m_DockManager, m_FrameWindow, and CDockManager::SetKeyboardHook().

Referenced by CWindowManagerService::InitService().

IWMClient * CWindowManager::CreateClient const TFingerprint fingerprint,
wxWindow *  parent
[virtual]
 

Definition at line 211 of file window_manager.cpp.

References _ASSERT, IWMClientFactory::CreateClient(), m_ClientFactory, and x_RegisterClient().

CWindowManager::DECLARE_EVENT_MAP  )  [protected]
 

CWindowManager::DECLARE_EVENT_TABLE  )  [protected]
 

void CWindowManager::DeleteToolBar const string &  name  ) 
 

Definition at line 568 of file window_manager.cpp.

References m_AuiManager, and ToWxString().

Referenced by CWindowManagerService::x_ShowToolBar().

bool CWindowManager::Dispatch CEvent evt,
EDispatch  disp_how,
int  pool
[virtual]
 

Definition at line 1033 of file window_manager.cpp.

References CEventHandler::Dispatch(), CEventHandler::eDispatch_FirstHandler, GetActiveClient(), CEventHandler::HasListener(), and CEventHandler::Send().

IWMClient * CWindowManager::GetActiveClient  ) 
 

Definition at line 579 of file window_manager.cpp.

References m_ActiveClient.

Referenced by CWindowsDlg::CreateControls(), Dispatch(), CWindowManagerService::GetActiveClient(), OnUpdateWindowCommand(), and OnWindowCommand().

void CWindowManager::GetAllClients TClients clients  ) 
 

Definition at line 507 of file window_manager.cpp.

References m_Clients.

Referenced by CWindowManagerService::GetAllClients(), and CWindowsDlg::x_UpdateTable().

IWMClient * CWindowManager::GetClientByWindow wxWindow *  widget  )  [virtual]
 

Implements IWindowManager.

Definition at line 967 of file window_manager.cpp.

References map_checker< Container >::end(), map_checker< Container >::find(), IDockPanel::GetClient(), and m_WindowToClient.

Referenced by x_SetActiveClient().

wxFrame * CWindowManager::GetFrameWindow  ) 
 

Definition at line 285 of file window_manager.cpp.

References m_FrameWindow.

Referenced by CWindowManagerService::x_ShowToolBar().

const wxMenu * CWindowManager::GetMenu  )  [virtual]
 

build on demand

Definition at line 659 of file window_manager.cpp.

References _ASSERT, CUICommandRegistry::GetInstance(), and Merge().

Referenced by CWindowManagerService::GetMenu().

string CWindowManager::GetNewFloatingFrameTitle  )  [virtual]
 

returns a title for a new floating frame

Implements IWindowManager.

Definition at line 978 of file window_manager.cpp.

References IWindowManagerAdvisor::GetFloatingFrameTitle(), kEmptyStr, and m_Advisor.

wxWindow* CWindowManager::GetRootWMContainer  ) 
 

bool CWindowManager::HasToolBar const string &  name  ) 
 

Definition at line 536 of file window_manager.cpp.

References m_AuiManager, and ToWxString().

Referenced by CWindowManagerService::x_ShowToolBar().

bool CWindowManager::IsFloating IWMClient client  )  const
 

Definition at line 334 of file window_manager.cpp.

References CDockManager::IsFloating(), and m_DockManager.

Referenced by CWindowsDlg::OnFloatClick().

bool CWindowManager::IsInMainTab IWMClient client  )  const
 

Definition at line 328 of file window_manager.cpp.

References CDockManager::IsInMainTab(), and m_DockManager.

Referenced by CWindowsDlg::OnRecoverClick().

bool CWindowManager::IsMinimized IWMClient client  )  const
 

Definition at line 340 of file window_manager.cpp.

References CDockManager::IsMinimized(), and m_DockManager.

Referenced by CWindowsDlg::OnMinimizeClick(), CWindowsDlg::OnRestoreClick(), and CWindowsDlg::x_UpdateButtons().

bool CWindowManager::IsRegistered IWMClient client  )  const
 

checks if the client in registered in the Window Manager

Definition at line 513 of file window_manager.cpp.

References m_Clients.

Referenced by RefreshClient(), x_CloseClient(), x_RegisterClient(), and x_SetActiveClient().

void CWindowManager::LoadLayout const objects::CUser_object &  layout,
IWMClientFactory factory
 

Definition at line 1099 of file window_manager.cpp.

References CDockManager::LoadLayout(), m_ClientFactory, m_DockManager, and x_ResetMenuBar().

Referenced by CWindowManagerService::LoadLayout().

void CWindowManager::Minimize IWMClient client  ) 
 

Definition at line 316 of file window_manager.cpp.

References m_DockManager, and CDockManager::Minimize().

Referenced by CWindowsDlg::OnMinimizeClick().

wxFrame * CWindowManager::MoveToFloatingFrame IWMClient client  ) 
 

Definition at line 310 of file window_manager.cpp.

References m_DockManager, and CDockManager::MoveToFloatingFrame().

Referenced by CWindowsDlg::OnFloatClick().

void CWindowManager::MoveToMainTab IWMClient client  ) 
 

Definition at line 304 of file window_manager.cpp.

References m_DockManager, and CDockManager::MoveToMainTab().

Referenced by CWindowsDlg::OnRecoverClick().

void CWindowManager::OnActivateWindow wxCommandEvent &  event  ) 
 

Definition at line 836 of file window_manager.cpp.

References ActivateClient(), and m_CmdToWindow.

bool CWindowManager::OnCaptionPanelCommand IDockPanel panel,
TCmdID  cmd
[virtual]
 

these commands can affect window hierarchy and result in some windows being destroyed because of this we need to execute them asynchronously so that we do not destroy windows on the current call stack

Implements IWindowManager.

Definition at line 361 of file window_manager.cpp.

References eCmdCloseDockPanel, eCmdMoveToMainTab, eCmdSetClientColor, eCmdWindowFloat, eCmdWindowMinimize, eCmdWindowRestore, CEventHandler::eDispatch_SelfOnly, IDockPanel::GetClient(), OnSetClientColor(), and CEventHandler::Post().

bool CWindowManager::OnCloseClientsRequest const TClients clients  )  [virtual]
 

Implements IWindowManager.

Definition at line 405 of file window_manager.cpp.

References CWindowManagerEvent::eCloseClientsRequest, CEventHandler::eDispatch_SelfOnly, and CEventHandler::Send().

Referenced by CWindowsDlg::OnCloseClick().

void CWindowManager::OnCloseClientsRequestEvent CEvent evt  ) 
 

Definition at line 953 of file window_manager.cpp.

References _ASSERT, CWindowManagerEvent::GetClients(), m_Advisor, and IWindowManagerAdvisor::OnCloseClientsRequest().

bool CWindowManager::OnCommand const TCmdID  cmd  )  [protected, virtual]
 

overriding CCommandTarget behavior

Reimplemented from CEventHandler.

Definition at line 820 of file window_manager.cpp.

References m_ActiveClientTarget, CEventHandler::OnCommand(), and x_UpdateActiveClient().

void CWindowManager::OnDockPanelStartDrag CDockPanel panel,
const wxPoint &  pt
 

Called by CDockPanel to delegated DnD handling to Window Manager.

capture mouse to receive all mouse events - now we handle the mouse

Definition at line 1122 of file window_manager.cpp.

References m_ClickPoint, m_DragDockPanel, m_IsDragging, and x_OnBeginDrag().

Referenced by CDockPanel::OnMotion().

void CWindowManager::OnFocusChanged wxWindow *  new_focus  )  [virtual]
 

Implements IWindowManager.

Definition at line 767 of file window_manager.cpp.

References m_SavedFocus, m_SavedFocusPanel, x_GetCaptionPanelByWindow(), and x_SetActiveClient().

Referenced by x_UpdateActiveClient().

void CWindowManager::OnLeftUp wxMouseEvent &  evt  ) 
 

Definition at line 1153 of file window_manager.cpp.

References CDockManager::eDrop, m_IsDragging, and x_OnEndDrag().

void CWindowManager::OnMotion wxMouseEvent &  evt  ) 
 

Definition at line 1138 of file window_manager.cpp.

References CDockManager::eDrop, m_IsDragging, x_OnDrag(), and x_OnEndDrag().

void CWindowManager::OnMouseCaptureLost wxMouseCaptureLostEvent &  event  ) 
 

Definition at line 1169 of file window_manager.cpp.

References CDockManager::eCancel, m_IsDragging, and x_OnEndDrag().

void CWindowManager::OnMoveToTopLevel CEvent evt  ) 
 

void CWindowManager::OnPostCommand CEvent evt  ) 
 

handles an internal command posted to itself

Definition at line 845 of file window_manager.cpp.

References _ASSERT, eCmdCloseDockPanel, eCmdMoveToMainTab, eCmdWindowFloat, eCmdWindowMinimize, eCmdWindowRestore, CWindowManagerEvent::GetClient(), CWindowManagerEvent::GetCmd(), and x_HandlePanelCommand().

bool CWindowManager::OnSetClientColor IDockPanel panel  ) 
 

Definition at line 387 of file window_manager.cpp.

References color, IDockPanel::GetClient(), IWMClient::GetColor(), NcbiChooseColor(), and IWMClient::SetColor().

Referenced by OnCaptionPanelCommand().

void CWindowManager::OnShowWindowsDlg wxCommandEvent &  event  ) 
 

Definition at line 585 of file window_manager.cpp.

References CWindowsDlg::Create(), m_RegPath, CGuiRegistryUtil::MakeKey(), CDialog::SetRegistryPath(), and CWindowsDlg::SetWindowManager().

Referenced by CMinPanelContainer::OnShowWindowsDlg().

void CWindowManager::OnUpdateWindowCommand wxUpdateUIEvent &  event  ) 
 

Definition at line 878 of file window_manager.cpp.

References GetActiveClient(), and OnUpdateWindowCommand_Client().

void CWindowManager::OnUpdateWindowCommand_Client wxUpdateUIEvent &  event,
IWMClient client
 

Definition at line 885 of file window_manager.cpp.

References _ASSERT, eCmdCloseDockPanel, eCmdMoveToMainTab, eCmdWindowFloat, eCmdWindowMinimize, eCmdWindowRestore, CDockManager::IsFloating(), CDockManager::IsInMainTab(), CDockManager::IsMinimized(), and m_DockManager.

Referenced by OnUpdateWindowCommand(), and CMinPanelContainer::OnUpdateWindowCommand().

void CWindowManager::OnWindowCommand wxCommandEvent &  event  ) 
 

Definition at line 869 of file window_manager.cpp.

References GetActiveClient(), and x_HandlePanelCommand().

bool CWindowManager::ProcessEvent wxEvent &  event  )  [virtual]
 

Definition at line 1050 of file window_manager.cpp.

Referenced by CWindowManagerService::OnCommandEvent().

void CWindowManager::RefreshClient IWMClient client  ) 
 

Definition at line 987 of file window_manager.cpp.

References IWMClient::GetWindow(), IsRegistered(), CDockNotebook::RefreshPageByWindow(), and CDockPanel::UpdateCaption().

Referenced by CWindowManagerService::RefreshClient().

void CWindowManager::RegisterImageAliases wxFileArtProvider provider  )  [static]
 

registers graphical resources used by Window Manager

Definition at line 193 of file window_manager.cpp.

References _T, and wxFileArtProvider::RegisterFileAlias().

Referenced by CWindowManagerService::InitService().

void CWindowManager::Restore IWMClient client  ) 
 

Definition at line 322 of file window_manager.cpp.

References m_DockManager, and CDockManager::Restore().

Referenced by CWindowsDlg::OnRestoreClick().

objects::CUser_object * CWindowManager::SaveLayout  ) 
 

Definition at line 1084 of file window_manager.cpp.

References m_DockManager, and CDockManager::SaveLayout().

Referenced by CWindowManagerService::SaveLayout().

void CWindowManager::SetAdvisor IWindowManagerAdvisor advisor  )  [virtual]
 

Definition at line 273 of file window_manager.cpp.

References m_Advisor.

Referenced by CWindowManagerService::SetAdvisor().

void CWindowManager::SetMenuListener IWindowManagerMenuListener listener  )  [virtual]
 

Definition at line 279 of file window_manager.cpp.

References m_MenuListener.

Referenced by CWindowManagerService::InitService(), and CWindowManagerService::ShutDownService().

void CWindowManager::SetRegistryPath const string &  reg_path  )  [virtual]
 

Definition at line 226 of file window_manager.cpp.

References m_RegPath.

Referenced by CWindowManagerService::InitService().

void CWindowManager::UpdateMenuBar wxMenu &  _menu  )  [virtual]
 

Definition at line 697 of file window_manager.cpp.

References x_UpdateWindowsMenu().

bool CWindowManager::x_AddClient IWMClient client  )  [protected]
 

bool CWindowManager::x_CloseClient IWMClient client  )  [protected]
 

Definition at line 481 of file window_manager.cpp.

References _ASSERT, ERR_POST, IsRegistered(), m_Advisor, x_RemoveClient(), and x_UnRegisterClient().

Referenced by CloseAllClients(), CloseClient(), and CloseClients().

IDockPanel * CWindowManager::x_GetCaptionPanelByWindow wxWindow *  widget  )  [protected]
 

Definition at line 1013 of file window_manager.cpp.

Referenced by OnFocusChanged().

string CWindowManager::x_GetClientLabelForMenu IWMClient client  )  [protected]
 

Definition at line 349 of file window_manager.cpp.

References IWMClient::GetClientLabel(), and kMaxClientLabel.

void CWindowManager::x_HandlePanelCommand IWMClient client,
int  cmd
[protected]
 

ask advisor to take necessary action

Definition at line 919 of file window_manager.cpp.

References _ASSERT, eCmdCloseDockPanel, eCmdMoveToMainTab, eCmdWindowFloat, eCmdWindowMinimize, eCmdWindowRestore, m_Advisor, m_DockManager, CDockManager::Minimize(), CDockManager::MoveToFloatingFrame(), CDockManager::MoveToMainTab(), and CDockManager::Restore().

Referenced by OnPostCommand(), and OnWindowCommand().

void CWindowManager::x_OnBeginDrag const wxPoint &  mouse_pos  )  [protected, virtual]
 

Definition at line 1179 of file window_manager.cpp.

References m_DockManager, m_DragDockPanel, m_IsDragging, and CDockManager::OnBeginDrag().

Referenced by OnDockPanelStartDrag().

void CWindowManager::x_OnDrag const wxPoint &  mouse_pos  )  [protected, virtual]
 

Definition at line 1189 of file window_manager.cpp.

References CDockPanel::FinishDrag(), m_Canceled, m_DockManager, m_DragDockPanel, m_IsDragging, and CDockManager::OnDrag().

Referenced by OnMotion().

void CWindowManager::x_OnEndDrag const wxPoint &  mouse_pos,
CDockManager::EDragResult  result
[protected, virtual]
 

Definition at line 1211 of file window_manager.cpp.

References CDockPanel::FinishDrag(), m_DockManager, m_DragDockPanel, m_IsDragging, and CDockManager::OnEndDrag().

Referenced by OnLeftUp(), OnMotion(), and OnMouseCaptureLost().

bool CWindowManager::x_RegisterClient IWMClient client  )  [protected]
 

Definition at line 600 of file window_manager.cpp.

References _ASSERT, map_checker< Container >::end(), map_checker< Container >::find(), IsRegistered(), m_Clients, and m_WindowToClient.

Referenced by AddClientInTab(), and CreateClient().

void CWindowManager::x_RemoveClient IWMClient client  )  [protected]
 

Definition at line 413 of file window_manager.cpp.

References m_SavedFocus.

Referenced by x_CloseClient().

void CWindowManager::x_ResetMenuBar  )  [protected, virtual]
 

Definition at line 1112 of file window_manager.cpp.

References m_Menu, m_MenuListener, auto_ptr< X >::reset(), and IWindowManagerMenuListener::UpdateMenuBar().

Referenced by AddClientInTab(), ApplyLayout(), CloseClient(), LoadLayout(), and x_SetActiveClient().

void CWindowManager::x_SetActiveClient wxWindow *  focused  )  [protected, virtual]
 

Definition at line 789 of file window_manager.cpp.

References GetClientByWindow(), IsRegistered(), m_ActiveClient, m_ActiveClientTarget, m_Advisor, IWindowManagerAdvisor::OnActiveClientChanged(), and x_ResetMenuBar().

Referenced by OnFocusChanged().

bool CWindowManager::x_UnRegisterClient IWMClient client  )  [protected]
 

Definition at line 620 of file window_manager.cpp.

References map_checker< Container >::erase(), IWMClient::GetWindow(), m_Clients, and m_WindowToClient.

Referenced by x_CloseClient().

void CWindowManager::x_UpdateActiveClient  )  [protected, virtual]
 

Definition at line 784 of file window_manager.cpp.

References OnFocusChanged().

Referenced by OnCommand().

void CWindowManager::x_UpdateListener IWMClient client  )  [protected]
 

Definition at line 635 of file window_manager.cpp.

References CWindowManagerEvent::eClientChanged, and CEventHandler::Send().

void CWindowManager::x_UpdateWindowsMenu wxMenu &  root_menu  )  [protected, virtual]
 

Definition at line 718 of file window_manager.cpp.

References _T, map_checker< Container >::clear(), eCmdWindowLast, eCmdWindowXXXX, FindSubItem(), and m_CmdToWindow.

Referenced by UpdateMenuBar().


Member Data Documentation

IWMClient* CWindowManager::m_ActiveClient [protected]
 

belonging to focused IWMClient

Definition at line 297 of file window_manager.hpp.

Referenced by GetActiveClient(), and x_SetActiveClient().

CEventHandler* CWindowManager::m_ActiveClientTarget [protected]
 

Definition at line 298 of file window_manager.hpp.

Referenced by OnCommand(), and x_SetActiveClient().

IWindowManagerAdvisor* CWindowManager::m_Advisor [protected]
 

Advisor is an external object that wants to customize the behavior of Window Manager by providing a callback interface.

Definition at line 268 of file window_manager.hpp.

Referenced by GetNewFloatingFrameTitle(), OnCloseClientsRequestEvent(), SetAdvisor(), x_CloseClient(), x_HandlePanelCommand(), and x_SetActiveClient().

wxAuiManager CWindowManager::m_AuiManager [protected]
 

wxAuiManager is required for CNotebook

Definition at line 276 of file window_manager.hpp.

Referenced by AddToolBar(), Create(), DeleteToolBar(), HasToolBar(), and ~CWindowManager().

bool CWindowManager::m_Canceled [protected]
 

Definition at line 312 of file window_manager.hpp.

Referenced by x_OnDrag().

wxPoint CWindowManager::m_ClickPoint [protected]
 

Definition at line 310 of file window_manager.hpp.

Referenced by OnDockPanelStartDrag().

IWMClientFactory* CWindowManager::m_ClientFactory [protected]
 

Definition at line 300 of file window_manager.hpp.

Referenced by CreateClient(), and LoadLayout().

TClients CWindowManager::m_Clients [protected]
 

the collection of registered Client

Definition at line 285 of file window_manager.hpp.

Referenced by CloseAllClients(), GetAllClients(), IsRegistered(), x_RegisterClient(), and x_UnRegisterClient().

TCmdToWindowMap CWindowManager::m_CmdToWindow [protected]
 

Definition at line 303 of file window_manager.hpp.

Referenced by OnActivateWindow(), and x_UpdateWindowsMenu().

CDockManager* CWindowManager::m_DockManager [protected]
 

the Docking Manager associated with this Window Manager

Definition at line 282 of file window_manager.hpp.

Referenced by ActivateClients(), AddClientInTab(), ApplyLayout(), Create(), IsFloating(), IsInMainTab(), IsMinimized(), LoadLayout(), Minimize(), MoveToFloatingFrame(), MoveToMainTab(), OnUpdateWindowCommand_Client(), Restore(), SaveLayout(), x_HandlePanelCommand(), x_OnBeginDrag(), x_OnDrag(), x_OnEndDrag(), and ~CWindowManager().

CDockPanel* CWindowManager::m_DragDockPanel [protected]
 

Definition at line 309 of file window_manager.hpp.

Referenced by OnDockPanelStartDrag(), x_OnBeginDrag(), x_OnDrag(), and x_OnEndDrag().

wxFrame* CWindowManager::m_FrameWindow [protected]
 

main frame window hosting window manager

Definition at line 273 of file window_manager.hpp.

Referenced by Create(), and GetFrameWindow().

bool CWindowManager::m_IsDragging [protected]
 

Definition at line 311 of file window_manager.hpp.

Referenced by OnDockPanelStartDrag(), OnLeftUp(), OnMotion(), OnMouseCaptureLost(), x_OnBeginDrag(), x_OnDrag(), and x_OnEndDrag().

auto_ptr<wxMenu> CWindowManager::m_Menu [protected]
 

Definition at line 306 of file window_manager.hpp.

Referenced by x_ResetMenuBar().

IWindowManagerMenuListener* CWindowManager::m_MenuListener [protected]
 

Definition at line 270 of file window_manager.hpp.

Referenced by SetMenuListener(), and x_ResetMenuBar().

string CWindowManager::m_RegPath [protected]
 

Definition at line 279 of file window_manager.hpp.

Referenced by OnShowWindowsDlg(), and SetRegistryPath().

wxWindow* CWindowManager::m_SavedFocus [protected]
 

widget that was previously focused

Definition at line 291 of file window_manager.hpp.

Referenced by OnFocusChanged(), and x_RemoveClient().

IDockPanel* CWindowManager::m_SavedFocusPanel [protected]
 

caption panel containing m_SavedFocus

Definition at line 294 of file window_manager.hpp.

Referenced by OnFocusChanged().

TWindowToClientMap CWindowManager::m_WindowToClient [protected]
 

index wxWindow -> IWMClient

Definition at line 288 of file window_manager.hpp.

Referenced by GetClientByWindow(), x_RegisterClient(), and x_UnRegisterClient().


The documentation for this class was generated from the following files:
Generated on Mon Dec 7 15:20:25 2009 for NCBI C++ ToolKit by  doxygen 1.4.6
Modified on Mon Dec 07 16:24:21 2009 by modify_doxy.py rev. 173732