kdeui
kpanelapplet.h
Go to the documentation of this file.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 __kpanelapplet_h__
00025 #define __kpanelapplet_h__
00026
00027 class KConfig;
00028 class QPopupMenu;
00029
00030 #include <qframe.h>
00031 #include <kconfig.h>
00032
00097 class KDEUI_EXPORT KPanelApplet : public QFrame
00098 {
00099 Q_OBJECT
00100
00101 public:
00102
00106 enum Type { Normal = 0, Stretch };
00111
00112 enum Action { About = 1, Help = 2, Preferences = 4, ReportBug = 8 };
00113 enum Position { pLeft = 0, pRight, pTop, pBottom };
00114 enum Alignment { LeftTop = 0, Center, RightBottom };
00115 enum Direction { Up = 0, Down, Left, Right };
00116
00127 KPanelApplet(const QString& configFile, Type t = Normal,
00128 int actions = 0, QWidget *parent = 0, const char *name = 0,
00129 WFlags f = 0);
00130
00134 ~KPanelApplet();
00135
00155 virtual int widthForHeight(int height) const { return height; }
00156
00176 virtual int heightForWidth(int width) const { return width; }
00177
00187 KConfig* config() const { return _config; }
00188 KSharedConfig::Ptr sharedConfig() const;
00189
00194 Type type() const { return _type; }
00195
00200 int actions() const { return _actions; }
00201
00212 virtual void action( Action a );
00213
00218 const QPopupMenu* customMenu() const;
00219
00223 void setPosition( Position p );
00227 void setAlignment( Alignment a );
00228
00229 signals:
00244 void updateLayout();
00245
00250 void requestFocus();
00251
00261 void requestFocus(bool focus);
00262
00263 protected:
00264
00272 virtual void about() {}
00273
00281 virtual void help() {}
00282
00290 virtual void preferences() {}
00291
00300 virtual void reportBug() {}
00301
00305 Orientation orientation() const;
00309 Position position() const { return _position; }
00313 Alignment alignment() const { return _alignment; }
00314
00320 virtual void positionChange( Position p );
00321
00327 virtual void alignmentChange( Alignment ) {}
00328
00338 void setCustomMenu(const QPopupMenu*);
00339
00347 void watchForFocus(QWidget* widget, bool watch = true);
00348
00355 void needsFocus(bool focus);
00356
00363
00364 virtual KDE_DEPRECATED void orientationChange( Orientation ) {}
00365
00370 Direction popupDirection();
00371
00378
00379 virtual KDE_DEPRECATED void popupDirectionChange( Direction ) {}
00380
00381 bool eventFilter(QObject *, QEvent *);
00382
00383 private:
00384 Type _type;
00385 Position _position;
00386 Alignment _alignment;
00387 KConfig* _config;
00388 int _actions;
00389 protected:
00390 virtual void virtual_hook( int id, void* data );
00391 class KPanelAppletPrivate;
00392 KPanelAppletPrivate *d;
00393 };
00394
00395 #endif