2013-09-28 07:25:54 +00:00
|
|
|
#ifndef CSV_WORLD_SCENESUBVIEW_H
|
|
|
|
#define CSV_WORLD_SCENESUBVIEW_H
|
|
|
|
|
2014-05-01 16:25:28 +00:00
|
|
|
#include <QHBoxLayout>
|
|
|
|
|
2013-09-28 07:25:54 +00:00
|
|
|
#include "../doc/subview.hpp"
|
|
|
|
|
|
|
|
class QModelIndex;
|
|
|
|
|
2014-04-07 12:16:02 +00:00
|
|
|
namespace CSMWorld
|
|
|
|
{
|
|
|
|
class CellSelection;
|
|
|
|
}
|
|
|
|
|
2013-09-28 07:25:54 +00:00
|
|
|
namespace CSMDoc
|
|
|
|
{
|
|
|
|
class Document;
|
|
|
|
}
|
|
|
|
|
2014-02-25 13:59:46 +00:00
|
|
|
namespace CSVRender
|
|
|
|
{
|
2014-03-06 09:01:23 +00:00
|
|
|
class WorldspaceWidget;
|
2014-05-03 12:00:30 +00:00
|
|
|
class PagedWorldspaceWidget;
|
|
|
|
class UnpagedWorldspaceWidget;
|
2014-02-25 13:59:46 +00:00
|
|
|
}
|
|
|
|
|
2014-07-08 10:39:12 +00:00
|
|
|
namespace CSVWidget
|
|
|
|
{
|
|
|
|
class SceneToolbar;
|
|
|
|
}
|
|
|
|
|
2013-09-28 07:25:54 +00:00
|
|
|
namespace CSVWorld
|
|
|
|
{
|
|
|
|
class Table;
|
|
|
|
class TableBottomBox;
|
|
|
|
class CreatorFactoryBase;
|
|
|
|
|
|
|
|
class SceneSubView : public CSVDoc::SubView
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
TableBottomBox *mBottom;
|
2014-03-06 09:01:23 +00:00
|
|
|
CSVRender::WorldspaceWidget *mScene;
|
2014-05-01 16:25:28 +00:00
|
|
|
QHBoxLayout* mLayout;
|
|
|
|
CSMDoc::Document& mDocument;
|
2014-07-08 10:39:12 +00:00
|
|
|
CSVWidget::SceneToolbar* mToolbar;
|
2013-09-28 07:25:54 +00:00
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
SceneSubView (const CSMWorld::UniversalId& id, CSMDoc::Document& document);
|
|
|
|
|
|
|
|
virtual void setEditLock (bool locked);
|
|
|
|
|
|
|
|
virtual void updateEditorSetting (const QString& key, const QString& value);
|
|
|
|
|
|
|
|
virtual void setStatusBar (bool show);
|
2014-03-06 15:40:08 +00:00
|
|
|
|
2014-04-01 08:04:14 +00:00
|
|
|
virtual void useHint (const std::string& hint);
|
|
|
|
|
2014-05-03 12:00:30 +00:00
|
|
|
private:
|
|
|
|
|
|
|
|
void makeConnections(CSVRender::PagedWorldspaceWidget* widget);
|
|
|
|
|
|
|
|
void makeConnections(CSVRender::UnpagedWorldspaceWidget* widget);
|
|
|
|
|
2014-07-08 10:39:12 +00:00
|
|
|
void replaceToolbarAndWorldspace(CSVRender::WorldspaceWidget* widget, CSVWidget::SceneToolbar* toolbar);
|
2014-05-03 12:00:30 +00:00
|
|
|
|
2014-05-04 10:30:15 +00:00
|
|
|
enum widgetType
|
|
|
|
{
|
|
|
|
widget_Paged,
|
|
|
|
widget_Unpaged
|
|
|
|
};
|
2014-07-08 10:39:12 +00:00
|
|
|
|
|
|
|
CSVWidget::SceneToolbar* makeToolbar(CSVRender::WorldspaceWidget* widget, widgetType type);
|
2014-05-03 12:00:30 +00:00
|
|
|
|
2014-03-06 15:40:08 +00:00
|
|
|
private slots:
|
|
|
|
|
|
|
|
void closeRequest();
|
2014-04-01 08:04:14 +00:00
|
|
|
|
2014-04-07 12:16:02 +00:00
|
|
|
void cellSelectionChanged (const CSMWorld::CellSelection& selection);
|
2014-05-01 16:25:28 +00:00
|
|
|
|
2014-05-03 12:00:30 +00:00
|
|
|
void cellSelectionChanged (const CSMWorld::UniversalId& id);
|
2014-05-01 16:25:28 +00:00
|
|
|
|
2014-05-03 12:00:30 +00:00
|
|
|
void handleDrop(const std::vector<CSMWorld::UniversalId>& data);
|
2013-09-28 07:25:54 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|