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
00026
00027
#ifndef __kactionclasses_h__
00028
#define __kactionclasses_h__
00029
00030
#include <kaction.h>
00031
00032
#include <qkeysequence.h>
00033
#include <qobject.h>
00034
#include <qvaluelist.h>
00035
#include <qguardedptr.h>
00036
#include <kguiitem.h>
00037
#include <kshortcut.h>
00038
#include <kstdaction.h>
00039
#include <kicontheme.h>
00040
00041
class QMenuBar;
00042
class QPopupMenu;
00043
class QComboBox;
00044
class QPoint;
00045
class QIconSet;
00046
class QString;
00047
class KToolBar;
00048
00049
class KAccel;
00050
class KAccelActions;
00051
class KConfig;
00052
class KConfigBase;
00053
class KURL;
00054
class KInstance;
00055
class KToolBar;
00056
class KActionCollection;
00057
class KPopupMenu;
00058
class KMainWindow;
00059
00068 class KDEUI_EXPORT KToggleAction :
public KAction
00069 {
00070 Q_OBJECT
00071 Q_PROPERTY(
bool checked READ isChecked WRITE setChecked )
00072 Q_PROPERTY(
QString exclusiveGroup READ exclusiveGroup WRITE setExclusiveGroup )
00073
public:
00074
00085 KToggleAction(
const QString& text,
const KShortcut& cut =
KShortcut(),
QObject* parent = 0,
const char* name = 0 );
00086
00095 KToggleAction(
const QString& text,
const KShortcut& cut,
00096
const QObject* receiver,
const char* slot,
QObject* parent,
const char* name = 0 );
00097
00105 KToggleAction(
const QString& text,
const QIconSet& pix,
const KShortcut& cut =
KShortcut(),
00106
QObject* parent = 0,
const char* name = 0 );
00107
00115 KToggleAction(
const QString& text,
const QString& pix,
const KShortcut& cut =
KShortcut(),
00116
QObject* parent = 0,
const char* name = 0 );
00117
00127 KToggleAction(
const QString& text,
const QIconSet& pix,
const KShortcut& cut,
00128
const QObject* receiver,
const char* slot,
QObject* parent,
const char* name = 0 );
00129
00139 KToggleAction(
const QString& text,
const QString& pix,
const KShortcut& cut,
00140
const QObject* receiver,
const char* slot,
00141
QObject* parent,
const char* name = 0 );
00142
00147 KToggleAction(
QObject* parent = 0,
const char* name = 0 );
00148
00152
virtual ~KToggleAction();
00153
00165
virtual int plug(
QWidget* widget,
int index = -1 );
00166
00170
bool isChecked()
const;
00171
00176
QString exclusiveGroup()
const;
00177
00184
virtual void setExclusiveGroup(
const QString& name );
00185
00197
void setCheckedState(
const KGuiItem& checkedItem );
00198
00200
virtual QString toolTip()
const;
00201
00202
public slots:
00206
virtual void setChecked(
bool );
00207
00208
protected slots:
00209
virtual void slotActivated();
00210
00211
protected:
00212
virtual void updateChecked(
int id );
00213
00214 signals:
00215
void toggled(
bool );
00216
00217
protected:
00218
virtual void virtual_hook(
int id,
void* data );
00219
private:
00220
class KToggleActionPrivate;
00221 KToggleActionPrivate *d;
00222 };
00223
00230 class KDEUI_EXPORT KRadioAction :
public KToggleAction
00231 {
00232 Q_OBJECT
00233
public:
00244 KRadioAction(
const QString& text,
const KShortcut& cut =
KShortcut(),
QObject* parent = 0,
const char* name = 0 );
00245
00254 KRadioAction(
const QString& text,
const KShortcut& cut,
00255
const QObject* receiver,
const char* slot,
QObject* parent,
const char* name = 0 );
00256
00264 KRadioAction(
const QString& text,
const QIconSet& pix,
const KShortcut& cut =
KShortcut(),
00265
QObject* parent = 0,
const char* name = 0 );
00266
00274 KRadioAction(
const QString& text,
const QString& pix,
const KShortcut& cut =
KShortcut(),
00275
QObject* parent = 0,
const char* name = 0 );
00276
00286 KRadioAction(
const QString& text,
const QIconSet& pix,
const KShortcut& cut,
00287
const QObject* receiver,
const char* slot,
QObject* parent,
const char* name = 0 );
00288
00298 KRadioAction(
const QString& text,
const QString& pix,
const KShortcut& cut,
00299
const QObject* receiver,
const char* slot,
00300
QObject* parent,
const char* name = 0 );
00301
00306 KRadioAction(
QObject* parent = 0,
const char* name = 0 );
00307
00308
protected:
00309
virtual void slotActivated();
00310
00311
protected:
00312
virtual void virtual_hook(
int id,
void* data );
00313
private:
00314
class KRadioActionPrivate;
00315 KRadioActionPrivate *d;
00316 };
00317
00329 class KDEUI_EXPORT KSelectAction :
public KAction
00330 {
00331 Q_OBJECT
00332 Q_PROPERTY(
int currentItem READ currentItem WRITE setCurrentItem )
00333 Q_PROPERTY(
QStringList items READ items WRITE setItems )
00334 Q_PROPERTY(
bool editable READ isEditable WRITE setEditable )
00335 Q_PROPERTY(
int comboWidth READ comboWidth WRITE setComboWidth )
00336 Q_PROPERTY(
QString currentText READ currentText )
00337 Q_PROPERTY(
bool menuAccelsEnabled READ menuAccelsEnabled WRITE setMenuAccelsEnabled )
00338
public:
00339
00350 KSelectAction(
const QString& text,
const KShortcut& cut =
KShortcut(),
QObject* parent = 0,
const char* name = 0 );
00351
00360 KSelectAction(
const QString& text,
const KShortcut& cut,
00361
const QObject* receiver,
const char* slot,
QObject* parent,
const char* name = 0 );
00362
00370 KSelectAction(
const QString& text,
const QIconSet& pix,
const KShortcut& cut =
KShortcut(),
00371
QObject* parent = 0,
const char* name = 0 );
00372
00380 KSelectAction(
const QString& text,
const QString& pix,
const KShortcut& cut =
KShortcut(),
00381
QObject* parent = 0,
const char* name = 0 );
00382
00392 KSelectAction(
const QString& text,
const QIconSet& pix,
const KShortcut& cut,
00393
const QObject* receiver,
const char* slot,
QObject* parent,
const char* name = 0 );
00394
00404 KSelectAction(
const QString& text,
const QString& pix,
const KShortcut& cut,
00405
const QObject* receiver,
const char* slot,
00406
QObject* parent,
const char* name = 0 );
00407
00412 KSelectAction(
QObject* parent = 0,
const char* name = 0 );
00413
00417
virtual ~KSelectAction();
00418
00430
virtual int plug(
QWidget* widget,
int index = -1 );
00431
00436
virtual bool isEditable()
const;
00437
00442
virtual QStringList items()
const;
00443
00447
virtual void changeItem(
int index,
const QString& text );
00448
00452
virtual QString currentText()
const;
00453
00458
virtual int currentItem()
const;
00459
00464
virtual int comboWidth()
const;
00465
00469
QPopupMenu* popupMenu()
const;
00470
00475
void setRemoveAmpersandsInCombo(
bool b ) KDE_DEPRECATED;
00477
bool removeAmpersandsInCombo()
const;
00478
00485
void setMenuAccelsEnabled(
bool b );
00487
bool menuAccelsEnabled()
const;
00488
00489
public slots:
00495
virtual void setCurrentItem(
int index );
00496
00501
virtual void setItems(
const QStringList &lst );
00502
00506
virtual void clear();
00507
00512
virtual void setEditable(
bool );
00513
00519
virtual void setComboWidth(
int width );
00520
00521
protected:
00522
virtual void changeItem(
int id,
int index,
const QString& text );
00523
00530
QStringList comboItems()
const;
00531
00532
protected slots:
00533
virtual void slotActivated(
int id );
00534
virtual void slotActivated(
const QString &text );
00535
virtual void slotActivated();
00536
00537 signals:
00542
void activated(
int index );
00547
void activated(
const QString& text );
00548
00549
protected:
00550
virtual void updateCurrentItem(
int id );
00551
00552
virtual void updateComboWidth(
int id );
00553
00554
virtual void updateItems(
int id );
00555
00556
virtual void updateClear(
int id );
00557
00558
protected:
00559
virtual void virtual_hook(
int id,
void* data );
00560
private:
00561
void setupMenu()
const;
00562
class KSelectActionPrivate;
00563 KSelectActionPrivate *d;
00564
00565 };
00566
00568
00571 class KDEUI_EXPORT_DEPRECATED KListAction :
public KSelectAction
00572 {
00573 Q_OBJECT
00574
public:
00585 KListAction(
const QString& text,
const KShortcut& cut =
KShortcut(),
QObject* parent = 0,
00586
const char* name = 0 );
00587
00596 KListAction(
const QString& text,
const KShortcut& cut,
const QObject* receiver,
00597
const char* slot,
QObject* parent,
const char* name = 0 );
00598
00606 KListAction(
const QString& text,
const QIconSet& pix,
const KShortcut& cut =
KShortcut(),
00607
QObject* parent = 0,
const char* name = 0 );
00608
00616 KListAction(
const QString& text,
const QString& pix,
const KShortcut& cut =
KShortcut(),
00617
QObject* parent = 0,
const char* name = 0 );
00618
00628 KListAction(
const QString& text,
const QIconSet& pix,
const KShortcut& cut,
00629
const QObject* receiver,
const char* slot,
QObject* parent,
00630
const char* name = 0 );
00631
00641 KListAction(
const QString& text,
const QString& pix,
const KShortcut& cut,
00642
const QObject* receiver,
const char* slot,
QObject* parent,
00643
const char* name = 0 );
00644
00649 KListAction(
QObject* parent = 0,
const char* name = 0 );
00650
00654
virtual ~KListAction();
00655
00656
00657
virtual QString currentText()
const;
00658
virtual int currentItem()
const;
00659
00660
00661
public slots:
00667
virtual void setCurrentItem(
int index );
00668
00669
protected:
00670
virtual void virtual_hook(
int id,
void* data );
00671
private:
00672
class KListActionPrivate;
00673 KListActionPrivate *d;
00674 };
00675
00686 class KDEUI_EXPORT KRecentFilesAction :
public KListAction
00687 {
00688 Q_OBJECT
00689 Q_PROPERTY( uint maxItems READ maxItems WRITE setMaxItems )
00690
public:
00698 KRecentFilesAction(
const QString& text,
const KShortcut& cut,
00699
QObject* parent,
const char* name = 0,
00700 uint maxItems = 10 );
00701
00712 KRecentFilesAction(
const QString& text,
const KShortcut& cut,
00713
const QObject* receiver,
const char* slot,
00714
QObject* parent,
const char* name = 0,
00715 uint maxItems = 10 );
00716
00725 KRecentFilesAction(
const QString& text,
const QIconSet& pix,
const KShortcut& cut,
00726
QObject* parent,
const char* name = 0,
00727 uint maxItems = 10 );
00728
00737 KRecentFilesAction(
const QString& text,
const QString& pix,
const KShortcut& cut,
00738
QObject* parent,
const char* name = 0,
00739 uint maxItems = 10 );
00740
00752 KRecentFilesAction(
const QString& text,
const QIconSet& pix,
const KShortcut& cut,
00753
const QObject* receiver,
const char* slot,
00754
QObject* parent,
const char* name = 0,
00755 uint maxItems = 10 );
00756
00768 KRecentFilesAction(
const QString& text,
const QString& pix,
const KShortcut& cut,
00769
const QObject* receiver,
const char* slot,
00770
QObject* parent,
const char* name = 0,
00771 uint maxItems = 10 );
00772
00778 KRecentFilesAction(
QObject* parent = 0,
const char* name = 0,
00779 uint maxItems = 10 );
00780
00784
virtual ~KRecentFilesAction();
00785
00786
virtual int plug(
QWidget *widget,
int index = -1 );
00787
00791 uint maxItems()
const;
00792
00793
public slots:
00802
void setMaxItems( uint maxItems );
00803
00811
void loadEntries(
KConfig* config,
QString groupname=QString::null );
00812
00820
void saveEntries(
KConfig* config,
QString groupname=QString::null );
00821
00827
void addURL(
const KURL& url );
00828
00834
void removeURL(
const KURL& url );
00835
00839
void clearURLList();
00840
00841 signals:
00842
00848
void urlSelected(
const KURL& url );
00849
00850
protected slots:
00851
void itemSelected(
const QString& string );
00852
void menuAboutToShow();
00853
void menuItemActivated(
int id );
00854
void slotClicked();
00855
virtual void slotActivated(
int);
00856
virtual void slotActivated(
const QString& );
00857
virtual void slotActivated();
00858
00859
protected:
00860
virtual void virtual_hook(
int id,
void* data );
00861
00862
private:
00863
void init();
00864
00865
class KRecentFilesActionPrivate;
00866 KRecentFilesActionPrivate *d;
00867 };
00868
00869
class KDEUI_EXPORT KFontAction :
public KSelectAction
00870 {
00871 Q_OBJECT
00872 Q_PROPERTY(
QString font READ font WRITE setFont )
00873
public:
00874 KFontAction(
const QString& text,
const KShortcut& cut =
KShortcut(),
QObject* parent = 0,
00875
const char* name = 0 );
00876 KFontAction(
const QString& text,
const KShortcut& cut,
00877
const QObject* receiver,
const char* slot,
QObject* parent,
00878
const char* name = 0 );
00879 KFontAction(
const QString& text,
const QIconSet& pix,
const KShortcut& cut =
KShortcut(),
00880
QObject* parent = 0,
const char* name = 0 );
00881 KFontAction(
const QString& text,
const QString& pix,
const KShortcut& cut =
KShortcut(),
00882
QObject* parent = 0,
const char* name = 0 );
00883 KFontAction(
const QString& text,
const QIconSet& pix,
const KShortcut& cut,
00884
const QObject* receiver,
const char* slot,
QObject* parent,
00885
const char* name = 0 );
00886 KFontAction(
const QString& text,
const QString& pix,
const KShortcut& cut,
00887
const QObject* receiver,
const char* slot,
QObject* parent,
00888
const char* name = 0 );
00889
00890
00891
00892
#define KFONTACTION_HAS_CRITERIA_ARG
00893
KFontAction( uint fontListCriteria,
const QString& text,
00894
const KShortcut& cut =
KShortcut(),
QObject* parent = 0,
00895
const char* name = 0 );
00896 KFontAction( uint fontListCriteria,
const QString& text,
const QString& pix,
00897
const KShortcut& cut =
KShortcut(),
00898
QObject* parent = 0,
const char* name = 0 );
00899
00900 KFontAction(
QObject* parent = 0,
const char* name = 0 );
00901 ~KFontAction();
00902
00903
QString font()
const {
00904
return currentText();
00905 }
00906
00907
int plug(
QWidget*,
int index = -1 );
00908
00909
public slots:
00910
void setFont(
const QString &family );
00911
00912
protected:
00913
virtual void virtual_hook(
int id,
void* data );
00914
private:
00915
class KFontActionPrivate;
00916 KFontActionPrivate *d;
00917 };
00918
00919
class KDEUI_EXPORT KFontSizeAction :
public KSelectAction
00920 {
00921 Q_OBJECT
00922 Q_PROPERTY(
int fontSize READ fontSize WRITE setFontSize )
00923
public:
00924 KFontSizeAction(
const QString& text,
const KShortcut& cut =
KShortcut(),
QObject* parent = 0,
00925
const char* name = 0 );
00926 KFontSizeAction(
const QString& text,
const KShortcut& cut,
const QObject* receiver,
00927
const char* slot,
QObject* parent,
const char* name = 0 );
00928 KFontSizeAction(
const QString& text,
const QIconSet& pix,
const KShortcut& cut =
KShortcut(),
00929
QObject* parent = 0,
const char* name = 0 );
00930 KFontSizeAction(
const QString& text,
const QString& pix,
const KShortcut& cut =
KShortcut(),
00931
QObject* parent = 0,
const char* name = 0 );
00932 KFontSizeAction(
const QString& text,
const QIconSet& pix,
const KShortcut& cut,
00933
const QObject* receiver,
const char* slot,
00934
QObject* parent,
const char* name = 0 );
00935 KFontSizeAction(
const QString& text,
const QString& pix,
const KShortcut& cut,
00936
const QObject* receiver,
const char* slot,
00937
QObject* parent,
const char* name = 0 );
00938 KFontSizeAction(
QObject* parent = 0,
const char* name = 0 );
00939
00940
virtual ~KFontSizeAction();
00941
00942
virtual int fontSize() const;
00943
00944 public slots:
00945 virtual
void setFontSize(
int size );
00946
00947 protected slots:
00948 virtual
void slotActivated(
int );
00949 virtual
void slotActivated( const
QString& );
00950 virtual
void slotActivated() { KAction::slotActivated(); }
00951
00952 signals:
00953
void fontSizeChanged(
int );
00954
00955
private:
00956
void init();
00957
00958
00959
protected:
00960
virtual void virtual_hook(
int id,
void* data );
00961
private:
00962
class KFontSizeActionPrivate;
00963 KFontSizeActionPrivate *d;
00964 };
00965
00966
00977 class KDEUI_EXPORT KActionMenu :
public KAction
00978 {
00979 Q_OBJECT
00980 Q_PROPERTY(
bool delayed READ delayed WRITE setDelayed )
00981 Q_PROPERTY(
bool stickyMenu READ stickyMenu WRITE setStickyMenu )
00982
00983
public:
00984 KActionMenu(
const QString& text,
QObject* parent = 0,
00985
const char* name = 0 );
00986 KActionMenu(
const QString& text,
const QIconSet& icon,
00987
QObject* parent = 0,
const char* name = 0 );
00988 KActionMenu(
const QString& text,
const QString& icon,
00989
QObject* parent = 0,
const char* name = 0 );
00990 KActionMenu(
QObject* parent = 0,
const char* name = 0 );
00991
virtual ~KActionMenu();
00992
00993
virtual void insert(
KAction*,
int index = -1 );
00994
virtual void remove(
KAction* );
00995
00996
KPopupMenu* popupMenu()
const;
00997
void popup(
const QPoint& global );
00998
01003
bool delayed()
const;
01017
void setDelayed(
bool _delayed);
01018
01023
bool stickyMenu()
const;
01032
void setStickyMenu(
bool sticky);
01033
01034
virtual int plug(
QWidget* widget,
int index = -1 );
01035
01036
protected:
01037
virtual void virtual_hook(
int id,
void* data );
01038
private:
01039
class KActionMenuPrivate;
01040 KActionMenuPrivate *d;
01041 };
01042
01050 class KDEUI_EXPORT KToolBarPopupAction :
public KAction
01051 {
01052 Q_OBJECT
01053 Q_PROPERTY(
bool delayed READ delayed WRITE setDelayed )
01054 Q_PROPERTY(
bool stickyMenu READ stickyMenu WRITE setStickyMenu )
01055
01056
public:
01057
01058
01069 KToolBarPopupAction(
const QString& text,
const QString& icon,
const KShortcut& cut =
KShortcut(),
01070
QObject* parent = 0,
const char* name = 0 );
01071
01087 KToolBarPopupAction(
const QString& text,
const QString& icon,
const KShortcut& cut,
01088
const QObject* receiver,
const char* slot,
01089
QObject* parent = 0,
const char* name = 0 );
01090
01106 KToolBarPopupAction(
const KGuiItem& item,
const KShortcut& cut,
01107
const QObject* receiver,
const char* slot,
01108
KActionCollection* parent,
const char* name );
01109
01110
virtual ~KToolBarPopupAction();
01111
01112
virtual int plug(
QWidget *widget,
int index = -1 );
01113
01119
KPopupMenu *popupMenu()
const;
01120
01125
bool delayed()
const;
01131
void setDelayed(
bool delayed);
01136
bool stickyMenu()
const;
01146
void setStickyMenu(
bool sticky);
01147
01148
private:
01149
KPopupMenu *m_popup;
01150
bool m_delayed:1;
01151
bool m_stickyMenu:1;
01152
protected:
01153
virtual void virtual_hook(
int id,
void* data );
01154
private:
01155
class KToolBarPopupActionPrivate;
01156 KToolBarPopupActionPrivate *d;
01157 };
01158
01172 class KDEUI_EXPORT KToggleToolBarAction :
public KToggleAction
01173 {
01174 Q_OBJECT
01175
public:
01182 KToggleToolBarAction(
const char* toolBarName,
const QString& text,
01183
KActionCollection* parent,
const char* name );
01184 KToggleToolBarAction(
KToolBar *toolBar,
const QString &text,
01185
KActionCollection *parent,
const char *name );
01186
virtual ~KToggleToolBarAction();
01187
01188
virtual int plug(
QWidget * widget,
int index = -1 );
01189
01190
KToolBar *toolBar() {
return m_toolBar; }
01191
01192
public slots:
01193
virtual void setChecked(
bool );
01194
01195
private:
01196
QCString m_toolBarName;
01197
QGuardedPtr<KToolBar> m_toolBar;
01198
protected:
01199
virtual void virtual_hook(
int id,
void* data );
01200
private:
01201
class KToggleToolBarActionPrivate;
01202 KToggleToolBarActionPrivate *d;
01203 };
01204
01218 class KDEUI_EXPORT KToggleFullScreenAction :
public KToggleAction
01219 {
01220 Q_OBJECT
01221
public:
01231 KToggleFullScreenAction(
const KShortcut &cut,
01232
const QObject* receiver,
const char* slot,
01233
QObject* parent,
QWidget* window,
01234
const char* name );
01235
virtual ~KToggleFullScreenAction();
01236
01240
void setWindow(
QWidget* window );
01241
public slots:
01242
virtual void setChecked(
bool );
01243
protected:
01247
virtual bool eventFilter(
QObject* o,
QEvent* e );
01248
private:
01249
QWidget* window;
01250
protected:
01251
virtual void virtual_hook(
int id,
void* data );
01252
private:
01253
class KToggleFullScreenActionPrivate;
01254 KToggleFullScreenActionPrivate *d;
01255 };
01256
01257
01262 class KDEUI_EXPORT KWidgetAction :
public KAction
01263 {
01264 Q_OBJECT
01265
public:
01271 KWidgetAction(
QWidget* widget,
const QString& text,
01272
const KShortcut& cut,
01273
const QObject* receiver,
const char* slot,
01274
KActionCollection* parent,
const char* name );
01275
virtual ~KWidgetAction();
01276
01280 QWidget* widget() {
return m_widget; }
01281
01282
void setAutoSized(
bool );
01283
01288
virtual int plug(
QWidget* widget,
int index = -1 );
01293
virtual void unplug(
QWidget *w );
01294
protected slots:
01295
void slotToolbarDestroyed();
01296
private:
01297
QGuardedPtr<QWidget> m_widget;
01298
bool m_autoSized;
01299
protected:
01300
virtual void virtual_hook(
int id,
void* data );
01301
private:
01302
class KWidgetActionPrivate;
01303 KWidgetActionPrivate *d;
01304 };
01305
01306
class KDEUI_EXPORT KActionSeparator :
public KAction
01307 {
01308 Q_OBJECT
01309
public:
01310 KActionSeparator(
QObject* parent = 0,
const char* name = 0 );
01311
virtual ~KActionSeparator();
01312
01313
virtual int plug(
QWidget *widget,
int index = -1 );
01314
01315
protected:
01316
virtual void virtual_hook(
int id,
void* data );
01317
private:
01318
class KActionSeparatorPrivate;
01319 KActionSeparatorPrivate *d;
01320 };
01321
01332 class KDEUI_EXPORT KPasteTextAction:
public KAction
01333 {
01334 Q_OBJECT
01335
public:
01351 KPasteTextAction(
const QString& text,
const QString& icon,
const KShortcut& cut,
01352
const QObject* receiver,
const char* slot,
01353
QObject* parent = 0,
const char* name = 0 );
01354
01355
virtual ~KPasteTextAction();
01356
01367
void setMixedMode(
bool mode);
01368
01369
virtual int plug(
QWidget *widget,
int index = -1 );
01370
01371
protected slots:
01372
void menuAboutToShow();
01373
void menuItemActivated(
int id);
01374
virtual void slotActivated();
01375
01376
protected:
01377
virtual void virtual_hook(
int id,
void* data );
01378
01379
private:
01380
KPopupMenu *m_popup;
01381
bool m_mixedMode;
01382
class KPasteTextActionPrivate;
01383 KPasteTextActionPrivate *d;
01384 };
01385
01386
#endif