void ContentBoxCtrol::OnLeftDown(wxMouseEvent& event) { wxPoint pos = event.GetPosition(); wxHtmlCell *cell; if ( !PhysicalCoordsToCell(pos, cell) ) { event.Skip(); //continue processing the event return; } SetFocus(); int item = HitTest(event.GetPosition()); if ( item != wxNOT_FOUND ) { int flags = 0; if ( event.ShiftDown() ) flags |= ItemClick_Shift; if ( event.ControlDown() ) flags |= ItemClick_Ctrl; DoHandleItemClick(item, flags); } wxHtmlWindowMouseHelper::HandleMouseClick(cell, pos, event); }
void wxSymbolListCtrl::OnLeftDown(wxMouseEvent& event) { SetFocus(); int item = HitTest(event.GetPosition()); if ( item != wxNOT_FOUND ) { int flags = 0; if ( event.ShiftDown() ) flags |= ItemClick_Shift; // under Mac Apple-click is used in the same way as Ctrl-click // elsewhere #ifdef __WXMAC__ if ( event.MetaDown() ) #else if ( event.ControlDown() ) #endif flags |= ItemClick_Ctrl; DoHandleItemClick(item, flags); } }
void wxSymbolListCtrl::OnKeyDown(wxKeyEvent& event) { // No keyboard interface for now event.Skip(); #if 0 // flags for DoHandleItemClick() int flags = ItemClick_Kbd; int currentLineNow = SymbolValueToLineNumber(m_current); int currentLine; switch ( event.GetKeyCode() ) { case WXK_HOME: currentLine = 0; break; case WXK_END: currentLine = GetLineCount() - 1; break; case WXK_DOWN: if ( currentLineNow == (int)GetLineCount() - 1 ) return; currentLine = currentLineNow + 1; break; case WXK_UP: if ( m_current == wxNOT_FOUND ) currentLine = GetLineCount() - 1; else if ( currentLineNow != 0 ) currentLine = currentLineNow - 1; else // currentLineNow == 0 return; break; case WXK_PAGEDOWN: PageDown(); currentLine = GetFirstVisibleLine(); break; case WXK_PAGEUP: if ( currentLineNow == (int)GetFirstVisibleLine() ) { PageUp(); } currentLine = GetFirstVisibleLine(); break; case WXK_SPACE: // hack: pressing space should work like a mouse click rather than // like a keyboard arrow press, so trick DoHandleItemClick() in // thinking we were clicked flags &= ~ItemClick_Kbd; currentLine = currentLineNow; break; #ifdef __WXMSW__ case WXK_TAB: // Since we are using wxWANTS_CHARS we need to send navigation // events for the tabs on MSW { wxNavigationKeyEvent ne; ne.SetDirection(!event.ShiftDown()); ne.SetCurrentFocus(this); ne.SetEventObject(this); GetParent()->GetEventHandler()->ProcessEvent(ne); } // fall through to default #endif default: event.Skip(); currentLine = 0; // just to silent the stupid compiler warnings wxUnusedVar(currentNow); return; } #if 0 if ( event.ShiftDown() ) flags |= ItemClick_Shift; if ( event.ControlDown() ) flags |= ItemClick_Ctrl; DoHandleItemClick(current, flags); #endif #endif }
void wxVListBox::OnKeyDown(wxKeyEvent& event) { // flags for DoHandleItemClick() int flags = ItemClick_Kbd; int current; switch ( event.GetKeyCode() ) { case WXK_HOME: case WXK_NUMPAD_HOME: current = 0; break; case WXK_END: case WXK_NUMPAD_END: current = GetRowCount() - 1; break; case WXK_DOWN: case WXK_NUMPAD_DOWN: if ( m_current == (int)GetRowCount() - 1 ) return; current = m_current + 1; break; case WXK_UP: case WXK_NUMPAD_UP: if ( m_current == wxNOT_FOUND ) current = GetRowCount() - 1; else if ( m_current != 0 ) current = m_current - 1; else // m_current == 0 return; break; case WXK_PAGEDOWN: case WXK_NUMPAD_PAGEDOWN: PageDown(); current = GetVisibleBegin(); break; case WXK_PAGEUP: case WXK_NUMPAD_PAGEUP: if ( m_current == (int)GetVisibleBegin() ) { PageUp(); } current = GetVisibleBegin(); break; case WXK_SPACE: // hack: pressing space should work like a mouse click rather than // like a keyboard arrow press, so trick DoHandleItemClick() in // thinking we were clicked flags &= ~ItemClick_Kbd; current = m_current; break; #ifdef __WXMSW__ case WXK_TAB: // Since we are using wxWANTS_CHARS we need to send navigation // events for the tabs on MSW HandleAsNavigationKey(event); // fall through to default #endif default: event.Skip(); current = 0; // just to silent the stupid compiler warnings wxUnusedVar(current); return; } if ( event.ShiftDown() ) flags |= ItemClick_Shift; if ( event.ControlDown() ) flags |= ItemClick_Ctrl; DoHandleItemClick(current, flags); }
void ContentBoxCtrol::OnKeyDown(wxKeyEvent& event) { // flags for DoHandleItemClick() int flags = ItemClick_Kbd; int current; switch ( event.GetKeyCode() ) { case WXK_HOME: current = 0; break; case WXK_END: current = GetRowCount() - 1; break; case WXK_DOWN: if ( m_current == (int)GetRowCount() - 1 ) return; current = m_current + 1; break; case WXK_UP: if ( m_current == wxNOT_FOUND ) current = GetRowCount() - 1; else if ( m_current != 0 ) current = m_current - 1; else // m_current == 0 return; break; case WXK_PAGEDOWN: PageDown(); current = GetVisibleRowsBegin(); break; case WXK_PAGEUP: if ( m_current == (int)GetVisibleRowsBegin() ) { PageUp(); } current = GetVisibleRowsBegin(); break; case WXK_SPACE: // hack: pressing space should work like a mouse click rather than // like a keyboard arrow press, so trick DoHandleItemClick() in // thinking we were clicked flags &= ~ItemClick_Kbd; current = m_current; break; #if (LENMUS_PLATFORM_WIN32 == 1) case WXK_TAB: // Since we are using wxWANTS_CHARS we need to send navigation // events for the tabs on MSW { wxNavigationKeyEvent ne; ne.SetDirection(!event.ShiftDown()); ne.SetCurrentFocus(this); ne.SetEventObject(this); GetParent()->GetEventHandler()->ProcessEvent(ne); } // fall through to default #endif default: event.Skip(); //continue processing the event current = 0; // just to silent the stupid compiler warnings wxUnusedVar(current); return; } if ( event.ShiftDown() ) flags |= ItemClick_Shift; if ( event.ControlDown() ) flags |= ItemClick_Ctrl; DoHandleItemClick(current, flags); }