moved low level widgets from CSVWorld into a separate namespace/directory

deque
Marc Zinnschlag 11 years ago
parent a54497e9ef
commit 03f67cd6bd

@ -59,8 +59,17 @@ opencs_hdrs_noqt (view/doc
opencs_units (view/world opencs_units (view/world
table tablesubview scriptsubview util regionmapsubview tablebottombox creator genericcreator table tablesubview scriptsubview util regionmapsubview tablebottombox creator genericcreator
cellcreator referenceablecreator referencecreator scenesubview scenetoolbar scenetool cellcreator referenceablecreator referencecreator scenesubview
scenetoolmode infocreator scriptedit dialoguesubview previewsubview regionmap dragrecordtable infocreator scriptedit dialoguesubview previewsubview regionmap dragrecordtable
)
opencs_units_noqt (view/world
subviews enumdelegate vartypedelegate recordstatusdelegate idtypedelegate datadisplaydelegate
scripthighlighter idvalidator dialoguecreator
)
opencs_units (view/widget
scenetoolbar scenetool scenetoolmode
) )
opencs_units (view/render opencs_units (view/render
@ -73,11 +82,6 @@ opencs_units_noqt (view/render
lightingbright object cell lightingbright object cell
) )
opencs_units_noqt (view/world
subviews enumdelegate vartypedelegate recordstatusdelegate idtypedelegate datadisplaydelegate
scripthighlighter idvalidator dialoguecreator
)
opencs_units (view/tools opencs_units (view/tools
reportsubview reportsubview

@ -11,7 +11,7 @@
#include <OgreSceneNode.h> #include <OgreSceneNode.h>
#include <OgreViewport.h> #include <OgreViewport.h>
#include "../world/scenetoolmode.hpp" #include "../widget/scenetoolmode.hpp"
#include "navigation.hpp" #include "navigation.hpp"
#include "lighting.hpp" #include "lighting.hpp"
@ -54,9 +54,9 @@ namespace CSVRender
timer->start (20); /// \todo make this configurable timer->start (20); /// \todo make this configurable
} }
CSVWorld::SceneToolMode *SceneWidget::makeLightingSelector (CSVWorld::SceneToolbar *parent) CSVWidget::SceneToolMode *SceneWidget::makeLightingSelector (CSVWidget::SceneToolbar *parent)
{ {
CSVWorld::SceneToolMode *tool = new CSVWorld::SceneToolMode (parent); CSVWidget::SceneToolMode *tool = new CSVWidget::SceneToolMode (parent);
tool->addButton (":door.png", "day"); /// \todo replace icons tool->addButton (":door.png", "day"); /// \todo replace icons
tool->addButton (":GMST.png", "night"); tool->addButton (":GMST.png", "night");

@ -16,7 +16,7 @@ namespace Ogre
class RenderWindow; class RenderWindow;
} }
namespace CSVWorld namespace CSVWidget
{ {
class SceneToolMode; class SceneToolMode;
class SceneToolbar; class SceneToolbar;
@ -38,7 +38,7 @@ namespace CSVRender
QPaintEngine* paintEngine() const; QPaintEngine* paintEngine() const;
CSVWorld::SceneToolMode *makeLightingSelector (CSVWorld::SceneToolbar *parent); CSVWidget::SceneToolMode *makeLightingSelector (CSVWidget::SceneToolbar *parent);
///< \attention The created tool is not added to the toolbar (via addTool). Doing that ///< \attention The created tool is not added to the toolbar (via addTool). Doing that
/// is the responsibility of the calling function. /// is the responsibility of the calling function.

@ -7,8 +7,9 @@
#include <QtGui/qevent.h> #include <QtGui/qevent.h>
#include "../world/scenetoolmode.hpp" #include "../../model/world/universalid.hpp"
#include <apps/opencs/model/world/universalid.hpp>
#include "../widget/scenetoolmode.hpp"
CSVRender::WorldspaceWidget::WorldspaceWidget (CSMDoc::Document& document, QWidget* parent) CSVRender::WorldspaceWidget::WorldspaceWidget (CSMDoc::Document& document, QWidget* parent)
: SceneWidget (parent), mDocument(document) : SceneWidget (parent), mDocument(document)
@ -53,10 +54,10 @@ void CSVRender::WorldspaceWidget::selectDefaultNavigationMode()
setNavigation (&m1st); setNavigation (&m1st);
} }
CSVWorld::SceneToolMode *CSVRender::WorldspaceWidget::makeNavigationSelector ( CSVWidget::SceneToolMode *CSVRender::WorldspaceWidget::makeNavigationSelector (
CSVWorld::SceneToolbar *parent) CSVWidget::SceneToolbar *parent)
{ {
CSVWorld::SceneToolMode *tool = new CSVWorld::SceneToolMode (parent); CSVWidget::SceneToolMode *tool = new CSVWidget::SceneToolMode (parent);
tool->addButton (":door.png", "1st"); /// \todo replace icons tool->addButton (":door.png", "1st"); /// \todo replace icons
tool->addButton (":GMST.png", "free"); tool->addButton (":GMST.png", "free");

@ -13,7 +13,7 @@ namespace CSMWorld
{ {
class UniversalId; class UniversalId;
} }
namespace CSVWorld namespace CSVWidget
{ {
class SceneToolMode; class SceneToolMode;
class SceneToolbar; class SceneToolbar;
@ -49,7 +49,7 @@ namespace CSVRender
WorldspaceWidget (CSMDoc::Document& document, QWidget *parent = 0); WorldspaceWidget (CSMDoc::Document& document, QWidget *parent = 0);
CSVWorld::SceneToolMode *makeNavigationSelector (CSVWorld::SceneToolbar *parent); CSVWidget::SceneToolMode *makeNavigationSelector (CSVWidget::SceneToolbar *parent);
///< \attention The created tool is not added to the toolbar (via addTool). Doing that ///< \attention The created tool is not added to the toolbar (via addTool). Doing that
/// is the responsibility of the calling function. /// is the responsibility of the calling function.

@ -3,7 +3,7 @@
#include "scenetoolbar.hpp" #include "scenetoolbar.hpp"
CSVWorld::SceneTool::SceneTool (SceneToolbar *parent) : QPushButton (parent) CSVWidget::SceneTool::SceneTool (SceneToolbar *parent) : QPushButton (parent)
{ {
setSizePolicy (QSizePolicy (QSizePolicy::Fixed, QSizePolicy::Fixed)); setSizePolicy (QSizePolicy (QSizePolicy::Fixed, QSizePolicy::Fixed));
setIconSize (QSize (parent->getIconSize(), parent->getIconSize())); setIconSize (QSize (parent->getIconSize(), parent->getIconSize()));
@ -12,7 +12,7 @@ CSVWorld::SceneTool::SceneTool (SceneToolbar *parent) : QPushButton (parent)
connect (this, SIGNAL (clicked()), this, SLOT (openRequest())); connect (this, SIGNAL (clicked()), this, SLOT (openRequest()));
} }
void CSVWorld::SceneTool::openRequest() void CSVWidget::SceneTool::openRequest()
{ {
showPanel (parentWidget()->mapToGlobal (pos())); showPanel (parentWidget()->mapToGlobal (pos()));
} }

@ -1,9 +1,9 @@
#ifndef CSV_WORLD_SCENETOOL_H #ifndef CSV_WIDGET_SCENETOOL_H
#define CSV_WORLD_SCENETOOL_H #define CSV_WIDGET_SCENETOOL_H
#include <QPushButton> #include <QPushButton>
namespace CSVWorld namespace CSVWidget
{ {
class SceneToolbar; class SceneToolbar;

@ -5,7 +5,7 @@
#include "scenetool.hpp" #include "scenetool.hpp"
CSVWorld::SceneToolbar::SceneToolbar (int buttonSize, QWidget *parent) CSVWidget::SceneToolbar::SceneToolbar (int buttonSize, QWidget *parent)
: QWidget (parent), mButtonSize (buttonSize), mIconSize (buttonSize-6) : QWidget (parent), mButtonSize (buttonSize), mIconSize (buttonSize-6)
{ {
setFixedWidth (mButtonSize); setFixedWidth (mButtonSize);
@ -18,17 +18,17 @@ CSVWorld::SceneToolbar::SceneToolbar (int buttonSize, QWidget *parent)
setLayout (mLayout); setLayout (mLayout);
} }
void CSVWorld::SceneToolbar::addTool (SceneTool *tool) void CSVWidget::SceneToolbar::addTool (SceneTool *tool)
{ {
mLayout->addWidget (tool, 0, Qt::AlignTop); mLayout->addWidget (tool, 0, Qt::AlignTop);
} }
int CSVWorld::SceneToolbar::getButtonSize() const int CSVWidget::SceneToolbar::getButtonSize() const
{ {
return mButtonSize; return mButtonSize;
} }
int CSVWorld::SceneToolbar::getIconSize() const int CSVWidget::SceneToolbar::getIconSize() const
{ {
return mIconSize; return mIconSize;
} }

@ -1,11 +1,11 @@
#ifndef CSV_WORLD_SCENETOOLBAR_H #ifndef CSV_WIDGET_SCENETOOLBAR_H
#define CSV_WORLD_SCENETOOLBAR_H #define CSV_WIDGET_SCENETOOLBAR_H
#include <QWidget> #include <QWidget>
class QVBoxLayout; class QVBoxLayout;
namespace CSVWorld namespace CSVWidget
{ {
class SceneTool; class SceneTool;

@ -7,7 +7,7 @@
#include "scenetoolbar.hpp" #include "scenetoolbar.hpp"
CSVWorld::SceneToolMode::SceneToolMode (SceneToolbar *parent) CSVWidget::SceneToolMode::SceneToolMode (SceneToolbar *parent)
: SceneTool (parent), mButtonSize (parent->getButtonSize()), mIconSize (parent->getIconSize()) : SceneTool (parent), mButtonSize (parent->getButtonSize()), mIconSize (parent->getIconSize())
{ {
mPanel = new QFrame (this, Qt::Popup); mPanel = new QFrame (this, Qt::Popup);
@ -19,13 +19,13 @@ CSVWorld::SceneToolMode::SceneToolMode (SceneToolbar *parent)
mPanel->setLayout (mLayout); mPanel->setLayout (mLayout);
} }
void CSVWorld::SceneToolMode::showPanel (const QPoint& position) void CSVWidget::SceneToolMode::showPanel (const QPoint& position)
{ {
mPanel->move (position); mPanel->move (position);
mPanel->show(); mPanel->show();
} }
void CSVWorld::SceneToolMode::addButton (const std::string& icon, const std::string& id) void CSVWidget::SceneToolMode::addButton (const std::string& icon, const std::string& id)
{ {
QPushButton *button = new QPushButton (QIcon (QPixmap (icon.c_str())), "", mPanel); QPushButton *button = new QPushButton (QIcon (QPixmap (icon.c_str())), "", mPanel);
button->setSizePolicy (QSizePolicy (QSizePolicy::Fixed, QSizePolicy::Fixed)); button->setSizePolicy (QSizePolicy (QSizePolicy::Fixed, QSizePolicy::Fixed));
@ -42,7 +42,7 @@ void CSVWorld::SceneToolMode::addButton (const std::string& icon, const std::str
setIcon (button->icon()); setIcon (button->icon());
} }
void CSVWorld::SceneToolMode::selected() void CSVWidget::SceneToolMode::selected()
{ {
std::map<QPushButton *, std::string>::const_iterator iter = std::map<QPushButton *, std::string>::const_iterator iter =
mButtons.find (dynamic_cast<QPushButton *> (sender())); mButtons.find (dynamic_cast<QPushButton *> (sender()));

@ -1,5 +1,5 @@
#ifndef CSV_WORLD_SCENETOOL_MODE_H #ifndef CSV_WIDGET_SCENETOOL_MODE_H
#define CSV_WORLD_SCENETOOL_MODE_H #define CSV_WIDGET_SCENETOOL_MODE_H
#include "scenetool.hpp" #include "scenetool.hpp"
@ -7,7 +7,7 @@
class QHBoxLayout; class QHBoxLayout;
namespace CSVWorld namespace CSVWidget
{ {
class SceneToolbar; class SceneToolbar;

@ -5,8 +5,8 @@
#include "../render/previewwidget.hpp" #include "../render/previewwidget.hpp"
#include "scenetoolbar.hpp" #include "../widget/scenetoolbar.hpp"
#include "scenetoolmode.hpp" #include "../widget/scenetoolmode.hpp"
CSVWorld::PreviewSubView::PreviewSubView (const CSMWorld::UniversalId& id, CSMDoc::Document& document) CSVWorld::PreviewSubView::PreviewSubView (const CSMWorld::UniversalId& id, CSMDoc::Document& document)
: SubView (id) : SubView (id)
@ -28,9 +28,9 @@ CSVWorld::PreviewSubView::PreviewSubView (const CSMWorld::UniversalId& id, CSMDo
else else
mScene = new CSVRender::PreviewWidget (document.getData(), id.getId(), true, this); mScene = new CSVRender::PreviewWidget (document.getData(), id.getId(), true, this);
SceneToolbar *toolbar = new SceneToolbar (48+6, this); CSVWidget::SceneToolbar *toolbar = new CSVWidget::SceneToolbar (48+6, this);
SceneToolMode *lightingTool = mScene->makeLightingSelector (toolbar); CSVWidget::SceneToolMode *lightingTool = mScene->makeLightingSelector (toolbar);
toolbar->addTool (lightingTool); toolbar->addTool (lightingTool);
layout->addWidget (toolbar, 0); layout->addWidget (toolbar, 0);

@ -17,9 +17,11 @@
#include "../render/pagedworldspacewidget.hpp" #include "../render/pagedworldspacewidget.hpp"
#include "../render/unpagedworldspacewidget.hpp" #include "../render/unpagedworldspacewidget.hpp"
#include "../widget/scenetoolbar.hpp"
#include "../widget/scenetoolmode.hpp"
#include "tablebottombox.hpp" #include "tablebottombox.hpp"
#include "creator.hpp" #include "creator.hpp"
#include "scenetoolmode.hpp"
CSVWorld::SceneSubView::SceneSubView (const CSMWorld::UniversalId& id, CSMDoc::Document& document) CSVWorld::SceneSubView::SceneSubView (const CSMWorld::UniversalId& id, CSMDoc::Document& document)
: SubView (id), mLayout(new QHBoxLayout), mDocument(document), mScene(NULL), mToolbar(NULL) : SubView (id), mLayout(new QHBoxLayout), mDocument(document), mScene(NULL), mToolbar(NULL)
@ -95,18 +97,18 @@ void CSVWorld::SceneSubView::makeConnections (CSVRender::PagedWorldspaceWidget*
this, SLOT (cellSelectionChanged (const CSMWorld::CellSelection&))); this, SLOT (cellSelectionChanged (const CSMWorld::CellSelection&)));
} }
CSVWorld::SceneToolbar* CSVWorld::SceneSubView::makeToolbar (CSVRender::WorldspaceWidget* widget, widgetType type) CSVWidget::SceneToolbar* CSVWorld::SceneSubView::makeToolbar (CSVRender::WorldspaceWidget* widget, widgetType type)
{ {
CSVWorld::SceneToolbar* toolbar = new SceneToolbar (48+6, this); CSVWidget::SceneToolbar* toolbar = new CSVWidget::SceneToolbar (48+6, this);
SceneToolMode *navigationTool = widget->makeNavigationSelector (toolbar); CSVWidget::SceneToolMode *navigationTool = widget->makeNavigationSelector (toolbar);
toolbar->addTool (navigationTool); toolbar->addTool (navigationTool);
SceneToolMode *lightingTool = widget->makeLightingSelector (toolbar); CSVWidget::SceneToolMode *lightingTool = widget->makeLightingSelector (toolbar);
toolbar->addTool (lightingTool); toolbar->addTool (lightingTool);
/* Add buttons specific to the type. For now no need for it. /* Add buttons specific to the type. For now no need for it.
* *
switch (type) switch (type)
{ {
case widget_Paged: case widget_Paged:
@ -188,7 +190,7 @@ void CSVWorld::SceneSubView::handleDrop (const std::vector< CSMWorld::UniversalI
{ {
CSVRender::PagedWorldspaceWidget* pagedNewWidget = NULL; CSVRender::PagedWorldspaceWidget* pagedNewWidget = NULL;
CSVRender::UnpagedWorldspaceWidget* unPagedNewWidget = NULL; CSVRender::UnpagedWorldspaceWidget* unPagedNewWidget = NULL;
SceneToolbar* toolbar = NULL; CSVWidget::SceneToolbar* toolbar = NULL;
switch (mScene->getDropRequirements(CSVRender::WorldspaceWidget::getDropType(data))) switch (mScene->getDropRequirements(CSVRender::WorldspaceWidget::getDropType(data)))
{ {
@ -217,7 +219,7 @@ void CSVWorld::SceneSubView::handleDrop (const std::vector< CSMWorld::UniversalI
} }
} }
void CSVWorld::SceneSubView::replaceToolbarAndWorldspace (CSVRender::WorldspaceWidget* widget, CSVWorld::SceneToolbar* toolbar) void CSVWorld::SceneSubView::replaceToolbarAndWorldspace (CSVRender::WorldspaceWidget* widget, CSVWidget::SceneToolbar* toolbar)
{ {
assert(mLayout); assert(mLayout);

@ -4,7 +4,6 @@
#include <QHBoxLayout> #include <QHBoxLayout>
#include "../doc/subview.hpp" #include "../doc/subview.hpp"
#include "scenetoolbar.hpp"
class QModelIndex; class QModelIndex;
@ -25,6 +24,11 @@ namespace CSVRender
class UnpagedWorldspaceWidget; class UnpagedWorldspaceWidget;
} }
namespace CSVWidget
{
class SceneToolbar;
}
namespace CSVWorld namespace CSVWorld
{ {
class Table; class Table;
@ -39,7 +43,7 @@ namespace CSVWorld
CSVRender::WorldspaceWidget *mScene; CSVRender::WorldspaceWidget *mScene;
QHBoxLayout* mLayout; QHBoxLayout* mLayout;
CSMDoc::Document& mDocument; CSMDoc::Document& mDocument;
SceneToolbar* mToolbar; CSVWidget::SceneToolbar* mToolbar;
public: public:
@ -59,14 +63,15 @@ namespace CSVWorld
void makeConnections(CSVRender::UnpagedWorldspaceWidget* widget); void makeConnections(CSVRender::UnpagedWorldspaceWidget* widget);
void replaceToolbarAndWorldspace(CSVRender::WorldspaceWidget* widget, SceneToolbar* toolbar); void replaceToolbarAndWorldspace(CSVRender::WorldspaceWidget* widget, CSVWidget::SceneToolbar* toolbar);
enum widgetType enum widgetType
{ {
widget_Paged, widget_Paged,
widget_Unpaged widget_Unpaged
}; };
SceneToolbar* makeToolbar(CSVRender::WorldspaceWidget* widget, widgetType type);
CSVWidget::SceneToolbar* makeToolbar(CSVRender::WorldspaceWidget* widget, widgetType type);
private slots: private slots:

Loading…
Cancel
Save