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 other multiple clients (views) associated with an application. Window Manager provides two major ways to place clients - in independent top-level frame windows (floating) or in containers emdedded 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 68 of file window_manager.hpp.

Public Types

typedef CWMDockContainer::EDockPos TDockPos
typedef vector< IWMClient * > TClients
typedef CWindowManagerEvent TEvent
enum  EClientState { eInvalidClientState = -1, eFloating, eEmbedded, eHidden }
enum  EFrameCmd { eActivate, eMaximize, eMinimize, eRestore }

Public Member Functions

 CWindowManager (CResourceManager &res_mgr)
virtual ~CWindowManager ()
Fl_Group * GetRootWMContainer ()
bool AddClientInFrame (IWMClient &client)
bool AddClientInTab (IWMClient &client)
bool AddClientToDock (IWMClient &client, const string &dock_pos)
bool AddClient (IWMClient &client, IWMContainer &cont, const IWMPosition &pos)
bool MoveClientToFrame (IWMClient &client)
bool MoveClientToTab (IWMClient &client)
bool CloseClient (IWMClient &client)
void CloseAllClients ()
bool Contains (IWMClient &client) const
 checks if the client in registered in the Manager
void GetAllClients (vector< IWMClient * > &clients)
IWMClientGetActiveClient ()
void ActivateClient (IWMClient &client)
void ActivateClients (TClients &clients)
EClientState GetClientState (IWMClient &client)
bool FrameCommand (IWMClient &client, EFrameCmd cmd)
void OnMoveToFrame (IWMContainer &container, const IWMPosition &pos)
virtual string GetDockPosLabel (IWMClient &client)
virtual TDockPos GetDockPos (IWMClient &client)
void OnFocusChanged (Fl_Widget *new_focus)
virtual objects::CUser_object * LayoutToUserObject (const IWMContainer &cont) const
 focus listener
virtual bool Dispatch (CEvent *evt, EDispatch disp_how, int pool)
Event handlers
void OnCloseContainer (CEvent *evt)
void OnCloseClient (CEvent *evt)
void OnMoveToTopLevel (CEvent *evt)
void OnDockClient (CEvent *evt)
void OnMaximize (CEvent *evt)
void OnRestoreMaximizedEvt (CEvent *evt)
IWindowManager implementation
virtual void GetPopupItems (IWMContainer &container, const IWMPosition &pos, vector< CMenuItem * > &items)
virtual bool OnContainerCommand (IWMContainer &container, const IWMPosition &pos, TCmdID cmd)
virtual bool OnContainerUpdateCommand (IWMContainer &container, const IWMPosition &pos, TCmdID cmd, ICmdUI *pCmdUI)
virtual CMenuItemGetCaptionPanelMenu (CWMCaptionPanel &panel)
virtual bool OnCaptionPanelCommand (CWMCaptionPanel &panel, TCmdID cmd)
virtual bool OnCaptionPanelUpdateCommand (CWMCaptionPanel &panel, TCmdID cmd, ICmdUI *pCmdUI)
virtual CResourceManagerGetResourceManager ()
IFrameWindowClient implementation
virtual void SetFrameWindow (CFrameWindow *frame)
virtual CMenuItemGetMenu ()
 return a menu that will be merged with the Frame's menu; the caller must delete the item
virtual void UpdateMenu (CMenuItem &root)
 update existing menu; only dynamic parts of the menu need to be updated
Settings support
void SetRegistryPath (const string &path)
void LoadSettings ()
void SaveSettings () const
Command handling
void OnInsertSplitter (TCmdID cmd)
void OnActivateWindow (TCmdID cmd)
bool OnResizeClient (TCmdID resize_cmd, CWMCaptionPanel &panel)
bool OnMinimizeClient (CWMCaptionPanel &panel)
bool OnRestoreClient (CWMCaptionPanel &panel)
bool OnRestoreMaximized ()
bool OnRestoreMinimizedClient (CWMCaptionPanel &panel)
bool IsMaximized () const
bool PostDockEvent (TCmdID cmd, CWMCaptionPanel &panel)
bool OnSetClientColor (CWMCaptionPanel &panel)

Protected Types

typedef map< IWMClient *,
SClientRec * > 
TClientToRecMap
typedef map< Fl_Widget *,
IWMClient * > 
TWidgetToClientMap
typedef map< int, pair< IWMClient *,
int > > 
TPseudoCmdMap
typedef map< int, IWMClient * > TCmdToWindowMap
 maps generated commands to pair IWMClient, Command
enum  EAddOption { eAddToRootTab, eAddToFrame, eAddToContainer }

Protected Member Functions

 DECLARE_EVENT_MAP ()
virtual void x_CreateRootContainers ()
virtual void x_RegisterIcons ()
bool x_RegisterClient (IWMClient &client)
bool x_UnRegisterClient (IWMClient &client)
SClientRecx_GetClientRec (IWMClient *client)
const SClientRecx_GetClientRec (IWMClient *client) const
int x_GeneratePseudoCommand (IWMClient &client, int cmd)
 generates a pseudo-command for popup menus.
CMenuItemx_GetMoveFromFrameMenu (IWMContainer &container, const IWMPosition &pos)
CMenuItemx_GetMoveHereMenu (IWMContainer &container, const IWMPosition &pos)
void x_GetDockItems (vector< CMenuItem * > &items) const
bool x_OnPseudoCommand (IWMContainer &container, const IWMPosition &pos, TCmdID cmd)
bool x_UpdateDockCommand (CWMCaptionPanel &panel, TCmdID cmd, ICmdUI *cmd_ui)
bool x_UpdateMinMaxCommand (CWMCaptionPanel &panel, TCmdID cmd, ICmdUI *cmd_ui)
bool x_OnContainerUpdateCommand (IWMContainer &container, const IWMPosition &pos, TCmdID cmd, ICmdUI *cmd_ui)
bool x_AddClient (IWMClient &client, EAddOption option, IWMContainer *cont=NULL, const IWMPosition *pos=NULL)
bool x_IsFloatingEnabled () const
void x_PutClientInFrame (IWMClient &client)
 Creates new CWMFrameWindow and inserts client into it.
void x_PutClientInTab (IWMClient &client)
void x_GetFramedClients (TClients &clients)
CWMCaptionPanelx_InsertClient (IWMClient &client, IWMContainer &container, const IWMPosition &pos, bool minimized=false)
void x_MoveInContainer (IWMClient &client, IWMContainer &container, const IWMPosition &pos)
void x_MoveClientToTopLevel (IWMClient &client)
void x_MoveToDockPos (IWMClient &client, TDockPos pos)
void x_Close (IWMContainer &container, const IWMPosition &pos)
 removes Client or container from specified position
bool x_CloseClient (IWMClient &client)
void x_RemoveContainer (IWMContainer &container)
void x_RemoveClient (IWMClient &client)
void x_RemoveClient (SClientRec &rec)
void x_CascadeClose (IWMContainer &container, Fl_Widget *child)
 removes widgets from it's container and recursively removes all its children
