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
00216 QPopupMenu* customMenu() const;
00217
00224 bool reserveStrut() const;
00225
00226 signals:
00232 void updateLayout();
00233
00238 void maintainFocus(bool);
00239
00240 protected:
00241
00249 virtual void about() {}
00250
00258 virtual void help() {}
00259
00267 virtual void preferences() {}
00268
00277 virtual void reportBug() {}
00278
00282 Position position() const { return _position; }
00283
00287 Alignment alignment() const { return _alignment; }
00288
00292 Orientation orientation();
00293
00298 int sizeInPixels() const;
00299
00305 virtual void positionChange( Position ) {};
00306
00312 virtual void alignmentChange( Alignment ) {};
00313
00324 void setCustomMenu(QPopupMenu*);
00325
00331 void setReserveStrut(bool shouldUseStrut);
00332
00333 private:
00334 Type _type;
00335 Position _position;
00336 Alignment _alignment;
00337 KConfig* _config;
00338 int _actions;
00339 protected:
00340 virtual void virtual_hook( int id, void* data );
00341 private:
00342 KPanelExtensionPrivate *d;
00343 };
00344
00345 #endif
This file is part of the documentation for kdeui Library Version 3.4.0.