openmw-tes3coop/apps/opencs/view/render/instancemode.hpp

63 lines
1.5 KiB
C++
Raw Normal View History

#ifndef CSV_RENDER_INSTANCEMODE_H
#define CSV_RENDER_INSTANCEMODE_H
#include "editmode.hpp"
2016-01-15 11:07:25 +00:00
namespace CSVWidget
{
class SceneToolMode;
}
namespace CSVRender
{
2016-01-19 11:17:13 +00:00
class InstanceSelectionMode;
class InstanceMode : public EditMode
{
Q_OBJECT
2016-02-16 15:02:29 +00:00
enum DragMode
{
DragMode_None,
DragMode_Move
};
2016-01-15 11:07:25 +00:00
CSVWidget::SceneToolMode *mSubMode;
2016-01-19 11:17:13 +00:00
InstanceSelectionMode *mSelectionMode;
2016-02-16 15:02:29 +00:00
DragMode mDragMode;
public:
InstanceMode (WorldspaceWidget *worldspaceWidget, QWidget *parent = 0);
2016-01-15 11:07:25 +00:00
virtual void activate (CSVWidget::SceneToolbar *toolbar);
virtual void deactivate (CSVWidget::SceneToolbar *toolbar);
virtual void primaryEditPressed (osg::ref_ptr<TagBase> tag);
virtual void secondaryEditPressed (osg::ref_ptr<TagBase> tag);
virtual void primarySelectPressed (osg::ref_ptr<TagBase> tag);
virtual void secondarySelectPressed (osg::ref_ptr<TagBase> tag);
2016-02-16 15:02:29 +00:00
virtual bool primaryEditStartDrag (osg::ref_ptr<TagBase> tag);
virtual bool secondaryEditStartDrag (osg::ref_ptr<TagBase> tag);
virtual void drag (int diffX, int diffY, double speedFactor);
virtual void dragCompleted();
virtual void dragWheel (int diff, double speedFactor);
virtual void dragEnterEvent (QDragEnterEvent *event);
virtual void dropEvent (QDropEvent* event);
};
}
#endif