21 #ifndef WORKSPACEPANEL_H
22 #define WORKSPACEPANEL_H
24 #include <QtCore/QAbstractItemModel>
25 #include <QtGui/QFrame>
26 #include <tulip/tulipconf.h>
27 #include <tulip/DataSet.h>
28 #include <tulip/SimplePluginProgress.h>
30 class QDragEnterEvent;
31 class QGraphicsObject;
32 class QPropertyAnimation;
33 class QGraphicsProxyWidget;
34 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