void OpenResourceDlg::OnDVItemActivated(wxDataViewEvent& event) { SetSelectedItem(DoGetItemData(event.GetItem())); EndModal(wxID_OK); }
void CTSKTabManager::OnItemClick(CTSKTabManagerItem* pItem) { SetSelectedItem(pItem); }
// Handle mouse events //----------------------------------------------------------------------------- CPUTEventHandledCode CPUTDropdown::HandleMouseEvent(int x, int y, int wheel, CPUTMouseState state) { UNREFERENCED_PARAMETER(wheel); CPUTEventHandledCode handledCode = CPUT_EVENT_UNHANDLED; // just return if the control is disabled or invisible if((CPUT_CONTROL_INACTIVE == mControlState) || (false == mControlVisible) ) { mbMouseInside = false; return handledCode; } // tray is down, commence to selecting if(CPUT_DROPDOWN_GUI_MOUSE_PRESSED == mControlGuiState) { if(ContainsPointTrayArea(x, y)) { // tray is open // float the selection up/down based on mouse position, making // whichever item the mouse is over the selected item CPUT_RECT inner, outer; CalculateTrayRect(inner, outer); if( (x>outer.x) && (x<outer.x+outer.width) && (y>inner.y) && (y<inner.y+inner.height)) { // figure out which one was selected int itemWidth, itemHeight; CalculateMaxItemSize(itemWidth, itemHeight); int itemSelect = (int)( (y - inner.y) / (float)(itemHeight+2*CPUT_DROPDOWN_TEXT_PADDING)); SetSelectedItem(itemSelect+1); } if( CPUT_MOUSE_LEFT_DOWN == state ) { mbStartedClickInsideTray = true; } // released the left-down button, but there was a click started here if( !(CPUT_MOUSE_LEFT_DOWN == state) && (true == mbStartedClickInsideTray) ) { // mark click start as no longer active mbStartedClickInsideTray = false; // close the tray //mControlState = CPUT_CONTROL_ACTIVE; mControlGuiState = CPUT_DROPDOWN_GUI_MOUSE_NEUTRAL; Recalculate(); // fire callback mpCallbackHandler->HandleCallbackEvent(1, mcontrolID, (CPUTControl*) this); // remember this item as the last selected item GetSelectedItem(mRevertItem); } // anything in the tray counts as handling the mouse event return CPUT_EVENT_HANDLED; } } // handle just the readout area if(ContainsPointReadoutArea(x,y)) { // click started outside this control - ignore it if( (false == mbMouseInside ) && (CPUT_MOUSE_LEFT_DOWN == state) ) { return handledCode; } // clicked and dragging around inside the control itself - ignore if( (true == mbStartedClickInside ) && (CPUT_MOUSE_LEFT_DOWN == state) ) { return CPUT_EVENT_HANDLED; } mbMouseInside = true; if( !(CPUT_MOUSE_LEFT_DOWN == state)) { mbStartedClickInside = false; mbStartedClickInsideTray = false; } if( CPUT_MOUSE_LEFT_DOWN == state ) { if(CPUT_DROPDOWN_GUI_MOUSE_NEUTRAL == mControlGuiState) { mbStartedClickInside = true; mbStartedClickInsideTray = true; // get the item to revert to GetSelectedItem(mRevertItem); // toggle tray state mControlGuiState = CPUT_DROPDOWN_GUI_MOUSE_PRESSED; Recalculate(); } else { mbStartedClickInside = true; mbStartedClickInsideTray = true; //mControlState = CPUT_CONTROL_ACTIVE; mControlGuiState = CPUT_DROPDOWN_GUI_MOUSE_NEUTRAL; SetSelectedItem(mRevertItem); mRevertItem=(UINT)-1; Recalculate(); } return CPUT_EVENT_HANDLED; } } else if(CPUT_MOUSE_LEFT_DOWN == state) { // clicked outside the control // if tray is down, restore previous selection and disable // display of the tray if(CPUT_DROPDOWN_GUI_MOUSE_NEUTRAL != mControlGuiState) { mControlGuiState = CPUT_DROPDOWN_GUI_MOUSE_NEUTRAL; SetSelectedItem(mRevertItem); mRevertItem=(UINT)-1; Recalculate(); } mbStartedClickInside = false; mbMouseInside = false; return CPUT_EVENT_UNHANDLED; } return handledCode; }
void Sidebar::SetMultipleSelection() { SetSelectedItem(nullptr, nullptr); }
void FMODSoundBrowser::OnRejected() { SetSelectedItem(0); }
void GridList::MoveUp() { SetSelectedItem(SelectedItem == 0 ? ItemCount - 1 : SelectedItem - 1); }
void GridList::MoveDown() { SetSelectedItem(SelectedItem == (ItemCount - 1) ? 0 : SelectedItem + 1); }