m_SelectionService(
NULL),
152m_VisibleRangeChangeAllowed(
true),
153m_ResetHistAsync(
true)
174vector<IOpenProjectViewExtension*> clients;
176 ITERATE(vector<IOpenProjectViewExtension*>, it, clients) {
320sel_srv->AttachClient(
this);
324sel_srv->DetachClient(
this);
367wxWindow* focused = wxWindow::FindFocus();
369wxWindow* wid = focused;
370 while(wid !=
NULL&& wid != base_win) {
371wid = wid->GetParent();
374wid = (wid ==
NULL) ? base_win : focused;
376 returnwid->GetEventHandler();
383 if(content.length() > 70) {
384string::size_type pos = content.find_last_of(
" \t\n\r", 70);
385 if(pos != string::npos) {
399 for(
size_t i= 1;
i< content.size(); ++
i) {
400 charc = content[
i];
514 stringtitle = view_name +
" - Incompatible Data";
518 const CObject* obj = it->object.GetPointer();
519 CScope* scope = it->scope;
523s +=
"\" cannot be shown in "+ view_name +
".";
530 _TRACE(
"CProjectViewBase::x_CreateMenuBarMenu() - override in derived classes");
579 _TRACE(
typeid(
this).name() <<
" - not yet moved: OnProjectChanged( event )");
659 size_t id=
GetId();
661 charc =
'A'+
id% 26;
665std::reverse(
str.begin(),
str.end());
694 if(sub->IsSetData()) {
696 if(
data.IsEntrys()) {
697 for(
const auto& se :
data.GetEntrys()) {
760 longstyle = wxAUI_TB_HORZ_LAYOUT | wxBORDER_NONE;
762wxAuiToolBar* toolbar =
newwxAuiToolBar(parent,
wxID_ANY, wxDefaultPosition,
763wxDefaultSize, style);
766toolbar->SetToolBitmapSize(wxSize(16, 16));
772toolbar->AddSeparator();
786 longstyle = wxAUI_TB_HORZ_LAYOUT | wxBORDER_NONE;
788wxAuiToolBar* toolbar =
newwxAuiToolBar(parent,
wxID_ANY, wxDefaultPosition,
789wxDefaultSize, style);
791toolbar->SetToolBitmapSize(wxSize(16, 16));
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
CAppJobProgress Default implementation for IAppJobProgress - the class encapsulates a text message an...
CAppJobTask CAppJobTask is an adapter that allows for running IAppJobs as Tasks in App Task Service.
CAppTaskService - Application Task Service.
CAtomicCounter_WithAutoInit â.
CEvent - generic event implementation TODO TODO - Attachments.
void x_DetachView(IProjectView *view)
detach a view from the current document
void x_AttachView(IProjectView *view)
Attach a view to the current document.
void ViewLabelChanged(IProjectView &view)
Base class to build jobs with cancel functionality.
CProjectService - a service providing API for operations with Workspaces and Projects.
CRef< objects::CGBWorkspace > GetGBWorkspace()
CProjectViewBase - default implementation of IProjectView, the base class for CProjectView and CProje...
virtual void x_ReportInvalidInputData(TConstScopedObjects &objects)
use this function to report incompatible data in InitView()
virtual const CRgbaColor * GetColor() const
returns a color associated with the client, n/a if NULL
virtual ~CProjectViewBase()
virtual void OnProjectChanged()
virtual void x_CreateMenuBarMenu()
initializes m_MenuBarMenu; override in derived classes
static CIRef< IProjectViewLabel > m_LabelGenerator
virtual void SetColor(const CRgbaColor &color)
returns a color associated with the client
virtual void x_UpdateContentLabel()
CRef< objects::CScope > m_Scope
virtual const wxMenu * GetMenu()
returns a menu (must be deleted by the caller) menu injections should follow a separator named "Contr...
virtual string GetSelClientLabel()
returns a string identifying the client in UI
virtual void OnViewReleased(IView &view)
virtual CRef< objects::CScope > GetScope() const
CRgbaColor m_Color
the selection service we speak to
virtual void SetWorkbench(IWorkbench *workbench)
IView implementation.
virtual void DestroyView()
disconnects view from the project and associated data
unique_ptr< const wxMenu > m_MenuBarMenu
virtual void GetCompatibleToolBars(vector< string > &names)
returns the names of toolbars compatible with this class (toolbars that are relevant and useful in th...
virtual string GetClientLabel(IWMClient::ELabel ltype=IWMClient::eDefault) const
returns the client label (name) to be displayed in UI
virtual string GetLabel(ELabelType type) const
returns name of the plug-in created this view (view class name)
virtual objects::CScope * x_GetScope() const
virtual const CViewTypeDescriptor & GetTypeDescriptor() const =0
return an object providing meta information about thei view type
virtual void x_AttachToProject(CGBDocument &doc)
virtual string GetContentLabel() const
overloadable hook for derived classes to customize the content aspect of a view's title.
virtual string GetIconAlias() const
returns an icon alias that can be used to retrieve the client's icon
virtual void OnSelectionChanged(const TConstScopedObjects &sels)
virtual CFingerprint GetFingerprint() const
returns a fingerprint identifying the client
TId GetId() const
retrieve a unique ID for this view
virtual IServiceLocator * GetServiceLocator() const
void eh_OnViewAttached(CEvent *event)
static void SetLabelGenerator(IProjectViewLabel *labelGenerator)
virtual wxEvtHandler * GetCommandHandler()
IWMClient implementation.
virtual void RefreshViewWindow()
void eh_OnViewReleased(CEvent *event)
virtual wxWindow * GetWindow()=0
returns a pointer to the wxWindow representing the client
void eh_OnProjectChanged(CEvent *event)
private, non-virtual event handlers.
virtual TProjectId GetProjectId() const
virtual void InitialLayout()
called when view creation is completed and view size is known
virtual bool x_HasProject() const
virtual void SetFingerprint(const string &fp)
virtual void x_DetachFromProject()
virtual void OnViewAttached(IView &view)
virtual const CObject * x_GetOrigObject() const
objects::CGBProjectHandle::TId GetProjectId()
CIRef< IProjectView > GetProjectView()
Job to reset scope history in the background.
CRef< CAppJobError > m_Error
virtual EJobState Run()
Function that does all the useful work, called by the Engine.
CResetScopeHistoryJob(objects::CScope *scope, const string &name)
virtual string GetDescr() const
Returns a human readable description of the Job (optional)
virtual CConstIRef< IAppJobError > GetError()
Returns IAppJobError object describing internal error that caused the Job to fail.
CRef< objects::CScope > m_Scope
virtual CRef< CObject > GetResult()
Returns the Job Result.
virtual CConstIRef< IAppJobProgress > GetProgress()
return progress object, the function shall be synchronized internally.
class CRgbaColor provides a simple abstraction for managing colors.
CUICommandRegistry is a centralized registry where all application commands should be registered.
static CUICommandRegistry & GetInstance()
the main instance associated with the application
void AppendTool(wxToolBar &tool_bar, TCmdID cmd_id)
ELabelType
Retrieve a label for this view. The label has several different.
objects::CGBProjectHandle::TId TProjectId
IServiceLocator - an abstract mechanism for locating services.
IToolBarContext - represent a UI object that requires toolbars.
virtual void SaveSettingsAtProject(objects::CGBProjectHandle &project) const =0
IView - represents a standard visual part of Workbench UI.
CFingerprint identifies an instance of IWMClient and is used for labeling layout positions.
IWClient - abstract Window Manager client.
ELabel
Different flavors of label types for different GUI aspects.
@ eContent
Short name with content.
@ eTypeAndContent
Short name with content and type.
IWindowManagerService Window Manager Service provides access to Window Manager functionality.
IWorkbench is the central interface in the application framework.
static const struct name_t names[]
static const char * str(char *buf, int n)
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define NON_CONST_ITERATE(Type, Var, Cont)
Non constant version of ITERATE macro.
virtual IServiceLocator * GetServiceLocator()=0
get a Service Locator associated with the Workspace
CIRef< T > GetServiceByType()
retrieves a typed reference to a service, the name of C++ type is used as the name of the service.
virtual IToolBarService * GetToolBarService()=0
virtual void RemoveToolBarContext(IToolBarContext *context)=0
unregister toolbar context
void AddTask(IAppTask &task)
Add a task to the queue.
virtual void AddToolBarContext(IToolBarContext *context)=0
register toolbar context the service does NOT assume ownership of the context
virtual void RefreshClient(IWMClient &client)=0
refresh client UI (title)
virtual IWindowManagerService * GetWindowManagerService()=0
static void GetLabel(const CObject &obj, string *label, ELabelType type=eDefault)
void GetExtensionAsInterface(const string &ext_point_id, vector< CIRef< I > > &interfaces)
GetExtensionAsInterface() is a helper function that extracts all extensions implementing the specifie...
static CRgbaColor GetColor(const string &color_type)
return a color based on a string.
virtual const string & GetIconAlias() const
EJobState
Job states (describe FSM)
#define END_EVENT_MAP()
Ends definition of Command Map.
#define BEGIN_EVENT_MAP(thisClass, baseClass)
Begins definition of Command Map for CEventHandler-derived class.
virtual const string & GetLabel() const
vector< SConstScopedObject > TConstScopedObjects
@ eCmdZoomIn
empty command
@ eCmdZoomSeq
Zoom to Selection.
@ eCmdBack
Navigation commands.
TObjectType * GetPointer(void) THROWS_NONE
Get pointer,.
void Reset(void)
Reset reference object.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static void PtrToString(string &out_str, const void *ptr)
Convert pointer to string.
static string & ToUpper(string &str)
Convert string to upper case â string& version.
#define DEFINE_STATIC_MUTEX(id)
Define static mutex and initialize it.
TSet & SetSet(void)
Select the variant.
TSeq & SetSeq(void)
Select the variant.
#define EXT_POINT__OPEN_PROJECT_VIEW_EXTENSION
static string sAbbreviate(const string &content)
find all capital letters,
static void sContentCleanup(string &content)
ON_EVENT(CGBDocument::TEvent, CGBDocument::TEvent::eProjectChanged, &CProjectViewBase::eh_OnProjectChanged) ON_EVENT(CGBDocument
USING_SCOPE(ncbi::objects)
static vector< CRgbaColor > sm_ColorTable
static void s_CreateDefaultColorTable()
static CAtomicCounter_WithAutoInit sm_ViewIdCounter
CProjectViewBase implementation.
static bool s_CollidedIds(CObject *obj)
bool HasRepairedIDs(const CSeq_entry &entry)
Detects whether colliding IDs were fixed by comparing sequence IDs to the contents of the OriginalID ...
static CNamedPipeClient * client
wxString ToWxString(const string &s)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4