1 #ifndef __GUI_WIDGETS_SEQ_TEXT___SEQ_TEXT_PANE__HPP
2 #define __GUI_WIDGETS_SEQ_TEXT___SEQ_TEXT_PANE__HPP
76 virtual void Update(
void);
81 void ResetRangeSelection();
82 void ResetObjectSelection();
83 void DeSelectObject(
const CObject* obj);
84 void SelectObject(
const CObject* obj);
85 void ResetSelection();
119 TSeqPos GetScrollAdjustmentForLastLineVariations ();
121 void ScrollToPosition (
TSeqPos pos,
bool notify =
true);
122 void ShowFeaturesInUpperCase();
123 void ShowFeaturesInLowerCase();
124 bool GetShowFeaturesInLowerCase();
125 void ChooseCaseFeature(objects::CSeqFeatData::ESubtype subtype);
126 int GetCaseFeatureSubtype();
127 void ReloadSettings();
128 void SetFontSize (
int font_size);
130 bool GetShowAbsolutePosition();
132 void OnSize(wxSizeEvent& event);
137 TModelUnit GetBottomRulerModelAdjustmentHeight();
139 void x_OnShowPopup(wxMouseEvent &event);
140 unsigned int x_GetOffsetForVariations(
TModelUnit y);
143 virtual int OnCopy(
void);
146 void x_ConfigureBottomRuler();
148 void x_SetRulerText();
158 virtual bool Layout(
void);
161 void x_RenderContent(
void);
162 void x_RenderBottomRuler();
163 void x_RenderLeftRuler();
164 void x_RenderSelHandler();
165 void x_RenderSelHandler(
CGlPane& pane);
169 void x_RenderCodons (
const objects::CSeq_loc& loc, objects::CCdregion_Base::EFrame frame);
172 void x_RecalculateOffsets (
void);
176 void x_RenderFoundLocations(
CGlPane& pane);
179 void x_AdjustBottomRuler (
CGlPane& pane);
188 virtual int x_OnPaste(
void);
192 fSequenceArea = 0x01,
193 fSubjectRuler = 0x02,
195 fSubjectGraphs = 0x08,
198 fAllAreas = fSequenceArea | fSubjectRuler | fQueryRuler | fSubjectGraphs | fQueryGraphs | fOther
229 COffsetStart(
TSeqPos start_row,
unsigned int cumulative_extra_rows) { m_StartRow = start_row; m_CumulativeExtraRows = cumulative_extra_rows;};
246 : m_CurrFindPos(0), m_LastSearch(
kEmptyStr) { m_FoundList.clear(); }
252 m_LastSearch.clear();
269 void OnMousePush(wxMouseEvent &event);
270 void OnMouseDrag(wxMouseEvent &event);
271 void OnMouseRelease(wxMouseEvent &event);
class CRgbaColor provides a simple abstraction for managing colors.
CRuler is a renderable object drawing a scale with position labels.
vector< CSeqTextVariationGraph > TVariationGraphVector
vector< int > TSubtypeVector
vector< TSeqPos > TSeqPosVector
COffsetStart(TSeqPos start_row, unsigned int cumulative_extra_rows)
unsigned int m_CumulativeExtraRows
const CSeqTextDefs::TSeqPosVector & GetFoundList() const
CSeqTextDefs::TSeqPosVector m_FoundList
CSeqTextWidget * m_pParent
CSequenceTextGraph * m_SubjectGraph
CSequenceTickGraph * m_SequenceTickGraph
CTextSelHandler::TRangeColl TRangeColl
const CSeqTextSearch & GetTextSearchData() const
void x_RenderFeatureExtras(const objects::CSeq_feat &feat, const objects::CSeq_loc &mapped_loc)
CSeqTextWidget * x_GetParent()
CGlWidgetPane overridables.
CSeqTextSearch m_SearchObj
void SetTextSearchData(const CSeqTextSearch &data)
void x_AdjustLeftRuler(CGlPane &pane)
vector< COffsetStart > TOffsetStart
CRef< CSeqTextConfig > m_Config
CTooltipHandler m_TooltipHandler
void ResetTextSearchData()
CRef< CGlTextureFont > m_pSeqFont
const CSeqTextWidget * x_GetParent() const
void x_RenderFeatureExtras(const objects::CSeq_feat &feat)
CTextSelHandler m_SelHandler
TOffsetStart m_OffsetList
Class CTextSelHandler represents in GUI a two-dimnesional multi-segment selection.
virtual void STG_SetDefaultCursor()=0
virtual void STG_SetResizeCursor()=0
virtual void STG_RenderFeatureExtras(const objects::CMappedFeat &feat)=0
virtual void STG_ReportMouseOverPos(TSeqPos pos)=0
virtual const objects::CSeq_loc * STG_GetDataSourceLoc()=0
virtual void STG_RenderSelectedFeature(const objects::CSeq_feat &feat, const objects::CSeq_loc &mapped_loc)=0
virtual void STG_GetVisibleRange(TSeqPos &seq_start, TSeqPos &seq_stop)=0
virtual void STG_SetSubtypesForFeature(CSeqTextDefs::TSubtypeVector &subtypes, const objects::CSeq_loc &loc, int subtype, TSeqPos start_offset, TSeqPos stop_offset)=0
virtual void STG_Redraw()=0
virtual bool STG_IsPointInRightMargin(int x, int y)=0
virtual vector< CConstRef< objects::CSeq_feat > > STG_GetFeaturesAtPosition(TSeqPos pos)=0
virtual TModelUnit STG_GetTextHeight()=0
virtual objects::CScope & STG_GetScope()=0
virtual TModelPoint STG_GetModelPointBySourcePos(TSeqPos z)=0
virtual TSeqPos STG_GetSourcePosBySequencePos(TSeqPos z, bool *found_in_source)=0
virtual int STG_GetLinesInPane()=0
virtual void STG_RenderMouseOverFeature(const objects::CSeq_feat &feat)=0
virtual TSeqPos STG_GetSequenceByWindow(int x, int y)=0
virtual void STG_GetLineInfo(TSeqPos &chars_in_line, TSeqPos &lines_in_pane)=0
virtual TModelPoint STG_GetModelPointBySequencePos(TSeqPos z, bool *found_in_source)=0
virtual void STG_OnChanged()=0
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_SEQTEXT_EXPORT
ENa_strand
strand of nucleic acid
The NCBI C++/STL use hints.