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 KConfig;
00028 class KPanelExtensionPrivate;
00029
00030 #include <qframe.h>
00031
00096 class KPanelExtension : public QFrame
00097 {
00098 Q_OBJECT
00099
00100 public:
00101
00103 enum Type { Normal = 0, Stretch };
00104 enum Action { About = 1, Help = 2, Preferences = 4, ReportBug = 8 };
00105 enum Position { Left = 0, Right, Top, Bottom };
00106 enum Alignment { LeftTop = 0, Center, RightBottom };
00108 enum Size { SizeTiny = 0, SizeSmall, SizeNormal, SizeLarge, SizeCustom };
00109
00119 KPanelExtension(const QString& configFile, Type t = Normal,
00120 int actions = 0, QWidget *parent = 0, const char *name = 0);
00121
00125 ~KPanelExtension();
00126
00136 virtual QSize sizeHint(Position , QSize maxsize) const { return maxsize; }
00137
00147 KConfig* config() const { return _config; }
00148
00153 Type type() const { return _type; }
00154
00159 int actions() const { return _actions; }
00160
00171 virtual void action( Action a );
00172
00173
00180 virtual Position preferedPosition() const { return Bottom; }
00181
00185 void setPosition( Position p );
00189 void setAlignment( Alignment a );
00194 void setSize( Size size, int customSize );
00195
00200 Size sizeSetting() const;
00201
00206 int customSize() const;
00207
00208
00209 signals:
00215 void updateLayout();
00216
00217 protected:
00218
00226 virtual void about() {}
00227
00235 virtual void help() {}
00236
00244 virtual void preferences() {}
00245
00254 virtual void reportBug() {}
00255
00259 Position position() const { return _position; }
00260
00264 Alignment alignment() const { return _alignment; }
00265
00269 Orientation orientation();
00270
00275 int sizeInPixels() const;
00276
00282 virtual void positionChange( Position ) {};
00283
00289 virtual void alignmentChange( Alignment ) {};
00290
00291 private:
00292 Type _type;
00293 Position _position;
00294 Alignment _alignment;
00295 KConfig* _config;
00296 int _actions;
00297 protected:
00298 virtual void virtual_hook( int id, void* data );
00299 private:
00300 KPanelExtensionPrivate *d;
00301 };
00302
00303 #endif
This file is part of the documentation for kdelibs Version 3.1.0.