void x_InsertSplitter (IWMContainer &container, const IWMPosition &pos, CSplitter::EMode mode)
CWMTabControlx_WrapClientInTabControl (IWMContainer &cont, IWMPosition &pos)
void x_Maximize (IWMClient &client)
void x_RestoreMaximized ()
void x_UpdateListener (IWMClient &client)
void x_ResetMenu ()
 Regenerate Window Manager's menu and request Frame Window to reset it's menu.
virtual void x_UpdateActiveClient (void)
virtual void x_SetActiveClient (void)
virtual void x_OnSaveLayout (IWMContainer &cont, const IWMPosition *pos)
virtual bool OnCommand (const TCmdID cmd)
 overrdining CCommandTarget behavior
IWMClientx_GetClientByWidget (Fl_Widget *widget) const
const IWMClientx_GetClientByWidget (const Fl_Widget *widget) const
CWMCaptionPanelx_GetCaptionPanelByClient (Fl_Widget *widget)
CWMCaptionPanelx_GetCaptionPanelByWidget (Fl_Widget *widget)
CWMCaptionPanelx_GetCaptionPanelByClient (IWMClient &client)
IWMContainerx_GetContainerByWidget (IWMClient &client)
virtual void x_UpdateWindowsMenu (CMenuItem &root)
virtual Fl_Widget * x_CreateWindowFromUserObject (IWMContainer *cont, const IWMPosition *pos, const objects::CUser_object &descr)
virtual objects::CUser_object * x_ChildToUserObject (const IWMContainer::TChild *child) const
string x_GetClientLabelForMenu (IWMClient &client)

Protected Attributes

CResourceManagerm_ResourceManager
bool m_bEnableFloating
CWMTabControlm_RootCont
 enable support for floating frames
TClientToRecMap m_ClientToRec
 root IWMContainer
TWidgetToClientMap m_WidgetToClient
TPseudoCmdMap m_PseudoCmdMap
int m_PseudoCmdCount
int m_DefFrameW
 number of generated commands (for current popup)
int m_DefFrameH
int m_PosIncr
int m_FrameX
int m_FrameY
CFrameWindowm_FrameWindow
Fl_Widget * m_PrevFocus
IWMClientm_ActiveClient
 widget that was previously focused
CCommandTargetm_ActiveClientTarget
TCmdToWindowMap m_CmdToWindow
 belonging to focused IWMClient
CWMDockContainerm_DockContainer
CWMCaptionPanelm_MaximizedPanel
auto_ptr< IWMPositionm_RestorePos
IWMContainerm_RestoreCont
string m_RegPath

Classes

struct  SClientRec


Member Typedef Documentation

typedef vector<IWMClient*> CWindowManager::TClients
 

Definition at line 91 of file window_manager.hpp.

typedef map<IWMClient*, SClientRec*> CWindowManager::TClientToRecMap [protected]
 

Definition at line 298 of file window_manager.hpp.

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

maps generated commands to pair IWMClient, Command

Definition at line 303 of file window_manager.hpp.

typedef CWMDockContainer::EDockPos CWindowManager::TDockPos
 

Definition at line 89 of file window_manager.hpp.

typedef CWindowManagerEvent CWindowManager::TEvent
 

Definition at line 92 of file window_manager.hpp.

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

Definition at line 300 of file window_manager.hpp.

typedef map<Fl_Widget*, IWMClient*> CWindowManager::TWidgetToClientMap [protected]
 

Definition at line 299 of file window_manager.hpp.


Member Enumeration Documentation

enum CWindowManager::EAddOption [protected]
 

Enumerator:
eAddToRootTab 
eAddToFrame 
eAddToContainer 

Definition at line 232 of file window_manager.hpp.

enum CWindowManager::EClientState
 

Enumerator:
eInvalidClientState 
eFloating 
eEmbedded 
eHidden 

Definition at line 75 of file window_manager.hpp.

enum CWindowManager::EFrameCmd
 

Enumerator:
eActivate 
eMaximize 
eMinimize 
eRestore 

Definition at line 82 of file window_manager.hpp.


Constructor & Destructor Documentation

&CWindowManager::OnCloseClient &CWindowManager::OnDockClient &CWindowManager::OnRestoreMaximizedEvt CWindowManager::CWindowManager CResourceManager res_mgr  ) 
 

Definition at line 154 of file window_manager.cpp.

References m_DefFrameH, m_DefFrameW, m_FrameX, m_FrameY, x_CreateRootContainers(), and x_RegisterIcons().

CWindowManager::~CWindowManager  )  [virtual]
 

Definition at line 177 of file window_manager.cpp.

References CloseAllClients(), and m_RootCont.


Member Function Documentation

void CWindowManager::ActivateClient IWMClient client  ) 
 

Definition at line 1257 of file window_manager.cpp.

References ActivateClients().

Referenced by CWorkspaceWindow::ActivateClient(), CWorkspaceWindow::AddClient(), and CWorkspaceWindow::AddClientToDock().

void CWindowManager::ActivateClients TClients clients  ) 
 

Definition at line 1267 of file window_manager.cpp.

References CWMDockContainer::eCenter, CWMDockContainer::eInvalidDockPos, set< Key, Compare >::end(), set< Key, Compare >::find(), CTabControl::GetTabIndex(), IWMClient::GetWidget(), set< Key, Compare >::insert(), CWMDockContainer::IsDockMinimized(), IsMaximized(), m_DockContainer, CWindowManager::SClientRec::m_DockPos, CWindowManager::SClientRec::m_Panel, NON_CONST_ITERATE, CWMDockContainer::RestoreMinimized(), CTabControl::SelectTab(), x_GetClientRec(), and x_RestoreMaximized().

Referenced by ActivateClient(), CGBenchWorkspaceWindow::ActivateClients(), and OnActivateWindow().

bool CWindowManager::AddClient IWMClient client,
IWMContainer cont,
const IWMPosition pos
 

Definition at line 289 of file window_manager.cpp.

References eAddToContainer, pos, and x_AddClient().

Referenced by CWorkspaceWindow::AddClient().

bool CWindowManager::AddClientInFrame IWMClient client  ) 
 

Definition at line 265 of file window_manager.cpp.

References eAddToFrame, x_AddClient(), and x_IsFloatingEnabled().

bool CWindowManager::AddClientInTab IWMClient client  ) 
 

Definition at line 271 of file window_manager.cpp.

References eAddToRootTab, and x_AddClient().

Referenced by CWorkspaceWindow::AddClient(), and CWinManagerApp::OnCreateClient().

bool CWindowManager::AddClientToDock IWMClient client,
const string &  dock_pos
 

Definition at line 277 of file window_manager.cpp.

References eAddToContainer, eAddToRootTab, CWMDockContainer::eInvalidDockPos, CWMDockContainer::GetDefInsertPos(), m_DockContainer, pos, StrToDockPos(), and x_AddClient().

Referenced by CWorkspaceWindow::AddClientToDock().

void CWindowManager::CloseAllClients  ) 
 

Definition at line 1209 of file window_manager.cpp.

References map_checker< Container >::begin(), m_ClientToRec, map_checker< Container >::size(), and x_CloseClient().

