1 #ifndef __GUI_WIDGETS_ALNMULTI___ALIGN_FEATURE_GRAPH__HPP
2 #define __GUI_WIDGETS_ALNMULTI___ALIGN_FEATURE_GRAPH__HPP
86 : m_Feature(feat), m_MappedLoc(&loc) {}
98 typedef vector< CIRef<IRenderable> >
TGraphs;
114 objects::SAnnotSelector& sel,
129 virtual string GetDescr()
const;
133 typedef vector< CConstRef<objects::CSeq_feat> >
TFeatures;
190 virtual void Layout();
197 virtual bool IsCreated()
const;
198 virtual bool Create();
199 virtual void Destroy();
200 virtual void Update(
double start,
double stop);
208 void OnAJNotification(
CEvent* evt);
215 void x_RenderStatusText(
CGlPane& pane);
237 bool x_CancelJob(
TJobID job_id);
243 void x_Create(
double start,
double stop);
280 objects::CScope& scope,
288 virtual void Render(
CGlPane& pane);
292 virtual bool NeedTooltip(
CGlPane& pane,
int vp_x,
int vp_y);
293 virtual string GetTooltip();
300 : m_ClusterIndex(-1) {}
302 : m_FeatLoc(feat_loc), m_ClusterIndex(cluster_index) {
306 , m_FeatGlyph(&glyph)
309 m_FeatLoc.m_MappedLoc.Reset(
new objects::CSeq_loc);
314 return m_FeatLoc.m_Feature.GetOriginalFeature();
317 return *m_FeatLoc.m_MappedLoc;
320 m_ClusterIndex =
value;
323 return m_ClusterIndex;
328 m_FeatGlyph =
new CFeatGlyph(m_FeatLoc.m_Feature, *m_FeatLoc.m_MappedLoc);
336 m_FeatGlyph->SetConfig(conf);
376 typedef list< CConstRef<objects::CSeq_feat> >
TFeatList;
381 objects::CScope& scope,
385 objects::CScope& scope,
395 void x_GatherCluster(
SFeatRec& feat_rec,
398 vector<TFeatRecPtrLenPair>& pairs);
400 bool x_mRNA_CDS_ToBePlaced(
const objects::CSeq_feat& feat);
401 void x_TryPlaceCDSFeature(
SFeatRec& rec);
408 virtual string x_GetTooltip(
const SFeatRec& rec);
444 virtual double GetStop()
const;
445 virtual double GetStep()
const;
448 virtual double GetValue(
size_t index);
454 virtual void Update(
double start,
double stop);
CAlignedFeatureGraph(TMappedFeatLocs &feat_locs, objects::CScope &scope, const string &label, bool link_genes)
CRangeCollection< TSeqPos > TColl
vector< SCluster > TClusters
vector< TColl * > TCollVector
virtual void x_Init(TMappedFeatLocs &feat_locs, objects::CScope &scope, const string &label, bool link_genes)
map< const objects::CSeq_feat *, pair< SFeatRec *, bool > > TFeatToRecFlag
list< CConstRef< objects::CSeq_feat > > TFeatList
pair< SFeatRec *, TSeqPos > TFeatRecPtrLenPair
CRef< objects::CScope > m_Scope
TFeatToRecFlag m_FeatToRecFlag
void x_Init(CSeqGlyph::TObjects &glyphs, objects::CScope &scope, const string &label, bool link_genes)
vector< SMappedFeatLoc > TMappedFeatLocs
vector< SFeatRec > TFeatRecs
vector< SLayer * > TLayers
vector< SFeatRec * > TFeatRecPtrs
CAppJobNotification Notification send by CAppJobEventTranslator.
class CDensityMap generates a low-resolution view of a set of features.
CEvent - generic event implementation TODO TODO - Attachments.
const objects::CMappedFeat & GetMappedFeature(void) const
Access a new, fully remapped feature.
virtual void Update(double start, double stop)
vector< SMappedFeatLoc > TMappedFeatLocs
CRange< TSeqPos > TFeatRange
CFeatHistogramDS(TMappedFeatLocs &feat_locs, const string &label)
CFeatHistogramDS.
virtual string GetLabel() const
virtual double GetStop() const
virtual double GetValue(size_t index)
value of the sample with the given index
virtual double GetMaxValue()
virtual double GetLimit() const
returns start of the series in model space
TMappedFeatLocs m_FeatLocs
virtual double GetStart() const
virtual double GetStep() const
discrete size in model space
virtual size_t GetCount() const
number of samples in the series
objects::CFeatListItem TFeatTypeItem
set< TFeatTypeItem > TFeatTypeItemSet
TFeatTypeItemSet m_FeatureTypes
defines what feature types / subtypes shall be shown
TGraphs m_PendingGraphs
Candidate graphs waiting for replacing the current ones.
vector< SMappedFeatLoc > TMappedFeatLocs
CFeatureGraphProperties m_Properties
map< TJobID, CRef< CFeatureLoadingJob > > TJobMap
const IAlignRowHandle & m_RowHandle
CFeatureGraphProperties::TFeatTypeItemSet TFeatTypeItemSet
CAppJobDispatcher::TJobID TJobID
bool x_StartJob(objects::SAnnotSelector &sel, CRange< TSeqPos > &total_range, TMapRanges &map_ranges, const string &descr, bool separate_types, bool link_genes, int order)
objects::CMappingRanges TMapRanges
CFeatureGraphProperties::TFeatTypeItem TFeatTypeItem
virtual TVPPoint PreferredSize()
set< objects::CSeqFeatData::ESubtype > TSubtypeSet
CFeatureLoadingJobResult.
vector< CIRef< IRenderable > > TGraphs
CRef< CFeatureLoadingJobResult > m_Result
CRange< TSeqPos > m_TotalRange
vector< CConstRef< objects::CSeq_feat > > TFeatures
objects::CBioseq_Handle m_Handle
bool m_LinkGenes
links genes with CDS and mRNA
objects::CMappingRanges TMapRanges
vector< SMappedFeatLoc > TMappedFeatLocs
CMutex m_Mutex
synchronizes access to the Job members
objects::SAnnotSelector m_Sel
bool m_SeparateTypes
separate features by different graphs
CIRef< IAppJobError > m_Error
CRef< TMapRanges > m_MapRanges
CFeatureParams: the data structure holding feature rendering parameters.
TModelUnit m_LineWidth
absolute value (in pixel)
TModelUnit m_HeadHeight
ratio to bar height
TModelUnit m_TailHeight
ratio to bar height
ELabelPosition m_LabelPos
TModelUnit m_BarHeight
absolute size (in pixel)
@ ePos_Inside
inside the rendered bar
CGraphContainer CGraphContainer a composite IRenderable that manages several child IRenderable graphs...
vector< TGraphRef > TGraphs
Base class to build jobs with cancel functionality.
list< CRef< CSeqGlyph > > TObjects
IAlignRowHandle provides an abstract way to access alignment row data.
Alignment segment iterator interface.
IAlnVecRowGraph - abstract graph that can be rendered in the "expandable" space below the CAlnVecRow.
IHistogramGraphDS interface.
static DLIST_TYPE *DLIST_NAME() first(DLIST_LIST_TYPE *list)
static DLIST_TYPE *DLIST_NAME() last(DLIST_LIST_TYPE *list)
EJobState
Job states (describe FSM)
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define END_SCOPE(ns)
End the previously defined scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define BEGIN_SCOPE(ns)
Define a new scope.
void Run(void)
Enter the main loop.
#define NCBI_GUIWIDGETS_ALNMULTIPLE_EXPORT
static const char label[]
const GenericPointer< typename T::ValueType > T2 value
SCluster(int first, int last, int offset)
CFeatGlyph & GetGlyph() const
CRef< CFeatGlyph > m_FeatGlyph
SFeatRec(SMappedFeatLoc &feat_loc, int cluster_index=-1)
void SetClusterIndex(int value)
SFeatRec(CFeatGlyph &glyph, int cluster_index=-1)
const objects::CSeq_loc & GetLocation(void) const
const objects::CSeq_feat & GetFeature(void) const
int GetClusterIndex() const
TFeatRecPtrs m_FeatRecPtrs
objects::CMappedFeat m_Feature
CRef< objects::CSeq_loc > m_MappedLoc
SMappedFeatLoc(const objects::CMappedFeat &feat, objects::CSeq_loc &loc)