34 #include "wx/wxprec.h"
74 CTripleConstraintPanel( wxWindow* parent, wxWindowID
id =
wxID_ANY,
const wxPoint& pos = wxDefaultPosition,
const wxSize&
size = wxDefaultSize,
long style = wxTAB_TRAVERSAL );
75 bool Create( wxWindow* parent, wxWindowID
id =
wxID_ANY,
const wxPoint& pos = wxDefaultPosition,
const wxSize&
size = wxDefaultSize,
long style = wxTAB_TRAVERSAL );
101 CPresentMatcherPanel(wxWindow *parent, wxWindowID
id =
wxID_ANY,
const wxPoint& pos = wxDefaultPosition,
const wxSize&
size = wxDefaultSize,
long style = wxTAB_TRAVERSAL );
102 bool Create( wxWindow* parent, wxWindowID
id =
wxID_ANY,
const wxPoint& pos = wxDefaultPosition,
const wxSize&
size = wxDefaultSize,
long style = wxTAB_TRAVERSAL );
115 virtual void SetFieldNames(
const vector<string>& field_names);
127 CSameMatcherPanel(wxWindow *parent, wxWindowID
id =
wxID_ANY,
const wxPoint& pos = wxDefaultPosition,
const wxSize&
size = wxDefaultSize,
long style = wxTAB_TRAVERSAL );
128 bool Create( wxWindow* parent, wxWindowID
id =
wxID_ANY,
const wxPoint& pos = wxDefaultPosition,
const wxSize&
size = wxDefaultSize,
long style = wxTAB_TRAVERSAL );
141 virtual void SetFieldNames(
const vector<string>& field_names);
152 #define SYMBOL_CADVSTRINGCONSTRAINTPANEL_STYLE wxTAB_TRAVERSAL
153 #define SYMBOL_CADVSTRINGCONSTRAINTPANEL_TITLE _("StringConstraintPanel")
154 #define SYMBOL_CADVSTRINGCONSTRAINTPANEL_IDNAME ID_CADVSTRINGCONSTRAINTPANEL
155 #define SYMBOL_CADVSTRINGCONSTRAINTPANEL_SIZE wxDefaultSize
156 #define SYMBOL_CADVSTRINGCONSTRAINTPANEL_POSITION wxDefaultPosition
177 bool Create( wxWindow* parent,
193 void OnClear( wxCommandEvent& event );
215 void SetChoices(
const vector<string> &choices);
241 virtual void SetFieldNames(
const vector<string>& field_names);
301 : m_TopSeqEntry(seh), m_id(-1)
304 Create(parent,
id, caption, pos,
size, style);
310 SetExtraStyle(wxWS_EX_BLOCK_EVENTS);
311 wxFrame::Create( parent,
id, caption, pos,
size, style );
316 GetSizer()->SetSizeHints(
this);
318 Centre(wxBOTH|wxCENTRE_ON_SCREEN);
338 wxBoxSizer* itemBoxSizer1 =
new wxBoxSizer(wxVERTICAL);
339 SetSizer(itemBoxSizer1);
341 wxPanel* itemCBulkCmdDlg1 =
new wxPanel(
this,
wxID_ANY);
342 itemBoxSizer1->Add(itemCBulkCmdDlg1, 1, wxGROW, 0);
344 wxBoxSizer* itemBoxSizer2 =
new wxBoxSizer(wxVERTICAL);
345 itemCBulkCmdDlg1->SetSizer(itemBoxSizer2);
347 m_Notebook =
new wxChoicebook( itemCBulkCmdDlg1,
wxID_ANY, wxDefaultPosition, wxDefaultSize, wxCHB_TOP );
349 itemBoxSizer2->Add(
m_Notebook, 1, wxGROW|wxALL, 5);
363 m_Notebook->AddPage(panel4,
_(
"CDS-Gene-Prot-mRNA"));
381 m_Notebook->AddPage(panel8,
_(
"Structured Comment"));
396 wxBoxSizer* itemBoxSizer3 =
new wxBoxSizer(wxHORIZONTAL);
397 itemBoxSizer2->Add(itemBoxSizer3, 0, wxALIGN_CENTER_HORIZONTAL, 0);
399 wxButton* itemButton13 =
new wxButton( itemCBulkCmdDlg1, wxID_OK,
_(
"Accept"), wxDefaultPosition, wxDefaultSize, 0 );
400 itemBoxSizer3->Add(itemButton13, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
402 wxButton* itemButton14 =
new wxButton( itemCBulkCmdDlg1, wxID_CANCEL,
_(
"Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
403 itemBoxSizer3->Add(itemButton14, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
438 if (!item.second.enabled)
443 item.second.top_level =
m_Notebook->GetSelection();
444 wxWindow* parent = GetParent();
452 if (page != wxNOT_FOUND)
469 template <
typename T>
475 template <
typename T>
479 Create(parent,
id, pos,
size, style);
486 template <
typename T>
490 wxPanel::Create( parent,
id, pos,
size, style );
495 GetSizer()->SetSizeHints(
this);
506 template <
typename T>
517 template <
typename T>
529 template <
typename T>
535 wxBoxSizer* itemBoxSizer2 =
new wxBoxSizer(wxHORIZONTAL);
536 itemPanel1->SetSizer(itemBoxSizer2);
538 m_Notebook =
new wxNotebook(itemPanel1,
wxID_ANY, wxDefaultPosition, wxDefaultSize);
539 itemBoxSizer2->Add(m_Notebook, 1, wxGROW|wxALL, 0);
542 m_Notebook->AddPage(panel1,
_(
"When qualifier present"));
545 m_Notebook->AddPage(panel2,
_(
"String constraint"));
548 m_Notebook->AddPage(panel3,
_(
"When qualifiers match"));
554 template <
typename T>
563 template <
typename T>
576 template <
typename T>
586 template <
typename T>
589 wxWindow *win = m_Notebook->GetCurrentPage();
591 field_type_matcher.
enabled =
false;
595 return make_pair(
kEmptyStr, field_type_matcher);
598 field_type_matcher = matcher_panel->
GetMatcher(field_type);
599 field_type_matcher.
second_level = m_Notebook->GetSelection();
601 return make_pair(
label, field_type_matcher);
604 template <
typename T>
608 wxWindow *win = m_Notebook->GetCurrentPage();
613 template <
typename T>
616 for (
size_t i = 0;
i < m_Notebook->GetPageCount();
i++)
618 wxWindow *win = m_Notebook->GetPage(
i);
625 template <
typename T>
628 for (
size_t i = 0;
i < m_Notebook->GetPageCount();
i++)
630 wxWindow *win = m_Notebook->GetPage(
i);
637 template <
typename T>
640 for (
size_t i = 0;
i < m_Notebook->GetPageCount();
i++)
642 wxWindow *win = m_Notebook->GetPage(
i);
660 Create(parent,
id, pos,
size, style);
666 wxPanel::Create( parent,
id, pos,
size, style );
671 GetSizer()->SetSizeHints(
this);
693 wxBoxSizer* itemBoxSizer1 =
new wxBoxSizer(wxVERTICAL);
694 itemPanel1->SetSizer(itemBoxSizer1);
696 wxBoxSizer* itemBoxSizer2 =
new wxBoxSizer(wxHORIZONTAL);
697 itemBoxSizer1->Add(itemBoxSizer2, 0, wxALIGN_CENTER_HORIZONTAL, 0);
699 m_panel=
new T(itemPanel1);
700 itemBoxSizer2->Add(m_panel, 0, wxALIGN_TOP|wxALL, 5);
724 template <
typename T>
730 field_type_matcher.
field = field;
738 field_type_matcher.
enabled = !field.empty();
740 return field_type_matcher;
743 template <
typename T>
749 template <
typename T>
753 if (field_name_panel)
756 return "where " + field +
" is present";
761 template <
typename T>
764 m_panel->SetFieldName(field);
767 template <
typename T>
775 template <
typename T>
796 Create(parent,
id, pos,
size, style);
802 wxPanel::Create( parent,
id, pos,
size, style );
807 GetSizer()->SetSizeHints(
this);
830 wxBoxSizer* itemBoxSizer1 =
new wxBoxSizer(wxVERTICAL);
831 itemPanel1->SetSizer(itemBoxSizer1);
833 wxBoxSizer* itemBoxSizer2 =
new wxBoxSizer(wxHORIZONTAL);
834 itemBoxSizer1->Add(itemBoxSizer2, 0, wxALIGN_CENTER_HORIZONTAL, 0);
836 m_panel1 =
new T(itemPanel1);
837 itemBoxSizer2->Add(m_panel1, 0, wxALIGN_TOP|wxALL, 5);
839 m_panel2 =
new T(itemPanel1);
840 itemBoxSizer2->Add(m_panel2, 0, wxALIGN_TOP|wxALL, 5);
864 template <
typename T>
870 field_type_matcher.
field = field1;
872 string ncRNA_class_1;
880 string ncRNA_class_2;
881 int subtype2 =
GetSubtype(field_name_panel2, ncRNA_class_2);
883 field_type_matcher.
enabled = !field1.empty() && !field2.empty();
885 field_type_matcher.
field2 = field2;
886 field_type_matcher.
subtype2 = subtype2;
889 field_type_matcher.
enabled2 = !field1.empty() && !field2.empty();
894 return field_type_matcher;
897 template <
typename T>
904 template <
typename T>
909 if (field_name_panel1 && field_name_panel2)
913 return "where " + field1 +
" matches " + field2;
918 template <
typename T>
921 m_panel1->SetFieldName(field);
922 m_panel2->SetFieldName(field);
925 template <
typename T>
936 template <
typename T>
962 Create(parent,
id, pos,
size, style);
973 wxPanel::Create( parent,
id, pos,
size, style );
978 GetSizer()->SetSizeHints(
this);
1002 template<
typename T>
1009 m_IgnoreCase =
NULL;
1010 m_IgnoreSpace =
NULL;
1012 m_IgnorePunct =
NULL;
1014 m_AnyLetters =
NULL;
1018 m_MatchChoice =
NULL;
1020 m_ClearButton =
NULL;
1022 m_is_choice =
false;
1030 template<
typename T>
1035 wxPanel* parentPanel =
this;
1036 wxBoxSizer* itemBoxSizer1 =
new wxBoxSizer(wxHORIZONTAL);
1037 parentPanel->SetSizer(itemBoxSizer1);
1039 m_panel =
new T(parentPanel);
1040 itemBoxSizer1->Add(m_panel, 0, wxALIGN_TOP|wxALL, 5);
1042 wxBoxSizer* itemBoxSizer2 =
new wxBoxSizer(wxVERTICAL);
1043 itemBoxSizer1->Add(itemBoxSizer2, 0, wxALIGN_TOP|wxALL, 5);
1045 wxBoxSizer* itemBoxSizer3 =
new wxBoxSizer(wxHORIZONTAL);
1046 itemBoxSizer2->Add(itemBoxSizer3, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
1048 wxArrayString m_MatchTypeStrings;
1049 m_MatchTypeStrings.Add(
_(
"Contains"));
1050 m_MatchTypeStrings.Add(
_(
"Does not contain"));
1051 m_MatchTypeStrings.Add(
_(
"Equals"));
1052 m_MatchTypeStrings.Add(
_(
"Does not equal"));
1053 m_MatchTypeStrings.Add(
_(
"Starts with"));
1054 m_MatchTypeStrings.Add(
_(
"Ends with"));
1055 m_MatchTypeStrings.Add(
_(
"Is one of"));
1056 m_MatchTypeStrings.Add(
_(
"Is not one of"));
1057 m_MatchTypeStrings.Add(
_(
"Does not start with"));
1058 m_MatchTypeStrings.Add(
_(
"Does not end with"));
1060 m_MatchType =
new wxChoice( parentPanel, ID_STRING_CONSTRAINT_MATCH_CHOICE, wxDefaultPosition, wxDefaultSize, m_MatchTypeStrings, 0 );
1061 m_MatchType->SetStringSelection(
_(
"Contains"));
1062 itemBoxSizer3->Add(m_MatchType, 0, wxALIGN_TOP|wxLEFT|wxRIGHT|wxBOTTOM, 5);
1065 m_TextSizer =
new wxBoxSizer(wxVERTICAL);
1066 itemBoxSizer3->Add(m_TextSizer, 0, wxALIGN_TOP, 0);
1068 m_MatchText =
new wxTextCtrl( parentPanel, ID_STRING_CONSTRAINT_MATCH_TEXT, wxEmptyString, wxDefaultPosition, wxSize(300, -1), wxTE_MULTILINE );
1069 m_TextSizer->Add(m_MatchText, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxBOTTOM, 5);
1070 wxArrayString choice_strings;
1071 m_MatchChoice =
new wxComboBox(parentPanel,
wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(300, -1), choice_strings, 0 );
1072 m_MatchChoice->Hide();
1075 wxBoxSizer* itemBoxSizer6 =
new wxBoxSizer(wxHORIZONTAL);
1076 itemBoxSizer2->Add(itemBoxSizer6, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
1078 m_IgnoreCase =
new wxCheckBox( parentPanel, ID_STRING_CONSTRAINT_CHECKBOX5,
_(
"Ignore Case"), wxDefaultPosition, wxDefaultSize, 0 );
1079 m_IgnoreCase->SetValue(
false);
1080 itemBoxSizer6->Add(m_IgnoreCase, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
1082 m_IgnoreSpace =
new wxCheckBox( parentPanel, ID_STRING_CONSTRAINT_CHECKBOX6,
_(
"Ignore Space"), wxDefaultPosition, wxDefaultSize, 0 );
1083 m_IgnoreSpace->SetValue(
false);
1084 itemBoxSizer6->Add(m_IgnoreSpace, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
1086 m_IgnorePunct =
new wxCheckBox( parentPanel, ID_STRING_CONSTRAINT_CHECKBOX8,
_(
"Ignore Punctuation"), wxDefaultPosition, wxDefaultSize, 0 );
1087 m_IgnorePunct->SetValue(
false);
1088 itemBoxSizer6->Add(m_IgnorePunct, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
1090 wxBoxSizer* itemBoxSizer7 =
new wxBoxSizer(wxHORIZONTAL);
1091 itemBoxSizer2->Add(itemBoxSizer7, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
1093 m_WholeWord =
new wxCheckBox( parentPanel, ID_STRING_CONSTRAINT_CHECKBOX7,
_(
"Whole Word"), wxDefaultPosition, wxDefaultSize, 0 );
1094 m_WholeWord->SetValue(
false);
1095 itemBoxSizer7->Add(m_WholeWord, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
1097 m_IgnoreSyn =
new wxCheckBox( parentPanel, ID_STRING_CONSTRAINT_CHECKBOX9,
_(
"Ignore 'putative' synonyms"), wxDefaultPosition, wxDefaultSize, 0 );
1098 m_IgnoreSyn->SetValue(
false);
1099 itemBoxSizer7->Add(m_IgnoreSyn, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
1101 wxBoxSizer* itemBoxSizer8 =
new wxBoxSizer(wxHORIZONTAL);
1102 itemBoxSizer2->Add(itemBoxSizer8, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
1104 m_AnyLetters =
new wxRadioButton( parentPanel, ID_STRING_CONSTRAINT_RADIO0,
_(
"Any letters"), wxDefaultPosition, wxDefaultSize, 0 );
1105 m_AnyLetters->SetValue(
true);
1106 itemBoxSizer8->Add(m_AnyLetters, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
1108 m_AllUpper =
new wxRadioButton( parentPanel, ID_STRING_CONSTRAINT_RADIO1,
_(
"All letters are upper case"), wxDefaultPosition, wxDefaultSize, 0 );
1109 m_AllUpper->SetValue(
false);
1110 itemBoxSizer8->Add(m_AllUpper, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
1112 m_AllLower =
new wxRadioButton( parentPanel, ID_STRING_CONSTRAINT_RADIO2,
_(
"All letters are lower case"), wxDefaultPosition, wxDefaultSize, 0 );
1113 m_AllLower->SetValue(
false);
1114 itemBoxSizer8->Add(m_AllLower, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
1116 m_AllPunct =
new wxRadioButton( parentPanel, ID_STRING_CONSTRAINT_RADIO3,
_(
"All characters are punctuation"), wxDefaultPosition, wxDefaultSize, 0 );
1117 m_AllPunct->SetValue(
false);
1118 itemBoxSizer8->Add(m_AllPunct, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
1120 wxBoxSizer* itemBoxSizer9 =
new wxBoxSizer(wxHORIZONTAL);
1121 itemBoxSizer2->Add(itemBoxSizer9, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
1123 m_ClearButton =
new wxButton( parentPanel, ID_STRING_CONSTRAINT_CLEAR_BUTTON,
_(
"Clear Constraint"), wxDefaultPosition, wxDefaultSize, 0 );
1124 itemBoxSizer9->Add(m_ClearButton, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
1128 m_WordSubst =
new wxButton( parentPanel, ID_STRING_CONSTRAINT_WORDSUBST_BUTTON,
_(
"Word Substitutions"), wxDefaultPosition, wxDefaultSize, 0 );
1129 itemBoxSizer9->Add(m_WordSubst, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
1138 bool allow_other =
true;
1139 vector<string> choices = panel->
GetChoices(allow_other);
1140 SetChoices(choices);
1144 template<
typename T>
1150 template<
typename T>
1155 m_MatchChoice->Hide();
1156 m_TextSizer->Replace(m_MatchChoice, m_MatchText);
1157 m_MatchText->Show();
1158 m_is_choice =
false;
1162 m_MatchType->SetStringSelection(
_(
"Contains"));
1163 m_MatchText->SetValue(wxEmptyString);
1164 m_IgnoreCase->SetValue(
false);
1165 m_IgnoreSpace->SetValue(
false);
1166 m_WholeWord->SetValue(
false);
1167 m_IgnorePunct->SetValue(
false);
1168 m_IgnoreSyn->SetValue(
false);
1169 m_AnyLetters->SetValue(
true);
1170 m_AllUpper->SetValue(
false);
1171 m_AllLower->SetValue(
false);
1172 m_AllPunct->SetValue(
false);
1173 m_word_subst.Reset();
1176 template<
typename T>
1179 wxArrayString choice_strings;
1180 ITERATE(vector<string>, it, choices)
1184 m_MatchChoice->Set(choice_strings);
1188 template<
typename T>
1191 if (!m_MatchChoice->IsListEmpty() && (m_MatchType->GetSelection() == eMatchType_Equals || m_MatchType->GetSelection() == eMatchType_DoesNotEqual) )
1195 m_MatchText->Hide();
1196 m_TextSizer->Replace(m_MatchText, m_MatchChoice);
1197 m_MatchChoice->Show();
1205 m_MatchChoice->Hide();
1206 m_TextSizer->Replace(m_MatchChoice, m_MatchText);
1207 m_MatchText->Show();
1209 m_is_choice =
false;
1216 template<
typename T>
1226 template<
typename T>
1235 template<
typename T>
1241 return wxNullBitmap;
1248 template<
typename T>
1258 template <
typename T>
1264 bool allow_other =
true;
1265 vector<string> choices = panel->
GetChoices(allow_other);
1266 SetChoices(choices);
1270 template <
typename T>
1276 field_type_matcher.
field = field;
1285 field_type_matcher.
enabled = !field.empty() && !sc->
Empty();
1288 return field_type_matcher;
1291 template <
typename T>
1295 if (field_name_panel)
1298 return "where " + field +
" " + GetDescription();
1303 template <
typename T>
1323 if (m_word_subst && m_word_subst->IsSet() && !m_word_subst->Get().empty())
1328 switch(m_MatchType->GetSelection()) {
1329 case eMatchType_Contains:
1332 case eMatchType_DoesNotContain:
1336 case eMatchType_Equals:
1339 case eMatchType_DoesNotEqual:
1343 case eMatchType_StartsWith:
1346 case eMatchType_EndsWith:
1349 case eMatchType_IsOneOf:
1352 case eMatchType_IsNotOneOf:
1356 case eMatchType_DoesNotStartWith:
1360 case eMatchType_DoesNotEndWith:
1364 default: c.
Reset();
break;
1370 template <
typename T>
1381 if (!match_text.empty())
1383 switch(m_MatchType->GetSelection()) {
1384 case eMatchType_Contains:
1387 case eMatchType_DoesNotContain:
1388 str =
"does not contain ";
1390 case eMatchType_Equals:
1393 case eMatchType_DoesNotEqual:
1394 str =
"does not equal ";
1396 case eMatchType_StartsWith:
1397 str =
"starts with ";
1399 case eMatchType_EndsWith:
1402 case eMatchType_IsOneOf:
1405 case eMatchType_IsNotOneOf:
1406 str =
"is not one of ";
1408 case eMatchType_DoesNotStartWith:
1409 str =
"does not start with ";
1411 case eMatchType_DoesNotEndWith:
1412 str =
"does not ends with ";
1418 str +=
"'" + match_text +
"' ";
1420 vector<string> subs;
1421 if (!m_IgnoreCase->GetValue())
1422 subs.push_back(
"case-sensitive");
1424 if (m_IgnoreSpace->GetValue())
1425 subs.push_back(
"ignore spaces");
1427 if (m_IgnorePunct->GetValue())
1428 subs.push_back(
"ignore punctuation");
1430 if (m_WholeWord->GetValue())
1431 subs.push_back(
"whole word");
1433 if (m_IgnoreSyn->GetValue())
1434 subs.push_back(
"ignore 'putative' synonyms");
1439 str +=
"(" + sub +
")";
1442 if (m_word_subst && m_word_subst->IsSet())
1444 for (
auto ws : m_word_subst->Set())
1455 if (m_AllUpper->GetValue())
1456 sub =
"all letters are upper case";
1458 if (m_AllLower->GetValue())
1459 sub =
"all letters are lower case";
1461 if (m_AllPunct->GetValue())
1462 sub =
"all characters are punctiation";
1474 template <
typename T>
1481 template <
typename T>
1484 m_word_subst = word_subst;
1487 template <
typename T>
1490 m_panel->SetFieldName(field);
1493 template <
typename T>
1512 m_word_subst.Reset(
new objects::CWord_substitution_set);
1544 m_MatchText->SetValue(wxString(match_text));
1546 m_MatchChoice->SetValue(wxString(match_text));
1549 template <
typename T>
1557 template <
typename T>
1567 wxPanel::Create( parent);
1568 wxBoxSizer* itemBoxSizer2 =
new wxBoxSizer(wxHORIZONTAL);
1569 SetSizer(itemBoxSizer2);
1571 itemBoxSizer2->Add(win, 1, wxGROW|wxALL, 0);
1576 GetSizer()->SetSizeHints(
this);
#define SYMBOL_CADVSTRINGCONSTRAINTPANEL_STYLE
#define SYMBOL_CADVSTRINGCONSTRAINTPANEL_IDNAME
#define SYMBOL_CADVSTRINGCONSTRAINTPANEL_POSITION
#define SYMBOL_CADVSTRINGCONSTRAINTPANEL_SIZE
wxChoicebook * m_Notebook
static bool ShowToolTips()
wxBitmap GetBitmapResource(const wxString &name)
void OnCancel(wxCommandEvent &event)
bool Create(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &caption=_("Constraint"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX|wxTAB_TRAVERSAL)
wxIcon GetIconResource(const wxString &name)
objects::CSeq_entry_Handle m_TopSeqEntry
void SetSelection(int page)
void OnAccept(wxCommandEvent &event)
void SetConstraint(const SFieldTypeAndMatcher &constraint)
CRef< objects::CWord_substitution_set > m_word_subst
void SetChoices(const vector< string > &choices)
@ eMatchType_DoesNotStartWith
@ eMatchType_DoesNotContain
@ eMatchType_DoesNotEndWith
@ eMatchType_DoesNotEqual
CAdvStringConstraintPanel()
Constructors.
void Init()
Initialises member variables.
virtual void SetMatcher(const SFieldTypeAndMatcher &item)
void CreateControls()
Creates the controls and sizers.
virtual void SetFieldNames(const vector< string > &field_names)
virtual void AddWordSubstSet(CRef< objects::CWord_substitution_set > word_subst)
void OnWordSubstitution(wxCommandEvent &event)
void ShowChoiceOrText(void)
void OnClear(wxCommandEvent &event)
wxRadioButton * m_AnyLetters
wxCheckBox * m_IgnoreSpace
virtual void UpdateEditor(void)
static bool ShowToolTips()
Should we show tooltips?
wxRadioButton * m_AllLower
virtual SFieldTypeAndMatcher GetMatcher(CFieldNamePanel::EFieldType field_type)
void OnMatchTypeSelected(wxCommandEvent &event)
wxBitmap GetBitmapResource(const wxString &name)
Retrieves bitmap resources.
wxComboBox * m_MatchChoice
virtual string GetLabel(void)
@ ID_CADVSTRINGCONSTRAINTPANEL
@ ID_STRING_CONSTRAINT_CHECKBOX9
@ ID_STRING_CONSTRAINT_CLEAR_BUTTON
@ ID_STRING_CONSTRAINT_WORDSUBST_BUTTON
@ ID_STRING_CONSTRAINT_CHECKBOX7
@ ID_STRING_CONSTRAINT_MATCH_TEXT
@ ID_STRING_CONSTRAINT_CHECKBOX5
@ ID_STRING_CONSTRAINT_CHECKBOX6
@ ID_STRING_CONSTRAINT_RADIO2
@ ID_STRING_CONSTRAINT_CHECKBOX8
@ ID_STRING_CONSTRAINT_RADIO3
@ ID_STRING_CONSTRAINT_RADIO1
@ ID_STRING_CONSTRAINT_RADIO0
@ ID_STRING_CONSTRAINT_MATCH_CHOICE
wxDECLARE_NO_COPY_CLASS(CAdvStringConstraintPanel)
~CAdvStringConstraintPanel()
Destructor.
virtual void SetFieldName(const string &field)
wxIcon GetIconResource(const wxString &name)
Retrieves icon resources.
bool Create(wxWindow *parent, wxWindowID id=ID_CADVSTRINGCONSTRAINTPANEL, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxTAB_TRAVERSAL)
Creation.
CRef< objects::CString_constraint > GetStringConstraint()
virtual void PopulateFeatureListbox(objects::CSeq_entry_Handle seh)
wxCheckBox * m_IgnorePunct
wxRadioButton * m_AllUpper
wxRadioButton * m_AllPunct
wxCheckBox * m_IgnoreCase
void AddConstraint(pair< string, SFieldTypeAndMatcher > item, int id)
static vector< string > GetFieldNames()
void ListPresentFeaturesFirst(objects::CSeq_entry_Handle seh, vector< const objects::CFeatListItem * > *featlist=nullptr)
void SetFieldNames(const vector< string > &field_names)
virtual string GetFieldName(const bool subfield=false)=0
Returns the name of the field as selected in the panel.
virtual vector< string > GetChoices(bool &allow_other)
static string GetFieldTypeName(EFieldType field_type)
static EFieldType GetFieldTypeFromName(const string &field_type_name)
virtual string GetLabel(void)=0
virtual void PopulateFeatureListbox(objects::CSeq_entry_Handle seh)
virtual void SetMatcher(const SFieldTypeAndMatcher &item)=0
virtual void SetFieldNames(const vector< string > &field_names)
virtual void SetFieldName(const string &field)
virtual SFieldTypeAndMatcher GetMatcher(CFieldNamePanel::EFieldType field_type)=0
static vector< string > GetStrings()
static vector< string > GetFieldNames()
wxBitmap GetBitmapResource(const wxString &name)
virtual string GetLabel(void)
wxDECLARE_NO_COPY_CLASS(CPresentMatcherPanel)
virtual void SetFieldNames(const vector< string > &field_names)
bool Create(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxTAB_TRAVERSAL)
virtual void SetMatcher(const SFieldTypeAndMatcher &item)
wxIcon GetIconResource(const wxString &name)
virtual void PopulateFeatureListbox(objects::CSeq_entry_Handle seh)
static bool ShowToolTips()
virtual SFieldTypeAndMatcher GetMatcher(CFieldNamePanel::EFieldType field_type)
virtual void SetFieldName(const string &field)
static vector< string > GetFieldNames(bool extended=false)
virtual SFieldTypeAndMatcher GetMatcher(CFieldNamePanel::EFieldType field_type)
virtual void PopulateFeatureListbox(objects::CSeq_entry_Handle seh)
wxIcon GetIconResource(const wxString &name)
wxBitmap GetBitmapResource(const wxString &name)
virtual void SetFieldName(const string &field)
wxDECLARE_NO_COPY_CLASS(CSameMatcherPanel)
virtual string GetLabel(void)
virtual void SetMatcher(const SFieldTypeAndMatcher &item)
static bool ShowToolTips()
virtual void SetFieldNames(const vector< string > &field_names)
bool Create(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxTAB_TRAVERSAL)
void SetMatch_text(const TMatch_text &value)
IItemConstraintPanel * m_panel
CTripleConstraintPanel_CSourceFieldNamePanel_Wrapper()
void SetFieldName(const string &field)
wxDECLARE_NO_COPY_CLASS(CTripleConstraintPanel)
virtual pair< string, SFieldTypeAndMatcher > GetItem(CFieldNamePanel::EFieldType field_type)
virtual void SetItem(const SFieldTypeAndMatcher &item)
void SetFieldNames(const vector< string > &field_names)
~CTripleConstraintPanel()
wxIcon GetIconResource(const wxString &name)
wxBitmap GetBitmapResource(const wxString &name)
void PopulateFeatureListbox(objects::CSeq_entry_Handle seh)
bool Create(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxTAB_TRAVERSAL)
static bool ShowToolTips()
static string GetDescription(CRef< objects::CWord_substitution > ws)
virtual pair< string, SFieldTypeAndMatcher > GetItem(CFieldNamePanel::EFieldType field_type)=0
virtual void SetItem(const SFieldTypeAndMatcher &item)=0
int GetSubtype(CFieldNamePanel *field_name_panel, string &ncRNA_class)
const char * kDefinitionLineLabel
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
void Reset(void)
Reset reference object.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static string Join(const TContainer &arr, const CTempString &delim)
Join strings using the specified delimiter.
static string & Replace(const string &src, const string &search, const string &replace, string &dst, SIZE_TYPE start_pos=0, SIZE_TYPE max_replace=0, SIZE_TYPE *num_replace=0)
Replace occurrences of a substring within a string.
static const char label[]
TCase_sensitive GetCase_sensitive(void) const
Get the Case_sensitive member data.
const TIgnore_words & GetIgnore_words(void) const
Get the Ignore_words member data.
void SetIs_all_lower(TIs_all_lower value)
Assign a value to Is_all_lower data member.
TIgnore_space GetIgnore_space(void) const
Get the Ignore_space member data.
TMatch_location GetMatch_location(void) const
Get the Match_location member data.
TIs_all_caps GetIs_all_caps(void) const
Get the Is_all_caps member data.
void SetIs_all_punct(TIs_all_punct value)
Assign a value to Is_all_punct data member.
bool IsSetNot_present(void) const
Check if a value has been assigned to Not_present data member.
TWhole_word GetWhole_word(void) const
Get the Whole_word member data.
TIgnore_weasel GetIgnore_weasel(void) const
Get the Ignore_weasel member data.
void SetIgnore_punct(TIgnore_punct value)
Assign a value to Ignore_punct data member.
TIgnore_punct GetIgnore_punct(void) const
Get the Ignore_punct member data.
void SetIgnore_words(TIgnore_words &value)
Assign a value to Ignore_words data member.
void SetMatch_location(TMatch_location value)
Assign a value to Match_location data member.
const TMatch_text & GetMatch_text(void) const
Get the Match_text member data.
TNot_present GetNot_present(void) const
Get the Not_present member data.
void SetIs_all_caps(TIs_all_caps value)
Assign a value to Is_all_caps data member.
TIs_all_punct GetIs_all_punct(void) const
Get the Is_all_punct member data.
TIs_all_lower GetIs_all_lower(void) const
Get the Is_all_lower member data.
void SetCase_sensitive(TCase_sensitive value)
Assign a value to Case_sensitive data member.
void SetIgnore_space(TIgnore_space value)
Assign a value to Ignore_space data member.
void SetWhole_word(TWhole_word value)
Assign a value to Whole_word data member.
void SetIgnore_weasel(TIgnore_weasel value)
Assign a value to Ignore_weasel data member.
void SetNot_present(TNot_present value)
Assign a value to Not_present data member.
bool IsSetIgnore_words(void) const
Check if a value has been assigned to Ignore_words data member.
@ eString_location_inlist
@ eString_location_equals
@ eString_location_contains
@ eString_location_starts
const struct ncbi::grid::netcache::search::fields::SIZE size
static const char * str(char *buf, int n)
CRef< CConstraintMatcher > matcher
CFieldNamePanel::EFieldType field_type2
CRef< CConstraintMatcher > matcher2
CFieldNamePanel::EFieldType field_type
CRef< CString_constraint > string_constraint
wxString ToWxString(const string &s)
string ToStdString(const wxString &s)