Referenced by CWorkspaceWindow::x_CloseAllClients(), and ~CWindowManager().

bool CWindowManager::CloseClient IWMClient client  ) 
 

Definition at line 1199 of file window_manager.cpp.

References x_CloseClient(), and x_ResetMenu().

Referenced by CGBenchWorkspaceWindow::OnCloseAllViews(), OnCloseClient(), CWinManagerApp::OnDestroyClient(), x_CascadeClose(), and CWorkspaceWindow::x_CloseClient().

bool CWindowManager::Contains IWMClient client  )  const
 

checks if the client in registered in the Manager

Definition at line 1251 of file window_manager.cpp.

References x_GetClientRec().

Referenced by CGBenchWorkspaceWindow::Contains().

CWindowManager::DECLARE_EVENT_MAP  )  [protected]
 

Reimplemented in CGBenchWindowManager.

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

Definition at line 2101 of file window_manager.cpp.

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

bool CWindowManager::FrameCommand IWMClient client,
EFrameCmd  cmd
 

Definition at line 362 of file window_manager.cpp.

References eActivate, eMaximize, eMinimize, eRestore, CWindowManager::SClientRec::m_Container, and x_GetClientRec().

IWMClient * CWindowManager::GetActiveClient  ) 
 

Definition at line 1336 of file window_manager.cpp.

References m_ActiveClient.

Referenced by Dispatch(), CGBenchWorkspaceWindow::GetActiveClient(), CWinManagerApp::OnDestroyClient(), and CWinManagerApp::OnUpdateDestroyClient().

void CWindowManager::GetAllClients vector< IWMClient * > &  clients  ) 
 

Definition at line 1243 of file window_manager.cpp.

References ITERATE, and m_ClientToRec.

Referenced by CGBenchWorkspaceWindow::GetAllClients().

CMenuItem * CWindowManager::GetCaptionPanelMenu CWMCaptionPanel panel  )  [virtual]
 

Implements IWindowManager.

Definition at line 625 of file window_manager.cpp.

References CMenuItem::AddSeparator(), CMenuItem::AddSubItem(), eCmdCPanelClose, eCmdCPanelMaximize, eCmdCPanelMinimize, eCmdCPanelMoveToTopLevel, eCmdCPanelRestoreMaximized, eCmdCPanelRestoreMinimized, eCmdDockBottom, eCmdDockCenter, eCmdDockLeft, eCmdDockRight, eCmdDockTop, IMinMaxClient::eMaximized, IMinMaxClient::GetState(), CTabControl::GetTabIndex(), and m_RootCont.

CWindowManager::EClientState CWindowManager::GetClientState IWMClient client  ) 
 

Definition at line 1389 of file window_manager.cpp.

References eEmbedded, eFloating, eHidden, eInvalidClientState, CWindowManager::SClientRec::m_bFrame, CWindowManager::SClientRec::m_Container, and x_GetClientRec().

Referenced by MoveClientToFrame(), and MoveClientToTab().

CWindowManager::TDockPos CWindowManager::GetDockPos IWMClient client  )  [virtual]
 

Definition at line 2094 of file window_manager.cpp.

References CWMDockContainer::eInvalidDockPos, CWindowManager::SClientRec::m_DockPos, and x_GetClientRec().

string CWindowManager::GetDockPosLabel IWMClient client  )  [virtual]
 

Definition at line 2083 of file window_manager.cpp.

References DockPosToStr(), CWindowManager::SClientRec::m_DockPos, and x_GetClientRec().

Referenced by CWorkspaceWindow::GetDockPos().

CMenuItem * CWindowManager::GetMenu  )  [virtual]
 

return a menu that will be merged with the Frame's menu; the caller must delete the item

Implements IFrameWindowClient.

Definition at line 1515 of file window_manager.cpp.

References CreateMenuItems(), IWMClient::GetMenu(), ITERATE, CWindowManager::SClientRec::m_Client, m_ClientToRec, CWindowManager::SClientRec::m_Container, CMenuItem::Merge(), and x_UpdateWindowsMenu().

Referenced by CWorkspaceWindow::GetMenu(), and CGBenchWorkspaceWindow::GetMenu().

void CWindowManager::GetPopupItems IWMContainer container,
const IWMPosition pos,
vector< CMenuItem * > &  items
[virtual]
 

Implements IWindowManager.

Reimplemented in CGBenchWindowManager.

Definition at line 388 of file window_manager.cpp.

References map_checker< Container >::clear(), eCmdDelContainer, eCmdIns2x2Splitter, eCmdInsHorzSplitter, eCmdInsTabControl, eCmdInsVertSplitter, IWMContainer::IsAvailable(), m_PseudoCmdCount, m_PseudoCmdMap, m_RootCont, pos, x_GetMoveFromFrameMenu(), and x_GetMoveHereMenu().

Referenced by CGBenchWindowManager::GetPopupItems().

CResourceManager * CWindowManager::GetResourceManager  )  [virtual]
 

Implements IWindowManager.

Definition at line 981 of file window_manager.cpp.

References m_ResourceManager.

Fl_Group * CWindowManager::GetRootWMContainer  ) 
 

Definition at line 259 of file window_manager.cpp.

References m_RootCont.

bool CWindowManager::IsMaximized  )  const
 

Definition at line 826 of file window_manager.cpp.

References m_MaximizedPanel.

Referenced by ActivateClients(), x_AddClient(), x_CloseClient(), x_Maximize(), and x_MoveToDockPos().

CUser_object * CWindowManager::LayoutToUserObject const IWMContainer cont  )  const [virtual]
 

focus listener

Definition at line 1960 of file window_manager.cpp.

References CUser_object::AddField(), IWMContainer::GetDescr(), IWMContainer::GetPosToChildMap(), m_RootCont, NON_CONST_ITERATE, pos, CUser_object_Base::SetType(), and x_ChildToUserObject().

Referenced by x_ChildToUserObject().

void CWindowManager::LoadSettings  ) 
 

Definition at line 1628 of file window_manager.cpp.

References CGuiRegistry::GetInstance(), CGuiRegistry::CReadView::GetInt(), CGuiRegistry::GetReadWriteView(), m_DockContainer, m_RegPath, CGuiRegistryUtil::MakeKey(), CWMDockContainer::SetDockSize(), size, and StrToDockPos().

Referenced by CGBenchWorkspaceWindow::LoadSettings().

bool CWindowManager::MoveClientToFrame IWMClient client  ) 
 

Definition at line 337 of file window_manager.cpp.

References eFloating, GetClientState(), x_IsFloatingEnabled(), x_PutClientInFrame(), x_RemoveClient(), and x_UpdateListener().

bool CWindowManager::MoveClientToTab IWMClient client  ) 
 

Definition at line 350 of file window_manager.cpp.

References eEmbedded, GetClientState(), x_PutClientInTab(), x_RemoveClient(), and x_UpdateListener().

void CWindowManager::OnActivateWindow TCmdID  cmd  ) 
 

Definition at line 1748 of file window_manager.cpp.

