kpanelextension.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef __kpanelextension_h__
00025 #define __kpanelextension_h__
00026
00027 class QPopupMenu;
00028 class KConfig;
00029 class KPanelExtensionPrivate;
00030
00031 #include <qframe.h>
00032
00033 #include <kdelibs_export.h>
00034
00098 class KDEUI_EXPORT KPanelExtension : public QFrame
00099 {
00100 Q_OBJECT
00101
00102 public:
00103
00105 enum Type { Normal = 0, Stretch };
00106
00107 enum Action { About = 1, Help = 2, Preferences = 4, ReportBug = 8 };
00108 enum Position { Left = 0, Right, Top, Bottom, Floating };
00109 enum Alignment { LeftTop = 0, Center, RightBottom };
00111 enum Size { SizeTiny = 0, SizeSmall, SizeNormal, SizeLarge, SizeCustom };
00112
00122 KPanelExtension(const QString& configFile, Type t = Normal,
00123 int actions = 0, QWidget *parent = 0, const char *name = 0);
00124
00128 ~KPanelExtension();
00129
00139 virtual QSize sizeHint(Position , QSize maxsize) const { return maxsize; }
00140
00150 KConfig* config() const { return _config; }
00151
00156 Type type() const { return _type; }
00157
00162 int actions() const { return _actions; }
00163
00174 virtual void action( Action a );
00175
00176
00183 virtual Position preferedPosition() const { return Bottom; }
00184
00188 void setPosition( Position p );
00192 void setAlignment( Alignment a );
00197 void setSize( Size size, int customSize );
00198
00203 Size sizeSetting() const;
00204
00209 int customSize() const;
00210
00211
00212 signals:
00218 void updateLayout();
00219
00220 protected:
00221
00229 virtual void about() {}
00230
00238 virtual void help() {}
00239
00247 virtual void preferences() {}
00248
00257 virtual void reportBug() {}
00258
00262 Position position() const { return _position; }
00263
00267 Alignment alignment() const { return _alignment; }
00268
00272 Orientation orientation();
00273
00278 int sizeInPixels() const;
00279
00285 virtual void positionChange( Position ) {};
00286
00292 virtual void alignmentChange( Alignment ) {};
00293
00294
00295 private:
00296 Type _type;
00297 Position _position;
00298 Alignment _alignment;
00299 KConfig* _config;
00300 int _actions;
00301 protected:
00302 virtual void virtual_hook( int id, void* data );
00303 private:
00304 KPanelExtensionPrivate *d;
00305 };
00306
00307 #endif
This file is part of the documentation for kdeui Library Version 3.3.90.