Пример #1
0
void t4p::FindInFilesDialogClass::OnKeyDown(wxKeyEvent& event) {
    // the event object is the control that has focus
    if (event.GetKeyCode() == WXK_TAB && event.ShiftDown()) {
        reinterpret_cast<wxWindow*>(event.GetEventObject())->Navigate(wxNavigationKeyEvent::IsBackward);
    } else if (event.GetKeyCode() == WXK_TAB) {
        reinterpret_cast<wxWindow*>(event.GetEventObject())->Navigate(wxNavigationKeyEvent::IsForward);
    } else {
        event.Skip();
    }
}
Пример #2
0
void ConnectionPanel::OnEnterKey(wxKeyEvent& evt)
{
    if (evt.GetEventObject() == FindWindow(ID_TEXT_KEY))
    {
        FindKeys(GetSearchText());
    }
    else if (evt.GetEventObject() == FindWindow(ID_TEXT_COMMAND))
    {
        ExecuteCommand(GetCommandText());
    }
}
Пример #3
0
// NOTE: this function gets the textCtrl pointer as this. This means this is not good...
void muhkuh_dirlistbox::OnKeyDown(wxKeyEvent& event)
{
    wxTextCtrl *ptTextCtrl;
    muhkuh_dirlistbox *ptSelf;


    ptTextCtrl = (wxTextCtrl*)event.GetEventObject();
    if( ptTextCtrl!=NULL )
    {
        ptSelf = (muhkuh_dirlistbox*)ptTextCtrl->GetParent();
        if( ptSelf!=NULL )
        {
            switch ( event.GetKeyCode() )
            {
            case WXK_ESCAPE:
                muhkuh_dirlistbox::stopEditing(ptSelf);
                ptSelf->RefreshAll();
                break;
            default:
                event.Skip();
                break;
            }
        }
    }
}
void wxCodeCompletionBoxManager::OnStcKeyDown(wxKeyEvent& event)
{
    if(m_box && m_stc && m_box->IsShown() && event.GetEventObject() == m_stc) {
        m_box->StcKeyDown(event);
    } else {
        event.Skip();
    }
}
Пример #5
0
void SearchEvtHandler::OnKeyDown(wxKeyEvent &event) {
	// When wxTE_PROCESS_ENTER is set, we have to manually process tab
	if (event.GetKeyCode() == WXK_TAB) {
		const int direction = wxGetKeyState(WXK_SHIFT) ? 0 : wxNavigationKeyEvent::IsForward;
		((wxWindow*)event.GetEventObject())->Navigate(direction);
		return;
	}

	event.Skip();
}
Пример #6
0
void VizFrame::keyPressed(wxKeyEvent& event)
{
	wxWindow *curWin = noteBook->GetCurrentPage();

	// If the name is a GLCanvas, this means we have a VeraPane object we can send the event to.
	if ( event.GetEventObject()->IsKindOf(CLASSINFO(VeraPane)) && curWin->GetName().Contains(wxT("GLCanvas")) )
	{
		((VeraPane *) curWin)->keyPressed(event);
	}
}
Пример #7
0
void TApp::OnKeyDown(wxKeyEvent& event)
{
    // Determine if the event originates from a dialog box.
    bool dialog = false;
    if (event.GetEventObject()->IsKindOf(CLASSINFO(wxWindow))) {
        wxWindow* window = (wxWindow*) event.GetEventObject();
        while (window->GetParent() && !window->IsKindOf(CLASSINFO(wxDialog)))
            window = window->GetParent();
        dialog = window->IsKindOf(CLASSINFO(wxDialog));
    }

    if (!dialog) {
        frame->canvas->trackball.OnKeyDown(event);
        switch (event.GetKeyCode()) {
            case WXK_DOWN: frame->programs.OnDown(); break;
            case WXK_UP: frame->programs.OnUp(); break;
        }
    }

    switch (event.GetKeyCode()) {
        case WXK_ESCAPE:
            frame->log.Close();
            frame->adjuster.Close();
            if (frame->IsChecked(Id::ViewFullscreen)) {
                frame->Uncheck(Id::ViewFullscreen);
                frame->ShowFullScreen(false);
            }
            break;

        // Preempt some keystrokes without calling Skip() to prevent them from being processed by controls.
        case WXK_HOME:
            Ready();
            frame->canvas->Reset();

        case WXK_END:
            return;
    }
    frame->canvas->Update();
    event.Skip();
}
Пример #8
0
void MyFrame::OnCharHook(wxKeyEvent& evt)
{
    bool handled = false;

    // This never gets called on OSX (since we moved to wxWidgets-3.0.0), so we
    // rely on the menu accelerators on the MyFrame to provide the keyboard
    // responses. For Windows and Linux, we keep this here so the keystrokes
    // work when other windows like the Drift Tool window have focus.

    if (evt.GetKeyCode() == 'B')
    {
        if (!evt.GetEventObject()->IsKindOf(wxCLASSINFO(wxTextCtrl)))
        {
            int modifiers;
#ifdef __WXOSX__
            modifiers = 0;
            if (wxGetKeyState(WXK_ALT))
                modifiers |= wxMOD_ALT;
            if (wxGetKeyState(WXK_CONTROL))
                modifiers |= wxMOD_CONTROL;
            if (wxGetKeyState(WXK_SHIFT))
                modifiers |= wxMOD_SHIFT;
            if (wxGetKeyState(WXK_RAW_CONTROL))
                modifiers |= wxMOD_RAW_CONTROL;
#else
            modifiers = evt.GetModifiers();
#endif
            if (!modifiers)
            {
                pGuider->ToggleShowBookmarks();
                bookmarks_menu->Check(MENU_BOOKMARKS_SHOW, pGuider->GetBookmarksShown());
                handled = true;
            }
            else if (modifiers == wxMOD_CONTROL)
            {
                pGuider->DeleteAllBookmarks();
                handled = true;
            }
            else if (modifiers == wxMOD_SHIFT)
            {
                pGuider->BookmarkLockPosition();
                handled = true;
            }
        }
    }

    if (!handled)
    {
        evt.Skip();
    }
}
Пример #9
0
void CslPanelSearch::OnKeypress(wxKeyEvent& event)
{
    wxWindow *wnd = wxDynamicCast(event.GetEventObject(), wxWindow);

    if (event.GetKeyCode()==WXK_ESCAPE &&
        WindowHasChildWindow(m_search_ctrl, wnd))
    {
        m_search_ctrl->Clear();

        wxCommandEvent evt(wxEVT_COMMAND_TEXT_UPDATED, SEARCH_TEXT);
        AddPendingEvent(evt);
    }

    event.Skip();
}
Пример #10
0
void KeyConfigPrefs::OnFilterKeyDown(wxKeyEvent & e)
{
   wxTextCtrl *t = (wxTextCtrl *)e.GetEventObject();
   int keycode = e.GetKeyCode();

   // Make sure we can navigate away from the hotkey textctrl.
   // On Linux and OSX, it an get stuck, but it doesn't hurt
   // to do it for Windows as well.
   if (keycode == WXK_TAB) {
      wxNavigationKeyEvent nevent;
      nevent.SetWindowChange(e.ControlDown());
      nevent.SetDirection(!e.ShiftDown());
      nevent.SetEventObject(t);
      nevent.SetCurrentFocus(t);
      t->GetParent()->GetEventHandler()->ProcessEvent(nevent);

      return;
   }

   if (mViewType == ViewByKey) {
      wxString key = KeyStringDisplay(KeyEventToKeyString(e));
      t->SetValue(key);

      if (key != wxEmptyString) {
         mView->SetFilter(t->GetValue());
      }
   }
   else
   {
      if (keycode == WXK_RETURN) {
         mFilterPending = false;
         mView->SetFilter(t->GetValue());
      }
      else {
         mFilterPending = true;
         mFilterTimer.Start(500, wxTIMER_ONE_SHOT);

         e.Skip();
      }
   }
}
Пример #11
0
void KeyConfigPrefs::OnHotkeyKeyDown(wxKeyEvent & e)
{
   wxTextCtrl *t = (wxTextCtrl *)e.GetEventObject();

   // Make sure we can navigate away from the hotkey textctrl.
   // On Linux and OSX, it can get stuck, but it doesn't hurt
   // to do it for Windows as well.
   //
   // Mac note:  Don't waste time trying to figure out why the
   // focus goes back to the prefs tree.  Unless Voiceover is
   // active, buttons on the Mac do not accept focus and all the
   // controls between this one and the tree control are buttons.
   if (e.GetKeyCode() == WXK_TAB) {
      NavigateIn(e.ShiftDown()
                 ? wxNavigationKeyEvent::IsBackward
                 : wxNavigationKeyEvent::IsForward);
      return;
   }

   t->SetValue(KeyStringDisplay(KeyEventToKeyString(e)));
}