References ActivateClients(), and m_CmdToWindow.

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

Implements IWindowManager.

Definition at line 681 of file window_manager.cpp.

References _ASSERT, CWindowManagerEvent::eCloseClient, eCmdCPanelClose, eCmdCPanelMaximize, eCmdCPanelMinimize, eCmdCPanelMoveToTopLevel, eCmdCPanelRestoreMaximized, eCmdCPanelRestoreMinimized, eCmdDockBottom, eCmdDockCenter, eCmdDockLeft, eCmdDockRight, eCmdDockTop, eCmdSetClientColor, CWindowManagerEvent::eMaximize, CWindowManagerEvent::eMoveToTopLevel, CWindowManagerEvent::eRestoreMaximized, CWMCaptionPanel::GetClient(), OnMinimizeClient(), OnRestoreMinimizedClient(), OnSetClientColor(), PostDockEvent(), and x_PostWMEvent().

bool CWindowManager::OnCaptionPanelUpdateCommand CWMCaptionPanel panel,
TCmdID  cmd,
ICmdUI pCmdUI
[virtual]
 

Implements IWindowManager.

Definition at line 896 of file window_manager.cpp.

References eCmdCPanelClose, eCmdCPanelMaximize, eCmdCPanelMinimize, eCmdCPanelRestoreMaximized, eCmdCPanelRestoreMinimized, eCmdDockBottom, eCmdDockCenter, eCmdDockLeft, eCmdDockRight, eCmdDockTop, eCmdSetClientColor, ICmdUI::Enable(), IWMClient::GetColor(), CCommandTarget::OnUpdateCommand(), x_UpdateDockCommand(), and x_UpdateMinMaxCommand().

void CWindowManager::OnCloseClient CEvent evt  ) 
 

Definition at line 1833 of file window_manager.cpp.

References _ASSERT, CloseClient(), and CWindowManagerEvent::GetClient().

void CWindowManager::OnCloseContainer CEvent evt  ) 
 

Definition at line 1824 of file window_manager.cpp.

References _ASSERT, CWindowManagerEvent::GetContainer(), and x_RemoveContainer().

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

overrdining CCommandTarget behavior

Reimplemented from CCommandTarget.

Definition at line 1707 of file window_manager.cpp.

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

bool CWindowManager::OnContainerCommand IWMContainer container,
const IWMPosition pos,
TCmdID  cmd
[virtual]
 

Implements IWindowManager.

Reimplemented in CGBenchWindowManager.

Definition at line 513 of file window_manager.cpp.

References _ASSERT, CWindowManagerEvent::eCloseContainer, eCmdClientLast, eCmdClientXXXX, eCmdDelContainer, eCmdDelTabPane, eCmdDockBottom, eCmdDockCenter, eCmdDockLeft, eCmdDockRight, eCmdDockTop, eCmdIns2x2Splitter, eCmdInsHorzSplitter, eCmdInsTabControl, eCmdInsVertSplitter, eCmdMoveToFrame, eCmdSaveLayout, CEventHandler::eDispatch_SelfOnly, CSplitter::eGrid, CSplitter::eHorizontal, CSplitter::eVertical, IWMContainer::GetChild(), IWMContainer::Insert(), OnMoveToFrame(), pos, CEventHandler::Post(), PostDockEvent(), CWMTabControl::SetManager(), x_Close(), x_InsertSplitter(), x_OnPseudoCommand(), and x_OnSaveLayout().

Referenced by CGBenchWindowManager::OnContainerCommand(), and OnInsertSplitter().

bool CWindowManager::OnContainerUpdateCommand IWMContainer container,
const IWMPosition pos,
TCmdID  cmd,
ICmdUI pCmdUI
[virtual]
 

Implements IWindowManager.

Reimplemented in CGBenchWindowManager.

Definition at line 585 of file window_manager.cpp.

References CCommandTarget::OnUpdateCommand(), pos, and x_OnContainerUpdateCommand().

void CWindowManager::OnDockClient CEvent evt  ) 
 

Definition at line 1852 of file window_manager.cpp.

References _ASSERT, CWindowManagerEvent::GetClient(), CWindowManagerEvent::GetDockPos(), and x_MoveToDockPos().

void CWindowManager::OnFocusChanged Fl_Widget *  new_focus  ) 
 

Definition at line 1886 of file window_manager.cpp.

References m_PrevFocus, x_GetCaptionPanelByWidget(), and x_SetActiveClient().

Referenced by CWorkspaceWindow::OnFocusChanged(), and x_UpdateActiveClient().

void CWindowManager::OnInsertSplitter TCmdID  cmd  ) 
 

Definition at line 1741 of file window_manager.cpp.

References CTabControl::GetTabsCount(), m_RootCont, OnContainerCommand(), and pos.

void CWindowManager::OnMaximize CEvent evt  ) 
 

Definition at line 734 of file window_manager.cpp.

References _ASSERT, CWindowManagerEvent::GetClient(), and x_Maximize().

bool CWindowManager::OnMinimizeClient CWMCaptionPanel panel  ) 
 

Definition at line 713 of file window_manager.cpp.

References _ASSERT, CWMCaptionPanel::GetClient(), and x_GetContainerByWidget().

Referenced by OnCaptionPanelCommand().

void CWindowManager::OnMoveToFrame IWMContainer container,
const IWMPosition pos
 

Definition at line 1024 of file window_manager.cpp.

References _ASSERT, IWMContainer::GetChild(), pos, x_IsFloatingEnabled(), x_PutClientInFrame(), x_RemoveClient(), and x_UpdateListener().

Referenced by OnContainerCommand().

void CWindowManager::OnMoveToTopLevel CEvent evt  ) 
 

Definition at line 1843 of file window_manager.cpp.

References _ASSERT, CWindowManagerEvent::GetClient(), and x_MoveClientToTopLevel().

bool CWindowManager::OnResizeClient TCmdID  resize_cmd,
CWMCaptionPanel panel
 

bool CWindowManager::OnRestoreClient CWMCaptionPanel panel  ) 
 

Definition at line 832 of file window_manager.cpp.

bool CWindowManager::OnRestoreMaximized  ) 
 

Definition at line 780 of file window_manager.cpp.

void CWindowManager::OnRestoreMaximizedEvt CEvent evt  ) 
 

Definition at line 786 of file window_manager.cpp.

References _VERIFY, and x_RestoreMaximized().

bool CWindowManager::OnRestoreMinimizedClient CWMCaptionPanel panel  ) 
 

Definition at line 724 of file window_manager.cpp.

References _ASSERT, CWMCaptionPanel::GetClient(), and x_GetContainerByWidget().

Referenced by OnCaptionPanelCommand().

bool CWindowManager::OnSetClientColor CWMCaptionPanel panel  ) 
 

Definition at line 848 of file window_manager.cpp.

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

Referenced by OnCaptionPanelCommand().

bool CWindowManager::PostDockEvent TCmdID  cmd,
CWMCaptionPanel panel
 

Definition at line 884 of file window_manager.cpp.

