MovePointCommandObject.hpp
1 #pragma once
2 #include "CurveCommandObjectBase.hpp"
3 
4 #include <Curve/Segment/CurveSegmentData.hpp>
5 
6 namespace Curve
7 {
8 struct CurveSegmentMap;
9 
10 class Presenter;
11 class SCORE_PLUGIN_CURVE_EXPORT MovePointCommandObject final : public CommandObjectBase
12 {
13 public:
15  const Model& model, Presenter* presenter, const score::CommandStackFacade& stack);
17 
18  void on_press() override;
19 
20  void move();
21 
22  void release();
23 
24  void cancel();
25 
26 private:
27  void handlePointOverlap(CurveSegmentMap& segments);
28  void handleSuppressOnOverlap(CurveSegmentMap& segments);
29  void handleCrossOnOverlap(CurveSegmentMap& segments);
30  void setCurrentPoint(CurveSegmentMap& segments);
31  void setTooltip(const Curve::Point& p);
32  void unsetTooltip();
33 };
34 }
Definition: CurveCommandObjectBase.hpp:49
Definition: CurveModel.hpp:25
Definition: MovePointCommandObject.hpp:12
Definition: CurvePresenter.hpp:32
A small abstraction layer over the score::CommandStack.
Definition: CommandStackFacade.hpp:20
Utilities and base classes for 1D curves.
Definition: FocusDispatcher.hpp:12
Definition: MovePointCommandObject.cpp:38