2014-02-10 13:41:05 +01:00
|
|
|
#pragma once
|
|
|
|
#ifndef _VIEWERWINDOW_HPP_
|
|
|
|
#define _VIEWERWINDOW_HPP_
|
|
|
|
#include <QMainWindow>
|
2014-09-19 01:10:05 +02:00
|
|
|
#include <engine/GameWorld.hpp>
|
|
|
|
#include <QGLContext>
|
2014-09-20 15:20:12 +02:00
|
|
|
#include <QStackedWidget>
|
2014-02-10 13:41:05 +01:00
|
|
|
|
2014-09-19 01:10:05 +02:00
|
|
|
class ObjectViewer;
|
2014-02-10 13:41:05 +01:00
|
|
|
class ViewerWidget;
|
2014-03-01 12:19:33 +01:00
|
|
|
|
2014-02-10 13:41:05 +01:00
|
|
|
class ViewerWindow : public QMainWindow
|
|
|
|
{
|
2014-02-10 16:34:09 +01:00
|
|
|
Q_OBJECT
|
|
|
|
|
2014-09-19 01:10:05 +02:00
|
|
|
GameWorld* gameWorld;
|
|
|
|
|
|
|
|
/** Contains the OGL context */
|
|
|
|
ViewerWidget* viewerWidget;
|
|
|
|
ObjectViewer* objectViewer;
|
2014-09-20 15:20:12 +02:00
|
|
|
QStackedWidget* viewSwitcher;
|
2014-09-19 01:10:05 +02:00
|
|
|
|
|
|
|
QGLContext* context;
|
2014-02-10 13:41:05 +01:00
|
|
|
public:
|
2014-02-11 15:41:46 +01:00
|
|
|
|
2014-02-10 13:41:05 +01:00
|
|
|
ViewerWindow(QWidget* parent = 0, Qt::WindowFlags flags = 0);
|
2014-02-10 16:34:09 +01:00
|
|
|
|
2014-06-08 02:58:49 +02:00
|
|
|
/**
|
|
|
|
* @brief openGame Loads a game's dat file.
|
|
|
|
* @param datFile
|
|
|
|
*/
|
|
|
|
void openGame(const QString& datFile);
|
|
|
|
|
2014-09-19 01:10:05 +02:00
|
|
|
virtual void showEvent(QShowEvent*);
|
2014-02-12 08:12:40 +01:00
|
|
|
|
2014-09-19 01:10:05 +02:00
|
|
|
virtual void closeEvent(QCloseEvent*);
|
2014-02-11 06:46:29 +01:00
|
|
|
|
2014-02-10 16:34:09 +01:00
|
|
|
public slots:
|
|
|
|
|
2014-03-01 12:19:33 +01:00
|
|
|
void openAnimations();
|
|
|
|
|
2014-06-08 02:58:49 +02:00
|
|
|
void loadGame();
|
|
|
|
|
|
|
|
void loadGame( const QString& path );
|
|
|
|
|
2014-09-19 01:10:05 +02:00
|
|
|
signals:
|
|
|
|
|
|
|
|
void loadedData(GameWorld* world);
|
|
|
|
|
2014-02-11 15:41:46 +01:00
|
|
|
private slots:
|
|
|
|
|
|
|
|
void openRecent();
|
|
|
|
|
2014-09-20 15:20:12 +02:00
|
|
|
void switchWidget();
|
|
|
|
|
2014-02-11 15:41:46 +01:00
|
|
|
private:
|
|
|
|
|
2014-06-08 02:58:49 +02:00
|
|
|
QList<QAction*> recentGames;
|
2014-02-11 15:41:46 +01:00
|
|
|
QAction* recentSep;
|
2014-06-08 02:58:49 +02:00
|
|
|
void updateRecentGames();
|
2014-02-10 13:41:05 +01:00
|
|
|
};
|
|
|
|
|
2014-03-01 12:19:33 +01:00
|
|
|
#endif
|