1 #ifndef GUI_UTILS___LABEL__HPP
2 #define GUI_UTILS___LABEL__HPP
87 objects::CScope* scope
92 static void RegisterLabelHandler(
const string&
type,
99 static bool HasHandler(
const string&
type);
101 static void RegisterTypeIcon(
const string& user_type,
102 const string& user_subtype,
103 const string& icon_alias);
104 static string GetTypeIconAlias(
const string& user_type,
105 const string& user_subtype);
106 static string GetTypeIconAlias(
const string& user_type);
108 static void GetIconAlias(
const CObject& obj,
string* alias,
109 objects::CScope* scope =
NULL);
118 static void TruncateLabel(
string*
label,
119 unsigned length_limit,
120 unsigned length_tolerance);
122 static void SetLabelByData(objects::CProjectItem& item, objects::CScope* scope =
NULL);
140 objects::CScope* scope)
const = 0;
152 static void InitCache();
155 static void StopCache();
159 static void CacheSeqId(
const objects::CSeq_id&
id, objects::CScope* scope);
Class to control runtime cache for description labels label generation can be slow if we need to retr...
CTypeInfo class contains all information about C++ types (both basic and classes): members and layout...
void(*)(CSeq_entry_Handle seh, IWorkbench *wb, const CSerialObject &obj) handler
static const char * str(char *buf, int n)
map< string, string > TAliasMap
static void GetLabel(const CObject &obj, string *label, ELabelType type, objects::CScope *scope)
map< string, CRef< ILabelHandler > > TLabelMap
virtual void GetLabel(const CObject &obj, string *str, CLabel::ELabelType type, objects::CScope *scope) const =0
static TLabelMap sm_LabelMap
static TAliasMap sm_AliasMap
string GetLabel(const CSeq_id &id)
ELabelType
For compatibility with legacy code.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define END_SCOPE(ns)
End the previously defined scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define BEGIN_SCOPE(ns)
Define a new scope.
#define NCBI_GUIOBJUTILS_EXPORT
static const char label[]
Portable reference counted smart and weak pointers using CWeakRef, CRef, CObject and CObjectEx.