NCBI C++ ToolKit
Classes | Public Types | Public Member Functions | Protected Types | Protected Attributes | List of all members
IAlignRow Class Referenceabstract

Search Toolkit Book for IAlignRow

Interface IAlignRow - abstracts row rendering in Multiple Alignment Widget. More...

#include <gui/widgets/aln_multiple/ialign_row.hpp>

+ Inheritance diagram for IAlignRow:
+ Collaboration diagram for IAlignRow:

Classes

struct  SRenderCtx
 

Public Types

enum  EColumnType {
  eInvalid = -1 , eDescr , eIcons , eSeqStart ,
  eStart , eAlignment , eEnd , eSeqEnd ,
  eSeqLength , eIconStrand , eIconExpand , eTaxLabel ,
  eIsolationSource , eCountry , eCollectionDate , eHost ,
  ePctIdentity , ePctCoverage , eMismatches , eGeneSymbol ,
  eLast
}
 Column identifier for use as TColumnType, defines basic column types this set can be extended in derived classes. More...
 
enum  EState {
  fNone = 0 , fItemSelected = 0x01 , fItemFocused = 0x02 , fItemHidden = 0x08 ,
  fWidgetFocused = 0x40000000 , fFocused = fItemFocused | fWidgetFocused , fSelectedActive = fItemSelected | fWidgetFocused , fSelectedFocused = fFocused | fItemSelected
}
 Row state. More...
 
enum  EGraphCacheCmd { eInvalidate , eDelete }
 
typedef vector< CHTMLActiveAreaTAreaVector
 
typedef int TColumnType
 

Public Member Functions

virtual ~IAlignRow ()
 
virtual void SetHost (IAlignRowHost *pHost)=0
 
virtual void SetConsensus (CConsensusRow *crow)=0
 
virtual void SetDisplayStyle (const CRowDisplayStyle *style)=0
 
virtual const CRowDisplayStyleGetDisplayStyle ()=0
 
virtual int GetRowNum () const =0
 Returns index of row in IAlnMultiDataSource. More...
 
virtual int GetHeightPixels () const =0
 Returns height of the row in pixels. More...
 
virtual void RenderColumn (TColumnType col_type)=0
 Renders a row cell corresponding to column specified by "col_type". More...
 
virtual void RenderRow ()
 
virtual void OnMouseEvent (wxMouseEvent &event, TColumnType col_type, CGlPane &pane)=0
 
virtual void GetTooltip (const TVPPoint &pt, TColumnType col_type, CGlPane &pane, ITooltipFormatter &tooltip)=0
 
virtual void GraphicsCacheCmd (EGraphCacheCmd)
 
virtual void GetHTMLActiveAreas (TColumnType col_type, CGlPane &pane, TAreaVector &areas)=0
 
virtual void UpdateOnStyleChanged ()=0
 
virtual void UpdateOnAnchorChanged ()
 
virtual void Update (const CGlPane &pane, bool layout_only=false)
 
virtual TSeqPos GetColumnAsSeqPos (TColumnType type, const TModelRect &rc_vis) const =0
 
virtual stringGetColumnText (TColumnType col_type, string &text, bool for_printer=false) const =0
 
virtual float GetColumnAsFloat (TColumnType type) const =0
 
virtual stringGetAlnSeqString (string &buffer, const IAlnExplorer::TSignedRange &aln_rng) const =0
 
virtual stringGetStringAtPos (string &buffer, TSignedSeqPos aln_pos) const =0
 
virtual void GetRowStatistics (ITooltipFormatter &tooltip) const =0
 
virtual bool UsesAATranslation () const =0
 
virtual bool IsNucProtAlignment () const =0
 
virtual void PrepareRendering (CGlPane &pane, TVPUnit row_top, int state)=0
 
Row State accessors
virtual int GetRowState () const =0
 Returns row state (combination of EState flags) More...
 
