58 #include <wx/aui/aui.h>
65 "Sequin Desktop View",
66 "sequin_desktop_view",
67 "Create an interactive text representation of data.",
68 "The Sequin Desktop View shows Seq-entry hierarchy.",
69 "SEQUIN_DESKTOP_VIEW",
122 object =
objects[0].object.GetPointer();
123 scope =
objects[0].scope.GetPointer();
131 if (!ws)
return false;
148 IProjectView* projectTextView = srv->FindView(*
object,
"Text View");
149 if (projectTextView) {
201 return s_ViewTypeDescr;
272 sel_srv->GetCurrentSelection(scopedObjects);
285 prjSrv->ShowView(viewName, widgetFactory,
objects, bFloat);
291 if (!desktop_event)
return;
307 bsh = scoped_object.
scope->GetBioseqHandle(*bseq);
333 if (!desktop_event)
return;
342 if (main_object.empty()) {
358 FlatFileCtrl->SetPosition(bsh, objs.front().object.GetPointer());
369 static string sid(
"sequin_desktop_view_factory");
376 static string slabel(
"Sequin Desktop View Factory");
393 return s_ViewTypeDescr;
411 bool found_good =
false;
412 bool found_bad =
false;
420 ||
dynamic_cast<const CBioseq*
>(so)
423 ||
dynamic_cast<const CSeq_id*
>(so))) {
CSeq_entry_Handle GetSeqEntryForSeqdesc(CRef< CScope > scope, const CSeqdesc &seq_desc)
void SetHost(IGuiWidgetHost *host)
CEvent - generic event implementation TODO TODO - Attachments.
CUndoManager & GetUndoManager()
CProjectService - a service providing API for operations with Workspaces and Projects.
void RemoveProjectView(IProjectView &view)
removes the view from View manager Service and disconnects it from the project
virtual void x_ReportInvalidInputData(TConstScopedObjects &objects)
use this function to report incompatible data in InitView()
virtual void OnProjectChanged()
virtual void x_UpdateContentLabel()
virtual objects::CScope * x_GetScope() const
virtual void x_AttachToProject(CGBDocument &doc)
virtual bool x_HasProject() const
EEventSubtype GetSubtype() const
CProjectViewTypeDescriptor - holds description of a project view type.
CSelectionEvent CSelectionEvent is used for broadcasting selection between views.
void GetAllObjects(TConstObjects &objs) const
void GetOther(TConstObjects &objs) const
bool AddObjectSelection(const CObject &obj)
virtual bool InitWidget(TConstScopedObjects &objects)
virtual void DataChanged()
virtual void GetSelectedObjects(TConstObjects &objects) const
virtual void SetUndoManager(ICommandProccessor *cmdProccessor)
virtual void DataChanging()
CDesktopCanvas * GetWidget() const
virtual void SetHost(IGuiWidgetHost *host)
virtual const CObject * GetOrigObject() const
void GetMainObjects(TConstScopedObjects &objs) const
virtual void SetSelectedObjects(const TConstObjects &objects)
namespace ncbi::objects::
Base class for all serializable objects.
void SetTrackSelection(bool trackSelection)
CTextItemPanel * GetWidget() const
CUICommandRegistry is a centralized registry where all application commands should be registered.
@ eWidgetSelectionChanged
a view has been destroyed
CViewTypeDescriptor - holds description of a view type.
virtual const CViewTypeDescriptor & GetViewTypeDescriptor() const
returns a Descriptor for the View Type supported by the Factory
class IProjectView defines the abstract interface for views observing projects.
IView - represents a standard visual part of Workbench UI.
CFingerprint identifies an instance of IWMClient and is used for labeling layout positions.
virtual wxWindow * GetWindow()=0
returns a pointer to the wxWindow representing the client
virtual void RegisterFileAlias(const wxArtID &anId, const wxArtClient &aClient, const wxSize &aSize, const wxString &aName, long aType=wxBITMAP_TYPE_ANY, int anIndex=-1)
static const struct name_t names[]
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
virtual void GetCompatibleToolBars(vector< string > &names)
returns the names of toolbars compatible with this class (toolbars that are relevant and useful in th...
virtual const CObject * x_GetOrigObject() const
CIRef< T > GetServiceByType()
retrieves a typed reference to a service, the name of C++ type is used as the name of the service.
objects::CBioseq_Handle GetBioseqForSeqFeat(const objects::CSeq_feat &f, objects::CScope &scope)
virtual void DestroyViewWindow()
destroy Window corresponding to the view
virtual void RegisterIconAliases(wxFileArtProvider &provider)
called by the framework to give Factory a chance to register images used by view
virtual wxEvtHandler * GetCommandHandler()
IWMClient implementation.
void x_OnSingleMouseClick(CEvent *event)
Scrolls to the corresponding item in the Flat File View and selects it.
virtual int TestInputObjects(TConstScopedObjects &objects)
tests input objects (not using object conversion) and returns a combination of ETestResult flags bett...
virtual void WidgetActivated()
virtual string GetExtensionIdentifier() const
CSequinDesktopViewFactory.
virtual void ShowView(const string &viewName, FWindowFactory widgetFactory, TConstScopedObjects &objects, bool bFloat)
virtual bool InitView(TConstScopedObjects &objects, const objects::CUser_object *params)
initialize view with data, inside this function the view must call CProjectService::AttachView to con...
virtual void RegisterCommands(CUICommandRegistry &cmd_reg, wxFileArtProvider &provider)
called by the framework to give Factory a chance to register commands used by view
virtual void GetSelection(CSelectionEvent &evt) const
get selection for broadcasting
virtual const wxMenu * GetMenu()
returns a menu (must be deleted by the caller) menu injections should follow a separator named "Contr...
virtual void CreateViewWindow(wxWindow *parent)
create Window corresponding to the view
virtual void WidgetSelectionChanged()
virtual IView * CreateInstanceByFingerprint(const TFingerprint &fingerprint) const
if fingerprint is recognized - creates and returns a new instance
virtual void GetAppSelection(TConstObjects &objects)
virtual string GetExtensionLabel() const
returns a displayable label for this extension ( please capitalize the key words - "My Extension" )
virtual void CloseWidget()
IGuiWidgetHost implementation.
CSeqDesktopPanel * m_Window
virtual const CProjectViewTypeDescriptor & GetProjectViewTypeDescriptor() const
returns a Descriptor for the View Type supported by the Factory
virtual void GetMainObject(TConstScopedObjects &objs) const
Adds the main data objects represented by the client to "objects".
virtual wxWindow * GetWindow()
returns a pointer to the wxWindow representing the client
virtual const CViewTypeDescriptor & GetTypeDescriptor() const
return an object providing meta information about thei view type
void x_OnRefreshData(CEvent *event)
virtual void x_OnSetSelection(CSelectionEvent &evt)
override in derived classes in order to handle selection broadcast
virtual void OnWidgetCommand(const string &command)
virtual IView * CreateInstance() const
creates a view instance
CRef< objects::CScope > scope
vector< CConstRef< CObject > > TConstObjects
virtual const string & GetIconAlias() const
#define ON_EVENT(type, id, handler)
#define END_EVENT_MAP()
Ends definition of Command Map.
CConstRef< CObject > object
#define BEGIN_EVENT_MAP(thisClass, baseClass)
Begins definition of Command Map for CEventHandler-derived class.
virtual void AddListener(CEventHandler *listener, int pool_name=ePool_Default)
Add a listener.
vector< SConstScopedObject > TConstScopedObjects
virtual bool Send(CEvent *evt, EDispatch disp_how=eDispatch_Default, int pool_name=ePool_Default)
Sends an event synchronously.
@ eEvent_Message
message from one class to another
TObjectType * GetPointer(void) const THROWS_NONE
Get pointer,.
TObjectType * GetPointerOrNull(void) THROWS_NONE
Get pointer value.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
@ eMol_na
just a nucleic acid
void GetViewObjects(IWorkbench *workbench, TConstScopedObjects &objects)
static CBioseq_Handle s_GetAccession(SConstScopedObject &scoped_object)
wxString ToWxString(const string &s)