21 #ifndef WORKSPACEPANEL_H 22 #define WORKSPACEPANEL_H 27 #include <tulip/tulipconf.h> 29 class QDragEnterEvent;
30 class QGraphicsObject;
31 class QPropertyAnimation;
32 class QGraphicsProxyWidget;
33 class QGraphicsRectItem;
44 class GraphHierarchiesModel;
46 class TLP_QT_SCOPE WorkspacePanel :
public QFrame {
49 Ui::WorkspacePanel *_ui;
52 QMap<QAction *, QWidget *> _actionTriggers;
53 QGraphicsRectItem *_overlayRect;
55 QGraphicsProxyWidget *_viewConfigurationWidgets;
56 bool _viewConfigurationExpanded;
57 QGraphicsProxyWidget *_currentInteractorConfigurationItem;
59 QPointF configurationTabPosition(
bool expanded)
const;
60 void setConfigurationTabExpanded(
bool expanded,
bool animate =
true);
63 explicit WorkspacePanel(
tlp::View *view, QWidget *parent =
nullptr);
64 ~WorkspacePanel()
override;
66 bool eventFilter(QObject *, QEvent *)
override;
69 QString viewName()
const;
74 void setGraphsModel(tlp::GraphHierarchiesModel *);
76 void setOverlayMode(
bool);
77 void setHighlightMode(
bool);
78 bool isGraphSynchronized()
const;
82 void swapWithPanels(WorkspacePanel *panel);
83 void changeGraphSynchronization(
bool);
86 void hideConfigurationTab();
87 void interactorActionTriggered();
89 void graphComboIndexChanged();
90 void setCurrentInteractorConfigurationVisible(
bool);
93 void scrollInteractorsRight();
94 void scrollInteractorsLeft();
95 void resetInteractorsScrollButtonsVisibility();
96 void refreshInteractorsToolbar();
97 void toggleSynchronization(
bool);
100 void resizeEvent(QResizeEvent *)
override;
102 void dragEnterEvent(QDragEnterEvent *)
override;
103 void dropEvent(QDropEvent *)
override;
104 void dragLeaveEvent(QDragLeaveEvent *)
override;
106 bool handleDragEnterEvent(QEvent *e,
const QMimeData *mimedata);
107 bool handleDropEvent(
const QMimeData *mimedata);
108 #if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) 109 void showEvent(QShowEvent *event)
override;
111 void closeEvent(QCloseEvent *event)
override;
115 #endif // WORKSPACEPANEL_H
Interactor provides a way to handle user inputs over a view. Basically, The interactor class is an ov...
View plugins provide a way to dynamically add to a Tulip plateform various ways to visualize a graph...