References CEventHandler::eDispatch_SelfOnly, CWMCaptionPanel::GetClient(), GetPosByCommand(), and CEventHandler::Post().

Referenced by OnCaptionPanelCommand(), and OnContainerCommand().

void CWindowManager::SaveSettings  )  const
 

Definition at line 1648 of file window_manager.cpp.

References CWMDockContainer::GetDockSize(), CGuiRegistry::GetInstance(), CGuiRegistry::GetReadWriteView(), CWMDockContainer::IsDockMinimized(), kDockNames, kDockPosN, kDockSizes, kMinimizedKey, kSizeKey, m_DockContainer, m_RegPath, CGuiRegistryUtil::MakeKey(), CGuiRegistry::CReadWriteView::Set(), size, and StrToDockPos().

Referenced by CGBenchWorkspaceWindow::SaveSettings().

void CWindowManager::SetFrameWindow CFrameWindow frame  )  [virtual]
 

Implements IFrameWindowClient.

Definition at line 1672 of file window_manager.cpp.

References m_FrameWindow.

Referenced by CWorkspaceWindow::SetFrameWindow(), CWorkspaceWindow::x_CreateWindowManager(), and CGBenchWorkspaceWindow::x_CreateWindowManager().

void CWindowManager::SetRegistryPath const string &  path  ) 
 

Definition at line 1615 of file window_manager.cpp.

References m_RegPath.

Referenced by CGBenchWorkspaceWindow::SetRegistryPath(), and CGBenchWorkspaceWindow::x_CreateWindowManager().

void CWindowManager::UpdateMenu CMenuItem root  )  [virtual]
 

update existing menu; only dynamic parts of the menu need to be updated

Implements IFrameWindowClient.

Definition at line 1539 of file window_manager.cpp.

References ITERATE, CWindowManager::SClientRec::m_Client, m_ClientToRec, CWindowManager::SClientRec::m_Container, IWMClient::UpdateMenu(), and x_UpdateWindowsMenu().

Referenced by CWorkspaceWindow::UpdateMenu(), and CGBenchWorkspaceWindow::UpdateMenu().

bool CWindowManager::x_AddClient IWMClient client,
EAddOption  option,
IWMContainer cont = NULL,
const IWMPosition pos = NULL
[protected]
 

Definition at line 297 of file window_manager.cpp.

References _ASSERT, eAddToContainer, eAddToFrame, eAddToRootTab, IWMClient::GetWidget(), IsMaximized(), pos, x_InsertClient(), x_Maximize(), x_PutClientInFrame(), x_PutClientInTab(), x_RegisterClient(), x_ResetMenu(), and x_UnRegisterClient().

Referenced by AddClient(), AddClientInFrame(), AddClientInTab(), and AddClientToDock().

void CWindowManager::x_CascadeClose IWMContainer container,
Fl_Widget *  child
[protected]
 

removes widgets from it's container and recursively removes all its children

Definition at line 1106 of file window_manager.cpp.

References _ASSERT, CloseClient(), IWMContainer::GetChildren(), CWMCaptionPanel::GetClient(), IWMContainer::Remove(), and x_GetClientByWidget().

Referenced by x_Close(), and x_RemoveContainer().

CUser_object * CWindowManager::x_ChildToUserObject const IWMContainer::TChild child  )  const [protected, virtual]
 

Reimplemented in CGBenchWindowManager.

Definition at line 2002 of file window_manager.cpp.

References LayoutToUserObject().

Referenced by LayoutToUserObject(), and CGBenchWindowManager::x_ChildToUserObject().

void CWindowManager::x_Close IWMContainer container,
const IWMPosition pos
[protected]
 

removes Client or container from specified position

Definition at line 1098 of file window_manager.cpp.

References IWMContainer::GetChild(), pos, and x_CascadeClose().

Referenced by OnContainerCommand().

bool CWindowManager::x_CloseClient IWMClient client  )  [protected]
 

Definition at line 1220 of file window_manager.cpp.

References CWindowManagerEvent::eBeforeClientClosed, CWindowManagerEvent::eClientClosed, IsMaximized(), m_MaximizedPanel, CWindowManager::SClientRec::m_Panel, CEventHandler::Send(), x_GetClientRec(), x_RemoveClient(), x_RestoreMaximized(), and x_UnRegisterClient().

Referenced by CloseAllClients(), and CloseClient().

void CWindowManager::x_CreateRootContainers  )  [protected, virtual]
 

Definition at line 185 of file window_manager.cpp.

References CWMDockContainer::eCenter, CTabControl::fShrink, CWMDockContainer::Insert(), m_DockContainer, m_RootCont, pos, CWMDockContainer::SetManager(), CWMTabControl::SetManager(), and CTabControl::SetResizePolicies().

Referenced by CWindowManager().

virtual Fl_Widget* CWindowManager::x_CreateWindowFromUserObject IWMContainer cont,
const IWMPosition pos,
const objects::CUser_object &  descr
[protected, virtual]
 

Reimplemented in CGBenchWindowManager.

int CWindowManager::x_GeneratePseudoCommand IWMClient client,
int  cmd
[protected]
 

generates a pseudo-command for popup menus.

Pseudo command encodes both the real command and the client this command should be applied to.

Definition at line 444 of file window_manager.cpp.

References eCmdClientXXXX, m_PseudoCmdCount, and m_PseudoCmdMap.

Referenced by x_GetMoveFromFrameMenu(), and x_GetMoveHereMenu().

CWMCaptionPanel * CWindowManager::x_GetCaptionPanelByClient IWMClient client  )  [protected]
 

Definition at line 1936 of file window_manager.cpp.

References _ASSERT, and IWMClient::GetWidget().

CWMCaptionPanel * CWindowManager::x_GetCaptionPanelByClient Fl_Widget *  widget  )  [protected]
 

Definition at line 1907 of file window_manager.cpp.

References CWindowManager::SClientRec::m_Panel, x_GetClientByWidget(), and x_GetClientRec().

Referenced by x_MoveToDockPos(), and x_RemoveClient().

CWMCaptionPanel * CWindowManager::x_GetCaptionPanelByWidget Fl_Widget *  widget  )  [protected]
 

Definition at line 1916 of file window_manager.cpp.

Referenced by OnFocusChanged().

const IWMClient * CWindowManager::x_GetClientByWidget const Fl_Widget *  widget  )  const [protected]
 

Definition at line 1873 of file window_manager.cpp.

References map_checker< Container >::end(), map_checker< Container >::find(), CWMCaptionPanel::GetClient(), and m_WidgetToClient.

IWMClient * CWindowManager::x_GetClientByWidget Fl_Widget *  widget  )  const [protected]
 

Definition at line 1861 of file window_manager.cpp.

References map_checker< Container >::end(), map_checker< Container >::find(), CWMCaptionPanel::GetClient(), and m_WidgetToClient.

Referenced by x_CascadeClose(), CGBenchWindowManager::x_ChildToUserObject(), x_GetCaptionPanelByClient(), and x_SetActiveClient().

string CWindowManager::x_GetClientLabelForMenu IWMClient client  )  [protected]
 

