1 #ifndef GUI_WIDGETS_SEQ_GRAPHIC___FEATURE_TRACK__HPP
2 #define GUI_WIDGETS_SEQ_GRAPHIC___FEATURE_TRACK__HPP
77 eLayout_Default = eLayout_AdaptiveLayered
81 eIcon_Score = eIcon_MaxTrackIconID + 1
84 static ELayout LayoutStrToValue(
const string& layout);
85 static const string& LayoutValueToStr(ELayout layout);
115 void SetAnnot(
const string& annot);
116 void ExcludeAnnotName(
const string& annot);
117 void SetFeatSubtype(
int subtype);
118 void SetLayout(ELayout layout);
153 virtual void x_LoadFeatures(
const TSeqRange&
range,
int feat_limit);
167 bool x_NeedHighlight(
const CSeqGlyph* glyph)
const;
178 int curr_level,
bool compact_mode);
183 int&
count,
bool is_overview);
185 void x_OnContentIconClicked();
186 void x_OnLayoutIconClicked();
188 virtual void x_OnLayoutPolicyChanged();
190 void x_AdjustFeatureLayout();
192 bool x_HasLinkedFeats()
const;
213 int m_MaxAdaptiveHeight = 400;
260 virtual TTrackMap CreateTracks(
264 const SExtraParams& params = SExtraParams(),
265 const TAnnotMetaDataList& src_annots = TAnnotMetaDataList())
const;
267 virtual void GetMatchedAnnots(
268 const TAnnotMetaDataList& src_annots,
270 TAnnotNameTitleMap& out_annots)
const;
297 GetSettings(
const string& profile,
298 const TKeyValuePairs& settings,
304 virtual string GetExtensionIdentifier()
const;
305 virtual string GetExtensionLabel()
const;
309 x_GetSettings(
const TKeyValuePairs& settings,
const CTempTrackProxy* track_proxy,
bool is_intron_track)
const;
CAppJobNotification Notification send by CAppJobEventTranslator.
CDataTrack - a abstract base class for layout tracks which need to deal with background data retrieva...
virtual CRef< CSGGenBankDS > GetDataSource()=0
Method for accessing the data source.
virtual void x_UpdateData()=0
update track content.
virtual void x_OnJobCompleted(CAppJobNotification ¬ify)=0
static const CTrackTypeInfo & GetTypeInfo()
virtual bool NeedBackgroundInit() const
Background track initialization.
CFeatureTrack::ELayout m_DefaultLayout
ELinkedFeatDisplay m_DefaultLinkedFeat
virtual const CTrackTypeInfo & GetThisTypeInfo() const
virtual bool UnderstandLevel() const
Have any concept of level.
virtual bool SupportsExportToAsn1() const
virtual string GetAnnot() const
int m_FeatLimits
maximal number of features shown in on track.
int GetFeatSubtype() const
virtual void GetFeatSubtypes(set< objects::CSeqFeatData::ESubtype > &subtypes) const
CRef< CLayeredLayout > m_GroupLayered
virtual CRef< CSGGenBankDS > GetDataSource()
CFeatureTrack inline methods.
CRef< CColumnLayout > m_Column
CSeqGraphicConfig::TFeatSubtype m_Subtype
CRef< CSGFeatureDS > m_DS
objects::SAnnotSelector m_FeatSel
virtual bool CheckRange(TSeqRange range, string &, size_t &)
void SetLayout(ELayout layout)
CRef< CLayeredLayout > m_LinkedGroup
CRef< CCompactLayout > m_Compact
bool x_HasLinkedFeats() const
CRef< CSimpleLayout > m_GroupSimple
int m_MaxRow
Maximal number of feature rows in one feature track.
size_t m_HistThreshold
An independent histogram threshold used by SViewer.
CFeatureTrack(const CFeatureTrack &)
CFeatureTrack & operator=(const CFeatureTrack &)
CRef< CBoundaryParams > m_GroupConfig
static CTrackTypeInfo m_TypeInfo
@ 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_None
unassigned layout
@ eLayout_ExpandedBySize
one feature per row sorted by size
ELinkedFeatDisplay m_LinkedFeat
virtual bool BypassStage1()
int m_CompactThreshold
Feature number threshold between compact mode and non-compact mode.
virtual const CTrackTypeInfo & GetTypeInfo() const
CJobResultBase – the basic job result class holding a token.
CLayoutGroup is a container of CSeqGlyphs (layout objects).
virtual void x_SaveSettings(const string &preset_style)
save the track settings to a profile string.
virtual void x_LoadSettings(const string &preset_style, const TKeyValuePairs &settings)
load the track settings.
virtual void x_OnIconClicked(TIconID id)
Mouse left-click event handler on an icon.
virtual string GetFullTitle() const
get a more meaningful title.
CLinkedFeatsGroup is a container class contains related features.
CRenderingContext offers the basic context and utility methods for rendering layout objects in featur...
CSGJobResult – the data structure holding the seqgraphic job results.
class CSeqGlyph defines an interface that wraps a rectilinear abstract object.
list< CRef< CSeqGlyph > > TObjects
int TFeatSubtype
we use int instead of CSeqFeatData::ESubtype for two reasons:
CTrackTypeInfo - holds description of a layout track type.
IAsn1Generator interface for tracks capable of generating an ASN1 seq_entry for their data.
virtual void GenerateAsn1(objects::CSeq_entry &seq_entry, TSeqRange range)=0
IExtension IExtension interface represents an abstract pluggable component.
ISGDSManager is seqgraphic data source manage that serves as an data source context.
ITrackConfigurable interface for tracks that are configurable.
map< string, string > TKeyValuePairs
iterator_bool insert(const value_type &val)
objects::CSeqFeatData::ESubtype GetFeatSubtype(const string &feat_type)
TObjectType * GetPointer(void) THROWS_NONE
Get pointer,.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define NCBI_GUIWIDGETS_SEQGRAPHIC_EXPORT
range(_Ty, _Ty) -> range< _Ty >
Portable reference counted smart and weak pointers using CWeakRef, CRef, CObject and CObjectEx.