Search Toolkit Book for CTrackConfigManager
CTrackConfigManager a help class to manage layout track configuration. More...
#include <gui/widgets/seq_graphic/track_config_manager.hpp>
Align the existing track configuration to the input settings set.
Update all the settings in the original tracks to the ones in the input track list. This is very close to completely replacing the the original track settings. The differences include: If a track presents only in the original track list, it won't be removed from the track configuration, but it will be turned off regardless of its oringal on/off state. The potential updated settings include annotation list, track on/off state, track order, and track-specific settings. Track name will not be updated since it is considered as part of the track identity along with the track key and subkey.
TFactoryMap m_Factories TKnownAnnotMap m_KnownAnnots Complete list of known annotations with meta-data. More...CTrackConfigManager a help class to manage layout track configuration.
The specific tasks include registering basic tracks, initializing track factory list, loading/saving track settings, merging/aligning/ updating any existing track settings based on other track settings.
Definition at line 61 of file track_config_manager.hpp.
◆ TAnnotMetaDataList ◆ TFactoryMap ◆ TKeyValuePairs ◆ TKnownAnnotMap ◆ TNAAs ◆ TTrackProxies ◆ TTrackSettings ◆ TTrackSettingsSet ◆ EAnnotMerge ◆ CTrackConfigManager() CTrackConfigManager::CTrackConfigManager ( ) ◆ ~CTrackConfigManager() ◆ AdjustTrackOrder()Definition at line 443 of file track_config_manager.cpp.
References CSeqUtils::eAnnot_Other, CSeqUtils::eAnnot_Unnamed, CTempTrackProxy::GetAnnots(), CTrackContainer::GetSubtrackProxies(), CTempTrackProxy::GetTrack(), CSeqUtils::GetUnnamedAnnot(), CSeqUtils::IsUnnamed(), ITERATE, CSeqUtils::NameTypeStrToValue(), NON_CONST_ITERATE, NStr::ReplaceInPlace(), CTrackProxy::STPSorterByOrder::s_CompareCRefs(), and CTrackContainer::SortChildTracksByOrder().
Referenced by CTrackContainer::AddTracks().
◆ AlignTrackConfig()Definition at line 1026 of file track_config_manager.cpp.
References _ASSERT, CTempTrackProxy::GetOrder(), CRef< C, Locker >::GetPointer(), CTempTrackProxy::GetShown(), ITERATE, NON_CONST_ITERATE, STrackSettings::ParseSettings(), CRef< C, Locker >::Reset(), CTrackProxy::STPSorterByOrder::s_CompareCRefs(), s_FindMatchedTrack(), s_InitTrackFromSettings(), and s_ResolveSubTracks().
◆ CreateDisplayName()Definition at line 1232 of file track_config_manager.cpp.
References map_checker< Container >::end(), NStr::eNocase, map_checker< Container >::find(), CTempTrackProxy::GetAnnots(), CTempTrackProxy::GetDisplayName(), CUrl::GetHost(), CTempTrackProxy::GetId(), GetKnownAnnots(), CTempTrackProxy::GetSource(), CSeqUtils::IsUnnamed(), CTempTrackProxy::kAnonTrackName, CAnnotMetaData::m_Title, NStr::StartsWith(), and NStr::ToLower().
Referenced by CreateTrackConfig().
◆ CreateTrackConfig()Create configuration for a give track proxy.
Definition at line 1336 of file track_config_manager.cpp.
References _ASSERT, CTrackConfigUtils::CreateCategory(), CTrackConfigUtils::CreateComment(), CreateDisplayName(), map_checker< Container >::empty(), map_checker< Container >::end(), map_checker< Container >::find(), CTrackConfigSet_Base::Get(), CTempTrackProxy::GetBatch(), CTempTrackProxy::GetBigDataIndex(), CTempTrackProxy::GetCategory(), CCategoryConfig::GetCategory(), CSeqGraphicConfig::GetCategoryConfig(), CTempTrackProxy::GetComments(), CTrackProxy::GetDataKey(), CTrackProxy::GetDB(), CTrackTypeInfo::GetDescr(), CTempTrackProxy::GetExtraInfo(), CSeqFeatData::GetFeatList(), CFeatureTrack::GetFeatSubtype(), CTempTrackProxy::GetFilter(), CTempTrackProxy::GetHelp(), CTempTrackProxy::GetHighlights(), CTempTrackProxy::GetHighlightsColor(), CTempTrackProxy::GetHubId(), CTrackTypeInfo::GetId(), CTempTrackProxy::GetId(), GetId(), CTempTrackProxy::GetIsPrivate(), GetKnownAnnots(), CTempTrackProxy::GetName(), CTempTrackProxy::GetOrder(), CRef< C, Locker >::GetPointer(), CTempTrackProxy::GetRemoteData(), CTempTrackProxy::GetRemoteId(), CTempTrackProxy::GetSeqDataKey(), CTempTrackProxy::GetSettingGroup(), ITrackConfigurable::GetSettings(), CTempTrackProxy::GetShown(), CTempTrackProxy::GetShowTitle(), CTempTrackProxy::GetSortBy(), CTempTrackProxy::GetSource(), CFeatList::GetStoragekey(), CTempTrackProxy::GetStoredScale(), CTempTrackProxy::GetSubcategory(), CCategoryConfig::GetSubcategory(), CTempTrackProxy::GetSubkey(), CTempTrackProxy::GetSubTracks(), ILayoutTrackFactory::GetThisTypeInfo(), CTempTrackProxy::GetTrack(), GetTrackFactory(), CTempTrackProxy::GetTrackProfile(), CAlignmentTrackFactory::GetTypeInfo(), CFeatureTrackFactory::GetTypeInfo(), CGeneModelFactory::GetTypeInfo(), CGraphTrackFactory::GetTypeInfo(), CLayoutTrack::GetTypeInfo(), CTempTrackProxy::GetUId(), ITERATE, ncbi::grid::netcache::search::fields::key, label, CAnnotMetaData::m_Descr, CAnnotMetaData::m_xClass, NULL, CSGConfigUtils::ParseProfileString(), NStr::Replace(), s_ProcessOptionalSettings(), CTrackConfigSet_Base::Set(), CTempTrackProxy::SetTrack(), ncbi::grid::netcache::search::fields::subkey, CTrackUtils::TokenizeWithEscape(), and NStr::TruncateSpaces().
◆ GetKnownAnnots() ◆ GetTrackDisplayOptions() ◆ GetTrackFactories() ◆ GetTrackFactory()Definition at line 160 of file track_config_manager.cpp.
References map_checker< Container >::end(), map_checker< Container >::find(), ncbi::grid::netcache::search::fields::key, m_Factories, and NULL.
Referenced by CTrackContainer::CloneTrack(), CreateTrackConfig(), CTrackContainer::LoadNATracks(), CFeaturePanel::x_ConfigureSubtracks(), CFeaturePanel::x_CreateLevelTrack(), CAllOtherFeaturesTrack::x_ReinitFeatureTrack(), CTrackContainer::x_ReinitNATrack(), and CTrackContainer::x_ReinitTrack().
◆ GetTrackTypes() list< string > CTrackConfigManager::GetTrackTypes ( ) const ◆ GetUsedFeatureKeys() ◆ MergeTrackConfig()Merge with the existing track configuration.
If a track presents in the input settings_set, but not in the existing track list, that track will be added. When merging settings on the tracks presented in both the input track list and original tracks, the settings in the input track list will be honored. The potential merged settings include track on/off state, annots, and track-specific settigns. Track order in the original track list won't be affected.
Definition at line 1120 of file track_config_manager.cpp.
References copy(), eAnnot_Merge, eAnnot_Replace, CRef< C, Locker >::GetPointer(), ITERATE, STrackSettings::ParseSettings(), CRef< C, Locker >::Reset(), CTrackProxy::STPSorterByOrder::s_CompareCRefs(), s_FindMatchedTrack(), s_InitTrackFromSettings(), and s_ResolveSubTracks().
◆ OnShownList() ◆ RegisterSGTracks() void CTrackConfigManager::RegisterSGTracks ( ) static ◆ SetKnownAnnots() ◆ SetTrackConfig()Reset the track configuration with input settings.
Definition at line 1171 of file track_config_manager.cpp.
References CRef< C, Locker >::GetPointer(), ITERATE, NON_CONST_ITERATE, STrackSettings::ParseSettings(), CRef< C, Locker >::Reset(), CTrackProxy::STPSorterByOrder::s_CompareCRefs(), s_FindMatchedTrack(), s_InitTrackFromSettings(), and s_ResolveSubTracks().
Referenced by CFeaturePanel::SetTrackConfig().
◆ UpdateTrackConfig()Update the existing track configuration.
The input settings will be applied on the existing tracks. The settings for the tracks that only present in the input settings_set will be ginored. The potential updated settings include track annotation list and track-specific settings. Track on/off state, track name and track order will not be updated.
Definition at line 193 of file track_config_manager.cpp.
References map_checker< Container >::end(), NStr::EndsWith(), NStr::eNocase, map_checker< Container >::find(), CTrackConfigSet_Base::Get(), CCheckBox_Base::GetConditions(), CChoice_Base::GetConditions(), CTextBox_Base::GetConditions(), CChoice_Base::GetCurr_value(), CCheckBox_Base::GetDisplay_name(), CChoice_Base::GetDisplay_name(), CChoiceItem_Base::GetDisplay_name(), CTextBox_Base::GetDisplay_name(), CCheckBox_Base::GetHelp(), CChoice_Base::GetHelp(), CChoiceItem_Base::GetHelp(), CTextBox_Base::GetHelp(), CChoiceItem_Base::GetLegend_text(), CCheckBox_Base::GetName(), CChoice_Base::GetName(), CChoiceItem_Base::GetName(), CHiddenSetting_Base::GetName(), CTextBox_Base::GetName(), CCheckBox_Base::GetOptional(), CChoice_Base::GetOptional(), CChoiceItem_Base::GetOptional(), CTextBox_Base::GetOptional(), ITrackConfigurable::GetSettings(), CCheckBox_Base::GetValue(), CHiddenSetting_Base::GetValue(), CTextBox_Base::GetValue(), CChoice_Base::GetValues(), CCheckBox_Base::IsSetConditions(), CChoice_Base::IsSetConditions(), CTextBox_Base::IsSetConditions(), CCheckBox_Base::IsSetDisplay_name(), CChoice_Base::IsSetDisplay_name(), CChoiceItem_Base::IsSetDisplay_name(), CTextBox_Base::IsSetDisplay_name(), CCheckBox_Base::IsSetHelp(), CChoice_Base::IsSetHelp(), CChoiceItem_Base::IsSetHelp(), CTextBox_Base::IsSetHelp(), CChoiceItem_Base::IsSetLegend_text(), CCheckBox_Base::IsSetOptional(), CChoice_Base::IsSetOptional(), CChoiceItem_Base::IsSetOptional(), CTextBox_Base::IsSetOptional(), ITERATE, ncbi::grid::netcache::search::fields::key, m_Factories, option, Ref(), CDisplayOptionsBundle_Base::SetOptions(), CDisplayOptionsBundle_Base::SetTracks(), and rapidjson::value.
Referenced by GetTrackDisplayOptions().
◆ x_InitTrackManager() void CTrackConfigManager::x_InitTrackManager ( ) private ◆ m_Factories ◆ m_KnownAnnotsComplete list of known annotations with meta-data.
Different annotations may annotated at different levels for a given sequence, e.g. Chromosome, Scaffold, and Component. So each level will have a separate list. The level number is a relative number. level = 0 means current sequence level. level = 1 means one level down from the current sequence level. Currently, only named annotations (NAAs) from seq-annot database are covered which live at level 0. The NAA meta-data are retrieved using eutils instead of object manager to avoid performance and memory consumption issues.
Definition at line 197 of file track_config_manager.hpp.
Referenced by CTrackConfigManager(), GetKnownAnnots(), and SetKnownAnnots().
The documentation for this class was generated from the following files:
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