: m_Order(param.GetOrder())
52, m_Name(param.GetName())
53, m_Id(param.
GetId())
54, m_DispName(param.GetDisplayName())
55, m_Profile(param.GetTrackProfile())
56, m_Source(param.GetSource())
57, m_Category(param.GetCategory())
58, m_Subcategory(param.GetSubcategory())
59, m_SettingGroup(param.GetSettingGroup())
60, m_UseGroupDefault(param.GetUseGroupDefault())
61, m_Filter(param.m_Filter)
62, m_SortBy(param.m_SortBy)
64, m_Shown(param.GetShown())
65, m_Help(param.m_Help)
66, m_Expanded(param.GetExpanded())
67, m_Realized(param.IsRealized())
69, m_Comments(param.m_Comments)
70, m_Highlights(param.m_Highlights)
71, m_HighlightsColor(param.m_HighlightsColor)
72, m_ShowTitle(param.m_ShowTitle)
73, m_ErrorStatus(param.m_ErrorStatus)
74, m_isPrivate(param.m_isPrivate)
75, m_StoredScale(param.m_StoredScale)
77, m_SubTracks(param.m_SubTracks)
79, m_Subkey(param.m_Subkey)
80, m_Annots(param.m_Annots)
81, m_Action(param.m_Action)
82, m_TimeStamp(param.m_TimeStamp)
83, m_Batch(param.m_Batch)
84, m_RemotePath(param.m_RemotePath)
85, m_RemoteData(param.m_RemoteData)
86, m_SeqDataKey(param.m_SeqDataKey)
87, m_BigDataIndex(param.m_BigDataIndex)
97 if(
this== ¶m)
return*
this;
172 const string& name,
const string& filter,
const string& title)
175 if(filter.empty()) {
188 stringname_modified(name);
191 if((*iter)->GetName() == name_modified) {
202 stringname_modified(name);
205 if((*iter)->GetName() == name_modified) {
208 if((*iter)->GetTrackProfile().empty()) {
211 if((*iter)->GetFilter().empty()) {
214 if((*iter)->GetSortBy().empty()) {
217 if((*iter)->GetSource().empty()) {
218(*iter)->SetSource(name);
291 static const string k_id=
"Id";
292 static const string k_db=
"dbname";
300time_t defTimeStamp = time(
NULL);
301 if(defTimeStamp != -1) defTimeStamp -= 30 * 24 * 60 * 60;
309 stringname = iter->key;
320vector<string> tokens;
322 if(tokens.size() > 0) {
324 if(tokens.size() > 1) {
344proxies.push_back(track);
351unordered_set<string> ExistingKeys;
352 if(isMergeWithExisting) {
353 for(
autoproxy: proxies) {
354ExistingKeys.insert(proxy->GetKey());
357time_t defTimeStamp = time(
NULL);
359 string key= path +
".Tracks";
371 if(isMergeWithExisting && ExistingKeys.count(sKey)) {
386track->SetTimeStamp(sub_view.
GetInt(
k_time_stamp,
static_cast<int>(defTimeStamp)));
390vector<string> tokens;
392 if(tokens.size() > 0) {
394 if(tokens.size() > 1) {
409 if(annot_str.empty()) {
414track->SetAnnots(annots);
418 if(!subtracks.empty())
419track->SetSubTracks() = subtracks;
420track->SetName(iter->key);
434 static const size_tkMaxTrackSaved = 100;
439 size_tdelCount = settings.size() > kMaxTrackSaved ?
440settings.size() - kMaxTrackSaved : 0;
446 autoit = settings.begin();
447 while(it != settings.end() && delCount > 0) {
448it = settings.erase(it);
462 dynamic_cast<const CTrackProxy*
>(iter->GetPointer());
470 string key= path +
".TempTracks";
472 key= path +
".Tracks";
477 if(pre_id == params->
GetOrder()) {
503 if(!params->
GetHelp().empty()) {
541 if(!full_params->
GetSubkey().empty()) {
544 if(!full_params->
GetFilter().empty()) {
547 if(!full_params->
GetSortBy().empty()) {
552CTrackProxy::TAnnots::iterator a_iter =
553find(annots.begin(), annots.end(),
555 if(a_iter != annots.end()) {
556annots.erase(a_iter);
558 if(!annots.empty()) {
560 boolfirst_one =
true;
563annots_str = *aa_iter;
567annots_str +=
"|"+ *aa_iter;
596, m_DataKey(param.m_DataKey)
597, m_ContShown(param.m_ContShown)
603 if(
this== ¶m)
return*
this;
static const string kDecimalDot
static CGuiRegistry & GetInstance()
access the application-wide singleton
class CRegistryReadView provides a nested hierarchical view at a particular key.
int GetInt(const string &key, int default_val=0) const
access a named key at this level, with no recursion
bool GetBool(const string &key, bool default_val=false) const
list< SKeyInfo > TKeys
retrieve information about all keys in the registry
void GetTopKeys(TKeys &keys) const
Retrieve information about the top level keys in this view.
string GetString(const string &key, const string &default_val=kEmptyStr) const
void Set(const string &key, int val)
access a named key at this level, with no recursion
const TTrackErrorStatus & GetErrorStatus() const
void UpdateNA_ChildVisibility(CTempTrackProxy &child) const
string m_Batch
AlignDb batch.
string m_Filter
track-specific filter
void SetShown(bool shown)
const string & GetSubkey() const
string m_SortBy
track-specific sortby
const string & GetHelp() const
void SetName(const string &name)
void SetCategory(const string &cat)
const string & GetCategory() const
bool m_Expanded
track expanded/collapsed.
CRef< CLayoutTrack > m_Track
the delegated layout track object.
bool m_Shown
track on/off state.
const string & GetDisplayName() const
virtual CRef< CTempTrackProxy > Clone() const
const string & GetSortBy() const
string m_BigDataIndex
The location of a remote data file containing the index.
TTrackProxies m_Children
settings for children tracks.
string m_HighlightsColor
Color to use for highlighting.
list< CRef< CTempTrackProxy > > TTrackProxies
CRef< CAnnotMetaData > m_NAdata
void SetSource(const string &src)
void SetFilter(const string &filter)
CConstRef< CTempTrackProxy > GetChildTempTrack(const string &name) const
Get track params for child temporary track.
const string & GetKey() const
void SetNAdata(CAnnotMetaData &na)
void SetHelp(const string &help)
vector< string > TSubTracks
string m_DispName
track display name.
int m_Order
track order for vertical ordering in its parent scope.
static void LoadFromRegistry(TTrackProxies &proxies, const string &path, bool isMergeWithExisting=false)
if isMergeWithExisting is true, then load should skip all registry tracks that have keys as in the al...
void SetTrackProfile(const string &profile)
bool m_UseGroupDefault
flag indicating if group default setting applies.
string m_Help
track help string
bool GetUseGroupDefault() const
const TAnnots & GetAnnots() const
string m_Category
track category.
static const string kAnonTrackName
CTempTrackProxy class implementation.
time_t GetTimeStamp() const
void SetSettingGroup(const string &name)
void SetSubcategory(const string &scat)
static void SaveToRegistry(const TTrackProxies &proxies, const string &path)
bool IsExtendedNA() const
check for an extended NA (named annotation::number, as used in e.g. SNP2)
const string & GetId() const
string m_Name
track name, may serve as track title.
string m_Profile
track profile (setting style or list of settings).
string m_Key
may be used for creating a track
const string & GetTrackProfile() const
void SetSortBy(const string &sort_by)
const TTrackProxies & GetChildren() const
TTrackErrorStatus m_ErrorStatus
static void ParseSubtracks(const string &subtracks_str, TSubTracks &subtracks)
convert a string with a list of subtracks to a list of subtracks
CTempTrackProxy & operator=(const CTempTrackProxy ¶m)
assignment operator.
void SetOrder(int order)
CTempTrackProxy class implementation.
string m_Subcategory
track sub-category.
bool m_Empty
The track proxy is empty.
void SetTimeStamp(time_t timeStamp)
const string & GetName() const
bool m_Realized
Has this been connected to any real track before.
void SetDisplayName(const string &name)
string m_Source
data source.
const CAnnotMetaData * GetNAdata() const
string m_Id
unique track identifier.
const string & GetSource() const
const string & GetSettingGroup() const
void SetUseGroupDefault(bool flag)
string m_SettingGroup
setting group name.
string m_RemotePath
Track remote path.
const string & GetSubcategory() const
CRef< CTempTrackProxy > AddTempTrack(const string &name, const string &title)
add a new template track params.
string m_Subkey
may be used for creating DataSource
void SetErrorStatus(const TTrackErrorStatus &ErrorStatus)
TAnnots m_Annots
can be 'Unnamed', 'Named', or annot names
const string & GetFilter() const
CTrackProxy data structure contains information about the position of a track in its parent scope,...
virtual CRef< CTempTrackProxy > Clone() const
string m_DataKey
user-data net storage key (SViewer only)
CTrackProxy & operator=(const CTrackProxy ¶m)
string m_DB
data source DB name
bool GetContShown() const
#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.
static bool IsNAA(const string &annot, bool isStrict=false)
check if a given annotation is a named annotation accession[.version][number] when isSctrict == false...
static const string & NameTypeValueToStr(TAnnotNameType type)
string m_SubCategory
annotation subcategory
static const string & GetUnnamedAnnot()
Get the commonly used symbol representing a unnnamed annotation.
string m_Title
annotation title
static bool IsNAA_Name(const string &annot)
check if a given annotation is a named annotation name with '.' replaced with '_'.
static bool IsExtendedNAA(const string &annot, bool isStrict=false)
check if a given annotation is an extended NAA (named accession[.version][number],...
string m_Name
annotation name, e.g. named annotation accession
@ eAnnot_All
all annotations
static void TokenizeWithEscape(const string &str, const string &delim, vector< string > &tokens, bool remove_escape=false)
Tokenize a string using the delim.
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,...
TObjectType * GetPointer(void) const THROWS_NONE
Get pointer,.
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 bool StringToBool(const CTempString str)
Convert string to bool.
static list< string > & Split(const CTempString str, const CTempString delim, list< string > &arr, TSplitFlags flags=0, vector< SIZE_TYPE > *token_pos=NULL)
Split a string using specified delimiters.
static string & Replace(const string &src, const string &search, const string &replace, string &dst, SIZE_TYPE start_pos=0, SIZE_TYPE max_replace=0, SIZE_TYPE *num_replace=0)
Replace occurrences of a substring within a string.
static string & ReplaceInPlace(string &src, const string &search, const string &replace, SIZE_TYPE start_pos=0, SIZE_TYPE max_replace=0, SIZE_TYPE *num_replace=0)
Replace occurrences of a substring within a string.
static string TruncateSpaces(const string &str, ETrunc where=eTrunc_Both)
Truncate whitespace in a string.
static const string k_help
static const string k_display_name
static void s_LoadTempTrackRecursive(CTempTrackProxy::TTrackProxies &proxies, const string &path)
static const string k_key
static const string k_track_profile
static const string k_setting_group
static const string k_category
static const string k_order
static const string k_expanded
static const string k_subtracks
static const string k_time_stamp
static const string k_subcategory
static const string k_subkey
static const string k_shown
static const string k_sortby
static const string k_trid
static const string k_filter
static const string k_annots
static const string k_annot_separation
const struct ncbi::grid::netcache::search::fields::KEY key
static bool s_CompareCRefs(const CRef< CTempTrackProxy > &t1, const CRef< CTempTrackProxy > &t2)
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