21 #ifndef WORKSPACEPANEL_H
22 #define WORKSPACEPANEL_H
24 #include <QtGui/QFrame>
25 #include <QtGui/QAction>
26 #include <tulip/tulipconf.h>
28 class QDragEnterEvent;
29 class QGraphicsObject;
30 class QPropertyAnimation;
31 class QGraphicsProxyWidget;
32 class QGraphicsRectItem;
43 class GraphHierarchiesModel;
45 class TLP_QT_SCOPE WorkspacePanel :
public QFrame {
48 Ui::WorkspacePanel* _ui;
51 QMap<QAction*, QWidget*> _actionTriggers;
52 QGraphicsRectItem* _overlayRect;
54 QGraphicsProxyWidget* _viewConfigurationWidgets;
55 bool _viewConfigurationExpanded;
56 QGraphicsProxyWidget* _currentInteractorConfigurationItem;
58 QPointF configurationTabPosition(
bool expanded)
const;
59 void setConfigurationTabExpanded(
bool expanded,
bool animate=
true);
62 explicit WorkspacePanel(
tlp::View* view, QWidget* parent=NULL);
63 virtual ~WorkspacePanel();
65 bool eventFilter(QObject *, QEvent *);
68 QString viewName()
const;
73 void setGraphsModel(tlp::GraphHierarchiesModel*);
75 void setOverlayMode(
bool);
79 void swapWithPanels(WorkspacePanel* panel);
82 void hideConfigurationTab();
83 void interactorActionTriggered();
85 void graphComboIndexChanged();
86 void setCurrentInteractorConfigurationVisible(
bool);
89 void scrollInteractorsRight();
90 void scrollInteractorsLeft();
91 void resetInteractorsScrollButtonsVisibility();
94 void refreshInteractorsToolbar();
96 void resizeEvent(QResizeEvent *);
98 void dragEnterEvent(QDragEnterEvent *);
99 void dropEvent(QDropEvent *);
100 void dragLeaveEvent(QDragLeaveEvent *);
102 bool handleDragEnterEvent(QEvent* e,
const QMimeData* mimedata);
103 bool handleDropEvent(
const QMimeData* mimedata);
109 #endif // WORKSPACEPANEL_H