mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-01-20 06:53:52 +00:00
added instance mode sub-modes
This commit is contained in:
parent
e07be2d912
commit
c1901069be
3 changed files with 53 additions and 2 deletions
|
@ -9,6 +9,9 @@
|
||||||
#include "../../model/world/idtree.hpp"
|
#include "../../model/world/idtree.hpp"
|
||||||
#include "../../model/world/commands.hpp"
|
#include "../../model/world/commands.hpp"
|
||||||
|
|
||||||
|
#include "../widget/scenetoolbar.hpp"
|
||||||
|
#include "../widget/scenetoolmode.hpp"
|
||||||
|
|
||||||
#include "elements.hpp"
|
#include "elements.hpp"
|
||||||
#include "object.hpp"
|
#include "object.hpp"
|
||||||
#include "worldspacewidget.hpp"
|
#include "worldspacewidget.hpp"
|
||||||
|
@ -16,9 +19,47 @@
|
||||||
|
|
||||||
CSVRender::InstanceMode::InstanceMode (WorldspaceWidget *worldspaceWidget, QWidget *parent)
|
CSVRender::InstanceMode::InstanceMode (WorldspaceWidget *worldspaceWidget, QWidget *parent)
|
||||||
: EditMode (worldspaceWidget, QIcon (":placeholder"), Element_Reference, "Instance editing",
|
: EditMode (worldspaceWidget, QIcon (":placeholder"), Element_Reference, "Instance editing",
|
||||||
parent)
|
parent), mSubMode (0)
|
||||||
{
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void CSVRender::InstanceMode::activate (CSVWidget::SceneToolbar *toolbar)
|
||||||
|
{
|
||||||
|
if (!mSubMode)
|
||||||
|
{
|
||||||
|
mSubMode = new CSVWidget::SceneToolMode (toolbar, "Edit Sub-Mode");
|
||||||
|
mSubMode->addButton (":placeholder", "move",
|
||||||
|
"Move selected instances"
|
||||||
|
"<ul><li>Use primary edit to move instances around freely</li>"
|
||||||
|
"<li>Use secondary edit to move instances around within the grid</li>"
|
||||||
|
"</ul>"
|
||||||
|
"<font color=Red>Not implemented yet</font color>");
|
||||||
|
mSubMode->addButton (":placeholder", "rotate",
|
||||||
|
"Rotate selected instances"
|
||||||
|
"<ul><li>Use primary edit to rotate instances freely</li>"
|
||||||
|
"<li>Use secondary edit to rotate instances within the grid</li>"
|
||||||
|
"</ul>"
|
||||||
|
"<font color=Red>Not implemented yet</font color>");
|
||||||
|
mSubMode->addButton (":placeholder", "scale",
|
||||||
|
"Scale selected instances"
|
||||||
|
"<ul><li>Use primary edit to scale instances freely</li>"
|
||||||
|
"<li>Use secondary edit to scale instances along the grid</li>"
|
||||||
|
"</ul>"
|
||||||
|
"<font color=Red>Not implemented yet</font color>");
|
||||||
|
}
|
||||||
|
|
||||||
|
EditMode::activate (toolbar);
|
||||||
|
|
||||||
|
toolbar->addTool (mSubMode);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CSVRender::InstanceMode::deactivate (CSVWidget::SceneToolbar *toolbar)
|
||||||
|
{
|
||||||
|
toolbar->removeTool (mSubMode);
|
||||||
|
delete mSubMode;
|
||||||
|
mSubMode = 0;
|
||||||
|
|
||||||
|
EditMode::deactivate (toolbar);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSVRender::InstanceMode::primaryEditPressed (osg::ref_ptr<TagBase> tag)
|
void CSVRender::InstanceMode::primaryEditPressed (osg::ref_ptr<TagBase> tag)
|
||||||
|
|
|
@ -3,16 +3,26 @@
|
||||||
|
|
||||||
#include "editmode.hpp"
|
#include "editmode.hpp"
|
||||||
|
|
||||||
|
namespace CSVWidget
|
||||||
|
{
|
||||||
|
class SceneToolMode;
|
||||||
|
}
|
||||||
|
|
||||||
namespace CSVRender
|
namespace CSVRender
|
||||||
{
|
{
|
||||||
class InstanceMode : public EditMode
|
class InstanceMode : public EditMode
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
CSVWidget::SceneToolMode *mSubMode;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
InstanceMode (WorldspaceWidget *worldspaceWidget, QWidget *parent = 0);
|
InstanceMode (WorldspaceWidget *worldspaceWidget, QWidget *parent = 0);
|
||||||
|
|
||||||
|
virtual void activate (CSVWidget::SceneToolbar *toolbar);
|
||||||
|
|
||||||
|
virtual void deactivate (CSVWidget::SceneToolbar *toolbar);
|
||||||
|
|
||||||
virtual void primaryEditPressed (osg::ref_ptr<TagBase> tag);
|
virtual void primaryEditPressed (osg::ref_ptr<TagBase> tag);
|
||||||
|
|
||||||
virtual void secondaryEditPressed (osg::ref_ptr<TagBase> tag);
|
virtual void secondaryEditPressed (osg::ref_ptr<TagBase> tag);
|
||||||
|
|
|
@ -122,7 +122,7 @@ CSVWidget::SceneToolbar* CSVWorld::SceneSubView::makeToolbar (CSVRender::Worldsp
|
||||||
CSVWidget::SceneToolRun *runTool = widget->makeRunTool (toolbar);
|
CSVWidget::SceneToolRun *runTool = widget->makeRunTool (toolbar);
|
||||||
toolbar->addTool (runTool);
|
toolbar->addTool (runTool);
|
||||||
|
|
||||||
toolbar->addTool (widget->makeEditModeSelector (toolbar));
|
toolbar->addTool (widget->makeEditModeSelector (toolbar), runTool);
|
||||||
|
|
||||||
return toolbar;
|
return toolbar;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue