NCBI C++ ToolKit
Classes | Macros | Functions
track_config_manager.cpp File Reference
#include <ncbi_pch.hpp>
#include <gui/objects/HiddenSetting.hpp>
#include <gui/objects/TextBox.hpp>
#include <gui/objects/Conditional.hpp>
#include <gui/widgets/seq_graphic/track_config_manager.hpp>
#include <gui/widgets/seq_graphic/seqgraphic_conf.hpp>
#include <gui/widgets/seq_graphic/config_utils.hpp>
#include <gui/widgets/seq_graphic/sequence_track.hpp>
#include <gui/widgets/seq_graphic/gene_model_track.hpp>
#include <gui/widgets/seq_graphic/feature_track.hpp>
#include <gui/widgets/seq_graphic/segment_map_track.hpp>
#include <gui/widgets/seq_graphic/scaffold_track.hpp>
#include <gui/widgets/seq_graphic/component_track.hpp>
#include <gui/widgets/seq_graphic/alignment_track.hpp>
#include <gui/widgets/seq_graphic/all_other_features_track.hpp>
#include <gui/widgets/seq_graphic/six_frames_trans_track.hpp>
#include <gui/widgets/seq_graphic/graph_track.hpp>
#include <gui/widgets/seq_graphic/seqgraphic_graph_ds.hpp>
#include <gui/widgets/seq_graphic/epigenomics_track.hpp>
#include <gui/widgets/seq_graphic/dbvar_track.hpp>
#include <gui/widgets/seq_graphic/vcf_track.hpp>
#include <gui/widgets/seq_graphic/track_container_track.hpp>
#include <gui/widgets/seq_graphic/graph_overlay.hpp>
#include <gui/widgets/seq_graphic/seqtable_graph_track.hpp>
#include <gui/widgets/seq_graphic/trace_graph_ds.hpp>
#include <gui/widgets/seq_graphic/trace_graph_track.hpp>
#include <gui/widgets/seq_graphic/aggregate_feature_track.hpp>
#include "columnar_vcf_project_item_extension.hpp"
#include <gui/utils/extension_impl.hpp>
#include <gui/utils/track_info.hpp>
#include <gui/objutils/utils.hpp>
#include <gui/objutils/na_utils.hpp>
#include <gui/objutils/nonasn_track_data.hpp>
#include <corelib/ncbi_url.hpp>
#include <limits.h>
+ Include dependency graph for track_config_manager.cpp:

Go to the source code of this file.

Go to the SVN repository for this file.

Classes

struct  STrackSettings
 help struct for storing track settings More...
 

Macros

#define MAX_LEVEL   numeric_limits<int>::max()
 

Functions

 USING_SCOPE (objects)
 
static void s_ParseOptionalSettings (const string &optional_settings, set< string > &options2hide, set< string > &options2show)
 
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. More...
 
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. More...
 
void s_InitTrackFromSettings (CTrackProxy &track, const STrackSettings &s, int order, bool update_annots=true)
 
static void s_ParseSubTrackId (const string &subtrack_id, string &track_id, string &track_attr)
 
void s_ResolveSubTracks (CTrackConfigManager::TTrackProxies &t_settings)
 
void s_ProcessOptionalSettings (CTempTrackProxy &temp_proxy, CTrackConfig &config)
 

Macro Definition Documentation

◆ MAX_LEVEL

#define MAX_LEVEL   numeric_limits<int>::max()

Definition at line 78 of file track_config_manager.cpp.

Function Documentation

◆ s_FindMatchedTrack()

static CTrackConfigManager::TTrackProxies::iterator s_FindMatchedTrack ( const STrackSettings src_track,
CTrackConfigManager::TTrackProxies track_list 
)
static

Helper function to find a matched track from a list of tracks for a given source track.

It returns the first that makes the exact match.

Definition at line 826 of file track_config_manager.cpp.

References s_TrackMatch().

Referenced by CTrackConfigManager::AlignTrackConfig(), CTrackConfigManager::MergeTrackConfig(), and CTrackConfigManager::SetTrackConfig().

◆ s_InitTrackFromSettings()

void s_InitTrackFromSettings ( CTrackProxy track,
const STrackSettings s,
int  order,
bool  update_annots = true 
)

Definition at line 840 of file track_config_manager.cpp.

