Пример #1
0
void MainSequencer::OnChar(wxKeyEvent& event)
{
    wxChar uc = event.GetUnicodeKey();

    KeyBinding *binding = keyBindings.Find(uc);
    if (binding != NULL) {
        event.StopPropagation();
        switch (binding->GetType()) {
            case TIMING_ADD:
                InsertTimingMarkFromRange();
                break;
            case TIMING_SPLIT:
                SplitTimingMark();
                break;
            case KEY_ZOOM_IN:
                PanelTimeLine->ZoomIn();
                break;
            case KEY_ZOOM_OUT:
                PanelTimeLine->ZoomOut();
                break;
            case RANDOM_EFFECT:
                PanelEffectGrid->Paste("Random\t\t\n");
                break;
            case EFFECT_STRING:
                PanelEffectGrid->Paste(binding->GetEffectName() + "\t" + binding->GetEffectString() + "\t\n");
                break;
        }
    }
    //printf("OnChar %d   %c\n", uc, uc);
    switch(uc)
    {
        case 'c':
        case 'C':
        case WXK_CONTROL_C:
            if (event.CmdDown() || event.ControlDown()) {
                CopySelectedEffects();
                PanelEffectGrid->SetCanPaste();
                event.StopPropagation();
            }
            break;
        case 'x':
        case 'X':
        case WXK_CONTROL_X:
            if (event.CmdDown() || event.ControlDown()) {
                CopySelectedEffects();
                PanelEffectGrid->DeleteSelectedEffects();
                event.StopPropagation();
            }
            break;
        case 'v':
        case 'V':
        case WXK_CONTROL_V:
            if (event.CmdDown() || event.ControlDown()) {
                Paste();
                event.StopPropagation();
            }
            break;

    }
}
Пример #2
0
void AssistPanel::OnCharHook(wxKeyEvent& event)
{
    if( mEffect != NULL )
    {
        if( mEffect->GetEffectIndex() == EffectManager::eff_PICTURES )
        {
            wxChar uc = event.GetUnicodeKey();
            switch(uc)
            {
                case 'c':
                case 'C':
                case WXK_CONTROL_C:
                    if (event.CmdDown() || event.ControlDown()) {
                       	if( mGridCanvas != nullptr )
                        {
                            mGridCanvas->Copy();
                        }
                        event.StopPropagation();
                    }
                    break;
                case 'v':
                case 'V':
                case WXK_CONTROL_V:
                    if (event.CmdDown() || event.ControlDown()) {
                       	if( mGridCanvas != nullptr )
                        {
                            mGridCanvas->Paste();
                        }
                        event.StopPropagation();
                    }
                    break;
#ifdef __WXMSW__
				case WXK_INSERT:
				case WXK_NUMPAD_INSERT:
					if (event.ControlDown()) // Copy
					{
						if (mGridCanvas != nullptr)
						{
							mGridCanvas->Copy();
						}
						event.StopPropagation();
					}
					else if (GetKeyState(VK_LSHIFT) || GetKeyState(VK_RSHIFT)) // Paste
					{
						if (mGridCanvas != nullptr)
						{
							mGridCanvas->Paste();
						}
						event.StopPropagation();
					}
					break;
#endif
				default:
                    event.Skip();
                    break;
            }
        }
    }
}
void AbstractWindow::OnKeyDown(wxKeyEvent& event)
{
	if (!app_)
		return;

#ifdef __WXGTK__
	app_->Test(event.GetKeyCode());
#else
	event.StopPropagation();
#endif
}
Пример #4
0
void HotkeyCtrl::OnKeyUpEvent(wxKeyEvent& e)
{
	switch(e.GetKeyCode())
	{
		case WXK_WINDOWS_LEFT:
		case WXK_WINDOWS_RIGHT:
			WinDown = false;
			e.StopPropagation();
			return;
	}
	e.Skip();
}
Пример #5
0
void AssistPanel::OnCharHook(wxKeyEvent& event)
{
    if( mEffect != NULL )
    {
        if( mEffect->GetEffectIndex() == EffectManager::eff_PICTURES )
        {
            wxChar uc = event.GetUnicodeKey();
            switch(uc)
            {
                case 'c':
                case 'C':
                case WXK_CONTROL_C:
                    if (event.CmdDown() || event.ControlDown()) {
                       	if( mGridCanvas != nullptr )
                        {
                            mGridCanvas->Copy();
                        }
                        event.StopPropagation();
                    }
                    break;
                case 'v':
                case 'V':
                case WXK_CONTROL_V:
                    if (event.CmdDown() || event.ControlDown()) {
                       	if( mGridCanvas != nullptr )
                        {
                            mGridCanvas->Paste();
                        }
                        event.StopPropagation();
                    }
                    break;
                default:
                    event.Skip();
                    break;
            }
        }
    }
}
Пример #6
0
bool ShortcutChordCtrl::OnPreKeyUp(wxKeyEvent& event) {
	int id = event.GetKeyCode();

	// Ignore initial presses on modifier keys
	if (id == WXK_SHIFT || id == WXK_ALT || id == WXK_CONTROL ||
		id == WXK_WINDOWS_LEFT || id == WXK_WINDOWS_RIGHT)
	{
		return false;
	}

	int modifiers = event.GetModifiers();
	
#ifdef __WXMSW__
	// GetModifiers does not report the windows keys
	if (::GetKeyState(VK_LWIN) < 0) modifiers |= 0x0008; // wxMOD_META (Left Windows key)
	if (::GetKeyState(VK_RWIN) < 0) modifiers |= 0x0008; // wxMOD_META (Right Windows key)
#endif

	wxString binding = CodeToString(id, modifiers);

	wxString value = GetValue();
	if(value.Contains(wxT(" "))) {
		value = wxT("");
	}

	if(!value.empty()) {
		value = wxString::Format(wxT("%s %s"), value, binding);
	} else {
		value = binding;
	}

	m_binding = value;
	SetValue(value);

	event.StopPropagation();

	// wxLogDebug(wxT("Binding: %s"), m_binding.c_str());
	return true;
}
Пример #7
0
void HotkeyCtrl::OnKeyDownEvent(wxKeyEvent& e)
{
	e.StopPropagation();
	int code = e.GetKeyCode();
	if (code == WXK_WINDOWS_LEFT || code == WXK_WINDOWS_RIGHT)
	{
		WinDown = true;
		return;
	}
	if (code == WXK_NONE || code == WXK_SHIFT || code == WXK_ALT || code == WXK_CONTROL)
		return;
	if (code == WXK_DELETE)
	{
		this->Clear();
		return;
	}
	wxString key;
	if (code > 32 && code < 127)
		key.Append(e.GetUnicodeKey());
	else
		key = g_keys.GetKeyString(code);
	if (key.empty())
		return;
	if (e.HasModifiers())
	{
		int Modifers = e.GetModifiers();
		if (Modifers & wxMOD_ALT)
			key.insert(0,"Alt+");
		if (Modifers & wxMOD_CONTROL)
			key.insert(0,"Ctrl+");
		if (Modifers & wxMOD_SHIFT)
			key.insert(0,"Shift+");
	}
	if (WinDown)
		key.insert(0,"Win+");
	this->SetValue(key);
}
Пример #8
0
void MainSequencer::OnCharHook(wxKeyEvent& event)
{
    wxChar uc = event.GetKeyCode();
    //printf("OnCharHook %d   %c\n", uc, uc);
    switch(uc)
    {
        case WXK_BACK:
        case WXK_DELETE:
            PanelEffectGrid->DeleteSelectedEffects();
            event.StopPropagation();
            break;
        case WXK_SPACE:
            {
                wxCommandEvent playEvent(EVT_TOGGLE_PLAY);
                wxPostEvent(mParent, playEvent);
            }
            event.StopPropagation();
            break;
        case WXK_UP:
            PanelEffectGrid->MoveSelectedEffectUp(event.ShiftDown());
            event.StopPropagation();
            break;
        case WXK_DOWN:
            PanelEffectGrid->MoveSelectedEffectDown(event.ShiftDown());
            event.StopPropagation();
            break;
        case WXK_LEFT:
            PanelEffectGrid->MoveSelectedEffectLeft(event.ShiftDown());
            event.StopPropagation();
            break;
        case WXK_RIGHT:
            PanelEffectGrid->MoveSelectedEffectRight(event.ShiftDown());
            event.StopPropagation();
            break;
        default:
            event.Skip();
            break;
    }
}
Пример #9
0
void wxSFMLCanvas::OnKeyUp(wxKeyEvent &evt) { evt.StopPropagation(); }
Пример #10
0
void AbstractWindow::OnKeyUp(wxKeyEvent& event)
{
#ifndef __WXGTK__
	event.StopPropagation();
#endif
}