(parent,
id, caption, pos,
size, style);
100vis_set.
insert(vis_columns.begin(), vis_columns.end());
118SetExtraStyle(wxWS_EX_VALIDATE_RECURSIVELY|wxWS_EX_BLOCK_EVENTS);
119wxDialog::Create( parent,
id, caption, pos,
size, style );
124GetSizer()->SetSizeHints(
this);
166wxBoxSizer* itemBoxSizer2 =
newwxBoxSizer(wxVERTICAL);
167itemDialog1->SetSizer(itemBoxSizer2);
169wxStaticBox* itemStaticBoxSizer3Static =
newwxStaticBox(itemDialog1,
wxID_ANY,
_(
"Columns"));
170wxStaticBoxSizer* itemStaticBoxSizer3 =
newwxStaticBoxSizer(itemStaticBoxSizer3Static, wxVERTICAL);
171itemBoxSizer2->Add(itemStaticBoxSizer3, 0, wxGROW|wxALL, 5);
173wxArrayString m_ColumnsLstBoxStrings;
177wxStaticBox* itemStaticBoxSizer5Static =
newwxStaticBox(itemDialog1,
wxID_ANY,
_(
"Select/Deselect All"));
178wxStaticBoxSizer* itemStaticBoxSizer5 =
newwxStaticBoxSizer(itemStaticBoxSizer5Static, wxVERTICAL);
179itemStaticBoxSizer3->Add(itemStaticBoxSizer5, 0, wxGROW|wxALL, 5);
181wxBoxSizer* itemBoxSizer6 =
newwxBoxSizer(wxHORIZONTAL);
182itemStaticBoxSizer5->Add(itemBoxSizer6, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
184wxButton* itemButton7 =
newwxButton( itemDialog1,
ID_SELECT_ALL_BTN,
_(
"Select All"), wxDefaultPosition, wxDefaultSize, 0 );
185itemBoxSizer6->Add(itemButton7, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
187wxButton* itemButton8 =
newwxButton( itemDialog1,
ID_DESELECT_BTN,
_(
"Deselect All"), wxDefaultPosition, wxDefaultSize, 0 );
188itemBoxSizer6->Add(itemButton8, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
190wxStaticBox* itemStaticBoxSizer9Static =
newwxStaticBox(itemDialog1,
wxID_ANY,
_(
"Select Range"));
191wxStaticBoxSizer* itemStaticBoxSizer9 =
newwxStaticBoxSizer(itemStaticBoxSizer9Static, wxVERTICAL);
192itemStaticBoxSizer3->Add(itemStaticBoxSizer9, 0, wxGROW|wxALL, 5);
194wxStaticText* itemStaticText10 =
newwxStaticText( itemDialog1, wxID_STATIC,
_(
"Enter selection range (e.g. 1,3-5):"), wxDefaultPosition, wxDefaultSize, 0 );
195itemStaticBoxSizer9->Add(itemStaticText10, 0, wxALIGN_LEFT|wxALL, 5);
198itemStaticBoxSizer9->Add(
m_RangeText, 0, wxGROW|wxALL, 5);
200wxBoxSizer* itemBoxSizer12 =
newwxBoxSizer(wxHORIZONTAL);
201itemBoxSizer2->Add(itemBoxSizer12, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
204itemBoxSizer12->Add(
m_SelectBtn, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
206wxButton* itemButton14 =
newwxButton( itemDialog1, wxID_CANCEL,
_(
"Cancel"), wxDefaultPosition, wxDefaultSize, 0 );
207itemBoxSizer12->Add(itemButton14, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
255 CRegexpregex(
"^\\d+(?:-\\d+)?(?:,\\d+(?:-\\d+)?)*$");
269wxArrayInt checkedItems;
272 for(
size_t i= 0;
i< checkedItems.Count(); ++
i) {
273vis_set.
insert(checkedItems[
i]);
277 boolshown = (vis_set.
end() != vis_set.
find(col));
287vector< string > tokens;
289 ITERATE(vector< string >, itToken, tokens) {
290vector< string > range;
292 if(1 == range.size()) {
295 else if(2 == range.size()) {
void Init()
Initialises member variables.
wxCheckListBox * m_ColumnsLstBox
bool Create(wxWindow *parent, wxWindowID id=10000, const wxString &caption=_("Filter Columns"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(300, 180), long style=wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX|wxTAB_TRAVERSAL)
Creation.
void OnSelectAllBtnClick(wxCommandEvent &event)
wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_SELECT_ALL_BTN
void OnDeselectBtnClick(wxCommandEvent &event)
wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_DESELECT_BTN
void OnRangeTextctrlTextUpdated(wxCommandEvent &event)
wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RANGE_TEXTCTRL
void x_ProcessSelectionPattern()
void SetGridAdapter(IGridTableAdapter *gridAdapter)
~CFilterColumnsDlg()
Destructor.
IGridTableAdapter * m_GridAdapter
void OnSelectBtnClick(wxCommandEvent &event)
wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_SELECT_BTN
wxIcon GetIconResource(const wxString &name)
Retrieves icon resources.
static bool ShowToolTips()
Should we show tooltips?
CFilterColumnsDlg()
Constructors.
void CreateControls()
Creates the controls and sizers.
wxBitmap GetBitmapResource(const wxString &name)
Retrieves bitmap resources.
virtual void ShowColumn(size_t col, bool show)=0
virtual vector< size_t > GetVisibleColumns() const
virtual string GetColumnLabel(size_t col) const =0
iterator_bool insert(const value_type &val)
const_iterator find(const key_type &key) const
const_iterator end() const
The NCBI C++ standard methods for dealing with std::string.
#define ID_RANGE_TEXTCTRL
#define ID_COLUMNS_CHECKLISTBOX
#define ID_SELECT_ALL_BTN
static DLIST_TYPE *DLIST_NAME() first(DLIST_LIST_TYPE *list)
static DLIST_TYPE *DLIST_NAME() last(DLIST_LIST_TYPE *list)
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
bool IsMatch(CTempString str, TMatch flags=fMatch_default)
Check existence substring which match a specified pattern.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static list< string > & Split(const CTempString str, const CTempString delim, list< string > &arr, TSplitFlags flags=0, vector< SIZE_TYPE > *token_pos=NULL)
Split a string using specified delimiters.
static unsigned int StringToUInt(const CTempString str, TStringToNumFlags flags=0, int base=10)
Convert string to unsigned int.
static enable_if< is_arithmetic< TNumeric >::value||is_convertible< TNumeric, Int8 >::value, string >::type NumericToString(TNumeric value, TNumToStringFlags flags=0, int base=10)
Convert numeric value to string.
static const char label[]
const struct ncbi::grid::netcache::search::fields::SIZE size
C++ wrappers for the Perl-compatible regular expression (PCRE) library.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4