Definition at line 456 of file window_manager.cpp.

References IWMClient::GetClientLabel().

Referenced by x_GetMoveFromFrameMenu(), and x_GetMoveHereMenu().

const CWindowManager::SClientRec * CWindowManager::x_GetClientRec IWMClient client  )  const [protected]
 

Definition at line 1409 of file window_manager.cpp.

References map_checker< Container >::end(), map_checker< Container >::find(), and m_ClientToRec.

CWindowManager::SClientRec * CWindowManager::x_GetClientRec IWMClient client  )  [protected]
 

Definition at line 1401 of file window_manager.cpp.

References map_checker< Container >::end(), map_checker< Container >::find(), and m_ClientToRec.

Referenced by ActivateClients(), Contains(), FrameCommand(), GetClientState(), GetDockPos(), GetDockPosLabel(), x_CloseClient(), x_GetCaptionPanelByClient(), x_GetContainerByWidget(), x_InsertClient(), x_Maximize(), x_OnPseudoCommand(), x_RegisterClient(), x_RemoveClient(), x_SetActiveClient(), and x_UpdateDockCommand().

IWMContainer * CWindowManager::x_GetContainerByWidget IWMClient client  )  [protected]
 

Definition at line 1946 of file window_manager.cpp.

References CWindowManager::SClientRec::m_Container, and x_GetClientRec().

Referenced by OnMinimizeClient(), OnRestoreMinimizedClient(), x_MoveClientToTopLevel(), and x_UpdateMinMaxCommand().

void CWindowManager::x_GetDockItems vector< CMenuItem * > &  items  )  const [protected]
 

Definition at line 662 of file window_manager.cpp.

References eCmdDockBottom, eCmdDockLeft, eCmdDockRight, and eCmdDockTop.

void CWindowManager::x_GetFramedClients TClients clients  )  [protected]
 

Definition at line 1461 of file window_manager.cpp.

References ITERATE, CWindowManager::SClientRec::m_bFrame, and m_ClientToRec.

CMenuItem * CWindowManager::x_GetMoveFromFrameMenu IWMContainer container,
const IWMPosition pos
[protected]
 

Definition at line 467 of file window_manager.cpp.

References CMenuItem::AddSubItem(), eCmdMoveFromFrame, IWMContainer::IsAvailable(), ITERATE, CWindowManager::SClientRec::m_bFrame, CWindowManager::SClientRec::m_Client, m_ClientToRec, CWindowManager::SClientRec::m_Container, pos, x_GeneratePseudoCommand(), and x_GetClientLabelForMenu().

Referenced by GetPopupItems().

CMenuItem * CWindowManager::x_GetMoveHereMenu IWMContainer container,
const IWMPosition pos
[protected]
 

Definition at line 491 of file window_manager.cpp.

References CMenuItem::AddSubItem(), eCmdMoveToPos, IWMContainer::IsAvailable(), ITERATE, CWindowManager::SClientRec::m_bFrame, CWindowManager::SClientRec::m_Client, m_ClientToRec, CWindowManager::SClientRec::m_Container, pos, x_GeneratePseudoCommand(), and x_GetClientLabelForMenu().

Referenced by GetPopupItems().

CWMCaptionPanel * CWindowManager::x_InsertClient IWMClient client,
IWMContainer container,
const IWMPosition pos,
bool  minimized = false
[protected]
 

Definition at line 1038 of file window_manager.cpp.

References _ASSERT, CEventHandler::AddListener(), CWMDockContainer::eInvalidDockPos, IMinMaxClient::eMinimized, IMinMaxClient::eNormal, IWMClient::GetClientLabel(), CWMDockContainerPos::GetDockPos(), IWMContainer::Insert(), CWindowManager::SClientRec::m_Container, CWindowManager::SClientRec::m_DockPos, CWindowManager::SClientRec::m_Panel, pos, CFlCurrentGuard::Release(), CWMCaptionPanel::SetState(), CWMCaptionPanel::UpdateButtons(), and x_GetClientRec().

Referenced by x_AddClient(), x_Maximize(), x_MoveClientToTopLevel(), x_MoveToDockPos(), x_OnPseudoCommand(), x_PutClientInTab(), x_RestoreMaximized(), and x_WrapClientInTabControl().

void CWindowManager::x_InsertSplitter IWMContainer container,
const IWMPosition pos,
CSplitter::EMode  mode
[protected]
 

Definition at line 1489 of file window_manager.cpp.

References CSplitter::Create(), CSplitter::eGrid, CSplitter::eHorizontal, CSplitter::eVertical, GetRandomColor(), IWMContainer::Insert(), pos, and CWMSplitter::SetManager().

Referenced by OnContainerCommand().

bool CWindowManager::x_IsFloatingEnabled  )  const [inline, protected]
 

Definition at line 241 of file window_manager.hpp.

References m_bEnableFloating.

Referenced by AddClientInFrame(), MoveClientToFrame(), and OnMoveToFrame().

void CWindowManager::x_Maximize IWMClient client  )  [protected]
 

Definition at line 745 of file window_manager.cpp.

References _ASSERT, _VERIFY, CWMDockContainer::eCenter, IMinMaxClient::eMaximized, CWMCaptionPanel::eMaximizedStyle, IWMContainer::GetChildPos(), IsMaximized(), CWindowManager::SClientRec::m_Container, m_DockContainer, m_MaximizedPanel, CWindowManager::SClientRec::m_Panel, m_RestoreCont, m_RestorePos, m_RootCont, CWMDockContainer::Remove(), auto_ptr< X >::reset(), CWMCaptionPanel::SetState(), CWMCaptionPanel::SetStyle(), x_GetClientRec(), x_InsertClient(), x_RemoveClient(), and x_RestoreMaximized().

Referenced by OnMaximize(), and x_AddClient().

void CWindowManager::x_MoveClientToTopLevel IWMClient client  )  [protected]
 

Definition at line 1757 of file window_manager.cpp.

References CTabControl::GetTabsCount(), m_RootCont, pos, x_GetContainerByWidget(), x_InsertClient(), x_RemoveClient(), and x_UpdateListener().

Referenced by OnMoveToTopLevel().

void CWindowManager::x_MoveInContainer IWMClient client,
IWMContainer container,
const IWMPosition pos
[protected]
 

Definition at line 1084 of file window_manager.cpp.

References _ASSERT, IWMClient::GetWidget(), IWMContainer::MoveToPos(), and pos.

Referenced by x_OnPseudoCommand().

void CWindowManager::x_MoveToDockPos IWMClient client,
TDockPos  pos
[protected]
 

Definition at line 1771 of file window_manager.cpp.

References CWMDockContainer::eInvalidDockPos, IMinMaxClient::eMinimized, CWMDockContainer::GetDefInsertPos(), CWMCaptionPanel::GetState(), IsMaximized(), m_DockContainer, x_GetCaptionPanelByClient(), x_InsertClient(), x_PutClientInTab(), x_RemoveClient(), and x_RestoreMaximized().

Referenced by OnDockClient().

