wxWindowID
id,
constwxPoint& pos,
constwxSize&
size,
longstyle )
77 for(
size_t i= 0;
i<
m_Items.GetCount();
i++)
82 if(intData.
m_Item.IsEmpty())
84 m_Data.push_back(intData);
98wxPanel::Create( parent,
id, pos,
size, style );
103GetSizer()->SetSizeHints(
this);
144wxBoxSizer* itemBoxSizer2 =
newwxBoxSizer(wxVERTICAL);
145itemPanel1->SetSizer(itemBoxSizer2);
147wxPanel* itemPanel3 =
newwxPanel( itemPanel1,
ID_CGROWABLELISTCTRL_PANEL1, wxDefaultPosition, wxSize(-1,100), wxSUNKEN_BORDER|wxTAB_TRAVERSAL );
148itemBoxSizer2->Add(itemPanel3, 1, wxGROW|wxALL, 0);
150wxBoxSizer* itemBoxSizer4 =
newwxBoxSizer(wxVERTICAL);
151itemPanel3->SetSizer(itemBoxSizer4);
167vector<SIntData>::const_iterator it;
185 m_Data.push_back(intData);
192 m_Data.push_back(intData);
201 static void s_DeleteRow(wxSizerItemList::iterator
row, wxSizerItemList& itemList)
203wxSizerItemList::iterator node =
row;
204 for(
int i= 0; node != itemList.end() &&
i<
kCtrlColNum; ++
i) {
205(**node).DeleteWindows();
206node = itemList.erase(node);
210 staticwxSizerItemList::iterator
s_FindRow(wxWindow* wnd, wxSizerItemList& itemList)
213 returnitemList.end();
215wxSizerItemList::iterator
row, it = itemList.begin();
217 for(
intindex = 0; it != itemList.end(); ++it, --index) {
223wxSizer* sizer = (**it).GetSizer();
224 if(sizer && sizer->GetItem(wnd))
226 else if((**it).GetWindow() == wnd)
233 staticwxSizerItemList::iterator
s_NextRow(wxSizerItemList::iterator
row, wxSizerItemList& itemList)
235wxSizerItemList::iterator it =
row;
237 if(it == itemList.end())
238 returnitemList.end();
243 staticwxSizerItemList::iterator
s_PrevRow(wxSizerItemList::iterator
row, wxSizerItemList& itemList)
245wxSizerItemList::iterator it =
row;
247 if(it == itemList.begin())
248 returnitemList.end();
254wxSizerItemList::iterator row2,
255wxSizerItemList& itemList)
257 for(
int i= 0;
i< 4; ++
i) {
258 if(row1 == itemList.end() || row2 == itemList.end())
260 swap(*row1++, *row2++);
267wxSizerItemList::iterator node =
row;
269 if(node == itemList.end())
return;
271wxComboBox* combo = (wxComboBox*)(**node).GetWindow();
272item = combo->GetValue();
277wxSizerItemList& itemList =
m_Sizer->GetChildren();
278wxSizerItemList::iterator
row=
s_FindRow((wxWindow*)event.GetEventObject(), itemList);
280 if(
m_Sizer->GetChildren().size() == 0) {
288wxWindow* spnCtrl = (wxWindow*)evt.GetEventObject();
290wxSizerItemList& itemList =
m_Sizer->GetChildren();
291wxSizerItemList::iterator
row=
s_FindRow(spnCtrl, itemList);
292 if(
row== itemList.end())
295wxSizerItemList::iterator row2;
297 switch(evt.GetId()) {
312 size_trowPos = itemList.IndexOf(*
row);
332 size_trowPos = (
row== itemList.end()) ? (
size_t)-1 : itemList.IndexOf(*
row);
353 if(rowPos == (
size_t)-1)
354 m_Sizer->Add(combo, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 0);
356 m_Sizer->Insert(rowPos++, combo, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 0);
358wxBoxSizer* controlsSizer =
newwxBoxSizer(wxHORIZONTAL);
359 if(rowPos == (
size_t)-1)
362 m_Sizer->Insert(rowPos++, controlsSizer);
365itemHyperLink->SetVisitedColour(itemHyperLink->GetNormalColour());
366controlsSizer->Add(itemHyperLink, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 0);
369spinCtrl->SetToolTip(
_(
"Use arrow controls to reorder list"));
370controlsSizer->Add(spinCtrl, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 0);
373spinCtrl->SetToolTip(
_(
"Use plus/plus controls to insert blank elements"));
375controlsSizer->Add(spinCtrl, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 0);
385 if(rowPos == (
size_t)-1)
386 m_Sizer->Add(combo, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 0);
388 m_Sizer->Insert(rowPos++, combo, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 0);
390wxBoxSizer* controlsSizer =
newwxBoxSizer(wxHORIZONTAL);
391 if(rowPos == (
size_t)-1)
394 m_Sizer->Insert(rowPos++, controlsSizer);
397itemHyperLink->SetVisitedColour(itemHyperLink->GetNormalColour());
398controlsSizer->Add(itemHyperLink, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 0);
401controlsSizer->Add(spinCtrl, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 0);
405controlsSizer->Add(spinCtrl, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT, 0);
412 if(!wxPanel::TransferDataToWindow())
415wxSizerItemList& children =
m_Sizer->GetChildren();
416wxSizerItemList::iterator node = children.begin();
417 for(; node != children.end(); ++node)
418(**node).DeleteWindows();
421vector<SIntData>::const_iterator it;
436wxSizerItemList& children =
m_Sizer->GetChildren();
437 for(wxSizerItemList::iterator node = children.begin(); node != children.end(); ++node)
440wxComboBox* item_combo = (wxComboBox*)(**node).GetWindow();
441 if(item_combo && !item_combo->IsTextEmpty())
443items.push_back(item_combo->GetValue().ToStdString());
450 if(!wxPanel::TransferDataFromWindow())
455wxSizerItemList& children =
m_Sizer->GetChildren();
457 for( wxSizerItemList::iterator node = children.begin(); node != children.end(); ++node)
461wxComboBox* item_combo = (wxComboBox*)(**node).GetWindow();
465 if(item_combo->IsTextEmpty())
471intData.
m_Item= item_combo->GetValue();
474 m_Data.push_back(intData);
522 for(
size_t i= 0;
i<
m_Items.GetCount();
i++)
527 if(intData.
m_Item.IsEmpty())
529 m_Data.push_back(intData);
void Init()
Initialises member variables.
virtual bool TransferDataToWindow()
void GetItems(vector< string > &items)
wxScrolledWindow * m_ScrolledWindow
void x_AddRow(const wxString &item, size_t rowPos=-1)
void x_AddEmptyRow(size_t rowPos=-1)
void OnDelete(wxHyperlinkEvent &event)
void AddRow(const wxString &item)
wxBitmap GetBitmapResource(const wxString &name)
Retrieves bitmap resources.
wxFlexGridSizer * m_Sizer
vector< SIntData > m_Data
virtual bool TransferDataFromWindow()
void SetItems(const wxArrayString &items)
bool Create(wxWindow *parent, wxWindowID id=ID_CGROWABLELISTCTRL, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1, 200), long style=wxSUNKEN_BORDER|wxTAB_TRAVERSAL)
Creation.
void CreateControls()
Creates the controls and sizers.
static bool ShowToolTips()
Should we show tooltips?
@ ID_CGROWABLELISTCTRL_SCROLLEDWINDOW1
@ ID_CGROWABLELISTCTRL_PANEL1
wxIcon GetIconResource(const wxString &name)
Retrieves icon resources.
void OnSpinCtrl(wxCommandEvent &evt)
~CGrowableListCtrl()
Destructor.
CGrowableListCtrl()
Constructors.
CHyperlink is wrapper class for wxHyperlinkCtrl On OSX platform it posts URL click instead of sending...
void UseImageSet(int set)
void swap(NCBI_NS_NCBI::pair_base_member< T1, T2 > &pair1, NCBI_NS_NCBI::pair_base_member< T1, T2 > &pair2)
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static wxSizerItemList::iterator s_NextRow(wxSizerItemList::iterator row, wxSizerItemList &itemList)
static void s_SwapRows(wxSizerItemList::iterator row1, wxSizerItemList::iterator row2, wxSizerItemList &itemList)
static wxSizerItemList::iterator s_PrevRow(wxSizerItemList::iterator row, wxSizerItemList &itemList)
static void s_GetRowData(wxSizerItemList::iterator row, wxSizerItemList &itemList, wxString &item)
static wxSizerItemList::iterator s_FindRow(wxWindow *wnd, wxSizerItemList &itemList)
static void s_DeleteRow(wxSizerItemList::iterator row, wxSizerItemList &itemList)
const struct ncbi::grid::netcache::search::fields::SIZE size
#define row(bind, expected)
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