00001
00009
00010 #ifndef ENGINES_AREA_H
00011 #define ENGINES_AREA_H
00012
00013 #include "ork.h"
00014 #include "engine.h"
00015
00016 #include <QWidget>
00017 #include <QScrollArea>
00018 #include <QVBoxLayout>
00019 #include <QDrag>
00020 #include <QMouseEvent>
00021 #include <QApplication>
00022
00032 class EnginesArea : public QScrollArea
00033 {
00034 Q_OBJECT
00035
00036 public :
00037
00039 EnginesArea( QWidget* parent = 0 ) ;
00040
00041 ~EnginesArea() ;
00042
00049 void insertWidget( QWidget* engine, int index = -1 ) ;
00050
00054 void setName( const QString &name ) ;
00055
00058 QString name() ;
00059
00063 QWidget* engineAt( const QPoint &p ) ;
00064
00068 int engineIndexAt( const QPoint &p ) ;
00069
00071 int count() const ;
00072
00074 QLayoutItem* itemAt( int index ) const ;
00075
00076 public slots :
00077
00078 private slots :
00079
00080 signals :
00081
00083 void engineDropped() ;
00084
00086 void areaSetVisible( bool ) ;
00087
00089 void areaClosed() ;
00090
00091 protected :
00092
00094 void dragEnterEvent(QDragEnterEvent *event) ;
00095
00097 void dragMoveEvent(QDragMoveEvent *event) ;
00098
00100 void dropEvent(QDropEvent *event) ;
00101
00104 void hideEvent ( QHideEvent *event ) ;
00105
00108 void showEvent( QShowEvent *event ) ;
00109
00112 void closeEvent( QCloseEvent *event ) ;
00113
00114 private :
00115
00117 QString _name ;
00118
00120 QWidget *_base ;
00121
00123 QVBoxLayout *_layout ;
00124
00125 } ;
00126
00127
00128 #endif // ENGINES_AREA_H