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();
 
   93   void refreshInteractorsToolbar();
 
   98   void resizeEvent(QResizeEvent *);
 
  100   void dragEnterEvent(QDragEnterEvent *);
 
  101   void dropEvent(QDropEvent *);
 
  102   void dragLeaveEvent(QDragLeaveEvent *);
 
  104   bool handleDragEnterEvent(QEvent* e, 
const QMimeData* mimedata);
 
  105   bool handleDropEvent(
const QMimeData* mimedata);
 
  111 #endif // WORKSPACEPANEL_H