kactioncollection.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
00025 #ifndef __kactioncollection_h__
00026 #define __kactioncollection_h__
00027
00028 #include <kaction.h>
00029
00030 #include <qkeysequence.h>
00031 #include <qobject.h>
00032 #include <qvaluelist.h>
00033 #include <qguardedptr.h>
00034 #include <kguiitem.h>
00035 #include <kshortcut.h>
00036 #include <kstdaction.h>
00037 #include <kicontheme.h>
00038
00039 class QMenuBar;
00040 class QPopupMenu;
00041 class QComboBox;
00042 class QPoint;
00043 class QIconSet;
00044 class QString;
00045 class KToolBar;
00046
00047 class KAccel;
00048 class KAccelActions;
00049 class KConfig;
00050 class KConfigBase;
00051 class KURL;
00052 class KInstance;
00053 class KToolBar;
00054 class KActionCollection;
00055 class KPopupMenu;
00056 class KMainWindow;
00057 class KXMLGUIClient;
00058
00059 typedef QValueList<KAction *> KActionPtrList;
00060
00078 class KDEUI_EXPORT KActionCollection : public QObject
00079 {
00080 friend class KAction;
00081 friend class KXMLGUIClient;
00082
00083 Q_OBJECT
00084
00085 public:
00086 KActionCollection( QWidget *parent, const char *name = 0, KInstance *instance = 0 );
00092 KActionCollection( QWidget *watch, QObject* parent, const char *name = 0, KInstance *instance = 0 );
00093 KActionCollection( const KActionCollection © );
00094 virtual ~KActionCollection();
00095
00100 virtual void setWidget( QWidget *widget );
00101
00109 void setAutoConnectShortcuts( bool );
00110
00117 bool isAutoConnectShortcuts();
00118
00125
00126
00131 bool addDocCollection( KActionCollection* pDoc );
00132
00134
00135
00141
00142
00144 virtual KAccel* accel() KDE_DEPRECATED;
00146 virtual const KAccel* accel() const KDE_DEPRECATED;
00147
00149 KAccel* kaccel();
00151 const KAccel* kaccel() const;
00152
00154 KAccel* builderKAccel() const;
00156
00157
00158
00160 virtual uint count() const;
00161 bool isEmpty() const { return (count() == 0); }
00166 virtual KAction* action( int index ) const;
00174 virtual KAction* action( const char* name, const char* classname = 0 ) const;
00175
00180 virtual QStringList groups() const;
00185 virtual KActionPtrList actions( const QString& group ) const;
00187 virtual KActionPtrList actions() const;
00188
00192 bool readShortcutSettings( const QString& sConfigGroup = QString::null, KConfigBase* pConfig = 0 );
00196 bool writeShortcutSettings( const QString& sConfigGroup = QString::null, KConfigBase* pConfig = 0 ) const;
00197
00198 void setInstance( KInstance *instance );
00200 KInstance *instance() const;
00201
00205 void setXMLFile( const QString& );
00209 const QString& xmlFile() const;
00210
00211
00223 void setHighlightingEnabled( bool enable );
00232 bool highlightingEnabled() const;
00233
00247 void connectHighlight( QWidget *container, KAction *action );
00261 void disconnectHighlight( QWidget *container, KAction *action );
00262
00266 const KXMLGUIClient *parentGUIClient() const;
00267
00268 signals:
00269 void inserted( KAction* );
00270 void removed( KAction* );
00271
00280 void actionHighlighted( KAction *action );
00289 void actionHighlighted( KAction *action, bool highlight );
00299 void actionStatusText( const QString &text );
00305 void clearStatusText();
00306
00307 private:
00314 void beginXMLPlug( QWidget *widget );
00315 void endXMLPlug();
00317 void prepareXMLUnplug();
00318 void unplugShortcuts( KAccel* kaccel );
00319
00320 void _clear();
00321 void _insert( KAction* );
00322 void _remove( KAction* );
00323 KAction* _take( KAction* );
00324
00325 private slots:
00326 void slotMenuItemHighlighted( int id );
00327 void slotToolBarButtonHighlighted( int id, bool highlight );
00328 void slotMenuAboutToHide();
00329 void slotDestroyed();
00330
00331 private:
00332 KAction *findAction( QWidget *container, int id );
00333
00334 #ifndef KDE_NO_COMPAT
00335 public:
00336 KActionCollection( QObject *parent, const char *name = 0, KInstance *instance = 0 );
00337 #endif
00338
00339 public:
00350 void insert( KAction* action);
00351
00358 void remove( KAction* action );
00359
00367 KAction* take( KAction* action );
00368
00369 #ifndef KDE_NO_COMPAT
00370 KActionCollection operator+ ( const KActionCollection& ) const;
00371 KActionCollection& operator= ( const KActionCollection& );
00372 KActionCollection& operator+= ( const KActionCollection& );
00373 #endif // !KDE_NO_COMPAT
00374
00375
00376 public slots:
00381 void clear();
00382
00383 protected:
00384 virtual void virtual_hook( int id, void* data );
00385 private:
00386 KActionCollection( const char* name, const KXMLGUIClient* parent );
00387 class KActionCollectionPrivate;
00388 KActionCollectionPrivate *d;
00389 };
00390
00391 #endif
This file is part of the documentation for kdeui Library Version 3.4.0.