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;
81 void showConfigurationTab(QString tabName);
85 void swapWithPanels(WorkspacePanel *panel);
86 void changeGraphSynchronization(
bool);
89 void hideConfigurationTab();
90 void interactorActionTriggered();
92 void graphComboIndexChanged();
93 void setCurrentInteractorConfigurationVisible(
bool);
96 void scrollInteractorsRight();
97 void scrollInteractorsLeft();
98 void resetInteractorsScrollButtonsVisibility();
99 void refreshInteractorsToolbar();
100 void toggleSynchronization(
bool);
103 void resizeEvent(QResizeEvent *)
override;
105 void dragEnterEvent(QDragEnterEvent *)
override;
106 void dropEvent(QDropEvent *)
override;
107 void dragLeaveEvent(QDragLeaveEvent *)
override;
109 bool handleDragEnterEvent(QEvent *e,
const QMimeData *mimedata);
110 bool handleDropEvent(
const QMimeData *mimedata);
111 void showEvent(QShowEvent *event)
override;
112 void closeEvent(QCloseEvent *event)
override;
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.