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

# kdialogbase.h

    00001 /*
    00002  *  This file is part of the KDE Libraries
    00003  *  Copyright (C) 1999-2001 Mirko Boehm (mirko@kde.org) and
    00004  *  Espen Sand (espen@kde.org)
    00005  *  Holger Freyther <freyther@kde.org>
    00006  *
    00007  *  This library is free software; you can redistribute it and/or
    00008  *  modify it under the terms of the GNU Library General Public
    00009  *  License as published by the Free Software Foundation; either
    00010  *  version 2 of the License, or (at your option) any later version.
    00011  *
    00012  *  This library is distributed in the hope that it will be useful,
    00013  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
    00014  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00015  *  Library General Public License for more details.
    00016  *
    00017  *  You should have received a copy of the GNU Library General Public License
    00018  *  along with this library; see the file COPYING.LIB.  If not, write to
    00019  *  the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    00020  *  Boston, MA 02111-1307, USA.
    00021  *
    00022  */
    00023 #ifndef _KDIALOG_BASE_H_
    00024 #define _KDIALOG_BASE_H_
    00025
    00026 #include <kdialog.h>
    00027 #include <kjanuswidget.h>
    00028 #include <kguiitem.h>
    00029 #include <kstdguiitem.h>
    00030 #include <qptrlist.h>
    00031
    00032 class QPushButton;
    00033 class KSeparator;
    00034 class KURLLabel;
    00035 class QBoxLayout;
    00036 class QPixmap;
    00037 class KGuiItem;
    00042 class KDialogBaseButton;
    00043
    00048 class KDialogBaseTile;
    00049
    00193 class KDEUI_EXPORT KDialogBase : public KDialog
    00194 {
    00195   Q_OBJECT
    00196
    00197   public:
    00198
    00218     enum ButtonCode
    00219     {
    00220       Help    = 0x00000001,
    00221       Default = 0x00000002,
    00222       Ok      = 0x00000004,
    00223       Apply   = 0x00000008,
    00224       Try     = 0x00000010,
    00225       Cancel  = 0x00000020,
    00226       Close   = 0x00000040,
    00227       User1   = 0x00000080,
    00228       User2   = 0x00000100,
    00229       User3   = 0x00000200,
    00230       No      = 0x00000080,
    00231       Yes     = 0x00000100,
    00232       Details = 0x00000400,
    00233       Filler  = 0x40000000,
    00234       Stretch = 0x80000000,
    00235       NoDefault
    00236     };
    00237
    00238     enum ActionButtonStyle
    00239     {
    00240       ActionStyle0=0, // KDE std
    00241       ActionStyle1,
    00242       ActionStyle2,
    00243       ActionStyle3,
    00244       ActionStyle4,
    00245       ActionStyleMAX
    00246     };
    00247
    00258     enum DialogType
    00259     {
    00260       TreeList  = KJanusWidget::TreeList,
    00261       Tabbed    = KJanusWidget::Tabbed,
    00262       Plain     = KJanusWidget::Plain,
    00263       Swallow   = KJanusWidget::Swallow,
    00264       IconList  = KJanusWidget::IconList
    00265     };
    00266
    00267   public:
    00268
    00291     KDialogBase( QWidget *parent=0, const char *name=0, bool modal=true,
    00292          const QString &caption=QString::null,
    00293          int buttonMask=Ok|Apply|Cancel, ButtonCode defaultButton=Ok,
    00294          bool separator=false,
    00295          const KGuiItem &user1=KGuiItem(),
    00296          const KGuiItem &user2=KGuiItem(),
    00297          const KGuiItem &user3=KGuiItem() );
    00298
    00326     KDialogBase( int dialogFace, const QString &caption,
    00327          int buttonMask, ButtonCode defaultButton,
    00328          QWidget *parent=0, const char *name=0, bool modal=true,
    00329          bool separator=false,
    00330          const KGuiItem &user1=KGuiItem(),
    00331          const KGuiItem &user2=KGuiItem(),
    00332          const KGuiItem &user3=KGuiItem() );
    00333
    00334
    00362     KDialogBase( KDialogBase::DialogType dialogFace, WFlags f,
    00363          QWidget *parent=0, const char *name=0, bool modal=true,
    00364          const QString &caption=QString::null,
    00365          int buttonMask=Ok|Apply|Cancel, ButtonCode defaultButton=Ok,
    00366          bool separator=false,
    00367          const KGuiItem &user1=KGuiItem(),
    00368          const KGuiItem &user2=KGuiItem(),
    00369          const KGuiItem &user3=KGuiItem() );
    00370
    00402     KDialogBase( const QString &caption, int buttonMask=Yes|No|Cancel,
    00403          ButtonCode defaultButton=Yes, ButtonCode escapeButton=Cancel,
    00404          QWidget *parent=0, const char *name=0,
    00405          bool modal=true, bool separator=false,
    00406          const KGuiItem &yes = KStdGuiItem::yes(), // i18n("&Yes")
    00407          const KGuiItem &no = KStdGuiItem::no(), // i18n("&No"),
    00408          const KGuiItem &cancel = KStdGuiItem::cancel() // i18n("&Cancel")
    00409          );
    00410
    00414     ~KDialogBase();
    00415
    00426     void setButtonBoxOrientation( int orientation );
    00427
    00439     void setEscapeButton( ButtonCode id );
    00440
    00441
    00449     virtual void adjustSize();
    00450     virtual QSize sizeHint() const;
    00451     virtual QSize minimumSizeHint() const;
    00452
    00463     QFrame *plainPage();
    00464
    00492     QFrame  *addPage( const QString &itemName,
    00493               const QString &header=QString::null,
    00494               const QPixmap &pixmap=QPixmap() );
    00495
    00507     QFrame  *addPage( const QStringList &items,
    00508               const QString &header=QString::null,
    00509               const QPixmap &pixmap=QPixmap() );
    00510
    00535     QVBox *addVBoxPage( const QString &itemName,
    00536             const QString &header=QString::null,
    00537             const QPixmap &pixmap=QPixmap() );
    00538
    00550     QVBox *addVBoxPage( const QStringList &items,
    00551             const QString &header=QString::null,
    00552             const QPixmap &pixmap=QPixmap() );
    00553
    00572     QHBox *addHBoxPage( const QString &itemName,
    00573             const QString &header=QString::null,
    00574             const QPixmap &pixmap=QPixmap() );
    00575
    00587     QHBox *addHBoxPage( const QStringList &items,
    00588             const QString &header=QString::null,
    00589             const QPixmap &pixmap=QPixmap() );
    00590
    00611     QGrid *addGridPage( int n, Orientation dir,
    00612             const QString &itemName,
    00613             const QString &header=QString::null,
    00614             const QPixmap &pixmap=QPixmap() );
    00615
    00616
    00628     QGrid *addGridPage( int n, Orientation dir,
    00629             const QStringList &items,
    00630             const QString &header=QString::null,
    00631             const QPixmap &pixmap=QPixmap() );
    00632
    00633
    00640     void setFolderIcon(const QStringList &path,const QPixmap &pixmap);
    00641
    00655     QFrame *makeMainWidget();
    00656
    00670     QVBox *makeVBoxMainWidget();
    00671
    00685     QHBox *makeHBoxMainWidget();
    00686
    00704     QGrid *makeGridMainWidget( int n, Orientation dir );
    00705
    00706
    00711     void enableButtonSeparator( bool state );
    00712
    00723     void showButton( ButtonCode id, bool state );
    00724
    00733     void showButtonOK( bool state );
    00734
    00743     void showButtonApply( bool state );
    00744
    00751     void showButtonCancel( bool state );
    00752
    00763     bool showPage( int index );
    00764
    00773     int activePageIndex() const;
    00774
    00775
    00792     int pageIndex( QWidget *widget ) const;
    00793
    00794
    00807     void setMainWidget( QWidget *widget );
    00808
    00814     QWidget *mainWidget();
    00815
    00823     void disableResize();
    00824
    00836     void setInitialSize( const QSize &s, bool noResize=false );
    00837
    00848     void incInitialSize( const QSize &s, bool noResize=false );
    00849
    00857    QSize configDialogSize( const QString& groupName ) const;
    00858
    00868    QSize configDialogSize( KConfig& config, const QString& groupName ) const;
    00869
    00879    void saveDialogSize( const QString& groupName, bool global=false );
    00880
    00891    void saveDialogSize( KConfig& config, const QString& groupName,
    00892                  bool global=false ) const;
    00893
    00903     void setButtonOK( const KGuiItem &item = KStdGuiItem::ok() );
    00904
    00920     void setButtonOKText( const QString &text=QString::null,
    00921               const QString &tooltip=QString::null,
    00922               const QString &quickhelp=QString::null ) KDE_DEPRECATED;
    00923
    00933     void setButtonApply( const KGuiItem &item = KStdGuiItem::apply() );
    00934
    00950     void setButtonApplyText( const QString &text=QString::null,
    00951                  const QString &tooltip=QString::null,
    00952                  const QString &quickhelp=QString::null ) KDE_DEPRECATED;
    00953
    00963     void setButtonCancel( const KGuiItem &item = KStdGuiItem::cancel() );
    00964
    00978     void setButtonCancelText( const QString &text=QString::null,
    00979                   const QString &tooltip=QString::null,
    00980                   const QString &quickhelp=QString::null ) KDE_DEPRECATED;
    00981
    00988     void setButtonText( ButtonCode id, const QString &text );
    00989
    00996     void setButtonTip( ButtonCode id, const QString &text );
    00997
    01004     void setButtonWhatsThis( ButtonCode id, const QString &text );
    01005
    01017     void setButtonGuiItem( ButtonCode id, const KGuiItem &item );
    01018
    01029      void setTreeListAutoResize( bool state );
    01030
    01043     void setShowIconsInTreeList(bool state);
    01044
    01053     void setRootIsDecorated( bool state );
    01054
    01068     void unfoldTreeList( bool persist = false );
    01069
    01078     void addWidgetBelowList( QWidget * widget );
    01079
    01090     void addButtonBelowList( const QString & text, QObject * recv, const char * slot );
    01091
    01103     void addButtonBelowList( const KGuiItem & guiitem, QObject * recv, const char * slot );
    01104
    01117     void setIconListAllVisible( bool state );
    01118
    01124     static bool haveBackgroundTile();
    01125
    01132     static const QPixmap *backgroundTile();
    01137     static const QPixmap *getBackgroundTile() KDE_DEPRECATED;
    01138
    01146     static void setBackgroundTile( const QPixmap *pix );
    01147
    01153     void showTile( bool state );
    01154
    01166     void  getBorderWidths( int& ulx, int& uly, int& lrx, int& lry ) const KDE_DEPRECATED;
    01167
    01179     QRect getContentsRect() const KDE_DEPRECATED;
    01180
    01198     QSize calculateSize( int w, int h ) const;
    01199
    01208     QString helpLinkText() const;
    01209
    01223     QPushButton *actionButton( ButtonCode id );
    01224
    01225   public slots:
    01232     void enableButton( ButtonCode id, bool state );
    01233
    01239     void enableButtonOK( bool state );
    01240
    01246     void enableButtonApply( bool state );
    01247
    01253     void enableButtonCancel( bool state );
    01254
    01260     void enableLinkedHelp( bool state );
    01261
    01271     void delayedDestruct();
    01272
    01281     void setHelpLinkText( const QString &text );
    01282
    01295     void setHelp( const QString &anchor,
    01296           const QString &appname = QString::null );
    01297
    01301     void helpClickedSlot( const QString & );
    01302
    01306     void setDetails(bool showDetails);
    01307
    01314     void setDetailsWidget(QWidget *detailsWidget);
    01315
    01320     void updateBackground();
    01321
    01330     void cancel();
    01331
    01332   signals:
    01337     void helpClicked();
    01338
    01343     void defaultClicked();
    01344
    01345
    01350     void user3Clicked();
    01351
    01356     void user2Clicked();
    01357
    01362     void user1Clicked();
    01363
    01368     void applyClicked();
    01369
    01374     void tryClicked();
    01375
    01380     void okClicked();
    01381
    01386     void yesClicked();
    01387
    01392     void noClicked();
    01393
    01398     void cancelClicked();
    01399
    01404     void closeClicked();
    01405
    01410     void apply();
    01411
    01415     void backgroundChanged();
    01416
    01424     void hidden();
    01425
    01440     void finished();
    01441
    01446     void aboutToShowDetails();
    01447
    01452     void aboutToShowPage(QWidget *page);
    01453
    01454   protected:
    01460     virtual void keyPressEvent( QKeyEvent *e );
    01461
    01466     virtual void hideEvent( QHideEvent * );
    01467
    01474     virtual void closeEvent( QCloseEvent *e );
    01475
    01476   protected slots:
    01481     virtual void slotHelp();
    01482
    01486     virtual void slotDefault();
    01487
    01492     virtual void slotDetails();
    01493
    01497     virtual void slotUser3();
    01498
    01502     virtual void slotUser2();
    01503
    01507     virtual void slotUser1();
    01508
    01513     virtual void slotOk();
    01514
    01518     virtual void slotApply();
    01519
    01523     virtual void slotTry();
    01524
    01529     virtual void slotYes();
    01530
    01535     virtual void slotNo();
    01536
    01542     virtual void slotCancel();
    01543
    01548     virtual void slotClose();
    01549
    01555     virtual void applyPressed();
    01556
    01560     void updateGeometry();
    01561
    01569     void slotDelayedDestruct();
    01570
    01571   private:
    01575     void setupLayout();
    01576
    01582     void makeRelay();
    01583
    01596     void makeButtonBox( int mask, ButtonCode defaultButton,
    01597             const KGuiItem &user1 = KGuiItem(),
    01598             const KGuiItem &user2 = KGuiItem(),
    01599             const KGuiItem &user3 = KGuiItem() );
    01600
    01608     void setButtonFocus( QPushButton *p, bool isDefault, bool isFocus );
    01609
    01615     void printMakeMainWidgetError();
    01616
    01617   private slots:
    01623     void setButtonStyle( int style );
    01624
    01625
    01626   private:
    01627     QBoxLayout   *mTopLayout;
    01628     QWidget      *mMainWidget;
    01629     KURLLabel    *mUrlHelp;
    01630     KJanusWidget *mJanus;
    01631     KSeparator   *mActionSep;
    01632
    01633     bool mIsActivated;
    01634
    01635     QString mAnchor;
    01636     QString mHelpApp;
    01637     QString mHelpLinkText;
    01638
    01639     static KDialogBaseTile *mTile;
    01640     bool   mShowTile;
    01641
    01642     bool mMessageBoxMode;
    01643     int  mButtonOrientation;
    01644     ButtonCode mEscapeButton;
    01645
    01646   protected:
    01647     virtual void virtual_hook( int id, void* data );
    01648   private:
    01649     class KDialogBasePrivate;
    01650     KDialogBasePrivate* const d;
    01651 };
    01652
    01653 #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:15 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003