References STrackSettings::CreateProfileString(), map_checker< Container >::empty(), CTempTrackProxy::GetName(), CTempTrackProxy::GetOrder(), STrackSettings::m_Annots, STrackSettings::m_Batch, STrackSettings::m_BigDataIndex, STrackSettings::m_Category, STrackSettings::m_Comments, STrackSettings::m_DataKey, STrackSettings::m_DB, STrackSettings::m_DispName, STrackSettings::m_ErrorStatus, STrackSettings::m_Filter, STrackSettings::m_Help, STrackSettings::m_Highlights, STrackSettings::m_HighlightsColor, STrackSettings::m_HubId, STrackSettings::m_Id, STrackSettings::m_isPrivate, STrackSettings::m_Key, STrackSettings::m_Name, STrackSettings::m_Options2Hide, STrackSettings::m_Options2Show, STrackSettings::m_OriginalKey, STrackSettings::m_Profile, STrackSettings::m_RemoteData, STrackSettings::m_RemoteId, STrackSettings::m_RemotePath, STrackSettings::m_SeqDataKey, STrackSettings::m_SettingGroup, STrackSettings::m_sExtraInfo, STrackSettings::m_Shown, STrackSettings::m_ShowTitle, STrackSettings::m_SortBy, STrackSettings::m_StoredScale, STrackSettings::m_Subcategory, STrackSettings::m_Subkey, STrackSettings::m_SubTracks, STrackSettings::m_UId, STrackSettings::m_UseGroupDefault, CTempTrackProxy::SetAnnots(), CTempTrackProxy::SetBatch(), CTempTrackProxy::SetBigDataIndex(), CTempTrackProxy::SetCategory(), CTempTrackProxy::SetComments(), CTrackProxy::SetDataKey(), CTrackProxy::SetDB(), CTempTrackProxy::SetDisplayName(), CTempTrackProxy::SetErrorStatus(), CTempTrackProxy::SetExtraInfo(), CTempTrackProxy::SetFilter(), CTempTrackProxy::SetHelp(), CTempTrackProxy::SetHighlights(), CTempTrackProxy::SetHighlightsColor(), CTempTrackProxy::SetHubId(), CTempTrackProxy::SetId(), CTempTrackProxy::SetIsPrivate(), CTempTrackProxy::SetKey(), CTempTrackProxy::SetName(), CTempTrackProxy::SetOptions2Hide(), CTempTrackProxy::SetOptions2Show(), CTempTrackProxy::SetOrder(), CTrackProxy::SetOriginalKey(), CTempTrackProxy::SetRemoteData(), CTempTrackProxy::SetRemoteId(), CTempTrackProxy::SetRemotePath(), CTempTrackProxy::SetSeqDataKey(), CTempTrackProxy::SetSettingGroup(), CTempTrackProxy::SetShown(), CTempTrackProxy::SetShowTitle(), CTempTrackProxy::SetSortBy(), CTempTrackProxy::SetStoredScale(), CTempTrackProxy::SetSubcategory(), CTempTrackProxy::SetSubkey(), CTempTrackProxy::SetSubTracks(), CTempTrackProxy::SetTrackProfile(), CTempTrackProxy::SetUId(), and CTempTrackProxy::SetUseGroupDefault().

Referenced by CTrackConfigManager::AlignTrackConfig(), CTrackConfigManager::MergeTrackConfig(), and CTrackConfigManager::SetTrackConfig().

◆ s_IsStdTrack()

static bool s_IsStdTrack ( const string track_id)
static

◆ s_ParseOptionalSettings()

static void s_ParseOptionalSettings ( const string optional_settings,
set< string > &  options2hide,
set< string > &  options2show 
)
static

◆ s_ParseSubTrackId()

static void s_ParseSubTrackId ( const string subtrack_id,
string track_id,
string track_attr 
)
static

Definition at line 942 of file track_config_manager.cpp.

Referenced by s_ResolveSubTracks().

◆ s_ProcessOptionalSettings()

void s_ProcessOptionalSettings ( CTempTrackProxy temp_proxy,
CTrackConfig config 
)

◆ s_ResolveSubTracks()

void s_ResolveSubTracks ( CTrackConfigManager::TTrackProxies t_settings)

◆ s_TrackMatch()

static bool s_TrackMatch ( const STrackSettings src_track,
const CTempTrackProxy target_track,
bool  exact_annot_match = true 
)
static

The matching logic is 'vague' due to the fact that the user-provided 'tracks' may be ambiguous.

For example, only the track type (and subtype) is specified. We need to consider several information to decide if two tracks match.

Parameters
exact_annot_matchif true, the two tracks must show the exactly same set of annotations in order to match. Otherwise, the two tracks will be considered as 'matched' if src_track has no annotatioin specified.

Definition at line 766 of file track_config_manager.cpp.

References CTempTrackProxy::GetAnnots(), CTempTrackProxy::GetFilter(), CTempTrackProxy::GetId(), CTempTrackProxy::GetKey(), CTempTrackProxy::GetName(), CTempTrackProxy::GetSubkey(), STrackSettings::m_Annots, STrackSettings::m_Filter, STrackSettings::m_Id, STrackSettings::m_Key, STrackSettings::m_Name, STrackSettings::m_Subkey, s_IsStdTrack(), and ct::sort().

Referenced by s_FindMatchedTrack().

◆ USING_SCOPE()

USING_SCOPE ( objects  )
Modified on Wed Jun 12 11:11:12 2024 by modify_doxy.py rev. 669887