1 #ifndef GUI_WIDGETS_SEQ_GRAPHIC___CLONE_PLACEMENT_GLYPH__HPP
2 #define GUI_WIDGETS_SEQ_GRAPHIC___CLONE_PLACEMENT_GLYPH__HPP
76 eNoNonprototypeEnd = 0x0,
92 : m_Uniqueness(eUniqueNotSet)
93 , m_Strand(eStrandNotSet)
123 virtual const objects::CSeq_loc&
GetLocation(
void)
const;
138 const objects::CSeq_feat& GetFeature(
void)
const;
142 const objects::CMappedFeat& GetMappedFeature(
void)
const;
153 virtual void x_Draw()
const;
156 void x_SetPolygonStipple(
EUniqueness uniqueness)
const;
157 ESupportType x_GetSupportTypeForNonPrototypeEnds()
const;
158 bool x_MatchIds(
const TStrSet &supportingIds,
const TStrVector &nonSupportingIds)
const;
161 bool x_ShowLabel()
const;
CClonePlacementGlyph is similar to CFeatureGlyph, but with different rendering style and settings.
CClonePlacementGlyph(const objects::CMappedFeat &feat)
CConstRef< CClonePlacementParams > m_Config
All the configs needed for rendering a feature.
CClonePlacementGlyph(const objects::CMappedFeat &feat, const objects::CSeq_loc &loc)
void SetConfig(CConstRef< CClonePlacementParams > conf)
TIntervals & SetIntervals()
CClonePlacementGlyph inline implementations.
const objects::CSeq_feat & GetFeature(void) const
Access the original feature.
vector< string > TStrVector
objects::CMappedFeat m_Feature
we store a mapped feature object which in turn holds the original feature.
CConstRef< objects::CSeq_loc > m_Location
Mapped location in top sequence coordinate.
const objects::CMappedFeat & GetMappedFeature(void) const
Access a new, fully remapped feature.
CConstRef< CClonePlacementParams > GetConfig() const
bool m_HideLabel
Force to hide the label.
vector< SCloneEnd > TCloneEnds
TIntervals m_Intervals
intervals (like for features or alignments).
class CSeqGlyph defines an interface that wraps a rectilinear abstract object.
virtual void SetHideLabel(bool)
Force to hide label.
virtual bool IsClickable() const
Query if this glyph is clickable.
virtual void x_Draw() const =0
The default renderer for this layout object.
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 HasSideLabel() const
Query if there is label and label is on the side.
virtual void GetHTMLActiveAreas(TAreaVector *) const
Get html active areas.
virtual void x_UpdateBoundingBox()=0
Update the bounding box assuming children's sizes are fixed if any.
vector< CHTMLActiveArea > TAreaVector
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.
string GetLabel(const CSeq_id &id)
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define NCBI_GUIWIDGETS_SEQGRAPHIC_EXPORT
Portable reference counted smart and weak pointers using CWeakRef, CRef, CObject and CObjectEx.