virtual void SetRowState (int mask, bool b_set)=0
 Set/Clear Row State. More...
 

Protected Types

typedef struct IAlignRow::SRenderCtx SRenderCtx
 

Protected Attributes

SRenderCtx m_RenderCtx
 

Detailed Description

Interface IAlignRow - abstracts row rendering in Multiple Alignment Widget.

IAlignRow represents an object that can render an alignment row as a set of cells corresponding to enumerated columns. No asumptions is made about data structure used for alignment representation. The concrete classes implementing the interface are responsible for providing means for accessing data.

Definition at line 66 of file ialign_row.hpp.

Member Typedef Documentation

◆ SRenderCtx

typedef struct IAlignRow::SRenderCtx IAlignRow::SRenderCtx
protected

◆ TAreaVector

Definition at line 69 of file ialign_row.hpp.

◆ TColumnType

Definition at line 70 of file ialign_row.hpp.

Member Enumeration Documentation

◆ EColumnType

Column identifier for use as TColumnType, defines basic column types this set can be extended in derived classes.

Enumerator
eInvalid 
eDescr 
eIcons 

Strand + Expand icons.

eSeqStart 
eStart 
eAlignment 
eEnd 
eSeqEnd 
eSeqLength 
eIconStrand 

Icon for Positive/Negative (Mixed?) strand.

eIconExpand 

Icon for expand (+) button.

eTaxLabel 
eIsolationSource 
eCountry 
eCollectionDate 
eHost 
ePctIdentity 

% identity to consensus or anchor

ePctCoverage 

% coverage to anchor

eMismatches 

% number of mismatches to anchor/consensus

eGeneSymbol 
eLast 

Definition at line 74 of file ialign_row.hpp.

◆ EGraphCacheCmd

Enumerator
eInvalidate 
eDelete 

Definition at line 114 of file ialign_row.hpp.

◆ EState

Row state.

Enumerator
fNone 
fItemSelected 
fItemFocused 
fItemHidden 
fWidgetFocused 

it isn'e exactly a row state;

fFocused 
fSelectedActive 
fSelectedFocused 

Definition at line 100 of file ialign_row.hpp.

Constructor & Destructor Documentation

◆ ~IAlignRow()

virtual IAlignRow::~IAlignRow ( )
inlinevirtual

Definition at line 119 of file ialign_row.hpp.

Member Function Documentation

◆ GetAlnSeqString()

virtual string& IAlignRow::GetAlnSeqString ( string buffer,
const IAlnExplorer::TSignedRange aln_rng 
) const
pure virtual

Implemented in CAlnVecRow.

Referenced by CAlnMultiRenderer::x_GetRowTooltip().

◆ GetColumnAsFloat()

virtual float IAlignRow::GetColumnAsFloat ( TColumnType  type) const
pure virtual

Implemented in CAlnVecRow.

◆ GetColumnAsSeqPos()

virtual TSeqPos IAlignRow::GetColumnAsSeqPos ( TColumnType  type,
const TModelRect rc_vis 
) const
pure virtual

Implemented in CAlnVecRow.

◆ GetColumnText()

virtual string& IAlignRow::GetColumnText ( TColumnType  col_type,
string text,
bool  for_printer = false 
) const
pure virtual

◆ GetDisplayStyle()

virtual const CRowDisplayStyle* IAlignRow::GetDisplayStyle ( )
pure virtual

Implemented in CAlnVecRow.

◆ GetHeightPixels()

virtual int IAlignRow::GetHeightPixels ( ) const
pure virtual

◆ GetHTMLActiveAreas()

virtual void IAlignRow::GetHTMLActiveAreas ( TColumnType  col_type,
CGlPane pane,
TAreaVector areas 
)
pure virtual

Implemented in CAlnVecRow.

◆ GetRowNum()

virtual int IAlignRow::GetRowNum ( ) const
pure virtual

◆ GetRowState()

