24 #include <tulip/InteractorComposite.h>
25 #include <tulip/Camera.h>
26 #include <tulip/GlScene.h>
30 class NodeLinkDiagramComponent;
34 class TLP_QT_SCOPE MousePanNZoomNavigator :
public InteractorComponent {
36 MousePanNZoomNavigator() : cameraScaleFactor(1), isGesturing(false) {}
37 ~MousePanNZoomNavigator()
override {}
38 bool eventFilter(QObject *, QEvent *)
override;
41 float cameraScaleFactor;
47 class TLP_QT_SCOPE MouseElementDeleter :
public InteractorComponent {
49 MouseElementDeleter() : glMainWidget(nullptr) {}
50 ~MouseElementDeleter()
override {}
51 bool eventFilter(QObject *, QEvent *)
override;
52 void clear()
override;
56 GlMainWidget *glMainWidget;
62 class TLP_QT_SCOPE MouseNKeysNavigator :
public MousePanNZoomNavigator {
64 InteractorComponent *currentSpecInteractorComponent;
69 MouseNKeysNavigator(
bool enableMouseNavigation =
true)
70 : currentSpecInteractorComponent(nullptr), nldc(nullptr),
71 mouseNavigationEnabled(enableMouseNavigation) {}
72 ~MouseNKeysNavigator()
override {}
73 bool eventFilter(QObject *, QEvent *)
override;
74 void clear()
override;
75 void viewChanged(
tlp::View *view)
override;
79 tlp::NodeLinkDiagramComponent *nldc;
80 std::vector<tlp::Graph *> graphHierarchy;
81 std::vector<tlp::Camera> cameraHierarchy;
82 std::vector<tlp::node> nodeHierarchy;
83 std::vector<float> alphaHierarchy;
84 bool mouseNavigationEnabled;
View plugins provide a way to dynamically add to a Tulip plateform various ways to visualize a graph.
Structure to store selected entities.