f_iter->second;
186ttypes.push_back(it->first);
205configs = factory->
GetSettings(
"Default", settings,
nullptr);
210track->SetKey(
key);
213 if(
config->IsSetSubkey()) {
214track->SetSubkey(
config->GetSubkey());
216 if(
config->IsSetHelp()) {
217track->SetHelp(
config->GetHelp());
219 if(
config->IsSetLegend_text()) {
220track->SetLegend_text(
config->GetLegend_text());
222 if(
config->IsSetChoice_list()) {
226 option->SetType(
"enum");
244 option->SetConditions().push_back(cond);
266values.push_back(
value);
269 intoptnum =
static_cast<int>(bundle_options.size());
270options.push_back(optnum);
271bundle_options.push_back(
option);
274 if(
config->IsSetCheck_boxes()) {
278 option->SetType(
"bool");
296 option->SetConditions().push_back(cond);
302 intoptnum =
static_cast<int>(bundle_options.size());
303options.push_back(optnum);
304bundle_options.push_back(
option);
307 if(
config->IsSetText_boxes()) {
311 option->SetType(
"text");
330 option->SetConditions().push_back(cond);
336 intoptnum =
static_cast<int>(bundle_options.size());
337options.push_back(optnum);
338bundle_options.push_back(
option);
341 if(
config->IsSetRange_controls()) {
342 for(
const auto& rc :
config->GetRange_controls()) {
344 option->SetType(
"object");
346 if(rc->CanGetName())
347name = rc->GetName();
351 if(rc->IsSetDisplay_name())
352 option->SetLabel(rc->GetDisplay_name());
354 option->SetHelp(rc->GetHelp());
355 if(rc->IsSetConditions()) {
356 for(
const auto& c : rc->GetConditions()) {
359 option->SetConditions().push_back(cond);
362 if(rc->IsSetOptional()) {
363 option->SetOptional(rc->GetOptional());
365 intoptnum =
static_cast<int>(bundle_options.size());
366options.push_back(optnum);
367bundle_options.push_back(
option);
371 if(
config->IsSetHidden_settings()) {
375 option->SetType(
"hidden");
378 intoptnum =
static_cast<int>(bundle_options.size());
379options.push_back(optnum);
380bundle_options.push_back(
option);
383bundle_tracks.push_back(track);
393 ITERATE(list<string>, it, keys) {
403 if(level == -1) level = 0;
417 const string& track_name)
const 427 if(find(annots.begin(), annots.end(), track_name) != annots.end() ||
428(!annots.empty() && annots.front() ==
"NA*")) {
433 if(
nullptr!= t_proxy)
458 typedefpair<string, bool> TAnnotStatus;
459list<TAnnotStatus> all_tracks;
471all_tracks.push_back(TAnnotStatus(name,
false));
476 if( !all_tracks.empty() ) {
479list<TAnnotStatus>::iterator t_iter = all_tracks.begin();
483 if(t_iter == all_tracks.end()) {
487vector<int> old_orders;
491 const string& name = (*iter)->GetName();
493 if(tt_iter->first == name) {
494old_orders.push_back((*iter)->GetOrder());
495tt_iter->second =
true;
502t_iter = all_tracks.begin();
503 while(t_iter != all_tracks.end()) {
504 if( !t_iter->second ) {
505t_iter = all_tracks.erase(t_iter);
511 if(all_tracks.size() > old_orders.size()) {
512all_tracks.pop_front();
517t_iter = all_tracks.begin();
518 while(t_iter != all_tracks.end() &&
519t_iter->first != (*iter)->GetName()) {
523 if(t_iter != all_tracks.end()) {
524(*iter)->SetOrder(old_orders[idx]);
535vector<string> key_values;
537 for(
const auto& opt : key_values) {
542options2hide.
insert(opt.substr(1));
544options2show.
insert(opt.substr(1));
546options2show.
insert(opt);
548}
catch(exception& e) {
568 if(s_iter == iter->end())
continue;
571s_iter = track.
begin();
572 while(s_iter != track.
end()) {
573 const string& k_str = s_iter->first;
575settings.
m_Key= s_iter->second;
579settings.
m_Subkey= s_iter->second;
585settings.
m_DB= s_iter->second;
605vector<string> tokens;
607 if(tokens.size() > 0) {
609 if(tokens.size() > 1) {
619settings.
m_Filter= s_iter->second;
621settings.
m_SortBy= s_iter->second;
633settings.
m_Help= s_iter->second;
652settings.
m_Profile[
"stored_scale"] = s_iter->second;
656settings.
m_UId= s_iter->second;
658settings.
m_Batch= s_iter->second;
668settings.
m_HubId= s_iter->second;
685settings.
m_Profile[k_str] = s_iter->second;
689 config.push_back(settings);
703 elseprofile_str +=
",";
704profile_str += iter->first +
":"+ iter->second;
769 boolexact_annot_match =
true)
772 if( !t_track )
return false;
782 if(t_track->
GetId() != src_track.
m_Id)
785 if(!src_track.
m_Filter.empty()) {
790 if(!src_track.
m_Key.empty()) {
798 if( !src_track.
m_Name.empty() ) {
805 if( !exact_annot_match && src_track.
m_Annots.empty()) {
813 std::sort(annots1.begin(), annots1.end());
814 std::sort(annots2.begin(), annots2.end());
815 returnstd::equal(annots1.begin(), annots1.end(), annots2.begin());
825 staticCTrackConfigManager::TTrackProxies::iterator
829CTrackConfigManager::TTrackProxies::iterator iter = track_list.begin();
830 for(; iter != track_list.end(); ++iter) {
842 intorder,
boolupdate_annots =
true)
844 if(!s.
m_Name.empty()) {
851 if(track.
GetName().empty()) {
860 if(!s.
m_Help.empty()) {
868 if(update_annots && !s.
m_Annots.empty()) {
892 if(!s.
m_Id.empty()) {
895 if(!s.
m_DB.empty()) {
942 static void s_ParseSubTrackId(
const string& subtrack_id,
string& track_id,
string& track_attr)
944 size_tpos = subtrack_id.find_last_of(
'_');
945 if(pos != string::npos) {
946track_id = subtrack_id.substr(0, pos);
947track_attr = subtrack_id.substr(pos + 1);
949track_id = subtrack_id;
959 if(!track->
GetId().empty()) {
965 if(!track->
GetUId().empty()) {
973 stringtr_id = track_id;
974 size_tpos = track_id.find_last_of(
'_');
975 if(pos != string::npos)
976tr_id = track_id.substr(0, pos);
978 autoit = m_IdIndex.find(tr_id);
979 if(it != m_IdIndex.end())
980 return Ref(it->second);
981it = m_AnnotIndex.find(tr_id);
982 if(it != m_AnnotIndex.end())
983 return Ref(it->second);
984it = m_UidIndex.find(tr_id);
985 if(it != m_UidIndex.end())
986 return Ref(it->second);
994vector<CTrackProxy*> overlays;
997 if(track->
GetKey() ==
"graph_overlay") {
998overlays.push_back(track);
1001 if(overlays.empty())
1005(*parent_it)->GetChildren().clear();
1007 stringtrack_id, track_attr;
1012subtrack_proxy->
SetShown(track_attr !=
"hidden");
1013subtrack_proxy->
SetUId(*subtr_it);
1014 if(subtrack_proxy->
GetSource().empty()) {
1017(*parent_it)->GetChildren().push_back(subtrack_proxy);
1061(*iter)->SetShown(
false);
1067 intlast_id = t_settings.back()->GetOrder();
1077 if(t_iter != t_settings.end()) {
1084 if(iter->m_Order >= 0) {
1085order = iter->m_Order;
1092 if(iter->m_Shown) {
1097vector<int> order_list;
1101order_list.push_back(track->
GetOrder());
1107 _ASSERT(order_list.size() == show_list.size());
1110(*iter)->SetOrder(order_list[idx++]);
1127 intlast_id = t_settings.back()->GetOrder();
1135 if(t_iter != t_settings.end()) {
1142 if(iter->m_Order >= 0) {
1143order = iter->m_Order;
1148 boolwas_on = track->GetShown();
1151 if( !iter->m_Annots.empty() ) {
1154track->SetAnnots(iter->m_Annots);
1155}
else if(!track->GetAnnots().empty() ) {
1157 copy(iter->m_Annots.begin(), iter->m_Annots.end(), back_inserter(annots));
1158track->SetAnnots(annots);
1160track->SetAnnots(iter->m_Annots);
1163track->SetAnnots(iter->m_Annots);
1190 const intmax_order = INT_MAX;
1194(*iter)->SetOrder(max_order);
1198 intorder = order_offset;
1202 if(order == max_order)
1208 if(t_iter != t_settings.end()) {
1222TTrackProxies::iterator t_iter = t_settings.begin();
1223 while(t_iter != t_settings.end() && (*t_iter)->GetOrder() < max_order) {
1226t_settings.erase(t_iter, t_settings.end());
1235 const string& annot_name = temp_proxy.
GetSource();
1239 if(meta_data == 0) {
1242 if(iter != md_list.
end()) {
1243meta_data = iter->second;
1249}
else if(meta_data && !meta_data->
m_Title.empty()) {
1250display_name = meta_data->
m_Title;
1252 if(annot_name.find(display_name) != string::npos) {
1253display_name = annot_name;
1254}
else if(display_name.find(annot_name) == string::npos) {
1257display_name.clear();
1259 if(!display_name.empty())
1260display_name +=
" - ";
1261display_name += annot_name;
1266display_name =
"(R) "+ display_name;
1269display_name =
"(U) "+ display_name;
1272 for(
const auto&annot : temp_proxy.
GetAnnots()) {
1277 stringhost = url.
GetHost();
1279 if(host ==
"ftp.ncbi.nlm.nih.gov")
1282display_name =
"(R) "+ display_name;
1294 if(
config.IsSetChoice_list()) {
1296 const string& choice_name = choice->GetName();
1297 if(choice->IsSetOptional() && choice->GetOptional()) {
1298if (options2show.count(choice_name) == 0)
1301 if(options2hide.count(choice_name) > 0)
1304string item_name = choice_name;
1306item_name += choice_item->GetName();
1307if (choice_item->IsSetOptional() && choice_item->GetOptional()) {
1308if (options2show.count(item_name) == 0)
1311 returnoptions2hide.count(item_name) > 0;
1313 returnchoice->GetValues().
empty();
1316 if(
config.IsSetCheck_boxes()) {
1318 const string& cb_name = cb->GetName();
1319 if(cb->IsSetOptional() && cb->GetOptional()) {
1320if (options2show.count(cb_name) == 0)
1323 returnoptions2hide.count(cb_name) > 0;
1338 const string& title_base)
const 1360 if(p_iter != settings.
end()) {
1361profile = p_iter->second;
1362}
else if( !settings.
empty() || profile.empty()) {
1363profile =
"Default";
1366 const string& annot_name = temp_proxy->
GetSource();
1373 if(iter != md_list.
end()) {
1374meta_data = iter->second;
1388conf_factory->
GetSettings(profile, settings, temp_proxy);
1389 if( !configs->
Get().empty() ) {
1403 typedefvector<string> TCommentPos;
1404TCommentPos cmt_pos;
1406TCommentPos::const_iterator iter = cmt_pos.begin();
1407 while(iter != cmt_pos.end()) {
1408 const string&
label= *iter;
1409 if(++iter != cmt_pos.end()) {
1410 config->SetComments().push_back(
1419 typedefvector<string> THighlights;
1422 ITERATE(THighlights, h_iter, hls) {
1425 config->SetHighlights().push_back(hl);
1438 config->SetShow_title(
false);
1452 if(!temp_proxy->
GetBatch().empty()) {
1461 if(!temp_proxy->
GetHelp().empty()) {
1465 if(meta_data && !meta_data->
m_Descr.empty() && temp_proxy->
GetHelp().empty()) {
1470 stringdisplay_name = title_base;
1472 config->SetDisplay_name(display_name);
1515 if(cat_name.empty()) {
1516 if(meta_data && !meta_data->
m_xClass.empty()) {
1523cat_name =
"Graphs";
1525 if(
subkey.find(
"RNA") != string::npos ||
1526 subkey.find(
"exon") != string::npos) {
1527cat_name =
"Genes";
1529cat_name =
"Features";
1530sub_cat_name = title_base;
1533cat_name =
"Genes";
1535cat_name =
"Alignments";
1537cat_name =
"Others";
1552 config->SetCategory(*cat);
1554 if( !sub_cat && !sub_cat_name.empty() ) {
1559 config->SetSubcategory(*sub_cat);
1567 if( !temp_proxy->
GetFilter().empty() ) {
1570 if( !temp_proxy->
GetSortBy().empty() ) {
1573 if( !temp_proxy->
GetId().empty() ) {
1576 if(proxy && !proxy->
GetDB().empty() ) {
1579 if(proxy && !proxy->
GetDataKey().empty() ) {
1584 config->SetAnnots().push_back(annot_name);
1586 if(!temp_proxy->
GetUId().empty())
1597 if(!temp_proxy->
GetHubId().empty()) {
1609 typedefvector< CIRef<ILayoutTrackFactory> > TTrackFactoryVec;
1610TTrackFactoryVec factories;
1614 ITERATE(TTrackFactoryVec, iter, factories) {
1615 m_Factories[(*iter)->GetThisTypeInfo().GetId()] = *iter;
1631 for(
auto& p : proxies) {
1632 if(p->GetKey() == featKey)
1633subkeys.
insert(p->GetSubkey());
User-defined methods of the data storage class.
User-defined methods of the data storage class.
CAggregateFeatureTrackFactory.
static const CTrackTypeInfo & GetTypeInfo()
CAllOtherFeaturesTrackFactory.
CRef< objects::CCategory > GetCategory(const string &cat_name)
CRef< objects::CCategory > GetSubcategory(const string &cat_name, const string &sub_cat)
CDisplayOptionsBundle â.
CEpigenomicsDSType - Epigenomics data source type.
CEpigenomicsTrackFactory.
CExtensionDeclaration - static declaration helper.
CFeatListItem - basic configuration data for one "feature" type.
CConfigurableItems - a static list of items that can be configured.
string GetStoragekey(int type, int subtype) const
Get the key used to store this type of feature.
static const CTrackTypeInfo & GetTypeInfo()
int GetFeatSubtype() const
static const CTrackTypeInfo & GetTypeInfo()
static const CTrackTypeInfo & GetTypeInfo()
virtual const CTrackTypeInfo & GetTypeInfo() const =0
CSFTransDSType - Six-frames translation data source type.
static void ParseProfileString(const string &profile_str, TKeyValuePairs &settings)
static const CFeatList * GetFeatList()
CRef< CCategoryConfig > GetCategoryConfig()
CSeqTableGraphTrackFactory.
CSixFramesTransTrackFactory.
const string & GetSeqDataKey() const
void SetHubId(const string &hub_id)
void SetShown(bool shown)
void SetRemoteId(const string &remote_id)
void SetRemoteData(const string &remote_data)
const string & GetSubkey() const
const string & GetHelp() const
void SetName(const string &name)
void SetCategory(const string &cat)
const string & GetUId() const
const string & GetCategory() const
const string & GetDisplayName() const
const string & GetBatch() const
const string & GetRemoteId() const
const string & GetSortBy() const
bool GetShowTitle() const
void SetTrack(CLayoutTrack *track)
Associated any track already?.
void SetSource(const string &src)
void SetFilter(const string &filter)
const string & GetBigDataIndex() const
void SetHighlights(const string &hl_str)
void SetId(const string &id)
const string & GetKey() const
void SetHelp(const string &help)
void SetComments(const string &comment_str)
void SetUId(const string &uid)
vector< string > TSubTracks
const string & GetHighlightsColor() const
void SetHighlightsColor(const string &hl_str)
const string & GetHighlights() const
void SetTrackProfile(const string &profile)
const TAnnots & GetAnnots() const
void SetKey(const string &key)
static const string kAnonTrackName
CTempTrackProxy class implementation.
void SetSettingGroup(const string &name)
const set< string > & GetOptions2Hide() const
void SetSubcategory(const string &scat)
const string & GetExtraInfo() const
void SetBigDataIndex(const string &big_data_index)
void SetBatch(const string &batch)
const string & GetId() const
const string & GetTrackProfile() const
void SetSortBy(const string &sort_by)
void SetIsPrivate(bool flag)
void SetOptions2Show(const set< string > &options2show)
bool GetIsPrivate() const
void SetOrder(int order)
CTempTrackProxy class implementation.
TSubTracks & SetSubTracks()
void SetRemotePath(const string &remote_path)
void SetSeqDataKey(const string &seq_data_key)
const string & GetStoredScale() const
const set< string > & GetOptions2Show() const
void SetAnnots(const TAnnots &annots)
const string & GetName() const
void SetDisplayName(const string &name)
const string & GetHubId() const
void SetOptions2Hide(const set< string > &options2hide)
const string & GetComments() const
const CLayoutTrack * GetTrack() const
const TSubTracks & GetSubTracks() const
const string & GetSource() const
const string & GetSettingGroup() const
void SetUseGroupDefault(bool flag)
void SetShowTitle(bool flag)
void SetExtraInfo(const string &sExtraInfo)
const string & GetSubcategory() const
void SetErrorStatus(const TTrackErrorStatus &ErrorStatus)
void SetStoredScale(const string &stored_scale)
const string & GetFilter() const
void SetSubkey(const string &sub_key)
const string & GetRemoteData() const
helper class to faciliatet subtrack processing build pseudo compound track index and provides find me...
CTrackIndex(TTrackProxies &t_settings)
CRef< CTrackProxy > FindTrackById(const string &track_id)
CTempTrackProxy::TTrackProxies TTrackProxies
static void SetTrackConfig(TTrackProxies &t_settings, const TTrackSettingsSet &in_settings, int order_offset=0)
Reset the track configuration with input settings.
list< TTrackSettings > TTrackSettingsSet
const ILayoutTrackFactory * GetTrackFactory(const string &key) const
const TAnnotMetaDataList & GetKnownAnnots(int level) const
Get known annotation based on level number.
void CreateDisplayName(const CAnnotMetaData *meta_data, const CTempTrackProxy &temp_proxy, string &display_name) const
void AlignTrackConfig(TTrackProxies &t_settings, const TTrackSettingsSet &in_settings)
list< string > GetTrackTypes() const
static bool ValidFeatureTrack(const objects::CFeatListItem &item)
void MergeTrackConfig(TTrackProxies &t_settings, const TTrackSettingsSet &settings_set, EAnnotMerge merge)
Merge with the existing track configuration.
static void GetUsedFeatureKeys(set< string > &subkeys, const TTrackProxies &proxies)
void x_InitTrackManager()
CRef< objects::CTrackConfig > CreateTrackConfig(CTempTrackProxy *temp_proxy, CSeqGraphicConfig &g_config, const string &title_base) const
Create configuration for a give track proxy.
TKnownAnnotMap m_KnownAnnots
Complete list of known annotations with meta-data.
static void AdjustTrackOrder(CTempTrackProxy *t_proxy)
bool OnShownList(const CTempTrackProxy *p_proxy, const CTempTrackProxy *t_proxy, const string &track_name) const
ILayoutTrackFactory::TAnnotMetaDataList TAnnotMetaDataList
CConstRef< objects::CDisplayOptionsBundle > GetTrackDisplayOptions(const list< string > &keys) const
static void RegisterSGTracks()
void x_AppendKeyDisplayOptions(const string &key, objects::CDisplayOptionsBundle &bundle) const
static CRef< objects::CCategory > CreateCategory(const string &name, const string &disp_name, const string &help, int order)
static CRef< objects::CComment > CreateComment(const string &label, const string &pos_str)
CTrackContainer - a track container in the form of layout track.
void SortChildTracksByOrder()
const TTrackProxies & GetSubtrackProxies() const
CTrackContainer inline methods.
CTrackProxy data structure contains information about the position of a track in its parent scope,...
void SetDataKey(const string &key)
void SetOriginalKey(const string &key)
const string & GetDB() const
const string & GetDataKey() const
void SetDB(const string &db)
const string & GetDescr() const
const string & GetId() const
virtual const CTrackTypeInfo & GetThisTypeInfo() const =0
ITrackConfigurable interface for tracks that are configurable.
virtual CRef< objects::CTrackConfigSet > GetSettings(const string &profile, const TKeyValuePairs &settings, const CTempTrackProxy *track_proxy) const =0
container_type::const_iterator const_iterator
const_iterator begin() const
const_iterator end() const
const_iterator find(const key_type &key) const
iterator_bool insert(const value_type &val)
static DLIST_TYPE *DLIST_NAME() first(DLIST_LIST_TYPE *list)
#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.
#define ERR_POST(message)
Error posting with file, line number information but without error codes.
void Error(CExceptionArgs_Base &args)
static bool IsNAA(const string &annot, bool isStrict=false)
check if a given annotation is a named annotation accession[.version][number] when isSctrict == false...
string m_xClass
annotation category
static const string & GetUnnamedAnnot()
Get the commonly used symbol representing a unnnamed annotation.
string m_Descr
annotation description (or comment)
static bool IsGeneModelFeature(int type, int subtype)
Does feature belong to gene model track Gene, RNA, cdregion, exon, C_region, and VDJ segments.
static bool IsUnnamed(const string &annot)
check if a given annotation is a unnamed annotation.
string m_Title
annotation title
#define EXT_POINT__NONASN_TRACK_DATA_FACTORY
static TAnnotNameType NameTypeStrToValue(const string &type)
EAnnotationNameType
flags for classifying annotation names.
@ eAnnot_Unnamed
unnamed annotation
@ eAnnot_Other
any given named annots
static const string kStdTrackId
prefix for STD (as opposed to TMS) tracks
void GetExtensionAsInterface(const string &ext_point_id, vector< CIRef< I > > &interfaces)
GetExtensionAsInterface() is a helper function that extracts all extensions implementing the specifie...
static const string cTrackSettingKey_ErrorShortMsg
if present contains the short error message
static const string cTrackSettingKey_ErrorMsg
if present contains the error message
static const string cTrackSettingKey_ErrorSeverity
if present and set to anything, but CHTMLActiveArea::eErrorSeverity_NoError, do not attempt to load t...
static string RemoveEscape(const string &str)
remove escape characters ('\') used for escaping special characters in track settings values
static const string kRStdTrackId
prefix for Remote STD (as opposed to TMS) tracks
static const string cTrackSettingKey_PrivatePrefix
some internal reserved track setting keys that are used for internal communication always start with ...
TErrorSeverity m_ErrorSeverity
static void TokenizeWithEscape(const string &str, const string &delim, vector< string > &tokens, bool remove_escape=false)
Tokenize a string using the delim.
static const string cTrackSettingKey_ErrorCode
if present contains the error code
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,...
CRef< C > Ref(C *object)
Helper functions to get CRef<> and CConstRef<> objects.
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 int StringToInt(const CTempString str, TStringToNumFlags flags=0, int base=10)
Convert string to int.
static bool EndsWith(const CTempString str, const CTempString end, ECase use_case=eCase)
Check if a string ends with a specified suffix value.
static string Join(const TContainer &arr, const CTempString &delim)
Join strings using the specified delimiter.
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 bool StartsWith(const CTempString str, const CTempString start, ECase use_case=eCase)
Check if a string starts with a specified prefix value.
static bool EqualNocase(const CTempString s1, SIZE_TYPE pos, SIZE_TYPE n, const char *s2)
Case-insensitive equality of a substring with another 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 string & ToLower(string &str)
Convert string to lower case â string& version.
@ eNocase
Case insensitive compare.
const string & GetHost(void) const
static const char label[]
bool IsSetLegend_text(void) const
Check if a value has been assigned to Legend_text data member.
bool IsSetHelp(void) const
Check if a value has been assigned to Help data member.
bool IsSetOptional(void) const
Check if a value has been assigned to Optional data member.
const TName & GetName(void) const
Get the Name member data.
const TCurr_value & GetCurr_value(void) const
Get the Curr_value member data.
bool IsSetOptional(void) const
Check if a value has been assigned to Optional data member.
TOptions & SetOptions(void)
Assign a value to Options data member.
bool IsSetOptional(void) const
Check if a value has been assigned to Optional data member.
TOptional GetOptional(void) const
Get the Optional member data.
TOptional GetOptional(void) const
Get the Optional member data.
list< CRef< CDisplayOption > > TOptions
TOptional GetOptional(void) const
Get the Optional member data.
const TConditions & GetConditions(void) const
Get the Conditions member data.
const TValue & GetValue(void) const
Get the Value member data.
list< CRef< CDisplayOptionValue > > TValues
const Tdata & Get(void) const
Get the member data.
bool IsSetDisplay_name(void) const
Check if a value has been assigned to Display_name data member.
bool IsSetConditions(void) const
Check if a value has been assigned to Conditions data member.
const THelp & GetHelp(void) const
Get the Help member data.
list< CRef< CChoiceItem > > TValues
list< CRef< CTextBox > > TText_boxes
list< CRef< CDisplayTrack > > TTracks
bool IsSetDisplay_name(void) const
Check if a value has been assigned to Display_name data member.
const TName & GetName(void) const
Get the Name member data.
const THelp & GetHelp(void) const
Get the Help member data.
bool IsSetDisplay_name(void) const
Check if a value has been assigned to Display_name data member.
TValue GetValue(void) const
Get the Value member data.
Tdata & Set(void)
Assign a value to data member.
list< CRef< CTrackConfig > > Tdata
const TDisplay_name & GetDisplay_name(void) const
Get the Display_name member data.
bool IsSetHelp(void) const
Check if a value has been assigned to Help data member.
bool IsSetHelp(void) const
Check if a value has been assigned to Help data member.
const TDisplay_name & GetDisplay_name(void) const
Get the Display_name member data.
const TName & GetName(void) const
Get the Name member data.
bool IsSetDisplay_name(void) const
Check if a value has been assigned to Display_name data member.
const TName & GetName(void) const
Get the Name member data.
bool IsSetConditions(void) const
Check if a value has been assigned to Conditions data member.
list< CRef< CChoice > > TChoice_list
list< CRef< CCheckBox > > TCheck_boxes
const TDisplay_name & GetDisplay_name(void) const
Get the Display_name member data.
bool IsSetConditions(void) const
Check if a value has been assigned to Conditions data member.
const TDisplay_name & GetDisplay_name(void) const
Get the Display_name member data.
const TName & GetName(void) const
Get the Name member data.
const TLegend_text & GetLegend_text(void) const
Get the Legend_text member data.
const TConditions & GetConditions(void) const
Get the Conditions member data.
const TConditions & GetConditions(void) const
Get the Conditions member data.
TOptional GetOptional(void) const
Get the Optional member data.
bool IsSetOptional(void) const
Check if a value has been assigned to Optional data member.
const THelp & GetHelp(void) const
Get the Help member data.
bool IsSetHelp(void) const
Check if a value has been assigned to Help data member.
list< CRef< CHiddenSetting > > THidden_settings
TTracks & SetTracks(void)
Assign a value to Tracks data member.
const TValue & GetValue(void) const
Get the Value member data.
const TValues & GetValues(void) const
Get the Values member data.
const THelp & GetHelp(void) const
Get the Help member data.
#define EXT_POINT__SEQGRAPHIC_LAYOUT_TRACK_FACTORY
FeaturePanel uses the following extension point to obtain registered seqgraphic track factories (inst...
if(yy_accept[yy_current_state])
constexpr auto sort(_Init &&init)
constexpr bool empty(list< Ts... >) noexcept
const struct ncbi::grid::netcache::search::fields::KEY key
const struct ncbi::grid::netcache::search::fields::SUBKEY subkey
const GenericPointer< typename T::ValueType > T2 value
void copy(Njn::Matrix< S > *matrix_, const Njn::Matrix< T > &matrix0_)
#define EXT_POINT__PROJECT_ITEM_EXTENSION
#define EXT_POINT__SEQGRAPHIC_DATA_SOURCE_TYPE
ISGDataSourceManager uses the following extension point to obtain registered seqgraphic data source f...
static bool s_CompareCRefs(const CRef< CTempTrackProxy > &t1, const CRef< CTempTrackProxy > &t2)
help struct for storing track settings
TTrackErrorStatus m_ErrorStatus
CSGConfigUtils::TKeyValuePairs TProfile
vector< STrackSettings > TTrackConfig
set< string > m_Options2Show
vector< string > TSubTracks
static void ParseSettings(const CTrackConfigManager::TTrackSettingsSet &settings_set, TTrackConfig &config)
static string CreateProfileString(const TProfile &profile)
set< string > m_Options2Hide
CTrackProxy::TAnnots m_Annots
void s_ResolveSubTracks(CTrackConfigManager::TTrackProxies &t_settings)
void s_InitTrackFromSettings(CTrackProxy &track, const STrackSettings &s, int order, bool update_annots=true)
static void s_ParseOptionalSettings(const string &optional_settings, set< string > &options2hide, set< string > &options2show)
static CTrackConfigManager::TTrackProxies::iterator s_FindMatchedTrack(const STrackSettings &src_track, CTrackConfigManager::TTrackProxies &track_list)
Helper function to find a matched track from a list of tracks for a given source track.
static bool s_IsStdTrack(const string &track_id)
static bool s_TrackMatch(const STrackSettings &src_track, const CTempTrackProxy &target_track, bool exact_annot_match=true)
The matching logic is 'vague' due to the fact that the user-provided 'tracks' may be ambiguous.
static void s_ParseSubTrackId(const string &subtrack_id, string &track_id, string &track_attr)
void s_ProcessOptionalSettings(CTempTrackProxy &temp_proxy, CTrackConfig &config)
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