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

74 lines
1.9 KiB
C++
Raw Normal View History

#ifndef CSV_RENDER_PATHGRIDMODE_H
#define CSV_RENDER_PATHGRIDMODE_H
#include <string>
#include "editmode.hpp"
namespace CSVRender
{
class PathgridMode : public EditMode
{
Q_OBJECT
public:
PathgridMode(WorldspaceWidget* worldspace, QWidget* parent=0);
2016-05-16 21:06:40 +00:00
virtual void activate(CSVWidget::SceneToolbar* toolbar);
virtual bool createContextMenu(QMenu* menu);
virtual void primaryEditPressed(const WorldspaceHitResult& hit);
virtual void secondaryEditPressed(const WorldspaceHitResult& hit);
virtual void primarySelectPressed(const WorldspaceHitResult& hit);
virtual void secondarySelectPressed(const WorldspaceHitResult& hit);
virtual bool primaryEditStartDrag (const QPoint& pos);
virtual bool secondaryEditStartDrag (const QPoint& pos);
virtual void drag (const QPoint& pos, int diffX, int diffY, double speedFactor);
virtual void dragCompleted(const QPoint& pos);
/// \note dragAborted will not be called, if the drag is aborted via changing
/// editing mode
virtual void dragAborted();
private:
enum DragMode
{
DragMode_None,
DragMode_Move,
DragMode_Edge
};
DragMode mDragMode;
std::string mLastId, mEdgeId;
unsigned short mFromNode;
2016-05-16 21:06:40 +00:00
QAction* mSelectAll;
QAction* mInvertSelection;
QAction* mClearSelection;
QAction* mRemoveSelected;
QAction* mRemoveSelectedEdges;
2016-05-16 20:50:02 +00:00
QString getTooltip();
2016-05-16 21:06:40 +00:00
private slots:
void selectAll();
void invertSelection();
void clearSelection();
void removeSelected();
void removeSelectedEdges();
};
}
#endif