1 #ifndef GUI_WIDGETS_SEQ_GRAPHIC___GLYPH_CONTAINER_TRACK__HPP
2 #define GUI_WIDGETS_SEQ_GRAPHIC___GLYPH_CONTAINER_TRACK__HPP
75 virtual void Update(
bool layout_only);
91 virtual void SetComments(
const string& comment_str);
103 const THighlights& GetHighlights()
const;
104 const TKeyHighlights& GetHighlightsByKey()
const;
141 void x_UpdateComments(
TComments& comments);
142 void x_UpdateCommentTargetPos(
TComments& comments);
virtual bool x_Empty() const
set< string > THighlights
map< string, THighlights > TKeyHighlights
void Add(CSeqGlyph *obj)
Append a layout object to the end.
CGlyphContainer(const CGlyphContainer &)
prohibited copy constructor and assignment operator.
const TKeyHighlights & GetHighlightsByKey() const
CGlyphContainer & operator=(const CGlyphContainer &)
void SetObjects(const CLayoutGroup::TObjectList &objs)
const THighlights & GetHighlights() const
CLayoutGroup & SetGroup()
TKeyHighlights m_KeyHighlights
CRef< CInlineLayout > m_Inline
TComments m_Labels
object labels shown at any arbitrary position.
vector< CRef< CCommentGlyph > > TComments
const CLayoutGroup::TObjectList & GetChildren() const
const CLayoutGroup & GetGroup() const
CLayoutGroup::TObjectList & SetChildren()
static CTrackTypeInfo m_TypeInfo
CRef< CLayeredLayout > m_Layered
CRef< CSimpleLayout > m_Simple
void SetLayoutPolicy(ILayoutPolicy *policy)
Set policy on how to deploy the layout of its children.
CLayoutGroup is a container of CSeqGlyphs (layout objects).
void SetLayoutPolicy(ILayoutPolicy *policy)
Set policy on how to deploy the layout of its children.
void PushBack(CSeqGlyph *obj)
Append a layout object to the end.
TObjectList & SetChildren()
const TObjectList & GetChildren() const
CLayoutGroup inline methods.
void Set(const TObjectList &objs)
ILayoutPolicy::TObjectList TObjectList
virtual void x_UpdateBoundingBox()
Update the bounding box assuming children's sizes are fixed if any.
virtual void x_RenderContent() const =0
The content rendering must be implemented in the derived layout tracks.
virtual void SetComments(const string &)
set comments.
virtual string x_GetHistMsg() const
Histogram configuration (linear, log, etc) is also on the title bar but multiple track types can have...
virtual void x_ClearContent()
virtual bool x_Empty() const =0
virtual const CTrackTypeInfo & GetTypeInfo() const =0
virtual void SetHighlights(const string &)
CRenderingContext offers the basic context and utility methods for rendering layout objects in featur...
class CSeqGlyph defines an interface that wraps a rectilinear abstract object.
virtual bool HitTestHor(TSeqPos x, const CObject *obj)
virtual CRef< CSeqGlyph > HitTest(const TModelPoint &p)
Hit testing.
virtual void Update(bool)
Update content and layout including the bounding box.
virtual bool Accept(IGlyphVisitor *visitor)
Interface for accepting an IGlyphVisitor.
virtual bool Intersects(const TModelRect &rect, TConstObjects &objs) const
Intersect testing.
virtual void GetHTMLActiveAreas(TAreaVector *) const
Get html active areas.
vector< CHTMLActiveArea > TAreaVector
list< CRef< CSeqGlyph > > TObjects
list< CConstRef< CSeqGlyph > > TConstObjects
CTrackTypeInfo - holds description of a layout track type.
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...
bool Empty(const CNcbiOstrstream &src)
unsigned int TSeqPos
Type for sequence locations and lengths.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define NCBI_GUIWIDGETS_SEQGRAPHIC_EXPORT