You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openmw/apps/opencs/view/render/orbitcameramode.hpp

50 lines
1011 B
C++

#ifndef CSV_RENDER_ORBITCAMERAPICKMODE_H
#define CSV_RENDER_ORBITCAMERAPICKMODE_H
#include "../widget/modebutton.hpp"
class QAction;
class QMenu;
class QObject;
class QWidget;
namespace CSVWidget
{
class SceneToolbar;
}
namespace CSMPrefs
{
class Shortcut;
}
namespace CSVRender
{
class WorldspaceWidget;
class OrbitCameraMode : public CSVWidget::ModeButton
{
Q_OBJECT
public:
OrbitCameraMode(WorldspaceWidget* worldspaceWidget, const QIcon& icon, const QString& tooltip = "",
QWidget* parent = nullptr);
~OrbitCameraMode() override = default;
void activate(CSVWidget::SceneToolbar* toolbar) override;
void deactivate(CSVWidget::SceneToolbar* toolbar) override;
bool createContextMenu(QMenu* menu) override;
private:
WorldspaceWidget* mWorldspaceWidget;
QAction* mCenterOnSelection;
CSMPrefs::Shortcut* mCenterShortcut;
private slots:
void centerSelection();
};
}
#endif