bool CWindowManager::x_OnContainerUpdateCommand IWMContainer container,
const IWMPosition pos,
TCmdID  cmd,
ICmdUI cmd_ui
[protected]
 

Definition at line 596 of file window_manager.cpp.

References eCmdClientLast, eCmdClientXXXX, eCmdCPanelClose, eCmdDelContainer, eCmdDelTabPane, ICmdUI::Enable(), IWMContainer::GetChild(), IsDockCmd(), IWMContainer::IsOccupied(), pos, and x_UpdateDockCommand().

Referenced by OnContainerUpdateCommand(), and CGBenchWindowManager::OnContainerUpdateCommand().

bool CWindowManager::x_OnPseudoCommand IWMContainer container,
const IWMPosition pos,
TCmdID  cmd
[protected]
 

Definition at line 987 of file window_manager.cpp.

References eCmdMoveFromFrame, eCmdMoveToPos, map_checker< Container >::end(), map_checker< Container >::find(), CWindowManager::SClientRec::m_Container, m_PseudoCmdMap, pos, x_GetClientRec(), x_InsertClient(), x_MoveInContainer(), x_RemoveClient(), and x_UpdateListener().

Referenced by OnContainerCommand().

void CWindowManager::x_OnSaveLayout IWMContainer cont,
const IWMPosition pos
[protected, virtual]
 

Reimplemented in CGBenchWindowManager.

Definition at line 2076 of file window_manager.cpp.

References ERR_POST.

Referenced by OnContainerCommand().

void CWindowManager::x_PutClientInFrame IWMClient client  )  [protected]
 

Creates new CWMFrameWindow and inserts client into it.

Definition at line 1417 of file window_manager.cpp.

References _ASSERT, _VERIFY, IWMClient::GetClientLabel(), IWMClient::GetWidget(), CWMFrameWindow::Insert(), CWindowManager::SClientRec::m_bFrame, m_ClientToRec, CWindowManager::SClientRec::m_Container, m_DefFrameH, m_DefFrameW, m_FrameX, m_FrameY, m_PosIncr, and pos.

Referenced by MoveClientToFrame(), OnMoveToFrame(), and x_AddClient().

void CWindowManager::x_PutClientInTab IWMClient client  )  [protected]
 

Definition at line 1449 of file window_manager.cpp.

References _ASSERT, CTabControl::GetTabsCount(), m_RootCont, pos, and x_InsertClient().

Referenced by MoveClientToTab(), x_AddClient(), and x_MoveToDockPos().

bool CWindowManager::x_RegisterClient IWMClient client  )  [protected]
 

Definition at line 1353 of file window_manager.cpp.

References _ASSERT, IWMClient::GetWidget(), CWindowManager::SClientRec::m_bFrame, CWindowManager::SClientRec::m_Client, m_ClientToRec, CWindowManager::SClientRec::m_Container, m_WidgetToClient, and x_GetClientRec().

Referenced by x_AddClient().

void CWindowManager::x_RegisterIcons  )  [protected, virtual]
 

Definition at line 209 of file window_manager.cpp.

References CMenu::GetResourceManager().

Referenced by CWindowManager().

void CWindowManager::x_RemoveClient SClientRec rec  )  [protected]
 

Definition at line 1161 of file window_manager.cpp.

References _VERIFY, CWMDockContainer::eInvalidDockPos, m_ActiveClient, m_ActiveClientTarget, CWindowManager::SClientRec::m_bFrame, CWindowManager::SClientRec::m_Client, CWindowManager::SClientRec::m_Container, CWindowManager::SClientRec::m_DockPos, CWindowManager::SClientRec::m_Panel, m_PrevFocus, IWMContainer::Remove(), CEventHandler::RemoveListener(), CWMCaptionPanel::SetClient(), and x_GetCaptionPanelByClient().

void CWindowManager::x_RemoveClient IWMClient client  )  [protected]
 

Definition at line 1151 of file window_manager.cpp.

References x_GetClientRec().

Referenced by MoveClientToFrame(), MoveClientToTab(), OnMoveToFrame(), x_CloseClient(), x_Maximize(), x_MoveClientToTopLevel(), x_MoveToDockPos(), x_OnPseudoCommand(), x_RestoreMaximized(), and x_WrapClientInTabControl().

void CWindowManager::x_RemoveContainer IWMContainer container  )  [protected]
 

Definition at line 1137 of file window_manager.cpp.

References _ASSERT, m_RootCont, and x_CascadeClose().

Referenced by OnCloseContainer().

void CWindowManager::x_ResetMenu  )  [protected]
 

Regenerate Window Manager's menu and request Frame Window to reset it's menu.

TODO - x_ResetMenu() in some places shall be replaced with UpdateMenu()

Definition at line 1344 of file window_manager.cpp.

References m_FrameWindow, and CFrameWindow::ResetMenu().

Referenced by CloseClient(), and x_AddClient().

void CWindowManager::x_RestoreMaximized  )  [protected]
 

Definition at line 796 of file window_manager.cpp.

References _ASSERT, CWMDockContainer::eCenter, CWMCaptionPanel::eDefaultStyle, IMinMaxClient::eNormal, CWMCaptionPanel::GetClient(), CWMDockContainer::Insert(), IWMContainer::IsAvailable(), m_DockContainer, m_MaximizedPanel, m_RestoreCont, m_RestorePos, m_RootCont, CWMCaptionPanel::SetState(), x_InsertClient(), and x_RemoveClient().

Referenced by ActivateClients(), OnRestoreMaximizedEvt(), x_CloseClient(), x_Maximize(), and x_MoveToDockPos().

void CWindowManager::x_SetActiveClient void   )  [protected, virtual]
 

Definition at line 1690 of file window_manager.cpp.

References m_ActiveClient, m_ActiveClientTarget, m_PrevFocus, x_GetClientByWidget(), and x_GetClientRec().

Referenced by OnFocusChanged(), and x_UpdateActiveClient().

bool CWindowManager::x_UnRegisterClient IWMClient client  )  [protected]
 

Definition at line 1373 of file window_manager.cpp.

References _ASSERT, map_checker< Container >::end(), map_checker< Container >::erase(), map_checker< Container >::find(), IWMClient::GetWidget(), m_ClientToRec, and m_WidgetToClient.

Referenced by x_AddClient(), and x_CloseClient().

void CWindowManager::x_UpdateActiveClient void   )  [protected, virtual]
 

Definition at line 1679 of file window_manager.cpp.

References m_PrevFocus, OnFocusChanged(), and x_SetActiveClient().

Referenced by OnCommand().

bool CWindowManager::x_UpdateDockCommand CWMCaptionPanel panel,
TCmdID  cmd,
ICmdUI cmd_ui
[protected]
 

Definition at line 926 of file window_manager.cpp.

References _ASSERT, eCmdDockCenter, ICmdUI::Enable(), IWMContainer::GetChildPos(), CWMCaptionPanel::GetClient(), CWMDockContainerPos::GetDockPos(), GetPosByCommand(), CWindowManager::SClientRec::m_Container, pos, and x_GetClientRec().

Referenced by OnCaptionPanelUpdateCommand(), and x_OnContainerUpdateCommand().

