94 if(selected != select) {
100 if(focus != focused) {
124 return valid ?
m_Entries[index].second :
false;
158 indexes.push_back(
i);
233 size_t n_items = items.size();
234 _ASSERT(n_items == indices.size());
237 for(
size_t i = 0;
i < n_items;
i++ ) {
243 i_min =
min(i_min, ind);
336 if(selected != select) {
358 for(
size_t i = 0;
i < prev_sel.size();
i++ ) {
364 prev_sel.push_back(index);
388 indexes.push_back(index);
405 vector<bool> v_sel(n_items,
false);
407 for(
size_t i = 0;
i < indexes.size();
i++ ) {
408 v_sel[indexes[
i]] =
true;
410 for(
TIndex j = 0; j < n_items; j++ ) {
423 update_indexes.push_back(*it);
446 bool bPrevFocusedChanged =
false;
451 bool b_select = (
i >= iStart &&
i <= iEnd);
454 update_indexes.push_back(
i);
456 bPrevFocusedChanged =
true;
460 if( ! bPrevFocusedChanged)
507 int key =
event.GetKeyCode();
542 i_focused =
max(i_focused, 0);
546 i_focused =
max(i_focused, 0);
547 i_focused =
min(i_focused,
count - 1);
581 if(i_focused != -1) {
583 if( ! bSel || (bSel && deselect_en))
static EGUIState wxGetSelectState(const wxMouseEvent &event)
virtual TIndex GetFocusedIndex() const
virtual void SelectAll(bool select=true)
void x_InsertItems(const TItemHandleVector &items, const TIndexVector &indices, bool update)
void x_DebugValid() const
virtual int GetStyle() const
Low-level worker functions - implementation dependend.
virtual void GetSelectedIndexes(TIndexVector &indexes) const
virtual TIndex GetSelectedIndex() const
virtual void x_InvertSingleItem(TIndex index)
virtual void x_UpdateItems(TIndexVector &indexes)=0
virtual void x_SelectAll(bool select=true)
bool x_InsertItem(TIndex index, const TItemHandle &item, bool update)
virtual void SelectItem(TIndex index, bool select=true)
virtual void x_SelectTo(TIndex index)
virtual void SetStyle(int style)
virtual int GetItemState(TIndex index) const
Items state and selection.
void x_SelectFocusedItem(bool deselect_en)
virtual void SelectItems(TIndexVector &indexes, bool select=true)
virtual void FocusItem(TIndex index)
TIndex x_GetItemsCount() const
virtual void x_SelectItem(TIndex index, bool select)
vector< TItemHandle > TItemHandleVector
void OnMouseDown(wxMouseEvent &event)
Event handling.
bool x_DeleteItem(TIndex index, bool update=true)
virtual void SetItemState(TIndex index, int state)
virtual int x_GetIndexByWindowPos(int win_x, int win_y, bool clip=false)=0
virtual bool IsItemFocused(TIndex index) const
virtual TIndex GetSelectedCount() const
TIndex m_FocusedIndex
index of the selected itme (valid only in fSingleSelection mode)
vector< TIndex > TIndexVector
virtual void x_SelectSingleItem(TIndex index)
handles selection of a single item from UI
virtual void x_MakeVisible(TIndex index)=0
void x_UpdateItemToIndex()
virtual void x_UpdateItemsRange(TIndex start, TIndex end)=0
virtual void x_SendSelectionEvent(TIndex index)=0
TItemToIndexMap m_ItemToIndex
virtual void x_SelectItems(const TIndexVector &vIndexes, bool reset_others=false)
Select items with given indices.
bool x_AssertIndexValid(TIndex index) const
Protected API -.
void OnKeyDown(wxKeyEvent &event)
virtual bool IsItemSelected(TIndex index) const
void x_MoveSelectionBy(int shift, CGUIEvent::EGUIState state)
Include a standard set of the NCBI C++ Toolkit most basic headers.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
const struct ncbi::grid::netcache::search::fields::KEY key