void thBarViewCtrl::OnMouseDown(wxMouseEvent &event) { if (m_sel != m_mouseOverItem) { m_sel = m_mouseOverItem; SendSelectedEvent(); } }
void wxSymbolListCtrl::DoHandleItemClick(int item, int WXUNUSED(flags)) { if (m_current != item) { m_current = item; Refresh(); SendSelectedEvent(); } }
/// Updates the list void wxRichTextStyleListBox::UpdateStyles() { if (GetStyleSheet()) { int oldSel = GetSelection(); SetSelection(wxNOT_FOUND); m_styleNames.Clear(); size_t i; if (GetStyleType() == wxRICHTEXT_STYLE_ALL || GetStyleType() == wxRICHTEXT_STYLE_PARAGRAPH) { for (i = 0; i < GetStyleSheet()->GetParagraphStyleCount(); i++) m_styleNames.Add(GetStyleSheet()->GetParagraphStyle(i)->GetName() + wxT("|P")); } if (GetStyleType() == wxRICHTEXT_STYLE_ALL || GetStyleType() == wxRICHTEXT_STYLE_CHARACTER) { for (i = 0; i < GetStyleSheet()->GetCharacterStyleCount(); i++) m_styleNames.Add(GetStyleSheet()->GetCharacterStyle(i)->GetName() + wxT("|C")); } if (GetStyleType() == wxRICHTEXT_STYLE_ALL || GetStyleType() == wxRICHTEXT_STYLE_LIST) { for (i = 0; i < GetStyleSheet()->GetListStyleCount(); i++) m_styleNames.Add(GetStyleSheet()->GetListStyle(i)->GetName() + wxT("|L")); } if (GetStyleType() == wxRICHTEXT_STYLE_ALL || GetStyleType() == wxRICHTEXT_STYLE_BOX) { for (i = 0; i < GetStyleSheet()->GetBoxStyleCount(); i++) m_styleNames.Add(GetStyleSheet()->GetBoxStyle(i)->GetName() + wxT("|B")); } m_styleNames.Sort(); SetItemCount(m_styleNames.GetCount()); Refresh(); int newSel = -1; if (oldSel >= 0 && oldSel < (int) GetItemCount()) newSel = oldSel; else if (GetItemCount() > 0) newSel = 0; if (newSel >= 0) { SetSelection(newSel); SendSelectedEvent(); } } else { m_styleNames.Clear(); SetSelection(wxNOT_FOUND); SetItemCount(0); Refresh(); } }
void thBarViewCtrl::OnMouseMove(wxMouseEvent &event) { m_mouseOverItem = HitTest(event.GetPosition()); Mark(m_mouseOverItem); // if mouse button down, fire event to select item in list view if (event.LeftIsDown() && m_mouseOverItem != m_sel) { m_sel = m_mouseOverItem; SendSelectedEvent(); } }
void ContentBoxCtrol::DoHandleItemClick(int item, int flags) { // has anything worth telling the client code about happened? bool notify = false; // the item should become the current one only if it is a final node DoSetCurrent(item); if ( notify ) { // notify the user about the selection change SendSelectedEvent(); } //else: nothing changed at all }
/// Updates the list void wxRichTextStyleListBox::UpdateStyles() { if (GetStyleSheet()) { SetSelection(wxNOT_FOUND); m_styleNames.Clear(); size_t i; if (GetStyleType() == wxRICHTEXT_STYLE_ALL || GetStyleType() == wxRICHTEXT_STYLE_PARAGRAPH) { for (i = 0; i < GetStyleSheet()->GetParagraphStyleCount(); i++) m_styleNames.Add(GetStyleSheet()->GetParagraphStyle(i)->GetName()); } if (GetStyleType() == wxRICHTEXT_STYLE_ALL || GetStyleType() == wxRICHTEXT_STYLE_CHARACTER) { for (i = 0; i < GetStyleSheet()->GetCharacterStyleCount(); i++) m_styleNames.Add(GetStyleSheet()->GetCharacterStyle(i)->GetName()); } if (GetStyleType() == wxRICHTEXT_STYLE_ALL || GetStyleType() == wxRICHTEXT_STYLE_LIST) { for (i = 0; i < GetStyleSheet()->GetListStyleCount(); i++) m_styleNames.Add(GetStyleSheet()->GetListStyle(i)->GetName()); } m_styleNames.Sort(); SetItemCount(m_styleNames.GetCount()); Refresh(); if (GetItemCount() > 0) { SetSelection(0); SendSelectedEvent(); } } }
void wxVListBox::DoHandleItemClick(int item, int flags) { // has anything worth telling the client code about happened? bool notify = false; if ( HasMultipleSelection() ) { // select the iteem clicked? bool select = true; // NB: the keyboard interface we implement here corresponds to // wxLB_EXTENDED rather than wxLB_MULTIPLE but this one makes more // sense IMHO if ( flags & ItemClick_Shift ) { if ( m_current != wxNOT_FOUND ) { if ( m_anchor == wxNOT_FOUND ) m_anchor = m_current; select = false; // only the range from the selection anchor to new m_current // must be selected if ( DeselectAll() ) notify = true; if ( SelectRange(m_anchor, item) ) notify = true; } //else: treat it as ordinary click/keypress } else // Shift not pressed { m_anchor = item; if ( flags & ItemClick_Ctrl ) { select = false; if ( !(flags & ItemClick_Kbd) ) { Toggle(item); // the status of the item has definitely changed notify = true; } //else: Ctrl-arrow pressed, don't change selection } //else: behave as in single selection case } if ( select ) { // make the clicked item the only selection if ( DeselectAll() ) notify = true; if ( Select(item) ) notify = true; } } // in any case the item should become the current one if ( DoSetCurrent(item) ) { if ( !HasMultipleSelection() ) { // this has also changed the selection for single selection case notify = true; } } if ( notify ) { // notify the user about the selection change SendSelectedEvent(); } //else: nothing changed at all }