43 : m_WindowManager(
NULL),
244 if(factory ==
NULL) {
245 ERR_POST(
"CToolBarService::AddToolBarFactory() - NULL factory");
247 TToolBarFactories::const_iterator it =
255 "factory already registered");
265 TToolBarFactories::iterator it =
269 ERR_POST(
"CWorkbench::RemoveToolBarFactory() - "
270 "factory is not registered");
289 static const char* kFunc =
"CWindowManagerService::AddToolBarContext()";
298 vector<string> new_names;
299 context->GetCompatibleToolBars(new_names);
302 for(
size_t i = 0;
i < new_names.size();
i++ ) {
303 const string& name = new_names[
i];
319 static const char* kFunc =
"CWindowManagerService::RemoveToolBarContext()";
327 vector<string>
names;
331 for(
size_t i = 0;
i <
names.size();
i++ ) {
332 const string& name =
names[
i];
336 if(n_it->second == 1) {
354 LOG_POST(
Info <<
"CWindowManagerService::x_ShowToolBar() " << name <<
" " << show);
359 if(is_shown != show) {
366 vector<string>
names;
368 vector<string>::iterator it_n =
370 if(it_n !=
names.end()) {
379 LOG_POST(
Error <<
"Window Manager Service - cannot create toolbar \""
380 << name <<
" - factory is not found");
static string MakeKey(const string §ion, const string &key, const string &delim=CGuiRegistry::kDecimalDot)
create a key from a section and a subkey
CWindowManager - component controlling windowing of client windows.
bool HasToolBar(const string &name)
bool CloseClient(IWMClient &client)
virtual const wxMenu * GetMenu()
static void RegisterImageAliases(wxFileArtProvider &provider)
registers graphical resources used by Window Manager
void DeleteToolBar(const string &name)
virtual void SetAdvisor(IWindowManagerAdvisor *advisor)
virtual void SetMenuListener(IWindowManagerMenuListener *listener)
void RegisterActiveClient(IWMClient &client)
virtual void SetRegistryPath(const string ®_path)
void UnRegisterActiveClient(IWMClient &client)
void ActivateClient(IWMClient &client)
void GetAllClients(TClients &clients)
CDockManager * GetDockManager()
void LoadLayout(const objects::CUser_object &layout, IWMClientFactory &factory)
void CloseClients(const TClients &clients)
void RaiseFloatingWindowsInZOrder()
void AddToolBar(wxAuiToolBar *toolbar)
wxFrame * MoveToFloatingFrame(IWMClient &client)
IWMClient * GetActiveClient()
virtual bool ProcessEvent(wxEvent &event)
void ActivateClients(TClients &clients)
objects::CUser_object * SaveLayout()
virtual bool Create(wxWindow *parent, wxWindowID id, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize)
void ApplyLayout(const objects::CUser_object &layout)
wxFrame * GetFrameWindow()
virtual bool AddClient(IWMClient &client, bool bFloat)
adds the client to the Main Tabbed Pane
void RefreshClient(IWMClient &client)
CWorkbenchFrame Main Application Frame for Workbench-based applications.
IToolBarContext - represent a UI object that requires toolbars.
IWMClientFactory - IWMClient factory.
IWClient - abstract Window Manager client.
container_type::iterator iterator
const_iterator end() const
const_iterator find(const key_type &key) const
iterator_bool insert(const value_type &val)
parent_type::iterator iterator
const_iterator find(const key_type &key) const
const_iterator end() const
parent_type::const_iterator const_iterator
static const struct name_t names[]
double wf(double lambda, double D_LR, double D_LU, double D_LD, double D_RU, double D_RD, double D_DU)
#define NON_CONST_ITERATE(Type, Var, Cont)
Non constant version of ITERATE macro.
#define ERR_POST(message)
Error posting with file, line number information but without error codes.
#define LOG_POST(message)
This macro is deprecated and it's strongly recomended to move in all projects (except tests) to macro...
void Error(CExceptionArgs_Base &args)
void Info(CExceptionArgs_Base &args)
virtual void RegisterActiveClient(IWMClient &client)
vector< IToolBarContributor * > TToolBarFactories
TToolBarFactories m_ToolBarFactories
virtual void AddToolBarFactory(IToolBarContributor *factory)
the service assumes ownership of the given factory (will delete it)
virtual IWMClient * GetActiveClient()
returns Active client (i.e. client that has focus)
virtual void CloseClients(const TClients &clients)
virtual void DeleteToolBarFactory(IToolBarContributor *factory)
forces deleting of the factory
virtual void ActivateClients(TClients &clients)
makes clients visible, make the first client in the given container focused
CWindowManager * m_WindowManager
virtual void AddClient(IWMClient &client, bool bFloat)
places the given IWMClient in the Main Tabbed Pane in Window Manager
virtual void x_ShutDownToolBars()
virtual void LoadLayout(const objects::CUser_object &layout, IWMClientFactory &factory)
creates a new window layout based on description in the given CUser_object creates clients using IWMC...
virtual void RaiseFloatingWindowsInZOrder()
Raise all floating windows to preserve/refresh z-order.
virtual objects::CUser_object * SaveLayout()
saves current window layout to CUser_object
IMenuService * m_MenuService
virtual void x_ShowToolBar(const string &name, bool show)
virtual void SetRegistryPath(const string &path)
virtual void RefreshClient(IWMClient &client)
refresh client UI (title)
TTBNameToCount m_TBNameToCount
holds a map of toolbar names declared by registered contexts toolbar name -> context count
vector< IWMClient * > TClients
virtual void CloseAllClients()
virtual void ShutDownService()
bool OnCommandEvent(wxCommandEvent &event)
TToolBarContexts m_ToolBarContexts
holds registered toolbar contexts
virtual void CloseClient(IWMClient &client)
remove client(s) from Window Manager these functions do not disconnect clients from other services
virtual void ResetMenuBar()=0
virtual void AddToolBarContext(IToolBarContext *context)
register toolbar context the service does NOT assume ownership of the context
virtual wxFrame * MoveToFloatingFrame(IWMClient &client)
virtual void SetAdvisor(IWindowManagerAdvisor *advisor)
the service does not assume ownership of the given object
virtual void SetMenuService(IMenuService *service)
virtual void LoadSettings()
virtual void SaveSettings() const
virtual void GetAllClients(TClients &clients)
returns a list of all registered IWMClients
virtual void SetFrame(wxFrame *frame)
virtual ~CWindowManagerService()
virtual bool IsDragging() const
Returns true if a drag operation is currently in progress.
virtual void ApplyLayout(const objects::CUser_object &layout)
virtual const wxMenu * GetMenu()
returns a menu (must be deleted by the caller) menu injections should follow a separator named "Contr...
virtual void InitService()
virtual void ActivateClient(IWMClient &client)
makes client visible and focused
virtual void UpdateMenuBar()
virtual void UnRegisterActiveClient(IWMClient &client)
virtual void RemoveToolBarContext(IToolBarContext *context)
unregister toolbar context
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
double r(size_t dimension_, const Int4 *score_, const double *prob_, double theta_)
static CNamedPipeClient * client
static CS_CONTEXT * context
wxFileArtProvider * GetDefaultFileArtProvider()
wxMenu * CloneMenu(const wxMenu &menu)
create a copy of the given menu