コード例 #1
0
bool WindowInputSource::handleInput()
{
	MSG msg;
	if (PeekMessage(&msg, _window, 0, 0, PM_REMOVE))
	{
		if (msg.message == WM_QUIT)
		{
			notifyQuit();
			return true;
		}

		TranslateMessage(&msg); // translate and dispatch to event queue
		DispatchMessage(&msg);

		return true; // More messages might be in queue.
	}

	return false;
}
コード例 #2
0
ファイル: EditorState.cpp プロジェクト: sskoruppa/Glove_Code
void EditorState::notifyPopupMenuAccept(MyGUI::MenuCtrl* _sender, MyGUI::MenuItem* _item)
{
	if (mPopupMenuFile == _item->getMenuCtrlParent())
	{
		std::string id = _item->getItemId();

		if (id == "File/Load")
		{
			notifyLoad();
		}
		else if (id == "File/Save")
		{
			notifySave();
		}
		else if (id == "File/SaveAs")
		{
			setModeSaveLoadDialog(true, fileName);
		}
		else if (id == "File/Clear")
		{
			notifyClear();
		}
		else if (id == "File/Settings")
		{
			notifySettings();
		}
		else if (id == "File/Test")
		{
			notifyTest();
		}
		else if (id == "File/RecentFiles")
		{
			saveOrLoadLayout(false, false, *_item->getItemData<MyGUI::UString>());
		}
		else if (id == "File/Quit")
		{
			notifyQuit();
		}
	}
}
コード例 #3
0
ファイル: EditorState.cpp プロジェクト: sskoruppa/Glove_Code
//===================================================================================
void EditorState::injectKeyPress(MyGUI::KeyCode _key, MyGUI::Char _text)
{
	MyGUI::InputManager& input = MyGUI::InputManager::getInstance();

	if (testMode)
	{
		if (input.isModalAny() == false)
		{
			if (_key == MyGUI::KeyCode::Escape)
			{
				notifyEndTest();
			}
		}

		getGUI()->injectKeyPress(_key, _text);
		//base::BaseManager::injectKeyPress(_key, _text);
		return;
	}

	if (input.isModalAny())
	{
		if (mOpenSaveFileDialog->isVisible())
		{
			if (_key == MyGUI::KeyCode::Escape)
				mOpenSaveFileDialog->eventEndDialog(false);
			else if (_key == MyGUI::KeyCode::Return)
				mOpenSaveFileDialog->eventEndDialog(true);
		}
	}
	else
	{
		if (_key == MyGUI::KeyCode::Escape)
		{
			notifyQuit();
			return;
		}

		if (input.isControlPressed())
		{
			if (_key == MyGUI::KeyCode::O
				|| _key == MyGUI::KeyCode::L)
				notifyLoad();
			else if (_key == MyGUI::KeyCode::S)
				notifySave();
			else if (_key == MyGUI::KeyCode::Z)
			{
				um->undo();
				notifySelectWidget(nullptr);
			}
			else if ((_key == MyGUI::KeyCode::Y) || ((input.isShiftPressed()) && (_key == MyGUI::KeyCode::Z)))
			{
				um->redo();
				notifySelectWidget(nullptr);
			}
			else if (_key == MyGUI::KeyCode::T)
			{
				notifyTest();
				return;
			}
			else if (_key == MyGUI::KeyCode::R)
			{
				mPropertiesPanelView->toggleRelativeMode();
				return;
			}
		}
	}

	getGUI()->injectKeyPress(_key, _text);
	//base::BaseManager::injectKeyPress(_key, _text);
}