void CWindowManager::x_UpdateListener IWMClient client  )  [protected]
 

Definition at line 1508 of file window_manager.cpp.

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

Referenced by MoveClientToFrame(), MoveClientToTab(), OnMoveToFrame(), x_MoveClientToTopLevel(), and x_OnPseudoCommand().

bool CWindowManager::x_UpdateMinMaxCommand CWMCaptionPanel panel,
TCmdID  cmd,
ICmdUI cmd_ui
[protected]
 

Definition at line 951 of file window_manager.cpp.

References eCmdCPanelMaximize, eCmdCPanelMinimize, eCmdCPanelRestoreMaximized, eCmdCPanelRestoreMinimized, IMinMaxClient::eMaximized, IMinMaxClient::eMinimized, ICmdUI::Enable(), CWMCaptionPanel::GetClient(), IMinMaxClient::GetState(), and x_GetContainerByWidget().

Referenced by OnCaptionPanelUpdateCommand().

void CWindowManager::x_UpdateWindowsMenu CMenuItem root  )  [protected, virtual]
 

Definition at line 1568 of file window_manager.cpp.

References CMenuItem::AddSubMenu(), map_checker< Container >::clear(), CMenuItem::FindSubItem(), m_CmdToWindow, and CMenuItem::SubItemsEnd().

Referenced by GetMenu(), and UpdateMenu().

CWMTabControl * CWindowManager::x_WrapClientInTabControl IWMContainer cont,
IWMPosition pos
[protected]
 

Definition at line 1793 of file window_manager.cpp.

References IWMContainer::GetChild(), CWMCaptionPanel::GetClient(), IWMContainer::Insert(), pos, CWMTabControl::SetManager(), x_InsertClient(), and x_RemoveClient().


Member Data Documentation

IWMClient* CWindowManager::m_ActiveClient [protected]
 

widget that was previously focused

Definition at line 324 of file window_manager.hpp.

Referenced by GetActiveClient(), x_RemoveClient(), and x_SetActiveClient().

CCommandTarget* CWindowManager::m_ActiveClientTarget [protected]
 

Definition at line 325 of file window_manager.hpp.

Referenced by OnCommand(), x_RemoveClient(), and x_SetActiveClient().

bool CWindowManager::m_bEnableFloating [protected]
 

Definition at line 307 of file window_manager.hpp.

Referenced by x_IsFloatingEnabled().

TClientToRecMap CWindowManager::m_ClientToRec [protected]
 

root IWMContainer

Definition at line 310 of file window_manager.hpp.

Referenced by CloseAllClients(), GetAllClients(), GetMenu(), UpdateMenu(), x_GetClientRec(), x_GetFramedClients(), x_GetMoveFromFrameMenu(), x_GetMoveHereMenu(), x_PutClientInFrame(), x_RegisterClient(), and x_UnRegisterClient().

TCmdToWindowMap CWindowManager::m_CmdToWindow [protected]
 

belonging to focused IWMClient

Definition at line 328 of file window_manager.hpp.

Referenced by OnActivateWindow(), and x_UpdateWindowsMenu().

int CWindowManager::m_DefFrameH [protected]
 

Definition at line 317 of file window_manager.hpp.

Referenced by CWindowManager(), and x_PutClientInFrame().

int CWindowManager::m_DefFrameW [protected]
 

number of generated commands (for current popup)

Definition at line 316 of file window_manager.hpp.

Referenced by CWindowManager(), and x_PutClientInFrame().

CWMDockContainer* CWindowManager::m_DockContainer [protected]
 

Definition at line 330 of file window_manager.hpp.

Referenced by ActivateClients(), AddClientToDock(), LoadSettings(), SaveSettings(), x_CreateRootContainers(), x_Maximize(), x_MoveToDockPos(), and x_RestoreMaximized().

CFrameWindow* CWindowManager::m_FrameWindow [protected]
 

Definition at line 321 of file window_manager.hpp.

Referenced by SetFrameWindow(), and x_ResetMenu().

int CWindowManager::m_FrameX [protected]
 

Definition at line 319 of file window_manager.hpp.

Referenced by CWindowManager(), and x_PutClientInFrame().

int CWindowManager::m_FrameY [protected]
 

Definition at line 319 of file window_manager.hpp.

Referenced by CWindowManager(), and x_PutClientInFrame().

CWMCaptionPanel* CWindowManager::m_MaximizedPanel [protected]
 

Definition at line 334 of file window_manager.hpp.

Referenced by IsMaximized(), x_CloseClient(), x_Maximize(), and x_RestoreMaximized().

int CWindowManager::m_PosIncr [protected]
 

Definition at line 318 of file window_manager.hpp.

Referenced by x_PutClientInFrame().

Fl_Widget* CWindowManager::m_PrevFocus [protected]
 

Definition at line 322 of file window_manager.hpp.

Referenced by OnFocusChanged(), x_RemoveClient(), x_SetActiveClient(), and x_UpdateActiveClient().

int CWindowManager::m_PseudoCmdCount [protected]
 

Definition at line 314 of file window_manager.hpp.

Referenced by GetPopupItems(), and x_GeneratePseudoCommand().

TPseudoCmdMap CWindowManager::m_PseudoCmdMap [protected]
 

Definition at line 313 of file window_manager.hpp.

Referenced by GetPopupItems(), x_GeneratePseudoCommand(), and x_OnPseudoCommand().

string CWindowManager::m_RegPath [protected]
 

Definition at line 338 of file window_manager.hpp.

Referenced by LoadSettings(), SaveSettings(), and SetRegistryPath().

CResourceManager& CWindowManager::m_ResourceManager [protected]
 

Definition at line 305 of file window_manager.hpp.

Referenced by GetResourceManager().

IWMContainer* CWindowManager::m_RestoreCont [protected]
 

Definition at line 336 of file window_manager.hpp.

Referenced by x_Maximize(), and x_RestoreMaximized().

auto_ptr<IWMPosition> CWindowManager::m_RestorePos [protected]
 

Definition at line 335 of file window_manager.hpp.

Referenced by x_Maximize(), and x_RestoreMaximized().

CWMTabControl* CWindowManager::m_RootCont [protected]
 

enable support for floating frames

Definition at line 309 of file window_manager.hpp.

Referenced by GetCaptionPanelMenu(), GetPopupItems(), GetRootWMContainer(), CGBenchWindowManager::InstantiateLayout(), LayoutToUserObject(), OnInsertSplitter(), x_CreateRootContainers(), x_Maximize(), x_MoveClientToTopLevel(), x_PutClientInTab(), x_RemoveContainer(), x_RestoreMaximized(), and ~CWindowManager().

TWidgetToClientMap CWindowManager::m_WidgetToClient [protected]
 

Definition at line 311 of file window_manager.hpp.

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


The documentation for this class was generated from the following files:
Generated on Mon Nov 9 14:48:59 2009 for NCBI C++ ToolKit by  doxygen 1.4.6
Modified on Mon Nov 09 15:48:36 2009 by modify_doxy.py rev. 173732