BALL
1.4.1
|
00001 #ifndef BALL_VIEW_WIDGETS_DOCKABLEWIDGET_H 00002 #define BALL_VIEW_WIDGETS_DOCKABLEWIDGET_H 00003 00004 #ifndef BALL_VIEW_KERNEL_MODULARWIDGET_H 00005 # include <BALL/VIEW/KERNEL/modularWidget.h> 00006 #endif 00007 00008 #include <QtGui/QDockWidget> 00009 #include <QtGui/QDropEvent> 00010 #include <QtGui/QDockWidget> 00011 #include <QtGui/QMouseEvent> 00012 #include <QtGui/QGridLayout> 00013 00014 namespace BALL 00015 { 00016 namespace VIEW 00017 { 00018 00025 class BALL_VIEW_EXPORT DockWidget 00026 : public QDockWidget, 00027 public ModularWidget 00028 { 00029 Q_OBJECT 00030 00031 public: 00032 00033 BALL_EMBEDDABLE(DockWidget,Embeddable) 00034 00035 00036 DockWidget(QWidget* parent, const char* title = 0); 00037 00039 virtual ~DockWidget(){} 00040 00043 void setGuest(QWidget& guest); 00044 00048 virtual void initializeWidget(MainControl& main_control); 00049 00053 virtual void fetchPreferences(INIFile& inifile); 00054 00058 virtual void writePreferences(INIFile& inifile); 00059 00061 virtual void setWidgetVisible(bool state); 00062 00064 virtual void registerForHelpSystem(const QObject* widget, const String& url); 00065 00067 QGridLayout* getGuestLayout() { return layout_;} 00068 00069 public slots: 00070 00072 virtual void dropEvent(QDropEvent* e); 00073 00075 virtual void dragEnterEvent(QDragEnterEvent* e); 00076 00078 virtual void showGuestContextMenu(const QPoint&) {}; 00079 00080 protected: 00081 00082 // required for Python bindings, but dont use this methods: 00083 DockWidget(); 00084 DockWidget(const DockWidget&); 00085 00086 QWidget* container_; 00087 QWidget* guest_; 00088 QGridLayout* layout_; 00089 }; 00090 00091 } // namespace VIEW 00092 } // namespace BALL 00093 #endif