# kdeui Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Namespaces | Source Files

# kactioncollection.h

    00001 /* This file is part of the KDE libraries
    00002     Copyright (C) 1999 Reginald Stadlbauer <reggie@kde.org>
    00003               (C) 1999 Simon Hausmann <hausmann@kde.org>
    00004               (C) 2000 Nicolas Hadacek <haadcek@kde.org>
    00005               (C) 2000 Kurt Granroth <granroth@kde.org>
    00006               (C) 2000 Michael Koch <koch@kde.org>
    00007               (C) 2001 Holger Freyther <freyther@kde.org>
    00008               (C) 2002 Ellis Whitehead <ellis@kde.org>
    00009
    00010     This library is free software; you can redistribute it and/or
    00011     modify it under the terms of the GNU Library General Public
    00012     License version 2 as published by the Free Software Foundation.
    00013
    00014     This library is distributed in the hope that it will be useful,
    00015     but WITHOUT ANY WARRANTY; without even the implied warranty of
    00016     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00017     Library General Public License for more details.
    00018
    00019     You should have received a copy of the GNU Library General Public License
    00020     along with this library; see the file COPYING.LIB.  If not, write to
    00021     the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    00022     Boston, MA 02111-1307, USA.
    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 &copy );
    00094   virtual ~KActionCollection();
    00095
    00100   virtual void setWidget( QWidget *widget );
    00101
    00109   void setAutoConnectShortcuts( bool );
    00110
    00117   bool isAutoConnectShortcuts();
    00118
    00125   //void setDefaultScope( KAction::Scope );
    00126
    00131   bool addDocCollection( KActionCollection* pDoc );
    00132
    00134   //uint widgetCount() const;
    00135
    00141   //bool ownsKAccel() const;
    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   //KAccel* widgetKAccel( uint i );
    00157   //const KAccel* widgetKAccel( uint i ) const;
    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   //TODO FOR KDE4 make this default true
    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   // KDE4: clear() doesn't need to be a slot
    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.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 11 20:20:13 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003