NCBI C++ ToolKit
gui_widget.hpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 #ifndef GUI_WIDGETS_WX___GUI_WIDGET_HPP
2 #define GUI_WIDGETS_WX___GUI_WIDGET_HPP
3 
4 /* $Id: gui_widget.hpp 31197 2014-09-10 19:31:59Z katargir $
5  * ===========================================================================
6  *
7  * PUBLIC DOMAIN NOTICE
8  * National Center for Biotechnology Information
9  *
10  * This software/database is a "United States Government Work" under the
11  * terms of the United States Copyright Act. It was written as part of
12  * the author's official duties as a United States Government employee and
13  * thus cannot be copyrighted. This software/database is freely available
14  * to the public for use. The National Library of Medicine and the U.S.
15  * Government have not placed any restriction on its use or reproduction.
16  *
17  * Although all reasonable efforts have been taken to ensure the accuracy
18  * and reliability of the software and data, the NLM and the U.S.
19  * Government do not and cannot warrant the performance or results that
20  * may be obtained by using this software or data. The NLM and the U.S.
21  * Government disclaim all warranties, express or implied, including
22  * warranties of performance, merchantability or fitness for any particular
23  * purpose.
24  *
25  * Please cite the author in any work or product based on this material.
26  *
27  * ===========================================================================
28  *
29  * Authors: Roman Katargin
30  *
31  * File Description:
32  *
33  */
34 
35 #include <corelib/ncbiobj.hpp>
36 #include <gui/objutils/objects.hpp>
37 
38 class wxString;
39 class wxWindow;
40 
42 
43 class ICommandProccessor;
44 
45 typedef wxWindow* (*FWindowFactory)(wxWindow*);
46 
48 {
49 public:
50  virtual ~IGuiWidgetHost() {}
51 
52  virtual void CloseWidget() = 0;
53  virtual void WidgetSelectionChanged() = 0;
54  virtual void WidgetActivated() = 0;
55  virtual void GetAppSelection(TConstObjects& /*objects*/) {}
56  virtual void OnWidgetCommand(const string& command) = 0;
57  virtual void ShowView(const string& viewName, FWindowFactory widgetFactory, TConstScopedObjects& objects, bool bFloat) = 0;
58 };
59 
61 {
62 public:
63  virtual ~IGuiWidget() {}
64 
65  virtual void SetHost(IGuiWidgetHost* host) = 0;
67  virtual const CObject* GetOrigObject() const { return 0; }
68  virtual void SetWidgetTitle(const wxString& /*title*/) {}
69  virtual void SetClosing() {}
70 
71  // Selection
72  virtual void GetSelectedObjects (TConstObjects& /*objects*/) const {}
73  virtual void SetSelectedObjects (const TConstObjects& /*objects*/) {}
74 
75  // Data
76  virtual void SetUndoManager(ICommandProccessor* cmdProccessor) = 0;
77  virtual void DataChanging() {}
78  virtual void DataChanged() {}
79 
80  // Objects for action
81  virtual void GetActiveObjects(vector<TConstScopedObjects>& objects) = 0;
82 };
83 
85 
86 #endif // GUI_WIDGETS_WX___GUI_WIDGET_HPP
CObject –.
Definition: ncbiobj.hpp:180
Undo/Redo interface for editing operations.
virtual void WidgetActivated()=0
virtual void GetAppSelection(TConstObjects &)
Definition: gui_widget.hpp:55
virtual void ShowView(const string &viewName, FWindowFactory widgetFactory, TConstScopedObjects &objects, bool bFloat)=0
virtual void OnWidgetCommand(const string &command)=0
virtual void CloseWidget()=0
virtual ~IGuiWidgetHost()
Definition: gui_widget.hpp:50
virtual void WidgetSelectionChanged()=0
virtual void SetClosing()
Definition: gui_widget.hpp:69
virtual void DataChanging()
Definition: gui_widget.hpp:77
virtual void SetUndoManager(ICommandProccessor *cmdProccessor)=0
virtual void GetSelectedObjects(TConstObjects &) const
Definition: gui_widget.hpp:72
virtual void SetSelectedObjects(const TConstObjects &)
Definition: gui_widget.hpp:73
virtual void GetActiveObjects(vector< TConstScopedObjects > &objects)=0
virtual void SetWidgetTitle(const wxString &)
Definition: gui_widget.hpp:68
virtual bool InitWidget(TConstScopedObjects &objects)=0
virtual ~IGuiWidget()
Definition: gui_widget.hpp:63
virtual void DataChanged()
Definition: gui_widget.hpp:78
virtual void SetHost(IGuiWidgetHost *host)=0
virtual const CObject * GetOrigObject() const
Definition: gui_widget.hpp:67
vector< CConstRef< CObject > > TConstObjects
Definition: objects.hpp:64
vector< SConstScopedObject > TConstScopedObjects
Definition: objects.hpp:65
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
wxWindow *(* FWindowFactory)(wxWindow *)
Definition: gui_widget.hpp:45
Portable reference counted smart and weak pointers using CWeakRef, CRef, CObject and CObjectEx.
const char * command
Modified on Sat Dec 02 09:21:26 2023 by modify_doxy.py rev. 669887