wxArrayInt& order,
62 constwxArrayString& items,
64 constwxValidator& validator,
69 const size_t count= items.size();
70wxCHECK_MSG( order.size() ==
count,
false,
"arrays not in sync");
73m_DoubleClickConsumer =
NULL;
75wxArrayString itemsInOrder;
76itemsInOrder.reserve(
count);
83itemsInOrder.push_back(items[idx]);
87 if( !wxCheckListBox::Create(parent,
id, pos,
size, itemsInOrder,
88style, validator, name) )
94 if( order[
n] >= 0 )
110 const intsel = GetSelection();
111 returnsel != wxNOT_FOUND && sel != 0;
116 const intsel = GetSelection();
117 returnsel != wxNOT_FOUND &&
static_cast<unsigned>(sel) != GetCount() - 1;
122 const intsel = GetSelection();
123 if( sel == wxNOT_FOUND || sel == 0 )
127SetSelection(sel - 1);
134 const intsel = GetSelection();
135 if( sel == wxNOT_FOUND ||
static_cast<unsigned>(sel) == GetCount() - 1 )
139SetSelection(sel + 1);
153 constwxString stringTmp = GetString(pos1);
154SetString(pos1, GetString(pos2));
155SetString(pos2, stringTmp);
158 const boolcheckedTmp = IsChecked(pos1);
163 switch( GetClientDataType() )
165 casewxClientData_None:
169 casewxClientData_Object:
171wxClientData *
constdataTmp = DetachClientObject(pos1);
172SetClientObject(pos1, DetachClientObject(pos2));
173SetClientObject(pos2, dataTmp);
177 casewxClientData_Void:
179 void*
constdataTmp = GetClientData(pos1);
180SetClientData(pos1, GetClientData(pos2));
181SetClientData(pos2, dataTmp);
189 if(
check== IsChecked(item) )
207 const int n=
event.GetInt();
209 if( (
m_order[
n] >= 0) != IsChecked(
n) )
225 const int n=
event.GetInt();
233wxCheckListBox::Clear();
240 const size_t count= items.size();
241 if( order.size() !=
count)
245wxArrayString itemsInOrder;
246itemsInOrder.reserve(
count);
250 intidx = order[
n];
253itemsInOrder.push_back(items[idx]);
257wxCheckListBox::Set(itemsInOrder);
262 if( order[
n] >= 0 )
296 constwxArrayInt& order,
297 constwxArrayString& items,
299 constwxValidator& validator,
300 constwxString& name)
303 if( !wxPanel::Create(parent,
id, pos,
size, wxTAB_TRAVERSAL, name) )
307wxDefaultPosition, wxDefaultSize,
310wxButton *
constbtnUp =
newwxButton(
this, wxID_UP);
311wxButton *
constbtnDown =
newwxButton(
this, wxID_DOWN);
314wxSizer *
constsizerBtns =
newwxBoxSizer(wxVERTICAL);
315sizerBtns->Add(btnUp, wxSizerFlags().Centre().Border(wxBOTTOM));
316sizerBtns->Add(btnDown, wxSizerFlags().Centre().Border(wxTOP));
318wxSizer *
constsizerTop =
newwxBoxSizer(wxHORIZONTAL);
319sizerTop->Add(
m_list, wxSizerFlags(1).Expand().Border(wxRIGHT));
320sizerTop->Add(sizerBtns, wxSizerFlags(0).Centre().Border(wxLEFT));
336 if( event.GetId() == wxID_UP )
virtual void UpdateCheckedState(size_t checked)
virtual void DoubleClick(int n)
void OnButton(wxCommandEvent &event)
bool Create(wxWindow *parent, wxWindowID id, const wxPoint &pos, const wxSize &size, const wxArrayInt &order, const wxArrayString &items, long style=0, const wxValidator &validator=wxDefaultValidator, const wxString &name=wxListBoxNameStr)
void OnUpdateButtonUI(wxUpdateUIEvent &event)
CDoubleClickConsumer * m_DoubleClickConsumer
virtual void Set(const wxArrayInt &order, const wxArrayString &items)
virtual void Check(unsigned int item, bool check=true) override
void OnCheck(wxCommandEvent &event)
void OnDoubleClick(wxCommandEvent &event)
bool CanMoveCurrentUp() const
void Swap(int pos1, int pos2)
CCheckListBoxListener * m_Listener
virtual void Clear() override
bool CanMoveCurrentDown() const
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
void Check(const string &value)
const struct ncbi::grid::netcache::search::fields::SIZE size
wxBEGIN_EVENT_TABLE(CRearrangeList, wxCheckListBox) wxEND_EVENT_TABLE() bool CRearrangeList
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