(
boollayout_only);
72 virtual constobjects::CSeq_loc&
GetLocation()
const;
80 voidSetShowGene(
boolflag);
81 voidHideGeneAndLabel();
86 virtual void x_Draw()
const;
89 boolx_ShowGeneLabel()
const;
118fLabel_ParentLabel = 1 << 0,
119fLabel_FeatNum = 1 << 1,
120fLabel_Both = fLabel_ParentLabel | fLabel_FeatNum
125 virtual void Update(
boollayout_only);
139 virtual constobjects::CSeq_loc&
GetLocation()
const;
160 voidSetLabelType(FLabelType
type);
161 voidSetFirstIsParent();
164 boolisRmtBased()
const;
166 voidSetShowLabel(
boolshow_label =
true);
171 virtual void x_Draw()
const;
179 boolx_ShowLabel()
const;
182 boolx_LabelFirst()
const;
185 voidx_DrawLabels(
TModelUnit& base,
booldraw_left=
true,
booldraw_right=
true)
const;
188 voidx_DrawChildrenOnParent(
TModelUnit& base)
const;
191 voidx_DrawFeatureBar(
TModelUnit& base)
const;
194 voidx_CalcIntervals();
197 voidx_GetUniqueLabel(
string&
label)
const;
208 voidx_AddFeatHTMLActiveArea(TAreaVector* p_areas,
const CFeatGlyph* feat,
unsignedmerged_feats_count = 0)
const;
210 boolx_AreAllFeaturesOnSameStrand()
const;
226 boolm_ShowLabel =
true;
CFeatureParams: the data structure holding feature rendering parameters.
CGeneGroup is a subclass of CLayoutGroup contains gene, RNA, cds, and Exon features.
@ eGene_Shown
show gene bar
@ eGene_ShowLabelOnly
hide gene bar, but show label with bar space
@ eGene_Hidden
hide gene bar and gene label completely
virtual ~CGeneGroup(void)
void HideGeneAndLabel()
CGeneGroup inline methods.
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.
TObjectList & SetChildren()
virtual void x_UpdateBoundingBox()
Update the bounding box assuming children's sizes are fixed if any.
const TObjectList & GetChildren() const
CLayoutGroup inline methods.
virtual bool Accept(IGlyphVisitor *visitor)
Interface for accepting an IGlyphVisitor.
virtual void GetHTMLActiveAreas(TAreaVector *p_areas) const
Get html active areas.
virtual void Update(bool layout_only)
Update content and layout including the bounding box.
virtual void x_Draw() const
The default renderer for this layout object.
virtual bool Intersects(const TModelRect &rect, TConstObjects &objs) const
Intersect testing.
virtual CRef< CSeqGlyph > HitTest(const TModelPoint &p)
Hit testing.
CLinkedFeatsGroup is a container class contains related features.
CRef< objects::CSeq_loc > m_Location
just for satisfy IObjectBasedGlyph interface.
TCounts m_IntCounts
Shall have the same size as m_Intervals.
CConstRef< CFeatGlyph > m_ParentFeat
CLayoutGroup & SetGroup()
const ILayoutPolicy::TObjectList & GetChildren() const
CLinkedFeatsGroup inline methods.
CConstRef< CFeatGlyph > GetParentFeat() const
virtual ~CLinkedFeatsGroup(void)
virtual void x_DrawHighlight() const
override x_DrawHighlight() to do nothing.
void SetShowLabel(bool show_label=true)
ILayoutPolicy::TObjectList & SetChildren()
bool m_FirstIsParent
The first feature is the parent feature.
void PushBack(CSeqGlyph *obj)
void SetConfig(const CFeatureParams *conf)
void SetLabelType(FLabelType type)
void SetParentFeat(const CFeatGlyph *feat)
CConstRef< CFeatureParams > m_Config
settings for rendering merged feature bar.
void SetLayoutPolicy(ILayoutPolicy *policy)
class CSeqGlyph defines an interface that wraps a rectilinear abstract object.
virtual bool IsClickable() const
Query if this glyph is clickable.
virtual void GetTooltip(const TModelPoint &, ITooltipFormatter &tt, string &t_title) const
Get the tooltip if available.
virtual bool NeedTooltip(const TModelPoint &, ITooltipFormatter &, string &) const
Check if need to show tooltip.
virtual TSeqRange GetRange(void) const
get the total range of this object.
virtual bool SetSelected(bool flag)
Select or deselect this glyph.
Visitor interface for applying any potential actions or algorithms.
class ILayoutPolicy defines the abstract interface required for generating layout based on a set of g...
list< CRef< CSeqGlyph > > TObjectList
virtual const TIntervals & GetIntervals(void) const =0
access sub-intervals (if any).
virtual CConstRef< CObject > GetObject(TSeqPos pos) const =0
access our core component - we wrap an object(s) of some sort.
virtual const objects::CSeq_loc & GetLocation(void) const =0
access the position of this object.
virtual string GetSignature() const =0
return signature for this glyph.
virtual bool HasObject(CConstRef< CObject > obj) const =0
check if the wrapped object(s) is the one.
vector< TSeqRange > TIntervals
vector< CConstRef< CObject > > GetObjects(CSeq_entry_Handle seh, const string &field, CFieldNamePanel::EFieldType field_type, int subtype, const string &ncRNA_class, CConstRef< objects::CSeq_submit > submit, CRef< CEditingActionConstraint > constraint, vector< CSeq_entry_Handle > *descr_context=nullptr)
unsigned int TSeqPos
Type for sequence locations and lengths.
vector< CConstRef< CObject > > TConstObjects
void Reset(void)
Reset reference object.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define NCBI_GUIWIDGETS_SEQGRAPHIC_EXPORT
static const char label[]
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