1
0
mirror of https://github.com/rwengine/openrw.git synced 2024-11-07 03:12:36 +01:00
openrw/rwviewer/ViewerWindow.hpp

64 lines
1012 B
C++
Raw Normal View History

2014-02-10 13:41:05 +01:00
#pragma once
#ifndef _VIEWERWINDOW_HPP_
#define _VIEWERWINDOW_HPP_
#include <QMainWindow>
#include <engine/GameWorld.hpp>
#include <QGLContext>
#include <QStackedWidget>
2014-02-10 13:41:05 +01: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
GameWorld* gameWorld;
/** Contains the OGL context */
ViewerWidget* viewerWidget;
ObjectViewer* objectViewer;
QStackedWidget* viewSwitcher;
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);
virtual void showEvent(QShowEvent*);
2014-02-12 08:12:40 +01: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 );
signals:
void loadedData(GameWorld* world);
2014-02-11 15:41:46 +01:00
private slots:
void openRecent();
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