kaction.h Source File (kdeui Library)

| # kdeui Library API Documentation
Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Source Files

# kaction.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 //$Id: kaction.h,v 1.167.2.1 2002/12/09 23:28:37 faure Exp $
    00025
    00026 #ifndef __kaction_h__
    00027 #define __kaction_h__
    00028
    00029 #include <qkeysequence.h>
    00030 #include <qobject.h>
    00031 #include <qvaluelist.h>
    00032 #include <qguardedptr.h>
    00033 #include <kguiitem.h>
    00034 #include <kshortcut.h>
    00035 #include <kstdaction.h>
    00036 #include <kicontheme.h>
    00037
    00038 class QMenuBar;
    00039 class QPopupMenu;
    00040 class QComboBox;
    00041 class QPoint;
    00042 class QIconSet;
    00043 class QString;
    00044 class KToolBar;
    00045
    00046 class KAccel;
    00047 class KAccelActions;
    00048 class KConfig;
    00049 class KConfigBase;
    00050 class KURL;
    00051 class KInstance;
    00052 class KToolBar;
    00053 class KActionCollection;
    00054 class KPopupMenu;
    00055 class KMainWindow;
    00056
    00191 class KAction : public QObject
    00192 {
    00193   friend class KActionCollection;
    00194   Q_OBJECT
    00195   Q_PROPERTY( int containerCount READ containerCount )
    00196   Q_PROPERTY( QString plainText READ plainText )
    00197   Q_PROPERTY( QString text READ text WRITE setText )
    00198   Q_PROPERTY( QString shortcut READ shortcutText WRITE setShortcutText )
    00199   Q_PROPERTY( bool enabled READ isEnabled WRITE setEnabled )
    00200   Q_PROPERTY( QString group READ group WRITE setGroup )
    00201   Q_PROPERTY( QString whatsThis READ whatsThis WRITE setWhatsThis )
    00202   Q_PROPERTY( QString toolTip READ toolTip WRITE setToolTip )
    00203   Q_PROPERTY( QString icon READ icon WRITE setIcon )
    00204 public:
    00225     KAction( const QString& text, const KShortcut& cut,
    00226              const QObject* receiver, const char* slot,
    00227              KActionCollection* parent, const char* name );
    00228
    00248     KAction( const QString& text, const QIconSet& pix, const KShortcut& cut,
    00249              const QObject* receiver, const char* slot,
    00250              KActionCollection* parent, const char* name );
    00251
    00272     KAction( const QString& text, const QString& pix, const KShortcut& cut,
    00273              const QObject* receiver, const char* slot,
    00274              KActionCollection* parent, const char* name );
    00275
    00282     KAction( const KGuiItem& item, const KShortcut& cut,
    00283              const QObject* receiver, const char* slot,
    00284              KActionCollection* parent, const char* name );
    00285
    00289         KAction( const QString& text, const KShortcut& cut = KShortcut(), QObject* parent = 0, const char* name = 0 );
    00293         KAction( const QString& text, const KShortcut& cut,
    00294                 const QObject* receiver, const char* slot, QObject* parent, const char* name = 0 );
    00298         KAction( const QString& text, const QIconSet& pix, const KShortcut& cut = KShortcut(),
    00299                 QObject* parent = 0, const char* name = 0 );
    00303         KAction( const QString& text, const QString& pix, const KShortcut& cut = KShortcut(),
    00304                 QObject* parent = 0, const char* name = 0 );
    00308         KAction( const QString& text, const QIconSet& pix, const KShortcut& cut,
    00309                 const QObject* receiver, const char* slot, QObject* parent, const char* name = 0 );
    00313         KAction( const QString& text, const QString& pix, const KShortcut& cut,
    00314                 const QObject* receiver, const char* slot, QObject* parent,
    00315                 const char* name = 0 );
    00319         KAction( QObject* parent = 0, const char* name = 0 );
    00320
    00324     virtual ~KAction();
    00325
    00337     virtual int plug( QWidget *w, int index = -1 );
    00338
    00349     virtual void plugAccel(KAccel *accel, bool configurable = true);
    00350
    00363     virtual void unplug( QWidget *w );
    00364
    00369     virtual void unplugAccel();
    00370
    00375     virtual bool isPlugged() const;
    00376
    00380     bool isPlugged( const QWidget *container ) const;
    00381
    00386     virtual bool isPlugged( const QWidget *container, int id ) const;
    00387
    00392     virtual bool isPlugged( const QWidget *container, const QWidget *_representative ) const;
    00393
    00394     QWidget* container( int index ) const;
    00395     int itemId( int index ) const;
    00396     QWidget* representative( int index ) const;
    00397     int containerCount() const;
    00399     uint kaccelCount() const;
    00400
    00401     virtual bool hasIcon() const;
    00402 #ifndef KDE_NO_COMPAT
    00403     bool hasIconSet() const { return hasIcon(); }
    00404 #endif
    00405     virtual QString plainText() const;
    00406
    00410     virtual QString text() const;
    00411
    00415     virtual const KShortcut& shortcut() const;
    00419     virtual const KShortcut& shortcutDefault() const;
    00420
    00421     // These two methods are for Q_PROPERTY
    00422     QString shortcutText() const;
    00423     void setShortcutText( const QString& );
    00424
    00428     virtual bool isEnabled() const;
    00429
    00433     virtual bool isShortcutConfigurable() const;
    00434
    00435     virtual QString group() const;
    00436
    00440     virtual QString whatsThis() const;
    00441
    00445     virtual QString toolTip() const;
    00446
    00451     virtual QIconSet iconSet( KIcon::Group group, int size=0 ) const;
    00452 #ifndef KDE_NO_COMPAT
    00453     QIconSet iconSet() const { return iconSet( KIcon::Small ); }
    00454 #endif
    00455
    00456     virtual QString icon() const;
    00457
    00458     KActionCollection *parentCollection() const;
    00459
    00464     static int getToolButtonID();
    00465
    00466
    00467     void unplugAll();
    00468
    00469 public slots:
    00474     virtual void setText(const QString &text);
    00475
    00479     virtual bool setShortcut( const KShortcut& );
    00480
    00481     virtual void setGroup( const QString& );
    00482
    00490     virtual void setWhatsThis( const QString& text );
    00491
    00498     virtual void setToolTip( const QString& );
    00499
    00504     virtual void setIconSet( const QIconSet &iconSet );
    00505
    00506     virtual void setIcon( const QString& icon );
    00507
    00512     virtual void setEnabled(bool enable);
    00513
    00517     virtual void setShortcutConfigurable( bool );
    00518
    00523     virtual void activate();
    00524
    00525 protected slots:
    00526     virtual void slotDestroyed();
    00527     virtual void slotKeycodeChanged();
    00528     virtual void slotActivated();
    00529
    00530 protected:
    00531     KToolBar* toolBar( int index ) const;
    00532     QPopupMenu* popupMenu( int index ) const;
    00533     void removeContainer( int index );
    00534     int findContainer( const QWidget* widget ) const;
    00535     void plugMainWindowAccel( QWidget *w );
    00536
    00537     void addContainer( QWidget* parent, int id );
    00538     void addContainer( QWidget* parent, QWidget* representative );
    00539
    00540     virtual void updateShortcut( int i );
    00541     virtual void updateShortcut( QPopupMenu* menu, int id );
    00542     virtual void updateGroup( int id );
    00543     virtual void updateText(int i );
    00544     virtual void updateEnabled(int i);
    00545     virtual void updateIconSet(int i);
    00546     virtual void updateIcon( int i);
    00547     virtual void updateToolTip( int id );
    00548     virtual void updateWhatsThis( int i );
    00549
    00550     KActionCollection *m_parentCollection;
    00551     QString whatsThisWithIcon() const;
    00552
    00553 signals:
    00554     void activated();
    00555     void enabled( bool );
    00556
    00557 private:
    00558     void initPrivate( const QString& text, const KShortcut& cut,
    00559                   const QObject* receiver, const char* slot );
    00560     KAccel* kaccelCurrent();
    00561     bool initShortcut( const KShortcut& );
    00562     void plugShortcut();
    00563     bool updateKAccelShortcut( KAccel* kaccel );
    00564     void insertKAccel( KAccel* );
    00566     void removeKAccel( KAccel* );
    00567
    00568 #ifndef KDE_NO_COMPAT
    00569 public:
    00574     int accel() const;
    00575
    00576     QString statusText() const
    00577         { return toolTip(); }
    00578
    00583     void setAccel( int key );
    00584
    00588     void setStatusText( const QString &text )
    00589          { setToolTip( text ); }
    00590
    00594     int menuId( int i ) { return itemId( i ); }
    00595 #endif // !KDE_NO_COMPAT
    00596
    00597 protected:
    00598     virtual void virtual_hook( int id, void* data );
    00599 private:
    00600     class KActionPrivate;
    00601     KActionPrivate *d;
    00602 };
    00603
    00611 class KToggleAction : public KAction
    00612 {
    00613     Q_OBJECT
    00614     Q_PROPERTY( bool checked READ isChecked WRITE setChecked )
    00615     Q_PROPERTY( QString exclusiveGroup READ exclusiveGroup WRITE setExclusiveGroup )
    00616 public:
    00617
    00628     KToggleAction( const QString& text, const KShortcut& cut = KShortcut(), QObject* parent = 0, const char* name = 0 );
    00629
    00638     KToggleAction( const QString& text, const KShortcut& cut,
    00639                    const QObject* receiver, const char* slot, QObject* parent, const char* name = 0 );
    00640
    00648     KToggleAction( const QString& text, const QIconSet& pix, const KShortcut& cut = KShortcut(),
    00649              QObject* parent = 0, const char* name = 0 );
    00650
    00658     KToggleAction( const QString& text, const QString& pix, const KShortcut& cut = KShortcut(),
    00659                    QObject* parent = 0, const char* name = 0 );
    00660
    00670     KToggleAction( const QString& text, const QIconSet& pix, const KShortcut& cut,
    00671                    const QObject* receiver, const char* slot, QObject* parent, const char* name = 0 );
    00672
    00682     KToggleAction( const QString& text, const QString& pix, const KShortcut& cut,
    00683                    const QObject* receiver, const char* slot,
    00684                    QObject* parent, const char* name = 0 );
    00685
    00690     KToggleAction( QObject* parent = 0, const char* name = 0 );
    00691
    00695     virtual ~KToggleAction();
    00696
    00708     virtual int plug( QWidget* widget, int index = -1 );
    00709
    00713     bool isChecked() const;
    00714
    00719     QString exclusiveGroup() const;
    00720
    00727     virtual void setExclusiveGroup( const QString& name );
    00728
    00729 public slots:
    00733     virtual void setChecked( bool );
    00734
    00735 protected slots:
    00736     virtual void slotActivated();
    00737
    00738 protected:
    00739     virtual void updateChecked( int id );
    00740
    00741 signals:
    00742     void toggled( bool );
    00743
    00744 protected:
    00745     virtual void virtual_hook( int id, void* data );
    00746 private:
    00747     class KToggleActionPrivate;
    00748     KToggleActionPrivate *d;
    00749 };
    00750
    00755 class KRadioAction : public KToggleAction
    00756 {
    00757   Q_OBJECT
    00758 public:
    00769     KRadioAction( const QString& text, const KShortcut& cut = KShortcut(), QObject* parent = 0, const char* name = 0 );
    00770
    00779     KRadioAction( const QString& text, const KShortcut& cut,
    00780                   const QObject* receiver, const char* slot, QObject* parent, const char* name = 0 );
    00781
    00789     KRadioAction( const QString& text, const QIconSet& pix, const KShortcut& cut = KShortcut(),
    00790                   QObject* parent = 0, const char* name = 0 );
    00791
    00799     KRadioAction( const QString& text, const QString& pix, const KShortcut& cut = KShortcut(),
    00800                   QObject* parent = 0, const char* name = 0 );
    00801
    00811     KRadioAction( const QString& text, const QIconSet& pix, const KShortcut& cut,
    00812                   const QObject* receiver, const char* slot, QObject* parent, const char* name = 0 );
    00813
    00823     KRadioAction( const QString& text, const QString& pix, const KShortcut& cut,
    00824                   const QObject* receiver, const char* slot,
    00825                   QObject* parent, const char* name = 0 );
    00826
    00831     KRadioAction( QObject* parent = 0, const char* name = 0 );
    00832
    00833 protected:
    00834     virtual void slotActivated();
    00835
    00836 protected:
    00837     virtual void virtual_hook( int id, void* data );
    00838 private:
    00839     class KRadioActionPrivate;
    00840     KRadioActionPrivate *d;
    00841 };
    00842
    00854 class KSelectAction : public KAction
    00855 {
    00856     Q_OBJECT
    00857     Q_PROPERTY( int currentItem READ currentItem WRITE setCurrentItem )
    00858     Q_PROPERTY( QStringList items READ items WRITE setItems )
    00859     Q_PROPERTY( bool editable READ isEditable WRITE setEditable )
    00860     Q_PROPERTY( int comboWidth READ comboWidth WRITE setComboWidth )
    00861     Q_PROPERTY( QString currentText READ currentText )
    00862     Q_PROPERTY( bool menuAccelsEnabled READ menuAccelsEnabled WRITE setMenuAccelsEnabled )
    00863 public:
    00864
    00875     KSelectAction( const QString& text, const KShortcut& cut = KShortcut(), QObject* parent = 0, const char* name = 0 );
    00876
    00885     KSelectAction( const QString& text, const KShortcut& cut,
    00886                    const QObject* receiver, const char* slot, QObject* parent, const char* name = 0 );
    00887
    00895     KSelectAction( const QString& text, const QIconSet& pix, const KShortcut& cut = KShortcut(),
    00896              QObject* parent = 0, const char* name = 0 );
    00897
    00905     KSelectAction( const QString& text, const QString& pix, const KShortcut& cut = KShortcut(),
    00906                    QObject* parent = 0, const char* name = 0 );
    00907
    00917     KSelectAction( const QString& text, const QIconSet& pix, const KShortcut& cut,
    00918                    const QObject* receiver, const char* slot, QObject* parent, const char* name = 0 );
    00919
    00929     KSelectAction( const QString& text, const QString& pix, const KShortcut& cut,
    00930                    const QObject* receiver, const char* slot,
    00931                    QObject* parent, const char* name = 0 );
    00932
    00937     KSelectAction( QObject* parent = 0, const char* name = 0 );
    00938
    00942     virtual ~KSelectAction();
    00943
    00955     virtual int plug( QWidget* widget, int index = -1 );
    00956
    00961     virtual bool isEditable() const;
    00962
    00967     virtual QStringList items() const;
    00968
    00969     virtual void changeItem( int index, const QString& text );
    00970
    00971     virtual QString currentText() const;
    00972
    00973     virtual int currentItem() const;
    00974
    00979     virtual int comboWidth() const;
    00980
    00981     QPopupMenu* popupMenu() const;
    00982
    00987     void setRemoveAmpersandsInCombo( bool b );
    00989     bool removeAmpersandsInCombo() const;
    00990
    00997     void setMenuAccelsEnabled( bool b );
    00999     bool menuAccelsEnabled() const;
    01000
    01001 public slots:
    01007     virtual void setCurrentItem( int index );
    01008
    01013     virtual void setItems( const QStringList &lst );
    01014
    01018     virtual void clear();
    01019
    01024     virtual void setEditable( bool );
    01025
    01031     virtual void setComboWidth( int width );
    01032
    01033 protected:
    01034     virtual void changeItem( int id, int index, const QString& text );
    01035
    01042     QStringList comboItems() const;
    01043
    01044 protected slots:
    01045     virtual void slotActivated( int id );
    01046     virtual void slotActivated( const QString &text );
    01047     virtual void slotActivated();
    01048
    01049 signals:
    01050     void activated( int index );
    01051     void activated( const QString& text );
    01052
    01053 protected:
    01054     virtual void updateCurrentItem( int id );
    01055
    01056     virtual void updateComboWidth( int id );
    01057
    01058     virtual void updateItems( int id );
    01059
    01060     virtual void updateClear( int id );
    01061
    01062 protected:
    01063     virtual void virtual_hook( int id, void* data );
    01064 private:
    01065     class KSelectActionPrivate;
    01066     KSelectActionPrivate *d;
    01067
    01068 };
    01069
    01071
    01074 class KListAction : public KSelectAction
    01075 {
    01076     Q_OBJECT
    01077 public:
    01088     KListAction( const QString& text, const KShortcut& cut = KShortcut(), QObject* parent = 0,
    01089                   const char* name = 0 );
    01090
    01099     KListAction( const QString& text, const KShortcut& cut, const QObject* receiver,
    01100                   const char* slot, QObject* parent, const char* name = 0 );
    01101
    01109     KListAction( const QString& text, const QIconSet& pix, const KShortcut& cut = KShortcut(),
    01110                       QObject* parent = 0, const char* name = 0 );
    01111
    01119     KListAction( const QString& text, const QString& pix, const KShortcut& cut = KShortcut(),
    01120                       QObject* parent = 0, const char* name = 0 );
    01121
    01131     KListAction( const QString& text, const QIconSet& pix, const KShortcut& cut,
    01132                           const QObject* receiver, const char* slot, QObject* parent,
    01133                   const char* name = 0 );
    01134
    01144     KListAction( const QString& text, const QString& pix, const KShortcut& cut,
    01145                  const QObject* receiver, const char* slot, QObject* parent,
    01146                  const char* name = 0 );
    01147
    01152     KListAction( QObject* parent = 0, const char* name = 0 );
    01153
    01157     virtual ~KListAction();
    01158
    01159
    01160     virtual QString currentText() const;
    01161     virtual int currentItem() const;
    01162
    01163
    01164 public slots:
    01170     virtual void setCurrentItem( int index );
    01171
    01172 protected:
    01173     virtual void virtual_hook( int id, void* data );
    01174 private:
    01175     class KListActionPrivate;
    01176     KListActionPrivate *d;
    01177 };
    01178
    01188 class KRecentFilesAction : public KListAction  // TODO public KSelectAction
    01189 {
    01190   Q_OBJECT
    01191   Q_PROPERTY( uint maxItems READ maxItems WRITE setMaxItems )
    01192 public:
    01200   KRecentFilesAction( const QString& text, const KShortcut& cut,
    01201                       QObject* parent, const char* name = 0,
    01202                       uint maxItems = 10 );
    01203
    01214   KRecentFilesAction( const QString& text, const KShortcut& cut,
    01215                       const QObject* receiver, const char* slot,
    01216                       QObject* parent, const char* name = 0,
    01217                       uint maxItems = 10 );
    01218
    01227   KRecentFilesAction( const QString& text, const QIconSet& pix, const KShortcut& cut,
    01228                       QObject* parent, const char* name = 0,
    01229                       uint maxItems = 10 );
    01230
    01239   KRecentFilesAction( const QString& text, const QString& pix, const KShortcut& cut,
    01240                       QObject* parent, const char* name = 0,
    01241                       uint maxItems = 10 );
    01242
    01254   KRecentFilesAction( const QString& text, const QIconSet& pix, const KShortcut& cut,
    01255                       const QObject* receiver, const char* slot,
    01256                       QObject* parent, const char* name = 0,
    01257                       uint maxItems = 10 );
    01258
    01270   KRecentFilesAction( const QString& text, const QString& pix, const KShortcut& cut,
    01271                       const QObject* receiver, const char* slot,
    01272                       QObject* parent, const char* name = 0,
    01273                       uint maxItems = 10 );
    01274
    01280   KRecentFilesAction( QObject* parent = 0, const char* name = 0,
    01281                       uint maxItems = 10 );
    01282
    01286   virtual ~KRecentFilesAction();
    01287
    01291   uint maxItems() const;
    01292
    01293 public slots:
    01302   void setMaxItems( uint maxItems );
    01303
    01311   void loadEntries( KConfig* config, QString groupname=QString::null );
    01312
    01320   void saveEntries( KConfig* config, QString groupname=QString::null );
    01321
    01322 public slots:
    01328   void addURL( const KURL& url );
    01329
    01335   void removeURL( const KURL& url );
    01336
    01340   void clearURLList();
    01341
    01342 signals:
    01343
    01349   void urlSelected( const KURL& url );
    01350
    01351 protected slots:
    01355   void itemSelected( const QString& string );
    01356
    01357 protected:
    01358   virtual void virtual_hook( int id, void* data );
    01359 private:
    01360   void init();
    01361
    01362   class KRecentFilesActionPrivate;
    01363   KRecentFilesActionPrivate *d;
    01364 };
    01365
    01366 class KFontAction : public KSelectAction
    01367 {
    01368     Q_OBJECT
    01369     Q_PROPERTY( QString font READ font WRITE setFont )
    01370 public:
    01371     KFontAction( const QString& text, const KShortcut& cut = KShortcut(), QObject* parent = 0,
    01372                  const char* name = 0 );
    01373     KFontAction( const QString& text, const KShortcut& cut,
    01374                  const QObject* receiver, const char* slot, QObject* parent,
    01375                  const char* name = 0 );
    01376     KFontAction( const QString& text, const QIconSet& pix, const KShortcut& cut = KShortcut(),
    01377                  QObject* parent = 0, const char* name = 0 );
    01378     KFontAction( const QString& text, const QString& pix, const KShortcut& cut = KShortcut(),
    01379                  QObject* parent = 0, const char* name = 0 );
    01380     KFontAction( const QString& text, const QIconSet& pix, const KShortcut& cut,
    01381                  const QObject* receiver, const char* slot, QObject* parent,
    01382                  const char* name = 0 );
    01383     KFontAction( const QString& text, const QString& pix, const KShortcut& cut,
    01384                  const QObject* receiver, const char* slot, QObject* parent,
    01385                  const char* name = 0 );
    01386
    01387     KFontAction( QObject* parent = 0, const char* name = 0 );
    01388     ~KFontAction();
    01389
    01390     QString font() const {
    01391         return currentText();
    01392     }
    01393
    01394     int plug( QWidget*, int index = -1 );
    01395
    01396 public slots:
    01397     void setFont( const QString &family );
    01398
    01399 protected:
    01400     virtual void virtual_hook( int id, void* data );
    01401 private:
    01402     class KFontActionPrivate;
    01403     KFontActionPrivate *d;
    01404 };
    01405
    01406 class KFontSizeAction : public KSelectAction
    01407 {
    01408     Q_OBJECT
    01409     Q_PROPERTY( int fontSize READ fontSize WRITE setFontSize )
    01410 public:
    01411     KFontSizeAction( const QString& text, const KShortcut& cut = KShortcut(), QObject* parent = 0,
    01412                      const char* name = 0 );
    01413     KFontSizeAction( const QString& text, const KShortcut& cut, const QObject* receiver,
    01414                      const char* slot, QObject* parent, const char* name = 0 );
    01415     KFontSizeAction( const QString& text, const QIconSet& pix, const KShortcut& cut = KShortcut(),
    01416                      QObject* parent = 0, const char* name = 0 );
    01417     KFontSizeAction( const QString& text, const QString& pix, const KShortcut& cut = KShortcut(),
    01418                      QObject* parent = 0, const char* name = 0 );
    01419     KFontSizeAction( const QString& text, const QIconSet& pix, const KShortcut& cut,
    01420                      const QObject* receiver, const char* slot,
    01421                      QObject* parent, const char* name = 0 );
    01422     KFontSizeAction( const QString& text, const QString& pix, const KShortcut& cut,
    01423                      const QObject* receiver, const char* slot,
    01424                      QObject* parent, const char* name = 0 );
    01425     KFontSizeAction( QObject* parent = 0, const char* name = 0 );
    01426
    01427     virtual ~KFontSizeAction();
    01428
    01429     virtual int fontSize() const;
    01430
    01431 public slots:
    01432     virtual void setFontSize( int size );
    01433
    01434 protected slots:
    01435     virtual void slotActivated( int );
    01436     virtual void slotActivated( const QString& );
    01437     virtual void slotActivated() { KAction::slotActivated(); }
    01438
    01439 signals:
    01440     void fontSizeChanged( int );
    01441
    01442 private:
    01443     void init();
    01444
    01445
    01446 protected:
    01447     virtual void virtual_hook( int id, void* data );
    01448 private:
    01449     class KFontSizeActionPrivate;
    01450     KFontSizeActionPrivate *d;
    01451 };
    01452
    01453
    01464 class KActionMenu : public KAction
    01465 {
    01466   Q_OBJECT
    01467   Q_PROPERTY( bool delayed READ delayed WRITE setDelayed )
    01468   Q_PROPERTY( bool stickyMenu READ stickyMenu WRITE setStickyMenu )
    01469
    01470 public:
    01471     KActionMenu( const QString& text, QObject* parent = 0,
    01472                  const char* name = 0 );
    01473     KActionMenu( const QString& text, const QIconSet& icon,
    01474                  QObject* parent = 0, const char* name = 0 );
    01475     KActionMenu( const QString& text, const QString& icon,
    01476                  QObject* parent = 0, const char* name = 0 );
    01477     KActionMenu( QObject* parent = 0, const char* name = 0 );
    01478     virtual ~KActionMenu();
    01479
    01480     virtual void insert( KAction*, int index = -1 );
    01481     virtual void remove( KAction* );
    01482
    01483     KPopupMenu* popupMenu() const;
    01484     void popup( const QPoint& global );
    01485
    01490     bool delayed() const;
    01504     void setDelayed(bool _delayed);
    01505
    01510     bool stickyMenu() const;
    01519     void setStickyMenu(bool sticky);
    01520
    01521     virtual int plug( QWidget* widget, int index = -1 );
    01522
    01523 protected:
    01524     virtual void virtual_hook( int id, void* data );
    01525 private:
    01526     class KActionMenuPrivate;
    01527     KActionMenuPrivate *d;
    01528 };
    01529
    01537 class KToolBarPopupAction : public KAction
    01538 {
    01539   Q_OBJECT
    01540   Q_PROPERTY( bool delayed READ delayed WRITE setDelayed )
    01541   Q_PROPERTY( bool stickyMenu READ stickyMenu WRITE setStickyMenu )
    01542
    01543 public:
    01544     //Not all constructors - because we need an icon, since this action only makes
    01545     // sense when being plugged at least in a toolbar.
    01556     KToolBarPopupAction( const QString& text, const QString& icon, const KShortcut& cut = KShortcut(),
    01557                          QObject* parent = 0, const char* name = 0 );
    01558
    01574     KToolBarPopupAction( const QString& text, const QString& icon, const KShortcut& cut,
    01575                          const QObject* receiver, const char* slot,
    01576                          QObject* parent = 0, const char* name = 0 );
    01577
    01593     KToolBarPopupAction( const KGuiItem& item, const KShortcut& cut,
    01594                          const QObject* receiver, const char* slot,
    01595                          KActionCollection* parent, const char* name );
    01596
    01597     virtual ~KToolBarPopupAction();
    01598
    01599     virtual int plug( QWidget *widget, int index = -1 );
    01600
    01606     KPopupMenu *popupMenu() const;
    01607
    01612     bool delayed() const;
    01618     void setDelayed(bool delayed);
    01623     bool stickyMenu() const;
    01633     void setStickyMenu(bool sticky);
    01634
    01635 private:
    01636     KPopupMenu *m_popup;
    01637     bool m_delayed:1;
    01638     bool m_stickyMenu:1;
    01639 protected:
    01640     virtual void virtual_hook( int id, void* data );
    01641 private:
    01642     class KToolBarPopupActionPrivate;
    01643     KToolBarPopupActionPrivate *d;
    01644 };
    01645
    01659 class KToggleToolBarAction : public KToggleAction
    01660 {
    01661     Q_OBJECT
    01662 public:
    01669     KToggleToolBarAction( const char* toolBarName, const QString& text,
    01670                           KActionCollection* parent, const char* name );
    01671     KToggleToolBarAction( KToolBar *toolBar, const QString &text,
    01672                           KActionCollection *parent, const char *name );
    01673     virtual ~KToggleToolBarAction();
    01674
    01675     virtual int plug( QWidget*, int index = -1 );
    01676
    01677     KToolBar *toolBar() { return m_toolBar; }
    01678
    01679 public slots:
    01680     virtual void setChecked( bool );
    01681
    01682 private:
    01683     QCString               m_toolBarName;
    01684     QGuardedPtr<KToolBar>  m_toolBar;
    01685 protected:
    01686     virtual void virtual_hook( int id, void* data );
    01687 private:
    01688     class KToggleToolBarActionPrivate;
    01689     KToggleToolBarActionPrivate *d;
    01690 };
    01691
    01696 class KWidgetAction : public KAction
    01697 {
    01698     Q_OBJECT
    01699 public:
    01705     KWidgetAction( QWidget* widget, const QString& text,
    01706                    const KShortcut& cut,
    01707                    const QObject* receiver, const char* slot,
    01708                    KActionCollection* parent, const char* name );
    01709     virtual ~KWidgetAction();
    01710
    01714     QWidget* widget() { return m_widget; }
    01715
    01716     void setAutoSized( bool );
    01717
    01722     virtual int plug( QWidget* w, int index = -1 );
    01727     virtual void unplug( QWidget *w );
    01728 protected slots:
    01729     void slotToolbarDestroyed();
    01730 private:
    01731     QGuardedPtr<QWidget> m_widget;
    01732     bool                 m_autoSized;
    01733 protected:
    01734     virtual void virtual_hook( int id, void* data );
    01735 private:
    01736     class KWidgetActionPrivate;
    01737     KWidgetActionPrivate *d;
    01738 };
    01739
    01740 class KActionSeparator : public KAction
    01741 {
    01742     Q_OBJECT
    01743 public:
    01744     KActionSeparator( QObject* parent = 0, const char* name = 0 );
    01745     virtual ~KActionSeparator();
    01746
    01747     virtual int plug( QWidget*, int index = -1 );
    01748
    01749 protected:
    01750     virtual void virtual_hook( int id, void* data );
    01751 private:
    01752     class KActionSeparatorPrivate;
    01753     KActionSeparatorPrivate *d;
    01754 };
    01755
    01756 typedef QValueList<KAction *> KActionPtrList;
    01757
    01761 class KActionCollection : public QObject
    01762 {
    01763   friend class KAction;
    01764   friend class KXMLGUIClient;
    01765
    01766   Q_OBJECT
    01767 public:
    01768   KActionCollection( QWidget *parent, const char *name = 0, KInstance *instance = 0 );
    01774   KActionCollection( QWidget *watch, QObject* parent, const char *name = 0, KInstance *instance = 0 );
    01775   KActionCollection( const KActionCollection &copy );
    01776   virtual ~KActionCollection();
    01777
    01782   virtual void setWidget( QWidget *widget );
    01783
    01790   void setAutoConnectShortcuts( bool );
    01791
    01792   bool isAutoConnectShortcuts();
    01793
    01800   //void setDefaultScope( KAction::Scope );
    01801
    01806   bool addDocCollection( KActionCollection* pDoc );
    01807
    01809   //uint widgetCount() const;
    01810
    01816   //bool ownsKAccel() const;
    01817
    01819   virtual KAccel* accel();
    01820   virtual const KAccel* accel() const;
    01821
    01823   KAccel* kaccel();
    01824   const KAccel* kaccel() const;
    01825
    01827   KAccel* builderKAccel() const;
    01829   //KAccel* widgetKAccel( uint i );
    01830   //const KAccel* widgetKAccel( uint i ) const;
    01831
    01832   /* Returns the number of actions in the collection **/
    01833   virtual uint count() const;
    01834   bool isEmpty() const { return count() == 0; }
    01835   virtual KAction* action( int index ) const;
    01836   virtual KAction* action( const char* name, const char* classname = 0 ) const;
    01837
    01838   virtual QStringList groups() const;
    01839   virtual KActionPtrList actions( const QString& group ) const;
    01840   virtual KActionPtrList actions() const;
    01841
    01845   bool readShortcutSettings( const QString& sConfigGroup = QString::null, KConfigBase* pConfig = 0 );
    01849   bool writeShortcutSettings( const QString& sConfigGroup = QString::null, KConfigBase* pConfig = 0 ) const;
    01850
    01851   void setInstance( KInstance *instance );
    01852   KInstance *instance() const;
    01853
    01858   void setXMLFile( const QString& );
    01859   const QString& xmlFile() const;
    01860
    01861   void setHighlightingEnabled( bool enable );
    01862   bool highlightingEnabled() const;
    01863
    01864   void connectHighlight( QWidget *container, KAction *action );
    01865   void disconnectHighlight( QWidget *container, KAction *action );
    01866
    01867 signals:
    01868   void inserted( KAction* );
    01869   void removed( KAction* );
    01870
    01871   void actionHighlighted( KAction *action );
    01872   void actionHighlighted( KAction *action, bool highlight );
    01873
    01874   void actionStatusText( const QString &text );
    01875   void clearStatusText();
    01876
    01877 private:
    01884   void beginXMLPlug( QWidget *widget );
    01885   void endXMLPlug();
    01887   void prepareXMLUnplug();
    01888   void unplugShortcuts( KAccel* kaccel );
    01889
    01890   void _clear();
    01891   void _insert( KAction* );
    01892   void _remove( KAction* );
    01893   KAction* _take( KAction* );
    01894
    01895 private slots:
    01896    void slotMenuItemHighlighted( int id );
    01897    void slotToolBarButtonHighlighted( int id, bool highlight );
    01898    void slotMenuAboutToHide();
    01899    void slotDestroyed();
    01900
    01901 private:
    01902    KAction *findAction( QWidget *container, int id );
    01903
    01904 #ifndef KDE_NO_COMPAT
    01905 public:
    01906   KActionCollection( QObject *parent, const char *name = 0, KInstance *instance = 0 );
    01907
    01908   void insert( KAction* );
    01909   void remove( KAction* );
    01910   KAction* take( KAction* );
    01911
    01912   KActionCollection operator+ ( const KActionCollection& ) const;
    01913   KActionCollection& operator= ( const KActionCollection& );
    01914   KActionCollection& operator+= ( const KActionCollection& );
    01915
    01916 public slots:
    01921   void clear();
    01922 #endif // !KDE_NO_COMPAT
    01923 protected:
    01924     virtual void virtual_hook( int id, void* data );
    01925 private:
    01926     class KActionCollectionPrivate;
    01927     KActionCollectionPrivate *d;
    01928 };
    01929
    01930 #endif

This file is part of the documentation for kdelibs Version 3.1.5.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Wed Jan 28 12:56:10 2004 by doxygen 1.3.4 written by Dimitri van Heesch, © 1997-2001