virtual int IAlignRow::GetRowState ( ) const
pure virtual

◆ GetRowStatistics()

virtual void IAlignRow::GetRowStatistics ( ITooltipFormatter tooltip) const
pure virtual

Implemented in CAlnVecRow.

◆ GetStringAtPos()

virtual string& IAlignRow::GetStringAtPos ( string buffer,
TSignedSeqPos  aln_pos 
) const
pure virtual

Implemented in CAlnVecRow.

◆ GetTooltip()

virtual void IAlignRow::GetTooltip ( const TVPPoint pt,
TColumnType  col_type,
CGlPane pane,
ITooltipFormatter tooltip 
)
pure virtual

Implemented in CAlnVecRow.

◆ GraphicsCacheCmd()

virtual void IAlignRow::GraphicsCacheCmd ( EGraphCacheCmd  )
inlinevirtual

Definition at line 143 of file ialign_row.hpp.

◆ IsNucProtAlignment()

virtual bool IAlignRow::IsNucProtAlignment ( ) const
pure virtual

Implemented in CAlnVecRow.

◆ OnMouseEvent()

virtual void IAlignRow::OnMouseEvent ( wxMouseEvent &  event,
TColumnType  col_type,
CGlPane pane 
)
pure virtual

Implemented in CAlnVecRow.

Referenced by CAlnMultiPane::x_OnRowMouseEvent().

◆ PrepareRendering()

virtual void IAlignRow::PrepareRendering ( CGlPane pane,
TVPUnit  row_top,
int  state 
)
pure virtual

Implemented in CAlnVecRow.

◆ RenderColumn()

virtual void IAlignRow::RenderColumn ( TColumnType  col_type)
pure virtual

Renders a row cell corresponding to column specified by "col_type".

"Pane" represents port corresponding to the cell; model space is Elems x Pixels.

Implemented in CAlnVecRow.

◆ RenderRow()

virtual void IAlignRow::RenderRow ( )
inlinevirtual

Definition at line 137 of file ialign_row.hpp.

◆ SetConsensus()

virtual void IAlignRow::SetConsensus ( CConsensusRow crow)
pure virtual

Implemented in CAlnVecRow.

◆ SetDisplayStyle()

virtual void IAlignRow::SetDisplayStyle ( const CRowDisplayStyle style)
pure virtual

Implemented in CAlnVecRow.

◆ SetHost()

virtual void IAlignRow::SetHost ( IAlignRowHost pHost)
pure virtual

Implemented in CAlnVecRow.

Referenced by CAlnMultiWidget::x_UpdateOnDataChanged().

◆ SetRowState()

virtual void IAlignRow::SetRowState ( int  mask,
bool  b_set 
)
pure virtual

Set/Clear Row State.

Implemented in CAlnRowState.

Referenced by CAlnMultiModel::CreateRows().

◆ Update()

virtual void IAlignRow::Update ( const CGlPane pane,
bool  layout_only = false 
)
inlinevirtual

Reimplemented in CAlnVecRow.

Definition at line 149 of file ialign_row.hpp.

Referenced by CAlnMultiRenderer::x_InvalidateRows().

◆ UpdateOnAnchorChanged()

virtual void IAlignRow::UpdateOnAnchorChanged ( )
inlinevirtual

Reimplemented in CAlnVecRow.

Definition at line 148 of file ialign_row.hpp.

◆ UpdateOnStyleChanged()

virtual void IAlignRow::UpdateOnStyleChanged ( )
pure virtual

Implemented in CAlnVecRow.

◆ UsesAATranslation()

virtual bool IAlignRow::UsesAATranslation ( ) const
pure virtual

Implemented in CAlnVecRow.

Member Data Documentation

◆ m_RenderCtx

SRenderCtx IAlignRow::m_RenderCtx
protected

The documentation for this class was generated from the following file:
Modified on Wed Jun 19 17:04:49 2024 by modify_doxy.py rev. 669887