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=NULL);
64 virtual ~WorkspacePanel();
66 bool eventFilter(QObject *, QEvent *);
69 QString viewName()
const;
74 void setGraphsModel(tlp::GraphHierarchiesModel*);
76 void setOverlayMode(
bool);
80 void swapWithPanels(WorkspacePanel* panel);
83 void hideConfigurationTab();
84 void interactorActionTriggered();
86 void graphComboIndexChanged();
87 void setCurrentInteractorConfigurationVisible(
bool);
90 void scrollInteractorsRight();
91 void scrollInteractorsLeft();
92 void resetInteractorsScrollButtonsVisibility();
95 void refreshInteractorsToolbar();
97 void resizeEvent(QResizeEvent *);
99 void dragEnterEvent(QDragEnterEvent *);
100 void dropEvent(QDropEvent *);
101 void dragLeaveEvent(QDragLeaveEvent *);
103 bool handleDragEnterEvent(QEvent* e,
const QMimeData* mimedata);
104 bool handleDropEvent(
const QMimeData* mimedata);
110 #endif // WORKSPACEPANEL_H