39 #ifndef GUI_OBJECTS_GUI_PROJECT_GBPROJECTHANDLE_HPP
40 #define GUI_OBJECTS_GUI_PROJECT_GBPROJECTHANDLE_HPP
91 bool IsLoaded()
const;
92 void SetLoaded(
bool loaded =
true);
95 void SetDirty(
bool dirty =
true);
97 bool GetDataModified()
const;
98 void SetDataModified(
bool modified =
true);
107 virtual void SetScope(
CScope* scope);
117 static TId GetNextId();
126 const string& GetShortTitle(
void)
const;
129 virtual void Clear(
void);
131 bool IsProjectItemLabelUnique(
const string&
label)
const;
134 string MakeUniqueItemLabel(
const string&
label)
const;
138 string MakeUniqueFolderLabel(
const string&
label,
139 objects::CProjectFolder& parent_folder)
const;
142 string MakeUniqueDataLoaderLabel(
const string&
label)
const;
158 string GetViewSettings(
const string& view_type,
159 const string& view_ins_id)
const;
161 void SaveViewSettings(
const string& view_type,
162 const string& view_ins_id,
const string& settings);
176 bool IsSetAnnot()
const;
181 void SetCreateDate(
const CDate& date);
184 void SetModifiedDate(
const CDate& date);
208 bool m_DataModified =
false;
User-defined methods of the data storage class.
CAtomicCounter_WithAutoInit –.
A project handle is an abstraction that binds all possible versions This is stored in a workspace; th...
IGBProject::TDataLoaders TDataLoaders
CGBProjectHandle_Base Tparent
CGBProjectHandle(const CGBProjectHandle &value)
CGBProjectHandle & operator=(const CGBProjectHandle &value)
IGBProject::TAnnot TAnnot
CIRef< IGBProject > m_Project
the pointer to the actual project
CAtomicCounter::TValue TId
static CAtomicCounter sm_Counter
auto incremented ID counter
TId m_Id
unique runtime identifier for this project
CAtomicCounter_WithAutoInit m_Loaded
bool m_Dirty
Dirty flag indicates whether the project has unsaved changes.
string m_Title
the Scope associated with the Project
CAtomicCounter::TValue TId
Interface for testing cancellation request in a long lasting operation.
IGBProject - abstract interface for a project used by CGBProjectHandle.
list< CRef< CLoaderDescriptor > > TDataLoaders
list< CRef< CProjectAnnot > > TAnnot
Include a standard set of the NCBI C++ Toolkit most basic headers.
TNCBIAtomicValue TValue
Alias TValue for TNCBIAtomicValue.
ESerialDataFormat
Data file format.
const CSeq_id & GetId(const CSeq_loc &loc, CScope *scope)
If all CSeq_ids embedded in CSeq_loc refer to the same CBioseq, returns the first CSeq_id found,...
NCBI_XOBJUTIL_EXPORT string GetTitle(const CBioseq_Handle &hnd, TGetTitleFlags flags=0)
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
IO_PREFIX::ostream CNcbiOstream
Portable alias for ostream.
IO_PREFIX::istream CNcbiIstream
Portable alias for istream.
#define NCBI_GUIOBJECTS_EXPORT
static const char label[]
CProject * GetProject(wxTreeCtrl &treeCtrl, const CItem &item)
const GenericPointer< typename T::ValueType > T2 value
Multi-threading – mutexes; rw-locks; semaphore.