60 #include <wx/msgdlg.h>
61 #include <wx/toolbar.h>
79 SetDataObject(
new wxFileDataObject);
82 virtual wxDragResult
OnData(wxCoord x, wxCoord y, wxDragResult def)
87 wxFileDataObject* dobj = (wxFileDataObject *)m_dataObject;
89 if(dobj && (def == wxDragMove || def == wxDragCopy)) {
90 wxArrayString
filenames = dobj->GetFilenames();
95 string s =
"The following files were dropped into the application:";
96 for(
size_t i = 0;
i <
names.size();
i++ ) {
140 m_DiagnosticsTesting(
true),
161 return "GUI Framework Demo";
483 vector<IWMClient*> clients;
504 _(
"Stop Diagnostics Testing") :
_(
"Start Diagnostics Testing");
511 static int counter = 1;
512 int val = (rand()%7);
516 wxLogDebug(
wxT(
"wxWidgets Debug %d"), counter);
519 wxLogMessage(
wxT(
"wxWidgets Info %d"), counter);
522 wxLogWarning(
wxT(
"wxWidgets Warning %d"), counter);
525 wxLogError(
wxT(
"wxWidgets Error %d"), counter);
534 diag <<
"NCBI Trace " << counter << Endm;
538 diag <<
"NCBI Info " << counter << Endm;
542 diag <<
"NCBI Warning " << counter << Endm;
546 diag <<
"NCBI Error " << counter << Endm;
588 for(
size_t i = 0;
i < clients.size();
i++ ) {
600 LOG_POST(
Info <<
"CFrameworkDemoGUI::OnClientAboutToClose()");
606 LOG_POST(
Info <<
"CFrameworkDemoGUI::OnClientClosed()");
612 LOG_POST(
Info <<
"CFrameworkDemoGUI::OnActiveClientChanged()");
696 long style = wxTB_HORIZONTAL | wxTB_FLAT | wxTB_TEXT | wxTB_HORZ_LAYOUT | wxTB_NODIVIDER;
697 wxAuiToolBar* toolbar =
new wxAuiToolBar(parent,
wxID_ANY, wxDefaultPosition, wxDefaultSize, style);
698 toolbar->SetMargins(4, 4);
705 wxArtProvider::GetBitmap(
wxT(
"menu::zoom_all")));
CFrameworkDemoGUIDropTarget.
CFrameworkDemoGUIDropTarget(CFrameworkDemoGUI &gui)
virtual wxDragResult OnData(wxCoord x, wxCoord y, wxDragResult def)
CFrameworkDemoGUI & m_GUI
wxWindow * x_GetMainWindow()
void OnCloseViewClick(wxCommandEvent &event)
void OnRestoreLayoutUpdate(wxUpdateUIEvent &event)
void OnCreateOpenglViewClick(wxCommandEvent &event)
void ActivateClient(IWMClient *client)
virtual void PostInit()
called after Workbench initialization has been completed
virtual void PreShutDown()
called by Workbench before starting ShutDown
void x_ShowSingletonView(const string &view_ui_name)
void OnSaveLayoutUpdate(wxUpdateUIEvent &event)
void OnShowDiagnosticsConsoleClick(wxCommandEvent &event)
virtual void OnActiveClientChanged(IWMClient *new_active)
called when Active Client is changed (i.e. focus goes into another client)
virtual string GetAppTitle()
get application title
void OnCreateEventViewClick(wxCommandEvent &event)
virtual bool CanShutDown()
virtual void PostCreateWindow()
called by Workbench after creating main app window
void OnCloseAllViewsClick(wxCommandEvent &event)
void OnTestStatusProgressUpdate(wxUpdateUIEvent &event)
bool m_DiagnosticsTesting
void OnTestDiagPanelClick(wxCommandEvent &event)
virtual void OnCloseClientsRequest(const TClients &clients)
indicates that user requested closing the following clients (by pressing a "close" button,...
virtual void OnClientAboutToClose(IWMClient &client)
called before removing the client
void OnCreateClockViewClick(wxCommandEvent &event)
void x_RegisterCommands()
virtual void SetWorkbench(IWorkbench *workbench)
void OnCreateTaskViewClick(wxCommandEvent &event)
void OnDiagnosticsTimer(wxTimerEvent &event)
void OnRestoreLayoutClick(wxCommandEvent &event)
void OnTestStatusProgress(wxCommandEvent &event)
virtual void OnClientClosed(IWMClient &client)
called after the client has been removed
void x_AddClient(IWMClient *client)
CRef< objects::CUser_object > m_Layout
virtual void RestoreWindowLayout()
virtual void SetRegistryPath(const string &path)
void OnSaveLayoutClick(wxCommandEvent &event)
void x_AddView(const string &view_ui_name)
void OnTestDiagPanelUpdate(wxUpdateUIEvent &event)
virtual string GetFloatingFrameTitle(int index)
returns the title for the floating frames created by the Window Manager
void OnStatusTimer(wxTimerEvent &event)
virtual void PreDestroyWindow()
called by Workbench before destroying main app window
static CGuiRegistry & GetInstance()
access the application-wide singleton
CRegistryReadView GetReadView(const string §ion) const
get a read-only view at a particular level.
class CRegistryReadView provides a nested hierarchical view at a particular key.
CConstRef< objects::CUser_field > GetField(const string &key) const
provide raw field access
CUICommandRegistry is a centralized registry where all application commands should be registered.
static CUICommandRegistry & GetInstance()
the main instance associated with the application
wxMenu * CreateMenu(const SwxMenuItemRec *items)
create a menu from a static definition (see WX_*_MENU macros)
int RegisterCommand(CUICommand *cmd)
assumes ownership of the given object returns a command id (useful when registry is used for auto id ...
IViewManagerService IViewManagerService manages views in Workbench.
IView - represents a standard visual part of Workbench UI.
IWMClientFactory - IWMClient factory.
IWClient - abstract Window Manager client.
vector< IWMClient * > TClients
IWindowManagerService Window Manager Service provides access to Window Manager functionality.
IWorkbench is the central interface in the application framework.
virtual void RegisterFileAlias(const wxArtID &anId, const wxArtClient &aClient, const wxSize &aSize, const wxString &aName, long aType=wxBITMAP_TYPE_ANY, int anIndex=-1)
Include a standard set of the NCBI C++ Toolkit most basic headers.
static const struct name_t names[]
#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 Trace(CExceptionArgs_Base &args)
void Warning(CExceptionArgs_Base &args)
void Info(CExceptionArgs_Base &args)
virtual wxFrame * GetMainWindow()=0
returns a pointer to the main application frame window
virtual void HideStatusProgress()=0
virtual IToolBarService * GetToolBarService()=0
virtual void RegisterFactory(IViewFactory &factory)=0
assumes ownership of the factory
virtual IMenuService * GetMenuService()=0
virtual CUICommandRegistry & GetUICommandRegistry()=0
returns an instance of Command Registry associated with the Workbench
virtual void AddToWorkbench(IView &view, bool bFloat=false)=0
adds view to Workbench and connects to the services the view must be already initialized
virtual void SetStatusMessage(const string &msg)=0
virtual void LoadLayout(const objects::CUser_object &layout, IWMClientFactory &factory)=0
creates a new window layout based on description in the given CUser_object creates clients using IWMC...
virtual void RemoveFromWorkbench(IView &view)=0
disconnects view from services and removes from the Workbench
virtual IStatusBarService * GetStatusBarService()=0
virtual void ShowStatusProgress(int value, int range)=0
virtual void AddToolBarFactory(IToolBarContributor *factory)=0
the service assumes ownership of the given factory (will delete it)
virtual wxFileArtProvider & GetFileArtProvider()=0
virtual void RemoveContributor(IMenuContributor *contributor)=0
virtual CIRef< IView > CreateViewInstance(const string &type_ui_name)=0
create a view instance of the specified type
virtual void AddContributor(IMenuContributor *contributor)=0
the service does NOT assume ownership of the contributor
virtual IViewManagerService * GetViewManagerService()=0
virtual IWindowManagerService * GetWindowManagerService()=0
virtual void ResetMenuBar()=0
virtual void GetAllClients(TClients &clients)=0
returns a list of all registered IWMClients
virtual void CloseClient(IWMClient &client)=0
remove client(s) from Window Manager these functions do not disconnect clients from other services
virtual IWMClient * GetActiveClient()=0
returns Active client (i.e. client that has focus)
virtual objects::CUser_object * SaveLayout()=0
saves current window layout to CUser_object
virtual void ActivateClient(IWMClient &client)=0
makes client visible and focused
virtual void CloseAllClients()=0
virtual void SetAdvisor(IWindowManagerAdvisor *advisor)=0
the service does not assume ownership of the given object
virtual CIRef< IView > GetSingletonView(const string &singleton_ui_name)=0
returns a pointer singleton view if it already exists in workbench or NULL
void Reset(void)
Reset reference object.
bool NotEmpty(void) const THROWS_NONE
Check if CRef is not empty – pointing to an object and has a non-null value.
TObjectType & GetObject(void) const
Get object.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static int const kDiagTimerID
static const char * kDefLayoutTag
static int const kStatusTimerID
static const char * kTBViews
static void text(MDB_val *v)
Defines: CTimeFormat - storage class for time format.
ViewerWindowBase::OnEditMenu ViewerWindowBase::OnJustification EVT_MENU(MID_SHOW_GEOM_VLTNS, ViewerWindowBase::OnShowGeomVltns) EVT_MENU(MID_FIND_PATTERN
static CNamedPipeClient * client
Pool of generic task-executing threads.
#define WX_DEFINE_MENU(name)
New macros for defining menus for use with CUICommandRegistry.
#define WX_SUBMENU(label)
#define WX_MENU_SEPARATOR_L(label)
#define WX_MENU_ITEM(cmd)
#define WX_MENU_CHECK_ITEM(cmd)
void FromArrayString(const wxArrayString &in, vector< string > &out)
wxString ToWxString(const string &s)