NCBI C++ ToolKit
|
Search Toolkit Book for IEditObject
GUI editing interface. More...
#include <gui/widgets/edit/edit_object.hpp>
Public Member Functions | |
virtual | ~IEditObject () |
virtual wxWindow * | CreateWindow (wxWindow *parent)=0 |
creates a child (not top level) windows that can contain whatever controls/subwindows etc. More... | |
virtual IEditCommand * | GetEditCommand ()=0 |
After placing the window in the Edit Object Dialog ShowModal() method of the dialog is called. More... | |
virtual bool | CanClose () |
GUI editing interface.
Implementations of this interface needs to register with CInterfaceRegistry (Example: edit_object_seq_feat.cpp implements CEditObjectSeq_feat for CSeq_feat) Declarations if objects used in Interface Registry are in file interface_registry.hpp
When we want to use the interface and we have C++Toolkit object and CScope we request interface via CreateObjectInterface<IEditObject>( TConstScopedObject obj, NULL). (Example: CProjectView::OnEditSelection(), file project_view_impl.cpp). If the interface is registered for this C++Toolkit class we get it and use it.
Definition at line 62 of file edit_object.hpp.
|
inlinevirtual |
Definition at line 65 of file edit_object.hpp.
|
inlinevirtual |
Reimplemented in CEditObjectSeq_feat.
Definition at line 80 of file edit_object.hpp.
|
pure virtual |
creates a child (not top level) windows that can contain whatever controls/subwindows etc.
needed to edit an object. This window is placed in a placeholder of Edit Object Dialog (top level window). In the future we can present this window somewhere else (GBench view for example).
Implemented in CEditObjectSubmit_block, CEditObjectSet, CEditObjectSeq_feat, CEditObjectSeq_desc, and CEditObjectFeaturePropagate.
|
pure virtual |
After placing the window in the Edit Object Dialog ShowModal() method of the dialog is called.
If OK button is called the second method of IEditObject dialog is called which returns object derived from IEditCommand. This object implements actual modifications of original object in the Project/Document via Execute() method.
Implemented in CEditObjectSubmit_block, CEditObjectSet, CEditObjectSeq_feat, CEditObjectSeq_desc, and CEditObjectFeaturePropagate.