partmanager.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __kpartmanager_h__
00022 #define __kpartmanager_h__
00023
00024 #include <qobject.h>
00025 #include <qwidget.h>
00026 #include <qptrlist.h>
00027
00028 #include <kdelibs_export.h>
00029
00030 class KInstance;
00031
00032 namespace KParts
00033 {
00034
00035 class Part;
00036
00037 class PartManagerPrivate;
00038
00050 class KPARTS_EXPORT PartManager : public QObject
00051 {
00052 Q_OBJECT
00053 Q_ENUMS( SelectionPolicy )
00054 Q_PROPERTY( SelectionPolicy selectionPolicy READ selectionPolicy WRITE setSelectionPolicy )
00055 Q_PROPERTY( bool allowNestedParts READ allowNestedParts WRITE setAllowNestedParts )
00056 Q_PROPERTY( bool ignoreScrollBars READ ignoreScrollBars WRITE setIgnoreScrollBars )
00057 public:
00059 enum SelectionPolicy { Direct, TriState };
00060
00067 enum Reason { ReasonLeftClick = 100, ReasonMidClick, ReasonRightClick, NoReason };
00068
00076 PartManager( QWidget * parent, const char * name = 0L );
00085 PartManager( QWidget * topLevel, QObject *parent, const char *name = 0 );
00086 virtual ~PartManager();
00087
00091 void setSelectionPolicy( SelectionPolicy policy );
00095 SelectionPolicy selectionPolicy() const;
00096
00109 void setAllowNestedParts( bool allow );
00113 bool allowNestedParts() const;
00114
00123 void setIgnoreScrollBars( bool ignore );
00127 bool ignoreScrollBars() const;
00128
00134 void setActivationButtonMask( short int buttonMask );
00138 short int activationButtonMask() const;
00139
00143 virtual bool eventFilter( QObject *obj, QEvent *ev );
00144
00152 virtual void addPart( Part *part, bool setActive = true );
00153
00159 virtual void removePart( Part *part );
00160
00166 virtual void replacePart( Part * oldPart, Part * newPart, bool setActive = true );
00167
00176 virtual void setActivePart( Part *part, QWidget *widget = 0L );
00177
00181 virtual Part *activePart() const;
00182
00186 virtual QWidget *activeWidget() const;
00187
00196 virtual void setSelectedPart( Part *part, QWidget *widget = 0L );
00197
00201 virtual Part *selectedPart() const;
00202
00206 virtual QWidget *selectedWidget() const;
00207
00211 const QPtrList<Part> *parts() const;
00212
00220 void addManagedTopLevelWidget( const QWidget *topLevel );
00225 void removeManagedTopLevelWidget( const QWidget *topLevel );
00226
00232 int reason() const;
00233
00234 signals:
00239 void partAdded( KParts::Part *part );
00244 void partRemoved( KParts::Part *part );
00249 void activePartChanged( KParts::Part *newPart );
00250
00251 protected:
00257 virtual void setActiveInstance( KInstance * instance );
00258
00259 protected slots:
00263 void slotObjectDestroyed();
00264
00268 void slotWidgetDestroyed();
00269
00273 void slotManagedTopLevelWidgetDestroyed();
00274 private:
00275 Part * findPartFromWidget( QWidget * widget, const QPoint &pos );
00276 Part * findPartFromWidget( QWidget * widget );
00277
00278 protected:
00279 virtual void virtual_hook( int id, void* data );
00280 private:
00281 PartManagerPrivate *d;
00282 };
00283
00284 }
00285
00286 #endif
00287
This file is part of the documentation for kparts Library Version 3.4.0.