Esempio n. 1
0
QtMainWindow::QtMainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
	, oldDockSceneGraphMinSize(-1, -1)
	, oldDockSceneGraphMaxSize(-1, -1)
	, repackSpritesWaitDialog(NULL)
	, emitRepackAndReloadFinished(false)
{
	// initialize console
	Console::Instance();

	new ProjectManager();
	new SceneDataManager();
	new QtMainWindowHandler(this);

	ui->setupUi(this);
 
    qApp->installEventFilter(this);
	EditorConfig::Instance()->ParseConfig(EditorSettings::Instance()->GetProjectPath() + "EditorConfig.yaml");

	QtMainWindowHandler::Instance()->SetDefaultFocusWidget(ui->sceneTabWidget);
	QtMainWindowHandler::Instance()->SetResentMenu(ui->menuFile);
	QtMainWindowHandler::Instance()->RegisterStatusBar(ui->statusBar);
	QtMainWindowHandler::Instance()->RestoreDefaultFocus();

    RegisterBasePointerTypes();
   
	SetupActions();
    SetupMainMenu();
    SetupToolBars();
    SetupDocks();

	posSaver.Attach(this);
	posSaver.LoadState(this);
	
	ui->dockParticleEditor->installEventFilter(this);
	ChangeParticleDockVisible(false); //hide particle editor dock on start up
	ui->dockParticleEditorTimeLine->hide();

	// Open last project
	QObject::connect(ProjectManager::Instance(), SIGNAL(ProjectOpened(const QString &)), this, SLOT(ProjectOpened(const QString &)));
	OpenLastProject();
}
    //------------------------------------------------------------
    //------------------------------------------------------------
    void MainMenuState::OnInit()
    {
		//Load parent widget container (only contains background image, main menu, and particle menu)
		auto menuContainerDef = CSCore::Application::Get()->GetResourcePool()->LoadResource<CSUI::WidgetTemplate>(CSCore::StorageLocation::k_package, "GUI/MenuContainer.csui");
		m_menuContainer = CSCore::Application::Get()->GetWidgetFactory()->Create(menuContainerDef);
		GetUICanvas()->AddWidget(m_menuContainer);

		//Get main and particle menus
		m_mainMenu = m_menuContainer->GetWidget("MainMenuTemplate")->GetWidget("MainMenuContainer");
		m_particleMenu = m_menuContainer->GetWidget("ParticleMenuTemplate")->GetWidget("ParticleMenuContainer");
		m_benchmarkingMenu = m_menuContainer->GetWidget("BenchmarkingMenuTemplate")->GetWidget("BenchmarkingMenuContainer");

		//Get benchmarking divs
		auto benchmarkingMenuGrid = m_benchmarkingMenu->GetWidget("BenchmarkingDivsContainer")->GetWidget("ParticleMenuMainDiv")->GetWidget("ParticleMenuGridTemplate")->GetWidget("BenchmarkingParticleMenuGrid");
		m_benchPlayerParticleDiv = benchmarkingMenuGrid->GetWidget("PlayerPaddleParticleDiv");
		m_benchOpponentParticleDiv = benchmarkingMenuGrid->GetWidget("OpponentPaddleParticleDiv");
		m_benchBallParticleDiv = benchmarkingMenuGrid->GetWidget("BallParticleDiv");
		m_benchOptionParticleDiv = benchmarkingMenuGrid->GetWidget("OptionParticleDiv");

		//Disable all user interaction until the animation is complete.
		SetAllInputEnabled(false);

		//Create tweens that will move its components from the right and left (offscreen) to the center
		m_rightToCenterTween = CSCore::MakeEaseInOutBackTween(1.0f, 0.0f, 1.0f);
		m_leftToCenterTween = CSCore::MakeEaseInOutBackTween(-1.0f, 0.0f, 1.0f);

		//Create tweens that will move its components up and down and right and left within the screen
		m_upAndDownTween = CSCore::MakeEaseInOutBackTween(0.5f, 0.0f, 1.0f);
		m_rightAndLeftTween = CSCore::MakeEaseInOutBackTween(0.5f, 0.0f, 1.0f);

		SetupMainMenu();
		SetupParticleMenu();
		SetupBenchmarkingMenu();

		//Transition system event
		m_transitionInConnection = m_transitionSystem->GetTransitionInFinishedEvent().OpenConnection([this]() 
		{ 
			m_mainMenuMovementData.m_leftTween = true;
			m_mainMenuMovementData.m_movingCenter = true;
			m_mainMenuMovementData.m_moving = true;
		});
    }
Esempio n. 3
0
//------------------------------------------------------------------------------
//returns number of item chosen
int MainMenu (void) 
{
	CMenu	m;
	int	i, nChoice = 0, nOptions = 0;

IpxClose ();
//paletteManager.Load (MENU_PALETTE, NULL, 0, 1, 0);		//get correct palette

if (!LOCALPLAYER.callsign [0]) {
	SelectPlayer ();
	return 0;
	}
if (gameData.multiplayer.autoNG.bValid) {
	ExecMultiMenuOption (mainOpts.nMulti);
	return 0;
	}
PrintLog ("launching main menu\n");
do {
	nOptions = SetupMainMenu (m); // may have to change, eg, maybe selected pilot and no save games.
	gameStates.input.keys.xLastPressTime = TimerGetFixedSeconds ();                // .. 20 seconds from now!
	if (nChoice < 0)
		nChoice = 0;
	gameStates.menus.bDrawCopyright = 1;
	i = m.Menu ("", NULL, AutoDemoMenuCheck, &nChoice, BackgroundName (BG_MENU));
	if (gameStates.app.bNostalgia)
		gameOpts->app.nVersionFilter = 3;
	if (i > -1) {
		ExecMainMenuOption (nChoice);
		SavePlayerProfile ();
		}
} while (gameStates.app.nFunctionMode == FMODE_MENU);
if (gameStates.app.nFunctionMode == FMODE_GAME)
	paletteManager.DisableEffect ();
FlushInput ();
return mainOpts.nChoice;
}