21 #ifndef WORKSPACEPANEL_H 22 #define WORKSPACEPANEL_H 28 #include <tulip/tulipconf.h> 30 class QDragEnterEvent;
31 class QGraphicsObject;
32 class QPropertyAnimation;
33 class QGraphicsProxyWidget;
34 class QGraphicsRectItem;
46 class GraphHierarchiesModel;
47 class InteractorConfigWidget;
49 class TLP_QT_SCOPE WorkspacePanel :
public QFrame {
52 Ui::WorkspacePanel *_ui;
53 InteractorConfigWidget *_interactorConfigWidget;
55 QMap<QAction *, QWidget *> _actionTriggers;
56 QGraphicsRectItem *_overlayRect;
58 QGraphicsProxyWidget *_viewConfigurationWidgets;
59 bool _viewConfigurationExpanded;
61 QPointF configurationTabPosition(
bool expanded)
const;
62 void setConfigurationTabExpanded(
bool expanded,
bool animate =
true);
65 explicit WorkspacePanel(
tlp::View *view, QWidget *parent =
nullptr);
66 ~WorkspacePanel()
override;
68 bool eventFilter(QObject *, QEvent *)
override;
71 QString viewName()
const;
76 void setGraphsModel(tlp::GraphHierarchiesModel *);
78 void setOverlayMode(
bool);
79 void setHighlightMode(
bool);
80 bool isGraphSynchronized()
const;
84 void swapWithPanels(WorkspacePanel *panel);
85 void changeGraphSynchronization(
bool);
88 void hideConfigurationTab();
89 void interactorActionTriggered();
91 void graphComboIndexChanged();
92 void setCurrentInteractorConfigurationVisible(
bool);
95 void scrollInteractorsRight();
96 void scrollInteractorsLeft();
97 void resetInteractorsScrollButtonsVisibility();
98 void refreshInteractorsToolbar();
99 void toggleSynchronization(
bool);
102 void resizeEvent(QResizeEvent *)
override;
104 void dragEnterEvent(QDragEnterEvent *)
override;
105 void dropEvent(QDropEvent *)
override;
106 void dragLeaveEvent(QDragLeaveEvent *)
override;
108 bool handleDragEnterEvent(QEvent *e,
const QMimeData *mimedata);
109 bool handleDropEvent(
const QMimeData *mimedata);
110 void showEvent(QShowEvent *event)
override;
111 void closeEvent(QCloseEvent *event)
override;
116 #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...