34 #ifndef CN3D_SEQUENCE_DISPLAY__HPP
35 #define CN3D_SEQUENCE_DISPLAY__HPP
61 virtual unsigned int Width(
void)
const = 0;
63 char *character,
Vector *
color,
bool *drawBackground,
Vector *cellBackgroundColor)
const = 0;
65 const Sequence **sequence,
int *index)
const = 0;
89 char *character,
Vector *
color,
bool *drawBackground,
Vector *cellBackgroundColor)
const;
92 const Sequence **sequence,
int *index)
const
125 char *character,
Vector *
color,
bool *drawBackground,
Vector *cellBackgroundColor)
const;
128 const Sequence **sequenceHandle,
int *index)
const;
161 char *character,
Vector *
color,
bool *drawBackground,
Vector *cellBackgroundColor)
const;
164 const Sequence **sequenceHandle,
int *index)
const {
return false; }
269 return rows[
row]->GetSequence();
286 void GetSize(
unsigned int *setColumns,
unsigned int *setRows)
const
292 bool *drawBackground,
293 wxColour *cellBackgroundColor
299 void SelectedRectangle(
int columnLeft,
int rowTop,
int columnRight,
int rowBottom);
300 void DraggedCell(
int columnFrom,
int rowFrom,
int columnTo,
int rowTo);
static const char * bgColor
unsigned int AlignmentWidth(void) const
const Sequence * GetSequenceOfRow(unsigned int row) const
bool GetSequenceAndIndexAt(unsigned int alignmentColumn, unsigned int row, eUnalignedJustification justification, const Sequence **sequence, unsigned int *index, bool *isAligned) const
void SelectedRange(unsigned int row, unsigned int alnIndexFrom, unsigned int alnIndexTo, eUnalignedJustification justification, bool toggle) const
virtual ~DisplayRowFromAlignment(void)
const Sequence * GetSequence(void) const
DisplayRowFromAlignment(unsigned int r, BlockMultipleAlignment *a)
DisplayRow * Clone(const Old2NewAlignmentMap &newAlignments) const
bool GetSequenceAndIndexAt(unsigned int column, BlockMultipleAlignment::eUnalignedJustification justification, const Sequence **sequence, int *index) const
unsigned int Width(void) const
bool GetCharacterTraitsAt(unsigned int column, BlockMultipleAlignment::eUnalignedJustification justification, char *character, Vector *color, bool *drawBackground, Vector *cellBackgroundColor) const
void SelectedRange(unsigned int from, unsigned int to, BlockMultipleAlignment::eUnalignedJustification justification, bool toggle) const
BlockMultipleAlignment *const alignment
const Sequence * GetSequence(void) const
const Sequence *const sequence
virtual ~DisplayRowFromSequence(void)
DisplayRowFromSequence(const Sequence *s, unsigned int from, unsigned int to)
DisplayRow * Clone(const Old2NewAlignmentMap &newAlignments) const
bool GetCharacterTraitsAt(unsigned int column, BlockMultipleAlignment::eUnalignedJustification justification, char *character, Vector *color, bool *drawBackground, Vector *cellBackgroundColor) const
const unsigned int toIndex
bool GetSequenceAndIndexAt(unsigned int column, BlockMultipleAlignment::eUnalignedJustification justification, const Sequence **sequenceHandle, int *index) const
void SelectedRange(unsigned int from, unsigned int to, BlockMultipleAlignment::eUnalignedJustification justification, bool toggle) const
unsigned int Width(void) const
const unsigned int fromIndex
BlockMultipleAlignment *const alignment
const bool hasBackgroundColor
DisplayRow * Clone(const Old2NewAlignmentMap &newAlignments) const
bool GetSequenceAndIndexAt(unsigned int column, BlockMultipleAlignment::eUnalignedJustification justification, const Sequence **sequenceHandle, int *index) const
const Sequence * GetSequence(void) const
DisplayRowFromString(const std::string &s, const Vector color=Vector(0, 0, 0.5), const std::string &t="", bool hasBG=false, Vector bgColor=Vector(1, 1, 1), BlockMultipleAlignment *a=NULL)
virtual ~DisplayRowFromString(void)
const Vector backgroundColor
bool GetCharacterTraitsAt(unsigned int column, BlockMultipleAlignment::eUnalignedJustification justification, char *character, Vector *color, bool *drawBackground, Vector *cellBackgroundColor) const
void SelectedRange(unsigned int from, unsigned int to, BlockMultipleAlignment::eUnalignedJustification justification, bool toggle) const
unsigned int Width(void) const
virtual bool GetSequenceAndIndexAt(unsigned int column, BlockMultipleAlignment::eUnalignedJustification justification, const Sequence **sequence, int *index) const =0
virtual void SelectedRange(unsigned int from, unsigned int to, BlockMultipleAlignment::eUnalignedJustification justification, bool toggle) const =0
virtual DisplayRow * Clone(const Old2NewAlignmentMap &newAlignments) const =0
virtual const Sequence * GetSequence(void) const =0
virtual ~DisplayRow(void)
virtual unsigned int Width(void) const =0
virtual bool GetCharacterTraitsAt(unsigned int column, BlockMultipleAlignment::eUnalignedJustification justification, char *character, Vector *color, bool *drawBackground, Vector *cellBackgroundColor) const =0
bool GetRowTitle(unsigned int row, wxString *title, wxColour *color) const
bool GetCharacterTraitsAt(unsigned int column, unsigned int row, char *character, wxColour *color, bool *drawBackground, wxColour *cellBackgroundColor) const
bool ProximitySort(unsigned int displayRow)
bool CalculateRowScoresWithThreader(double weightPSSM)
void AddBlockBoundaryRows(void)
void FloatPDBRowsToTop(void)
BlockMultipleAlignment * GetAlignmentForRow(unsigned int row) const
DisplayRowFromString * FindBlockBoundaryRow(const BlockMultipleAlignment *forAlignment) const
void SortRowsByThreadingScore(double weightPSSM)
void AddRowFromAlignment(unsigned int row, BlockMultipleAlignment *fromAlignment)
void UpdateMaxRowWidth(void)
const Sequence * GetSequenceForRow(unsigned int row) const
bool SortRowsByLoopLength(unsigned int row, unsigned int alnIndex)
unsigned int NRows(void) const
void AddRowFromString(const std::string &anyString)
void RedrawAlignedMolecules(void) const
void SortRowsBySelfHit(void)
void UpdateAfterEdit(const BlockMultipleAlignment *forAlignment)
void FloatHighlightsToTop(void)
SequenceDisplay * Clone(const Old2NewAlignmentMap &newAlignments) const
void GetProteinSequences(SequenceList *seqs) const
bool GetDisplayCoordinates(const Molecule *molecule, unsigned int seqIndex, BlockMultipleAlignment::eUnalignedJustification justification, unsigned int *column, unsigned int *row)
unsigned int GetStartingColumn(void) const
void RowsAdded(unsigned int nRowsAddedToMultiple, BlockMultipleAlignment *multiple, int where=-1)
SequenceDisplay(bool editable, ViewerWindowBase *const *parentViewerWindow)
virtual ~SequenceDisplay(void)
void AddRow(DisplayRow *row)
void GetSize(unsigned int *setColumns, unsigned int *setRows) const
bool MouseDown(int column, int row, unsigned int controls)
void GetSequences(const BlockMultipleAlignment *forAlignment, SequenceList *seqs) const
void RemoveBlockBoundaryRows(void)
void RowsRemoved(const std::vector< unsigned int > &rowsRemoved, const BlockMultipleAlignment *multiple)
bool IsEditable(void) const
unsigned int startingColumn
void AddRowFromSequence(const Sequence *sequence, unsigned int from, unsigned int to)
ViewerWindowBase *const * viewerWindow
void GetRowOrder(const BlockMultipleAlignment *forAlignment, std::vector< unsigned int > *dependentRowOrder) const
void MouseOver(int column, int row) const
void DraggedCell(int columnFrom, int rowFrom, int columnTo, int rowTo)
std::vector< DisplayRow * > RowVector
void SortRowsByIdentifier(void)
void AddBlockBoundaryRow(BlockMultipleAlignment *forAlignment)
void UpdateBlockBoundaryRow(const BlockMultipleAlignment *forAlignment) const
std::vector< const Sequence * > SequenceList
void SelectedRectangle(int columnLeft, int rowTop, int columnRight, int rowBottom)
void SetStartingColumn(unsigned int column)
Include a standard set of the NCBI C++ Toolkit most basic headers.
static const char * column
#define END_SCOPE(ns)
End the previously defined scope.
#define BEGIN_SCOPE(ns)
Define a new scope.
The NCBI C++/STL use hints.
double r(size_t dimension_, const Int4 *score_, const double *prob_, double theta_)
std::map< BlockMultipleAlignment *, BlockMultipleAlignment * > Old2NewAlignmentMap
#define row(bind, expected)