39 #include <wx/stattext.h>
40 #include <wx/button.h>
41 #include <wx/checkbox.h>
42 #include <wx/statbox.h>
43 #include <wx/radiobut.h>
45 #include <wx/msgdlg.h>
91 SetExtraStyle(wxWS_EX_BLOCK_EVENTS|wxDIALOG_EX_CONTEXTHELP);
92 wxDialog::Create( parent,
id, caption, pos,
size, style );
97 GetSizer()->SetSizeHints(
this);
107 for(
size_t i =0;
i < ids.size();
i++) {
145 wxBoxSizer* itemBoxSizer2 =
new wxBoxSizer(wxVERTICAL);
146 itemDialog1->SetSizer(itemBoxSizer2);
148 wxBoxSizer* itemBoxSizer3 =
new wxBoxSizer(wxHORIZONTAL);
149 itemBoxSizer2->Add(itemBoxSizer3, 0, wxGROW|wxLEFT|wxRIGHT|wxTOP, 5);
151 m_SepCheck =
new wxCheckBox( itemDialog1,
ID_SEP_CHECK,
wxT(
"Separate Alignments"), wxDefaultPosition, wxDefaultSize, 0 );
153 itemBoxSizer3->Add(
m_SepCheck, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
156 wxStaticBoxSizer* itemStaticBoxSizer5 =
new wxStaticBoxSizer(
m_ShowRadios, wxHORIZONTAL);
157 itemBoxSizer3->Add(itemStaticBoxSizer5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
161 itemStaticBoxSizer5->Add(
m_OrientRadios, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
163 wxRadioButton* itemRadioButton7 =
new wxRadioButton( itemDialog1,
ID_POS_RADIO,
wxT(
"Positive"), wxDefaultPosition, wxDefaultSize, 0 );
164 itemRadioButton7->SetValue(
false);
165 itemStaticBoxSizer5->Add(itemRadioButton7, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
167 wxRadioButton* itemRadioButton8 =
new wxRadioButton( itemDialog1,
ID_NEG_RADIO,
wxT(
"Negative"), wxDefaultPosition, wxDefaultSize, 0 );
168 itemRadioButton8->SetValue(
false);
169 itemStaticBoxSizer5->Add(itemRadioButton8, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
171 wxBoxSizer* itemBoxSizer9 =
new wxBoxSizer(wxVERTICAL);
172 itemBoxSizer2->Add(itemBoxSizer9, 1, wxGROW|wxALL, 5);
174 wxStaticLine* itemStaticLine10 =
new wxStaticLine( itemDialog1, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
175 itemBoxSizer9->Add(itemStaticLine10, 0, wxGROW|wxLEFT|wxRIGHT, 5);
177 wxStaticText* itemStaticText11 =
new wxStaticText( itemDialog1, wxID_STATIC,
wxT(
"Subject:"), wxDefaultPosition, wxDefaultSize, 0 );
178 itemBoxSizer9->Add(itemStaticText11, 0, wxALIGN_LEFT|wxALL, 5);
183 wxStaticText* itemStaticText13 =
new wxStaticText( itemDialog1, wxID_STATIC,
wxT(
"Query : [ only available alignments are displayed ]"), wxDefaultPosition, wxDefaultSize, 0 );
184 itemBoxSizer9->Add(itemStaticText13, 0, wxALIGN_LEFT|wxALL, 5);
189 wxStdDialogButtonSizer* itemStdDialogButtonSizer15 =
new wxStdDialogButtonSizer;
191 itemBoxSizer9->Add(itemStdDialogButtonSizer15, 0, wxALIGN_RIGHT|wxALL, 5);
192 wxButton* itemButton16 =
new wxButton( itemDialog1, wxID_OK,
wxT(
"&OK"), wxDefaultPosition, wxDefaultSize, 0 );
193 itemStdDialogButtonSizer15->AddButton(itemButton16);
195 wxButton* itemButton17 =
new wxButton( itemDialog1, wxID_CANCEL,
wxT(
"&Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
196 itemStdDialogButtonSizer15->AddButton(itemButton17);
198 itemStdDialogButtonSizer15->Realize();
203 itemRadioButton7->SetValidator( wxGenericValidator(&
m_Pos) );
204 itemRadioButton8->SetValidator( wxGenericValidator(&
m_Neg) );
249 static const char*
kQueryTag =
"GBENCH.ChooseSeqDlg.Query";
280 model->
Init(ds, ids);
283 if(sel_index >= 0 && sel_index < model->GetNumRows()) {
284 control->Select(sel_index,
true);
293 auto i_vis = control->GetFirstSelected();
296 return model->
GetId(
static_cast<int>(i_row));
415 for(
int i = 0;
i < (
int) ids.size();
i++ ) {
436 EndModal(wxID_CANCEL);
472 return wxDialog::TransferDataToWindow();
478 if(wxDialog::TransferDataFromWindow()) {
EVT_CHECKBOX(ID_CADJUSTFEATURES_CHECKBOX, CAdjustFeaturesForGaps::OnKnownUnknownSelected) EVT_CHECKBOX(ID_CADJUSTFEATURES_CHECKBOX1
const IHitSeqId * GetId(int row) const
void Init(IHitMatrixDataSource &ds, const TIdVector &ids)
@ eBothDirections
No filtering: use both direct and reverse sequences.
CRegistryWriteView GetWriteView(const string §ion)
get a read-write view at a particular level.
static CGuiRegistry & GetInstance()
access the application-wide singleton
CRegistryReadView GetReadView(const string §ion) const
get a read-only view at a particular level.
class CRegistryReadView provides a nested hierarchical view at a particular key.
void OnOkClick(wxCommandEvent &event)
const IHitSeqId * x_GetSelectedId(bool subject) const
wxStaticBox * m_ShowRadios
unique_ptr< IHitSeqId > m_SubjectId
wxIcon GetIconResource(const wxString &name)
bool Create(wxWindow *parent, wxWindowID id=10013, const wxString &caption=wxT("Choose Sequences"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX|wxTAB_TRAVERSAL)
const IHitSeqId * GetSubjectId()
void OnPosRadioSelected(wxCommandEvent &event)
bool TransferDataToWindow()
void OnSubjectTableDeselected(wxListEvent &event)
const IHitSeqId * GetQueryId()
static bool ShowToolTips()
void OnSepCheckClick(wxCommandEvent &event)
unique_ptr< IHitSeqId > m_QueryId
CIRef< IHitMatrixDataSource > m_DataSource
void SetSeqs(CIRef< IHitMatrixDataSource > ds)
IHitMatrixDataSource::TIdVector m_AllIds
void x_InitTable(bool subject, IHitMatrixDataSource &ds, const TIdVector &ids, int sel_index)
void OnCancelClick(wxCommandEvent &event)
void x_OnSelectionChanged()
CwxTableListCtrl * m_SubjectTable
bool TransferDataFromWindow()
CAlignSeqTableModel m_SubjectModel
void OnNegRadioSelected(wxCommandEvent &event)
void GetParams(IHitMatrixDataSource::SParams ¶ms) const
wxRadioButton * m_OrientRadios
int x_GetIdIndex(const IHitSeqId *id, const IHitMatrixDataSource::TIdVector &ids)
CwxTableListCtrl * m_QueryTable
unique_ptr< IHitSeqId > m_SepSubjectId
wxBitmap GetBitmapResource(const wxString &name)
void OnSubjectSelected(wxListEvent &event)
IHitMatrixDataSource::TIdVector TIdVector
unique_ptr< IHitSeqId > m_SepQueryId
void x_SetSelectedIds(const IHitSeqId *s_id, const IHitSeqId *q_id)
void OnPosNegRadioSelected(wxCommandEvent &event)
CAlignSeqTableModel m_QueryModel
CwxTableListCtrl - generic wxListCtrl-based Table Control.
int RowVisibleToData(int aRow) const
/////////// Row staff /////////////////
void LoadTableSettings(const CRegistryReadView &view, bool byName=false)
void SaveTableSettings(CRegistryWriteView &view, bool saveSorting=true) const
void SetModel(IwxTableModel *data_model, bool own=false)
IHitMatrixDataSource - abstract Data Source for Hit Matrix Widget.
vector< IHitSeqId * > TIdVector
IHit::TDirection TDirection
IHitSeqId - abstract identifier of a sequence in an alignment.
virtual IHitSeqId * Clone() const =0
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
unsigned int
A callback function used to compare two keys in a database.
const struct ncbi::grid::netcache::search::fields::SIZE size
static bool Equals(const CVariation::TPlacements &p1, const CVariation::TPlacements &p2)
static const wxChar * kSpecifySubject
void sDeleteIds(vector< IHitSeqId * > &ids)
static const char * kQueryTag
static const wxChar * kSpecifyQuery
static const char * kSubjectTag