1 #ifndef GUI_WIDGETS_ALNMULTI___ALNMULTI_WIDGET__HPP
2 #define GUI_WIDGETS_ALNMULTI___ALNMULTI_WIDGET__HPP
102 DECLARE_EVENT_TABLE()
114 const wxPoint& pos = wxDefaultPosition,
115 const wxSize&
size = wxDefaultSize,
117 const wxString& name =
wxT(
"panel"));
127 virtual void LoadSettings();
128 virtual void SaveSettings()
const;
145 virtual void SetVisible(
const vector<TNumrow>& rows,
bool b_visible,
146 bool b_invert_others =
false);
148 virtual void Select(
const vector<TNumrow>& rows,
bool b_select,
149 bool b_invert_others =
false);
153 virtual bool IsRendererFocused();
161 virtual TNumrow GetRowNumByLine(TLine line)
const;
162 virtual int GetLineByRowNum(TNumrow Row)
const;
164 virtual void OnChildResize();
169 virtual void OnRowChanged(
IAlignRow* p_row);
171 virtual void OnColumnsChanged();
181 virtual void OnScoringProgress(
float progress,
const string&
msg);
182 virtual void OnScoringFinished();
185 void OnContextMenu(wxContextMenuEvent& event);
189 void OnSavePdf(wxCommandEvent & evt);
190 void OnEnableSavePdfCmdUpdate(wxUpdateUIEvent& evt);
191 void OnSaveSvg(wxCommandEvent & evt);
192 void OnEnableSaveSvgCmdUpdate(wxUpdateUIEvent& evt);
194 void OnZoomSequence(wxCommandEvent& event);
195 void OnZoomSelection(wxCommandEvent& event);
196 void OnUpdateZoomSelection(wxUpdateUIEvent& event);
198 void OnMakeSelectedRowMaster(wxCommandEvent& event);
199 void OnUpdateMakeSelectedRowMaster(wxUpdateUIEvent& event);
200 void OnUnsetMaster(wxCommandEvent& event);
201 void OnUpdateUnsetMaster(wxUpdateUIEvent& event);
202 void OnMakeConsensusRowMaster(wxCommandEvent& event);
203 void OnUpdateMakeConsensusRowMaster(wxUpdateUIEvent& event);
205 void OnResetSelection(wxCommandEvent& event);
207 void OnMarkSelected(wxCommandEvent& event);
208 void OnUnMarkSelected(wxCommandEvent& event);
209 void OnUpdateMarkSelected(wxUpdateUIEvent& event);
210 void OnUnMarkAll(wxCommandEvent& event);
212 void OnHideSelected(wxCommandEvent& event);
213 void OnUnhideSelected(wxCommandEvent& event);
214 void OnUpdateUnhideSelected(wxUpdateUIEvent& event);
216 void OnHasSelected(wxUpdateUIEvent& event);
217 void OnShowOnlySelected(wxCommandEvent& event);
218 void OnShowAll(wxCommandEvent& event);
220 void OnMoveSelectedUp(wxCommandEvent& event);
222 void OnSettings(wxCommandEvent& event);
223 void OnUpdateSettings(wxUpdateUIEvent& event);
228 void OnShowMethodDlg(wxCommandEvent& event);
229 void OnUpdateShowMethodDlg(wxUpdateUIEvent& event);
231 void OnDisableScoring(wxCommandEvent& event);
232 void OnUpdateDisableScoring(wxUpdateUIEvent& event);
234 void OnMethodProperties(wxCommandEvent& event);
235 void OnUpdateMethodProperties(wxUpdateUIEvent& event);
237 void OnScoringMethod(wxCommandEvent& event);
238 void OnUpdateScoringMethod(wxUpdateUIEvent& event);
240 void OnSetAsDefaultMethod(wxCommandEvent& event);
246 void SetSelectedIds(
const TRSeqIdVector& ids, objects::CScope& scope);
247 void GetSelectedRows(vector<TNumrow>& rows);
251 void GetMarks(TPSeqLocList& ls_locs)
const;
253 bool HasSelectedObjects()
const;
256 virtual void UpdateSortOrder();
257 virtual void UpdateOnScoringChanged();
259 void ZoomToSelection();
261 void Print(
const string& filename);
267 void x_CreatePane(
void);
279 virtual void x_UpdateOnDataChanged(
bool b_reset =
true);
281 virtual void x_UpdateOnRowHChanged(
void);
282 virtual void x_UpdateOnSwitchMaster(TNumrow NewMasterRow);
283 virtual void x_UpdateOnZoom(
void);
284 virtual void x_UpdateOnStylesChanged(
void);
285 virtual void x_OnResize(
void);
289 virtual void x_AdjustVisible(
bool b_reset);
290 virtual void x_RedrawControls(
void);
292 virtual void x_UpdateStyleColumns();
296 void x_MakeVisibleHorz(
TSeqPos pos);
299 virtual wxMenu* x_CreatePopupMenu();
301 virtual string x_GetCurrentMethodName()
const;
302 virtual void x_SetScoringMethod(
const string& method_name,
bool save);
303 virtual void x_CreateScoringMethodsMenu(wxMenu& color_menu);
305 virtual string* x_GetDefMethodName();
306 virtual string x_GetScoringMRUListName();
308 void x_GetMatchingHiddenRows(vector<TNumrow>& rows);
class CAlnMultiModel - represents a visual model of an alignment.
CUpdate - notification send by CUIDataSource to the listener.
Data notification relay class, sends data change notifications to the subscribed listener.
CRowStyleCatalog is a collection of CRowDisplayStyle-s assigned to rows in alignment.
CUICommandRegistry is a centralized registry where all application commands should be registered.
Interface IAlignRow - abstracts row rendering in Multiple Alignment Widget.
IAlnMultiDataSource - interface to a data source representing an abstract multiple alignment.
Interface IAlnMultiPaneParent represents a context in which an instance of CAlnMultiPane lives.
IAlnExplorer::TNumrow TNumrow
GUI command routing and handling framework.
void Print(const CCompactSAMApplication::AlignInfo &ai)
static const char * catalog
unsigned int TSeqPos
Type for sequence locations and lengths.
vector< CConstRef< CObject > > TConstObjects
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define END_SCOPE(ns)
End the previously defined scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define BEGIN_SCOPE(ns)
Define a new scope.
unsigned short GetPort() const
Get the listening port number back.
#define NCBI_GUIWIDGETS_ALNMULTIPLE_EXPORT
vector< CConstRef< CSeq_id > > TRSeqIdVector
const struct ncbi::grid::netcache::search::fields::SIZE size
Portable reference counted smart and weak pointers using CWeakRef, CRef, CObject and CObjectEx.
static SLJIT_INLINE sljit_ins msg(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)