67 static const string kBaseKey =
"GBPlugins.SeqGraphicFeatureTrack";
102 if (iter->second == layout) {
126 if (iter != sm_LinkedFeatMap.end()) {
136 for (iter = sm_LinkedFeatMap.begin(); iter != sm_LinkedFeatMap.end(); ++iter) {
137 if (iter->second == linked_feat) {
154 , m_CompactThreshold(200)
156 , m_Layout(eLayout_Default)
164 , m_HasLinkedFeats(
false)
195 title =
"Other annotations";
290 for ( ; feature_iter; ++feature_iter) {
300 seq_entry.SetAnnot().push_back(pAnnot);
310 LOG_POST(
Error <<
"CFeatureTrack::x_OnJobCompleted() notification for job \
311 does not contain results.");
419 if ((*iter)->GetType().IsStr() &&
434 if ((*iter)->GetType().IsStr() &&
437 return (*iter)->GetFieldRef(
kWeightKey)->GetData().GetInt();
469 for (
size_t i = 1;
i <
colors.size(); ++
i) {
474 if (subtype != objects::CSeqFeatData::eSubtype_any && subtype != objects::CSeqFeatData::eSubtype_bad) {
476 if (!descr.empty()) {
481 descr +=
", heatmap";
487 if (subtype != objects::CSeqFeatData::eSubtype_any && subtype != objects::CSeqFeatData::eSubtype_bad) {
498 SetMsg(
", Distribution histogram");
531 bool set_weight =
false;
600 if (objs.empty() && !
result.m_ExtraObj) {
634 string msg =
", total ";
635 const size_t obj_size = objs.size();
667 dynamic_cast<const CFeatGlyph*
>(iter->GetPointer());
711 size_t num_child = child_objs.size();
712 CLayoutGroup::TObjectList::iterator c_iter = child_objs.begin();
714 while (c_iter != child_objs.end()) {
717 if ( !c_group && num_child == 2) {
726 feat_group->SetParentFeat(p_feat);
732 feat_group->PushBack(child);
734 c_iter = child_objs.erase(c_iter);
749 feat_group->SetParent(&
m_Group);
751 feat_group->SetFirstIsParent();
757 CSeqGlyph::TObjects::iterator iter = objs.begin();
758 while (iter != objs.end()) {
772 feat_group->SetParentFeat(p_feat);
782 feat_group->SetParent(&
m_Group);
784 feat_group->SetFirstIsParent();
803 bool need_highlight =
false;
828 need_highlight =
true;
837 feat_group->SetGroup().SetRenderingContext(
m_Context);
840 need_highlight =
true;
841 feat_group->SetHighlighted(
true);
848 need_highlight =
true;
872 return need_highlight;
924 switch (iter->second) {
929 label =
"Show parent, not children";
932 label =
"Show parent, expand children upon a click";
935 label =
"Show parent, merge children";
938 label =
"Merge parent and children";
941 label =
"Show children, not parent";
946 if (!
label.empty()) {
947 wxMenuItem* item = menu.AppendRadioItem(id_base + iter->second,
ToWxString(
label));
955 wxMenuItemList& item_list = menu.GetMenuItems();
956 ITERATE(wxMenuItemList, iter, item_list) {
974 wxMenuItem* item = menu.AppendRadioItem(id_base + iter->second,
975 ToWxString(iter->first + (l_default ?
" (Default)" :
"")));
983 wxMenuItemList& item_list = menu.GetMenuItems();
984 ITERATE (wxMenuItemList, iter, item_list) {
986 if ((*iter)->IsChecked() &&
id !=
m_Layout) {
1077 int w1 = -1, w2 = -1;
1135 if (
range.Empty()) {
1151 if ( !src_annots.
empty() ) {
1163 if (track_settings.count(
"graph_cache_key") > 0) {
1166 if (track_settings.count(
"rmt_type") > 0) {
1178 string annot(iter->first);
1179 feat_track->SetAnnot(annot);
1180 feat_track->SetFeatSubtype(item.
GetSubtype());
1181 if ( !iter->second.empty() ) {
1182 feat_track->SetTitle(iter->second);
1205 if (f_track && tp) {
1232 bool is_intron_track =
false;
1239 config_set->
Set().push_back(
x_GetSettings(settings, track_proxy, is_intron_track));
1253 if (!
config->CanGetHelp())
1255 config->SetLegend_text(
"anchor_1");
1260 bool use_layout_settings =
true;
1267 bool has_linked_feats =
true;
1291 bool sort_reads =
false;
1292 bool sort_strands =
false;
1300 rendering_str = iter->second;
1301 use_layout_settings =
false;
1304 has_linked_feats =
true;
1310 read_range = iter->second;
1318 if (is_intron_track) {
1319 has_linked_feats =
false;
1320 config->SetSubkey(
"intron");
1323 if (use_layout_settings) {
1325 "Layout",
"Rendering options",
1327 "Rendering style on how to layout features.");
1329 choice->SetValues().push_back(
1332 "All features on a single line",
1333 "Track is displayed, with all features collapsed on a single line.",
1334 "All the features are packed and shown as a Distribution histogram."));
1335 choice->SetValues().push_back(
1338 "Pack features if necessary",
1341 choice->SetValues().push_back(
1344 "All features are expanded",
1345 "Track is displayed with features expanded, and on separate lines if needed.",
1346 "Always show the individual features and layer the features in a compact form"));
1347 config->SetChoice_list().push_back(choice);
1348 if (has_linked_feats) {
1350 "LinkedFeat",
"Feature Linking",
1352 "Rendering style on how to render linked features.");
1353 choice->SetValues().push_back(
1357 "All features, both parent and all child fetaures",
1358 "The black bar on top represents the parent feature. Each bar blow represents "
1359 "a child feature."));
1360 choice->SetValues().push_back(
1363 "Show parent, Merge children",
1364 "Show parent on one line and all children merged below it.",
1365 "The black bar on top represents the parent feature. Each bar blow represents "
1366 "a child feature."));
1368 choice->SetValues().push_back(
1371 "Show children, not parent",
1372 "Show only the chidlren, not parent",
1373 "The bar represent children features"));
1375 choice->SetValues().push_back(
1378 "Show parent, not children ",
1379 "Show the parent features, not the children",
1380 "The black bar represents parent feature."));
1382 choice->SetValues().push_back(
1385 "Superimpose children on parent",
1386 "Render all child features on the parent feature",
1387 "The underneath black bar represents parent feature and all the red bars on top represent the children."));
1389 config->SetChoice_list().push_back(choice);
1394 "Rendering",
"Rendering options",
1396 "Rendering options for linked features.");
1398 choice->SetValues().push_back(
1402 "All features, both parent and all child fetaures",
1403 "The black bar on top represents the variant region. Each bar blow represents \
1404 the supporting level variants used to define this region.<br>Red: A Deletion or Loss<br> \
1405 Green: A Gain or Insertion<br>Light Gray: An Inversion"));
1406 choice->SetValues().push_back(
1409 "Show parent, Merge children",
1410 "Show parent on one line and all children merged below it.",
1411 "The black bar on top represents the variant region. The bar blow represents \
1412 all of the sample level variants merged onto a single line.<br>Red: A Deletion or Loss<br> \
1413 Green: A Gain or Insertion<br>Light Gray: An Inversion"));
1415 choice->SetValues().push_back(
1418 "Show children, not parent",
1419 "Show only the supporting variants (chidlren) not the variant region (parent)",
1420 "The bar represent supporting variants in this study.<br>Red: A Deletion or Loss<br>\
1421 Green: A Gain or Insertion<br>Light Gray: An Inversion"));
1423 choice->SetValues().push_back(
1426 "Show parent, not children ",
1427 "Show the variant region (parent) not the supporting variants (children)",
1428 "The black bar represents the variant region."));
1436 choice->SetValues().push_back(
1439 "Display on a single line",
1440 "Track is displayed, with all features collapsed on a single line.",
1441 "All the features are packed into one line."));
1442 choice->SetValues().push_back(
1446 "Track is displayed, with all features displayed as a histogram.",
1447 "All the features are packed and shown as a Distribution histogram."));
1449 config->SetChoice_list().push_back(choice);
1452 if (track_proxy && !track_proxy->
GetSortBy().empty()) {
1453 string sort_by = track_proxy->
GetSortBy();
1456 "sort_by",
"Sort features by",
1458 "Sort features according to a selected criterion.");
1460 sortby_choice->SetValues().push_back(
1462 "",
"No sorting",
"Don't sort features",
""));
1465 if (descr.
m_Name == sort_by) {
1467 config->SetLegend_text(
"anchor_3");
1472 sortby_choice->SetValues().push_back(
1475 config->SetChoice_list().push_back(sortby_choice);
1478 if (is_intron_track) {
1479 config->SetCheck_boxes().push_back(
1482 "Sort features by number of spliced reads (most reads first)",
1483 "Sort features by number of spliced reads (most reads first)",
1485 config->SetCheck_boxes().push_back(
1488 "Sort features by strand",
1489 "Sort features by strand",
1492 string reads_min, reads_max;
1493 bool no_range =
true;
1494 if (!read_range.empty()) {
1495 string r_min, r_max;
1497 if (!r_min.empty() && r_min !=
"inf") {
1500 if (!r_max.empty() && r_max !=
"inf") {
1507 "Filter by number of spliced reads (data outside the range will be hidden)",
1508 "Filter by number of spliced reads (data outside the range will be hidden)",
1513 config->SetRange_controls().push_back(range_control);
static const map< string, CAlignmentTrack::ELayout > sm_LayoutMap
CAppJobNotification Notification send by CAppJobEventTranslator.
static SSorterDescriptor GetSorterDescr()
CClonePlacementGlyph is similar to CFeatureGlyph, but with different rendering style and settings.
void SetConfig(CConstRef< CClonePlacementParams > conf)
CColumnLayout is for creating layout by sorting glyphs into 'columns'.
void SetMinDist(TSeqPos dist)
CCompactLayout is amed to generate more compact 2D layout policy than layered layout for glyphs with ...
void SetMinDist(TSeqPos dist)
vector< CRgbaColor > TColorCode
CDataTrack - a abstract base class for layout tracks which need to deal with background data retrieva...
const TSeqRange & x_GetVisRange() const
virtual void Update(bool layout_only)
Update content and layout including the bounding box.
void SetConfig(CConstRef< CFeatureParams > conf)
const objects::CSeq_feat & GetFeature(void) const
Access the original feature.
void GetLabel(string &label, CLabel::ELabelType type) const
retrieve feature label for a given type
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.
bool GetItemByKey(const string &key, CFeatListItem &config_item) const
string GetDescription(int type, int subtype) const
Get the displayable description of this type of feature.
bool NeedFiltering() const
bool Pass(const objects::CMappedFeat *feat)
void Init(const string &filter)
CRef< objects::CTrackConfig > x_GetSettings(const TKeyValuePairs &settings, const CTempTrackProxy *track_proxy, bool is_intron_track) const
virtual void CloneTrack(const CLayoutTrack *track, CTempTrackProxy *track_proxy) const
duplicate any track setting from a given track instance to a proxy.
virtual CRef< objects::CTrackConfigSet > GetSettings(const string &profile, const TKeyValuePairs &settings, const CTempTrackProxy *track_proxy) const
virtual string GetExtensionLabel() const
returns a displayable label for this extension ( please capitalize the key words - "My Extension" )
virtual string GetExtensionIdentifier() const
returns the unique human-readable identifier for the extension the id should use lowercase letters se...
CFeatureTrack::ELayout m_DefaultLayout
ELinkedFeatDisplay m_DefaultLinkedFeat
virtual const CTrackTypeInfo & GetThisTypeInfo() const
virtual TTrackMap CreateTracks(SConstScopedObject &object, ISGDataSourceContext *ds_context, CRenderingContext *r_cntx, const SExtraParams ¶ms=SExtraParams(), const TAnnotMetaDataList &src_annots=TAnnotMetaDataList()) const
create a layout track based on the input objects and extra parameters.
virtual void GetMatchedAnnots(const TAnnotMetaDataList &src_annots, const ILayoutTrackFactory::SExtraParams ¶ms, TAnnotNameTitleMap &out_annots) const
static const string & LinkedFeatDisplayValueToStr(ELinkedFeatDisplay linked_feat)
virtual void x_SaveSettings(const string &)
save part of settings to a profile string.
int m_FeatLimits
maximal number of features shown in on track.
int GetFeatSubtype() const
virtual void x_LoadFeatures(const TSeqRange &range, int feat_limit)
virtual void x_OnIconClicked(TIconID id)
Mouse left-click event handler on an icon.
void x_CountFeats_recursive(const CSeqGlyph::TObjects &objs, int &count, bool is_overview)
virtual void x_OnLayoutPolicyChanged()
CRef< CLayeredLayout > m_GroupLayered
void GenerateAsn1(objects::CSeq_entry &seq_entry, TSeqRange range)
CRef< CColumnLayout > m_Column
CSeqGraphicConfig::TFeatSubtype m_Subtype
static ELayout LayoutStrToValue(const string &layout)
int m_MaxAdaptiveHeight
Maximal feature group pixel height in adaptive mode.
CRef< CSGFeatureDS > m_DS
objects::SAnnotSelector m_FeatSel
bool x_NeedHighlight(const CSeqGlyph::TObjects &objs) const
virtual void x_OnJobCompleted(CAppJobNotification ¬ify)
void x_RegroupFeats(CSeqGlyph::TObjects &objs, ELinkedFeatDisplay link_mode)
rearrange the child features if necessary.
static const string & LayoutValueToStr(ELayout layout)
virtual string GetFullTitle() const
get a more meaningful title.
void x_SortFeaturesByWeight(CSeqGlyph::TObjects &objs) const
virtual void x_ParseSettings(const TKeyValuePairs &settings)
CRef< CLayeredLayout > m_LinkedGroup
CRef< CCompactLayout > m_Compact
void x_AddFeaturesLayout(const CSGJobResult &result)
bool x_HasLinkedFeats() const
virtual void x_LoadSettings(const string &, const TKeyValuePairs &settings)
load the track settings.
CRef< CSimpleLayout > m_GroupSimple
void SetAnnot(const string &annot)
int m_MaxRow
Maximal number of feature rows in one feature track.
void x_AddHistogram(CHistogramGlyph *hist, int layout=-1)
size_t m_HistThreshold
An independent histogram threshold used by SViewer.
void x_AdjustFeatureLayout()
void x_ExtracGlyphs_Recursive(CSeqGlyph::TObjects &objs, CLinkedFeatsGroup *feat_group)
CFeatureTrack(CSGFeatureDS *ds, CRenderingContext *r_cntx)
CRef< CBoundaryParams > m_GroupConfig
virtual void x_UpdateData()
update track content.
static CTrackTypeInfo m_TypeInfo
void SetFeatSubtype(int subtype)
@ eLayout_ExpandedColumn
show all features with column layout
@ eLayout_AdaptiveInline
adaptively switch between packed and inline
@ eLayout_Packed
pack all feature into a histogram
@ eLayout_ExpandedLayered
show all features with layered layout
@ eLayout_OneLine
pack all feature into one line
@ eLayout_AdaptiveLayered
adaptively switch between packed and layered
@ eLayout_ExpandedByPos
show all features, one per row sorted by pos
@ eLayout_ExpandedBySize
one feature per row sorted by size
bool x_InitGlyphs_Recursive(CSeqGlyph::TObjects &objs, int curr_level, bool compact_mode)
initialize all children.
ELinkedFeatDisplay m_LinkedFeat
void x_OnContentIconClicked()
static ELinkedFeatDisplay LinkedFeatDisplayStrToValue(const string &linked_feat)
virtual const CTrackTypeInfo & GetTypeInfo() const
void ExcludeAnnotName(const string &annot)
void x_OnLayoutIconClicked()
int m_CompactThreshold
Feature number threshold between compact mode and non-compact mode.
void x_InitLayoutPolicy(CLayoutGroup &group, ELinkedFeatDisplay link_mode)
static SSorterDescriptor GetSorterDescr()
void Add(CSeqGlyph *obj)
Append a layout object to the end.
void SetObjects(const CLayoutGroup::TObjectList &objs)
const THighlights & GetHighlights() const
CLayoutGroup & SetGroup()
CRef< CInlineLayout > m_Inline
const CLayoutGroup::TObjectList & GetChildren() const
const CLayoutGroup & GetGroup() const
CLayoutGroup::TObjectList & SetChildren()
CRef< CLayeredLayout > m_Layered
CRef< CSimpleLayout > m_Simple
void SetLayoutPolicy(ILayoutPolicy *policy)
Set policy on how to deploy the layout of its children.
static CGuiRegistry & GetInstance()
access the application-wide singleton
void AddSettings(const string &name, CRef< CHistParams > hist_params)
Add a new settings for a given name.
void AddTempSettings(const string &name, CRef< CHistParams > hist_params)
Add a temporary settings for a given name.
bool HasSettings(const string &name) const
Check if there is settings for a given name.
CRef< CHistParams > GetDefHistParams() const
CRef< CHistParams > GetHistParams(TFeatSubtype subtype) const
Get histogram settings using feature subtype.
const string & GetAnnotName() const
void SetDialogHost(IGlyphDialogHost *host)
void SetSubtype(objects::CSeqFeatData::ESubtype subtype)
void SetDesc(const string &desc)
void SetConfig(const CSeqGraphicConfig &config)
CLayeredLayout is a standard 2D layout policy.
void SetMinDist(TSeqPos dist)
void SetLimitRowPerGroup(bool f)
void SetSorted(bool flag)
CLayoutGroup is a container of CSeqGlyphs (layout objects).
void SetLayoutPolicy(ILayoutPolicy *policy)
Set policy on how to deploy the layout of its children.
void SetConfig(const CBoundaryParams *conf)
Set composition boundary parameters.
void PushBack(CSeqGlyph *obj)
Append a layout object to the end.
void SetLinkedFeat(ELinkedFeatDisplay LinkedFeat)
TObjectList & SetChildren()
const TObjectList & GetChildren() const
CLayoutGroup inline methods.
bool Remove(CSeqGlyph *obj)
Remove a layout object.
CConstRef< CSeqGlyph > GetChild(int idx) const
Get the layout object at index 'idx'.
size_t GetChildrenNum() const
Get total number of children.
ILayoutPolicy::TObjectList TObjectList
@ eIcon_Content
icon id for setting content
@ eIcon_Layout
icon id for setting layout style
ILayoutTrackHost * m_LTHost
Top level host owning the tracks.
string GetTitle() const
get the track title.
TTrackAttrFlags m_Attrs
various track attributes
virtual void x_OnIconClicked(TIconID id)
Mouse left-click event handler on an icon.
@ fNavigable
Track has navigation controls.
void SetMsg(const string &msg)
void SetProfile(const string &preset_style)
CLayoutTrack inline method implmentation.
CRef< CSeqGraphicConfig > m_gConfig
global configuration.
int TIconID
use int as TIconID instead of EIconID.
void x_RegisterIcon(const SIconInfo &icon)
register track icons.
CLinkedFeatsGroup is a container class contains related features.
void PushBack(CSeqGlyph *obj)
CTitleGroup is a layout group with a title.
void SetTitleFont(CGlTextureFont *font)
void SetBackgroundColor(const CRgbaColor &color)
void SetRepeatDist(int dist)
void SetRepeatTitle(bool f)
void SetTitleColor(const CRgbaColor &color)
void SetIndent(int indent)
void SetShowTitle(bool f)
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
CRenderingContext offers the basic context and utility methods for rendering layout objects in featur...
const TSeqRange & GetVisSeqRange() const
const TModelUnit & GetScale() const
TModelUnit ScreenToSeq(const TModelUnit &size) const
convert from screen pixels to sequence positions
bool IsOverviewMode() const
bool WillSeqLetterFit() const
is it enougth space to sequence letters.
class CRgbaColor provides a simple abstraction for managing colors.
static string ComposeProfileString(const TKeyValuePairs &settings)
static void ParseProfileString(const string &profile_str, TKeyValuePairs &settings)
void SetRemoteDataType(const string &data_type)
void GetAnnotNames(objects::SAnnotSelector &sel, const TSeqRange &range, TAnnotNameTitleMap &names) const
void SetGraphCacheKey(const string &graph_cache_key)
void SetSortBy(const string &sortby)
void SetFilter(const string &filter)
CSGFeatureDS inline method.
virtual void LoadFeatures(objects::SAnnotSelector &sel, const TSeqRange &range, TModelUnit window, TJobToken token=-1, int max_feat=-1, ELinkedFeatDisplay LinkedFeatDisplay=ELinkedFeatDisplay::eLFD_Default, const string &extra_filter="")
const string & GetFilter() const
virtual bool AllJobsFinished() const
void SetJobListener(CEventHandler *listener)
Set JobDispatcher listener.
objects::CBioseq_Handle & GetBioseqHandle(void)
Get the underlying bioseq handle.
virtual void ClearJobID(TJobID job_id)
void SetDepth(int depth)
Set the annotation selector resolving depth.
virtual void DeleteAllJobs()
Remove waiting jobs from queue or cancel the unfinished jobs.
void SetAdaptive(bool flag)
CSGJobResult – the data structure holding the seqgraphic job results.
static E_Choice GetTypeFromSubtype(ESubtype subtype)
static const CFeatList * GetFeatList()
@ eSubtype_bad
These no longer need to match the FEATDEF values in the C toolkit's objfdef.h.
class CSeqGlyph defines an interface that wraps a rectilinear abstract object.
void SetHighlightsColor(const CRgbaColor &hl_color)
CRenderingContext * m_Context
the rendering context
virtual void SetHideLabel(bool)
Force to hide label.
void SetParent(CSeqGlyph *p)
virtual TModelUnit GetHeight() const
unique_ptr< CRgbaColor > m_HighlightsColor
Highlight color.
void SetHighlighted(bool flag)
list< CRef< CSeqGlyph > > TObjects
void SetRenderingContext(CRenderingContext *context)
Set the rendering context.
CRef< CHistParamsManager > GetHistParamsManager() const
Get histogram config manager.
const string & GetCurrTheme() const
CRef< CGlTextureFont > GetCommentFont() const
bool GetRepeatComment() const
CConstRef< CCustomFeatureColor > GetCustomFeatColors() const
CConstRef< CFeatureParams > GetFeatParams(TFeatSubtype subtype) const
Get feature settings using a feature subtype.
int GetHistogramCutoff() const
int GetObjectSpace() const
const CRgbaColor & GetFGCommentColor() const
const CRgbaColor & GetBGCommentColor() const
CConstRef< CClonePlacementParams > GetClonePlacementParams() const
bool GetShowComments() const
int GetCommentRepeatDist() const
namespace ncbi::objects::
CSimpleLayout is the simpliest layout policy that simply stack a set of glyphs one on top of the othe...
@ eSort_BySeqPos
seq start position
@ eSort_BySeqSize
sequence length
void SetSortingType(TSortingMethod meth)
class CStaticArrayMap<> provides access to a static array in much the same way as CStaticArraySet<>,...
TBase::const_iterator const_iterator
const string & GetSubkey() const
const string & GetSortBy() const
void SetKey(const string &key)
void SetSubkey(const string &sub_key)
static CRef< objects::CChoice > CreateChoice(const string &name, const string &disp_name, const string &curr_val, const string &help, bool optional=false)
static CRef< objects::CHiddenSetting > CreateHiddenSetting(const string &name, const string &value)
static CRef< objects::CCheckBox > CreateCheckBox(const string &name, const string &disp_n, const string &help_text, const string &legend_txt, bool value, bool optional=false)
static CRef< objects::CRangeControl > CreateRangeControl(const string &name, const string &disp_name, const string &help, const string &value_min, const string &value_max, bool autoscale=true, bool inverse=false, bool optional=false)
static void DecodeValueRange(const string &value_range, string &range_min, string &range_max, bool &range_auto)
static CRef< objects::CChoiceItem > CreateChoiceItem(const string &name, const string &disp_name, const string &help, const string &legend_txt, bool optional=false)
CTrackProxy data structure contains information about the position of a track in its parent scope,...
const string & GetDB() const
CTrackTypeInfo - holds description of a layout track type.
const string & GetDescr() const
const string & GetId() const
IGlyphDialogHost An interface used for handling issues related to any dialog pops up that requires so...
static void GetMatchedAnnots(const TAnnotMetaDataList &src_annots, const vector< string > &target_annots, const string &annot_type, const string &track_type, TAnnotNameTitleMap &out_annots)
Help function to find matched annotations.
virtual void LTH_PopupMenu(wxMenu *menu)=0
show track-specific context menu.
ISGDSManager is seqgraphic data source manage that serves as an data source context.
virtual CIRef< ISGDataSource > GetDS(const string &type, SConstScopedObject &object)=0
Get a seqgraphic data source instance of the specified type.
iterator_bool insert(const value_type &val)
container_type::value_type value_type
static const Colors colors
static const TLayoutStr s_LayoutStrs[]
bool s_IsSetWeight(const CSeq_feat &feat)
SStaticPair< const char *, ELinkedFeatDisplay > TLinkedFeatStr
SStaticPair< const char *, CFeatureTrack::ELayout > TLayoutStr
CFeatureTrack.
static bool s_FeatByWeight(const CRef< CSeqGlyph > &g1, const CRef< CSeqGlyph > &g2)
CStaticArrayMap< string, ELinkedFeatDisplay > TLinkedFeatMap
DEFINE_STATIC_ARRAY_MAP(TLayoutMap, sm_LayoutMap, s_LayoutStrs)
static const string kDispSettings
CStaticArrayMap< string, CFeatureTrack::ELayout > TLayoutMap
static const string kWeightKey
static const TLinkedFeatStr s_LinkedFeatStrs[]
static const string kBaseKey
int s_GetWeight(const CSeq_feat &feat)
static const char * pack(const char *fmt,...)
unsigned int TSeqPos
Type for sequence locations and lengths.
#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.
#define LOG_POST(message)
This macro is deprecated and it's strongly recomended to move in all projects (except tests) to macro...
void Error(CExceptionArgs_Base &args)
#define NCBI_THROW(exception_class, err_code, message)
Generic macro to throw an exception, given the exception class, error code and message string.
const string & GetMsg(void) const
Get message string.
void Warning(CExceptionArgs_Base &args)
static bool isRmtPipelineFileType(const string &sFileType)
check if a file type is one of remote file types
static objects::SAnnotSelector GetAnnotSelector(TAnnotFlags flags=0)
request an annotation selector for a given type
static bool IsUnnamed(const string &annot)
check if a given annotation is a unnamed annotation.
static TAnnotNameType NameTypeStrToValue(const string &type)
static bool isRmtAnnotName(const string &sAnnotname)
check if a given annotation was created by a remote file pipeline
static void SetResolveDepth(objects::SAnnotSelector &sel, bool adaptive, int depth=-1)
help function for setting selector resolve depth.
@ eAnnot_Unnamed
unnamed annotation
CRef< CObject > GetResult() const
returns non-null pointer only if Completed or Running and has temporary results available
virtual void Assign(const CSerialObject &source, ESerialRecursionMode how=eRecursive)
Set object to copy of another one.
const CSeq_feat & GetMappedFeature(void) const
Feature mapped to the master sequence.
SAnnotSelector & SetFeatSubtype(TFeatSubtype subtype)
Set feature subtype (also set annotation and feat type)
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 string SizetToString(size_t value, TNumToStringFlags flags=0, int base=10)
Convert size_t to string.
static int StringToInt(const CTempString str, TStringToNumFlags flags=0, int base=10)
Convert string to int.
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 & ToLower(string &str)
Convert string to lower case – string& version.
@ fWithCommas
Use commas as thousands separator.
static const char label[]
Tdata & Set(void)
Assign a value to data member.
const TExts & GetExts(void) const
Get the Exts member data.
list< CRef< CUser_object > > TExts
bool IsSetExts(void) const
set of extensions; will replace 'ext' field Check if a value has been assigned to Exts data member.
void SetData(TData &value)
Assign a value to Data data member.
list< CRef< CSeq_feat > > TFtable
range(_Ty, _Ty) -> range< _Ty >
constexpr bool empty(list< Ts... >) noexcept
const struct ncbi::grid::netcache::search::fields::SUBKEY subkey
static SLJIT_INLINE sljit_ins msg(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)
A help struct for storing information about a icon.
Template structure SStaticPair is simlified replacement of STL pair<> Main reason of introducing this...
void UseDefaultMarginWidth(wxMenu &menu)
Using default menu item margin width.
wxString ToWxString(const string &s)