Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   Related Pages  

KDialogBase Class Reference

A dialog base class with standard buttons and predefined layouts. More...

#include <kdialogbase.h>

Inheritance diagram for KDialogBase:

KDialog KABC::AddresseeDialog KABC::DistributionListDialog KABC::EmailSelector KAboutDialog KBugReport KColorDialog KDirSelectDialog KEditToolbar KFileDialog KFontDialog KIconDialog KIO::PasswordDialog KKeyDialog KLineEditDlg KNotifyDialog KPasswordDialog KProgressDialog KPropertiesDialog KScanDialog KURLBarItemDialog KURLRequesterDlg List of all members.

Public Types

enum  ButtonCode
enum  DialogType

Public Slots

void enableButton (ButtonCode id, bool state)
void enableButtonOK (bool state)
void enableButtonApply (bool state)
void enableButtonCancel (bool state)
void enableLinkedHelp (bool state)
void delayedDestruct ()
void setHelpLinkText (const QString &text)
void setHelp (const QString &anchor, const QString &appname=QString::null)
void helpClickedSlot (const QString &)
void setDetails (bool showDetails)
void setDetailsWidget (QWidget *detailsWidget)
void updateBackground ()
void cancel ()

Signals

void helpClicked ()
void defaultClicked ()
void user3Clicked ()
void user2Clicked ()
void user1Clicked ()
void applyClicked ()
void tryClicked ()
void okClicked ()
void yesClicked ()
void noClicked ()
void cancelClicked ()
void closeClicked ()
void apply ()
void backgroundChanged ()
void hidden ()
void finished ()
void aboutToShowDetails ()
void aboutToShowPage (QWidget *page)

Public Methods

 KDialogBase (QWidget *parent=0, const char *name=0, bool modal=true, const QString &caption=QString::null, int buttonMask=Ok|Apply|Cancel, ButtonCode defaultButton=Ok, bool separator=false, const KGuiItem &user1=KGuiItem(), const KGuiItem &user2=KGuiItem(), const KGuiItem &user3=KGuiItem())
 KDialogBase (int dialogFace, const QString &caption, int buttonMask, ButtonCode defaultButton, QWidget *parent=0, const char *name=0, bool modal=true, bool separator=false, const KGuiItem &user1=KGuiItem(), const KGuiItem &user2=KGuiItem(), const KGuiItem &user3=KGuiItem())
 KDialogBase (const QString &caption, int buttonMask=Yes|No|Cancel, ButtonCode defaultButton=Yes, ButtonCode escapeButton=Cancel, QWidget *parent=0, const char *name=0, bool modal=true, bool separator=false, const KGuiItem &yes=KStdGuiItem::yes(), const KGuiItem &no=KStdGuiItem::no(), const KGuiItem &cancel=KStdGuiItem::cancel())
 ~KDialogBase ()
void setButtonBoxOrientation (int orientation)
void setEscapeButton (ButtonCode id)
virtual void adjustSize ()
QFrame * plainPage ()
QFrame * addPage (const QString &itemName, const QString &header=QString::null, const QPixmap &pixmap=QPixmap())
QFrame * addPage (const QStringList &items, const QString &header=QString::null, const QPixmap &pixmap=QPixmap())
QVBox * addVBoxPage (const QString &itemName, const QString &header=QString::null, const QPixmap &pixmap=QPixmap())
QVBox * addVBoxPage (const QStringList &items, const QString &header=QString::null, const QPixmap &pixmap=QPixmap())
QHBox * addHBoxPage (const QString &itemName, const QString &header=QString::null, const QPixmap &pixmap=QPixmap())
QHBox * addHBoxPage (const QStringList &items, const QString &header=QString::null, const QPixmap &pixmap=QPixmap())
QGrid * addGridPage (int n, Orientation dir, const QString &itemName, const QString &header=QString::null, const QPixmap &pixmap=QPixmap())
QGrid * addGridPage (int n, Orientation dir, const QStringList &items, const QString &header=QString::null, const QPixmap &pixmap=QPixmap())
void setFolderIcon (const QStringList &path, const QPixmap &pixmap)
QFrame * makeMainWidget ()
QVBox * makeVBoxMainWidget ()
QHBox * makeHBoxMainWidget ()
QGrid * makeGridMainWidget (int n, Orientation dir)
void enableButtonSeparator (bool state)
void showButton (ButtonCode id, bool state)
void showButtonOK (bool state)
void showButtonApply (bool state)
void showButtonCancel (bool state)
bool showPage (int index)
int activePageIndex () const
int pageIndex (QWidget *widget) const
void setMainWidget (QWidget *widget)
QWidget * mainWidget ()
void disableResize ()
void setInitialSize (const QSize &s, bool noResize=false)
void incInitialSize (const QSize &s, bool noResize=false)
QSize configDialogSize (const QString &groupName) const
void saveDialogSize (const QString &groupName, bool global=false)
void setButtonOKText (const QString &text=QString::null, const QString &tooltip=QString::null, const QString &quickhelp=QString::null)
void setButtonApplyText (const QString &text=QString::null, const QString &tooltip=QString::null, const QString &quickhelp=QString::null)
void setButtonCancelText (const QString &text=QString::null, const QString &tooltip=QString::null, const QString &quickhelp=QString::null)
void setButtonText (ButtonCode id, const QString &text)
void setButtonTip (ButtonCode id, const QString &text)
void setButtonWhatsThis (ButtonCode id, const QString &text)
void setTreeListAutoResize (bool state)
void setShowIconsInTreeList (bool state)
void setRootIsDecorated (bool state)
void setIconListAllVisible (bool state)
void showTile (bool state)
void getBorderWidths (int &ulx, int &uly, int &lrx, int &lry) const
QRect getContentsRect () const
QSize calculateSize (int w, int h) const
QString helpLinkText () const
QPushButton * actionButton (ButtonCode id)

Static Public Methods

bool haveBackgroundTile ()
const QPixmap * backgroundTile ()
const QPixmap * getBackgroundTile ()
void setBackgroundTile (const QPixmap *pix)

Protected Slots

virtual void slotHelp ()
virtual void slotDefault ()
virtual void slotDetails ()
virtual void slotUser3 ()
virtual void slotUser2 ()
virtual void slotUser1 ()
virtual void slotOk ()
virtual void slotApply ()
virtual void slotTry ()
virtual void slotYes ()
virtual void slotNo ()
virtual void slotCancel ()
virtual void slotClose ()
virtual void applyPressed ()
void updateGeometry ()
void slotDelayedDestruct ()

Protected Methods

virtual void keyPressEvent (QKeyEvent *e)
virtual void hideEvent (QHideEvent *)
virtual void closeEvent (QCloseEvent *e)
virtual void virtual_hook (int id, void *data)

Detailed Description

A dialog base class with standard buttons and predefined layouts.

Provides basic functionality needed by nearly all dialogs.

It offers the standard action buttons you'd expect to find in a dialog as well as the capability to define at most three configurable buttons. You can define a main widget that contains your specific dialog layout or you can use a predefined layout. Currently, TreeList/Paged, Tabbed, Plain, Swallow and IconList mode layouts (faces) are available.

The class takes care of the geometry management. You only need to define a minimum size for the widget you want to use as the main widget.

You can set a background tile (pixmap) for parts of the dialog. The tile you select is shared by all instances of this class in your application so that they all get the same look and feel.

There is a tutorial available on http://developer.kde.org/ (NOT YET) that contains copy/paste examples as well a screenshots on how to use this class.

@sect Standard buttons (action buttons):

You select which buttons should be displayed, but you do not choose the order in which they are displayed. This ensures a standard interface in KDE. The button order can be changed, but this ability is only available for a central KDE control tool. The following buttons are available: OK, Cancel/Close, Apply/Try, Default, Help and three user definable buttons: User1, User1 and User3. You must specify the text of the UserN buttons. Each button has a virtual slot so you can overload the method when required. The default slots emit a signal as well, so you can choose to connect a signal instead of overriding the slot. The default implementation of slotHelp() will automatically enable the help system if you have provided a path to the help text. slotCancel() and slotClose() will run QDialog::reject() while slotOk() will run QDialog::accept(). You define a default button in the constructor.

If you don't want any buttons at all because your dialog is special in some way, then set the buttonMask argument in the constructor to zero (0). The optional button box separator line should not be enabled in this case. Note that the KDialogBase will animate a button press when the user press Escape. The button that is enabled is either Cancel, Close or the button that is defined by setEscapeButton() The animation will not take place when the buttonMask is zero. Your custom dialog code should reimplement the keyPressEvent and animate the cancel button so that the dialog behaves like regular dialogs. NOTE: None of the regular slots (like slotOk() ) or signals that are related to the standard action buttons will be used when you don't use these buttons.

@sect Dialog shapes:

You can either use one of the prebuilt, easy to use, faces or define your own main widget. The dialog provides ready to use TreeList, Tabbed, Plain, Swallow and IconList faces. KDialogBase uses the KJanusWidget class internally to accomplish this. If you use TreeList, Tabbed or IconList mode, then add pages with addPage().

Pages that have been added can be removed again by simply deleting the page.

If you want complete control of how the dialog contents should look, then you can define a main widget by using setMainWidget(). You only need to set the minimum size of that widget and the dialog will resize itself to fit this minimum size. The dialog is resizeable, but cannot be made smaller than its minimum size.

@sect Layout:

The dialog consists of a help area on top (becomes visible if you define a help path and use enableLinkedHelp()), the main area which is the built-in dialog face or your own widget in the middle and by default a button box at the bottom. The button box can also be placed at the right edge (to the right of the main widget). Use setButtonBoxOrientation() to control this behavior. A separator can be placed above the button box (or to the left when the button box is at the right edge). Normally you specify that you want a separator in the constructor, but you can use enableButtonSeparator() as well.

@sect Standard compliance:

The class is derived from KDialog, so you get automatic access to the KDialog::marginHint(), KDialog::spacingHint() and the extended KDialog::setCaption() method. NOTE: The main widget you use will be positioned inside the dialog using a margin (or border) equal to KDialog::marginHint(). You shall not add a margin yourself. The example below (from kedit) shows how you use the top level widget and its layout. The second argument (the border) to QVBoxLayout is 0. This situation is valid for addPage , addVBoxPage , addHBoxPage , addGridPage , makeMainWidget , makeVBoxMainWidget , makeHBoxMainWidget and makeGridMainWidget as well.

Example:

 UrlDlg::UrlDlg( QWidget *parent, const QString& caption,
                 const QString& urltext)
   : KDialogBase( parent, "urldialog", true, caption,
		    KDialogBase::Ok|KDialogBase::Cancel, KDialogBase::Ok, true )
 {
   QWidget *page = new QWidget( this );
   setMainWidget(page);
   QVBoxLayout *topLayout = new QVBoxLayout( page, 0, spacingHint() );

   QLabel *label = new QLabel( caption, page, "caption" );
   topLayout->addWidget( label );

   lineedit = new QLineEdit( urltext, page, "lineedit" );
   lineedit->setMinimumWidth(fontMetrics().maxWidth()*20);
   topLayout->addWidget( lineedit );

   topLayout->addStretch(10);
 }
 

If you use makeVBoxMainWidget(), then the dialog above can be made simpler but you lose the ability to add a stretchable area:

 UrlDlg::UrlDlg( QWidget *parent, const QString& caption,
		const QString& urltext)
 : KDialogBase( parent, "urldialog", true, caption,
		  KDialogBase::Ok|KDialogBase::Cancel, KDialogBase::Ok, true )
 {
   QVBox *page = makeVBoxMainWidget();
   QLabel *label = new QLabel( caption, page, "caption" );

   lineedit = new QLineEdit( urltext, page, "lineedit" );
   lineedit->setMinimumWidth(fontMetrics().maxWidth()*20);
 }
 

This class can be used in many ways. Note that most KDE ui widgets and many of KDE core applications use the KDialogBase so for more inspiration you should study the code for these.

Author:
Mirko Boehm (mirko@kde.org) and Espen Sand (espen@kde.org)

Definition at line 191 of file kdialogbase.h.


Member Enumeration Documentation

enum KDialogBase::ButtonCode
 

  • Help - Show Help-button.
  • Default - Show Default-button.
  • Details - Show Details-button.
  • Ok - Show Ok-button.
  • Apply - Show Apply-button.
  • Try - Show Try-button.
  • Cancel - Show Cancel-button.
  • Close - Show Close-button.
  • User1 - Show User define-button 1.
  • User2 - Show User define-button 2.
  • User3 - Show User define-button 3.
  • No - Show No-button.
  • Yes - Show Yes-button.
  • Stretch - Used internally. Ignored when used in a constructor.
  • Filler - Used internally. Ignored when used in a constructor.

Definition at line 214 of file kdialogbase.h.

enum KDialogBase::DialogType
 

  • TreeList - A dialog with a tree on the left side and a representation of the contents on the right side.
  • Tabbed - A dialog using a QTabWidget.
  • Plain - A normal dialog. Use plainPage() as parent for widgets.
  • Swallow
  • IconList - A dialog with an iconlist on the left side and a representation of the contents on the right side.

Definition at line 252 of file kdialogbase.h.


Constructor & Destructor Documentation

KDialogBase::KDialogBase QWidget *    parent = 0,
const char *    name = 0,
bool    modal = true,
const QString &    caption = QString::null,
int    buttonMask = Ok|Apply|Cancel,
ButtonCode    defaultButton = Ok,
bool    separator = false,
const KGuiItem &    user1 = KGuiItem(),
const KGuiItem &    user2 = KGuiItem(),
const KGuiItem &    user3 = KGuiItem()
 

Constructor for the standard mode where you must specify the main widget with setMainWidget() .

Parameters:
parent  Parent of the dialog.
name  Dialog name (for internal use only)
modal  Controls dialog modality. If false, the rest of the program interface (example: other dialogs) is accessible while the dialog is open.
caption  The dialog caption. Do not specify the application name here. The class will take care of that.
buttonMask  Specifies which buttons will be visible. If zero (0) no button box will be made.
defaultButton  Specifies which button will be marked as the default.
separator  If true, a separator line is drawn between the action buttons and the main widget.
user1  User button1 item.
user2  User button2 item.
user3  User button3 item.

KDialogBase::KDialogBase int    dialogFace,
const QString &    caption,
int    buttonMask,
ButtonCode    defaultButton,
QWidget *    parent = 0,
const char *    name = 0,
bool    modal = true,
bool    separator = false,
const KGuiItem &    user1 = KGuiItem(),
const KGuiItem &    user2 = KGuiItem(),
const KGuiItem &    user3 = KGuiItem()
 

Constructor for the predefined layout mode where you specify the kind of layout (face).

Parameters:
dialogFace  You can use TreeList, Tabbed, Plain, Swallow or IconList.
caption  The dialog caption. Do not specify the application name here. The class will take care of that.
buttonMask  Specifies which buttons will be visible. If zero (0) no button box will be made.
defaultButton  Specifies which button will be marked as the default.
parent  Parent of the dialog.
name  Dialog name (for internal use only).
modal  Controls dialog modality. If false, the rest of the program interface (example: other dialogs) is accessible while the dialog is open.
separator  If true, a separator line is drawn between the action buttons and the main widget.
user1  User button1 text item.
user2  User button2 text item.
user3  User button3 text item.

KDialogBase::KDialogBase const QString &    caption,
int    buttonMask = Yes|No|Cancel,
ButtonCode    defaultButton = Yes,
ButtonCode    escapeButton = Cancel,
QWidget *    parent = 0,
const char *    name = 0,
bool    modal = true,
bool    separator = false,
const KGuiItem &    yes = KStdGuiItem::yes(),
const KGuiItem &    no = KStdGuiItem::no(),
const KGuiItem &    cancel = KStdGuiItem::cancel()
 

Constructor for a message box mode where the buttonMask can only contain Yes, No, or Cancel.

If you need other names you can rename the buttons with setButtonText(). The dialog box is not resizable by default but this can be changed by setInitialSize(). If you select 'modal' to be true, the dialog will return Yes, No, or Cancel when closed otherwise you can use the signals yesClicked(), noClicked(), or cancelClicked() to determine the state.

Parameters:
caption  The dialog caption. Do not specify the application name here. The class will take care of that.
buttonMask  Specifies which buttons will be visible. If zero (0) no button box will be made.
defaultButton  Specifies which button will be marked as the default.
escapeButton  Specifies which button will be activated by when the dialog receives a Key_Escape keypress.
parent  Parent of the dialog.
name  Dialog name (for internal use only).
modal  Controls dialog modality. If false, the rest of the program interface (example: other dialogs) is accessible while the dialog is open.
separator  If true, a separator line is drawn between the action buttons and the main widget.
user1  User button1 text.
user2  User button2 text.
user3  User button3 text.

KDialogBase::~KDialogBase  
 

Destructor.


Member Function Documentation

void KDialogBase::aboutToShowDetails   [signal]
 

The detailsWidget is about to get shown. This is your last chance to call setDetailsWidget if you haven't done so yet.

void KDialogBase::aboutToShowPage QWidget *    page [signal]
 

A page is about to be shown.

QPushButton* KDialogBase::actionButton ButtonCode    id
 

Returns the action button that corresponds to the id.

Normally you should not use this function. Never delete the object returned by this function. See also enableButton(), showButton(), setButtonTip(), setButtonWhatsThis(), and setButtonText().

Parameters:
id  Integer identifier of the button.
Returns:
The action button or 0 if the button does not exists.

int KDialogBase::activePageIndex  
 

Returns the index of the active page.

This method will only work when the dialog is using the predefined shape of Tabbed, TreeList or IconList.

Returns:
The page index or -1 if there is no active page.

QGrid* KDialogBase::addGridPage int    n,
Orientation    dir,
const QStringList &    items,
const QString &    header = QString::null,
const QPixmap &    pixmap = QPixmap()
 

This is like addGridPage() just above, with the difference that the first element is a list of strings.

These strings are used to form a path of folders down to the given page. The initial elements are names for the folders, while the last element is the name of the page. Note: This does yet only work for the TreeList face. Later this may be added for the IconList face too. In other faces than the TreeList, all the strings except the last one is ignored.

QGrid* KDialogBase::addGridPage int    n,
Orientation    dir,
const QString &    itemName,
const QString &    header = QString::null,
const QPixmap &    pixmap = QPixmap()
 

Add a page to the dialog when the class is used in TreeList, IconList or Tabbed mode.

The returned widget must be used as the toplevel widget for this particular page. The widget contains a QGridLayout layout so the widget children are positioned in a grid.

Parameters:
n  Specifies the number of columns if dir is Qt::Horizontal or the number of rows if dir is Qt::Vertical.
dir  Can be Qt::Horizontal or Qt::Vertical.
itemName  String used in the list or as tab item name.
header  Header text use in the list modes Ignored in Tabbed mode. If empty, the item text is used instead.
pixmap  Used in IconList mode. You should prefer a pixmap with size 32x32 pixels.
Returns:
The page widget which must be used as the toplevel widget for the page.

QHBox* KDialogBase::addHBoxPage const QStringList &    items,
const QString &    header = QString::null,
const QPixmap &    pixmap = QPixmap()
 

This is like addHBoxPage() just above, with the difference that the first element is a list of strings.

These strings are used to form a path of folders down to the given page. The initial elements are names for the folders, while the last element is the name of the page. Note: This does yet only work for the TreeList face. Later this may be added for the IconList face too. In other faces than the TreeList, all the strings except the last one is ignored.

QHBox* KDialogBase::addHBoxPage const QString &    itemName,
const QString &    header = QString::null,
const QPixmap &    pixmap = QPixmap()
 

Add a page to the dialog when the class is used in TreeList, IconList or Tabbed mode.

The returned widget must be used as the toplevel widget for this particular page. The widget contains a QHBoxLayout layout so the widget children are lined up horizontally. You can use it as follows:

Parameters:
itemName  String used in the list or as tab item name.
header  Header text use in the list modes. Ignored in Tabbed mode. If empty, the item text is used instead.
pixmap  Used in IconList mode. You should prefer a pixmap with size 32x32 pixels.
Returns:
The page widget which must be used as the toplevel widget for the page.

QFrame* KDialogBase::addPage const QStringList &    items,
const QString &    header = QString::null,
const QPixmap &    pixmap = QPixmap()
 

This is like addPage() just above, with the difference that the first element is a list of strings.

These strings are used to form a path of folders down to the given page. The initial elements are names for the folders, while the last element is the name of the page. Note: This does yet only work for the TreeList face. Later this may be added for the IconList face too. In other faces than the TreeList, all the strings except the last one is ignored.

QFrame* KDialogBase::addPage const QString &    itemName,
const QString &    header = QString::null,
const QPixmap &    pixmap = QPixmap()
 

Add a page to the dialog when the class is used in TreeList , IconList or Tabbed mode.

The returned widget must be used as the toplevel widget for this particular page. Note: The returned frame widget has no layout manager associated with it. In order to use it you must create a layout yourself as the example below illustrates:

 QFrame *page = addPage( i18n("Layout") );
 QVBoxLayout *topLayout = new QVBoxLayout( page, 0, 6 );
 QLabel *label = new QLabel( i18n("Layout type"), page );
 topLayout->addWidget( label );
 ..
 
Parameters:
itemName  String used in the list or as tab item name.
header  Header text use in the list modes. Ignored in Tabbed mode. If empty, the item text is used instead.
pixmap  Used in IconList mode. You should prefer a pixmap with size 32x32 pixels.
Returns:
The page widget which must be used as the toplevel widget for the page.

QVBox* KDialogBase::addVBoxPage const QStringList &    items,
const QString &    header = QString::null,
const QPixmap &    pixmap = QPixmap()
 

This is like addVBoxPage() just above, with the difference that the first element is a list of strings.

These strings are used to form a path of folders down to the given page. The initial elements are names for the folders, while the last element is the name of the page. Note: This does yet only work for the TreeList face. Later this may be added for the IconList face too. In other faces than the TreeList, all the strings except the last one is ignored.

QVBox* KDialogBase::addVBoxPage const QString &    itemName,
const QString &    header = QString::null,
const QPixmap &    pixmap = QPixmap()
 

Add a page to the dialog when the class is used in TreeList, IconList or Tabbed mode.

The returned widget must be used as the toplevel widget for this particular page. The widget contains a QVBoxLayout layout so the widget children are lined up vertically. You can use it as follows:

 QVBox *page = addVBoxPage( i18n("Layout") );
 QLabel *label = new QLabel( i18n("Layout type"), page );
 ..
 
Parameters:
itemName  String used in the list or as tab item name.
header  Header text use in the list modes. Ignored in Tabbed mode. If empty, the item text is used instead.
pixmap  Used in IconList mode. You should prefer a pixmap with size 32x32 pixels.
Returns:
The page widget which must be used as the toplevel widget for the page.

virtual void KDialogBase::adjustSize   [virtual]
 

Adjust the size of the dialog to fit the contents just before QDialog::exec() or QDialog::show() is called.

This method will not be called if the dialog has been explicitly resized before showing it.

void KDialogBase::apply   [signal]
 

Do not use this signal. Is is kept for compatibility reasons. Use applyClicked() instead.

void KDialogBase::applyClicked   [signal]
 

The Apply button was pressed. This signal is only emitted if slotApply() is not replaced.

virtual void KDialogBase::applyPressed   [protected, virtual, slot]
 

Do not use this slot. Is is kept for compatibility reasons. Activated when the Apply button has been clicked

void KDialogBase::backgroundChanged   [signal]
 

The background tile has changed.

const QPixmap* KDialogBase::backgroundTile   [static]
 

Returns a pointer to the background tile if there is one.

Returns:
The tile pointer or 0 if no tile is defined.

QSize KDialogBase::calculateSize int    w,
int    h
const
 

Calculate the size hint for the dialog.

With this method it is easy to calculate a size hint for a dialog derived from KDialogBase if you know the width and height of the elements you add to the widget. The rectangle returned is calculated so that all elements exactly fit into it. Thus, you may set it as a minimum size for the resulting dialog.

You should not need to use this method and never if you use one of the predefined shapes.

Parameters:
w  The width of you special widget.
h  The height of you special widget.
Returns:
The minimum width and height of the dialog using w and h as the size of the main widget.

void KDialogBase::cancel   [slot]
 

Force closing the dialog, setting its result code to the one Esc would set. You shouldn't use this, generally (let the user make his choice!) but it can be useful when you need to make a choice after a timeout has happened, or when the parent widget has to go somewhere else (e.g. html redirections).

Since:
3.1

void KDialogBase::cancelClicked   [signal]
 

The Cancel button was pressed. This signal is only emitted if slotCancel() is not replaced.

void KDialogBase::closeClicked   [signal]
 

The Close button was pressed. This signal is only emitted if slotClose() is not replaced.

virtual void KDialogBase::closeEvent QCloseEvent *    e [protected, virtual]
 

Detects when a dialog is being closed from the window manager controls. If the Cancel or Close button is present then the button is activated. Otherwise standard QDialog behavior will take place.

QSize KDialogBase::configDialogSize const QString &    groupName const
 

read the dialogs size from the configuration according to the screen size. If no size is saved for one dimension of the screen, a default size is choosed. The default width is 50 percent of the screen width, the default height is 40 percent of the screen height.

Parameters:
groupName  Name of the group to read from. The old group of KGlobal::config is preserved.

void KDialogBase::defaultClicked   [signal]
 

The Default button was pressed. This signal is only emitted if slotDefault() is not replaced.

void KDialogBase::delayedDestruct   [slot]
 

Destruct the Dialog delayed.

You can call this function from slots like closeClicked() and hidden(). You should not use the dialog any more after calling this function.

Since:
3.1

void KDialogBase::disableResize  
 

Convenience method.

Freezes the dialog size using the minimum size of the dialog. This method should only be called right before show() or exec().

void KDialogBase::enableButton ButtonCode    id,
bool    state
[slot]
 

Enable or disable (gray out) a general action button.

Parameters:
id  Button identifier.
state  true enables the button(s).

void KDialogBase::enableButtonApply bool    state [slot]
 

Enable or disable (gray out) the Apply button.

Parameters:
state  true enables the button.

void KDialogBase::enableButtonCancel bool    state [slot]
 

Enable or disable (gray out) the Cancel button.

Parameters:
state  true enables the button.

void KDialogBase::enableButtonOK bool    state [slot]
 

Enable or disable (gray out) the OK button.

Parameters:
state  true enables the button.

void KDialogBase::enableButtonSeparator bool    state
 

Hide or display the a separator line drawn between the action buttons an the main widget.

void KDialogBase::enableLinkedHelp bool    state [slot]
 

Display or hide the help link area on the top of the dialog.

Parameters:
state  true will display the area.

void KDialogBase::finished   [signal]
 

The dialog has finished.

A dialog emits finished after a user clicks a button that ends the dialog.

This signal is also emitted when you call hide()

If you have stored a pointer to the dialog do not try to delete the pointer in the slot that is connected to this signal.

You should use delayedDestruct() instead.

const QPixmap* KDialogBase::getBackgroundTile   [static]
 

Deprecated:
Use backgroundTile() instead.

void KDialogBase::getBorderWidths int &    ulx,
int &    uly,
int &    lrx,
int &    lry
const
 

Deprecated:
Do not use this method. It is included for compatibility reasons.

This method returns the border widths in all directions the dialog needs for itself. Respect this, or get bad looking results. The references are upper left x (ulx), upper left y (uly), lower right x (lrx), and lower left y (lly). The results are differences in pixels from the dialogs corners.

QRect KDialogBase::getContentsRect  
 

Deprecated:
Do not use this method. It is included for compatibility reasons.

This method returns the contents rectangle of the work area. Place your widgets inside this rectangle, and use it to set up their geometry. Be careful: The rectangle is only valid after resizing the dialog, as it is a result of the resizing process. If you need the "overhead" the dialog needs for its elements, use getBorderWidths().

bool KDialogBase::haveBackgroundTile   [static]
 

Check whether the background tile is set or not.

Returns:
true if there is defined a background tile.

void KDialogBase::helpClicked   [signal]
 

The Help button was pressed. This signal is only emitted if slotHelp() is not replaced.

void KDialogBase::helpClickedSlot const QString &    [slot]
 

Connected to help link label.

QString KDialogBase::helpLinkText  
 

Returns the help link text.

If no text has been defined, "Get help..." (internationalized) is returned.

Returns:
The help link text.

void KDialogBase::hidden   [signal]
 

The dialog is about to be hidden.

A dialog is hidden after a user clicks a button that ends the dialog or when the user switches to another desktop or minimizes the dialog.

virtual void KDialogBase::hideEvent QHideEvent *    [protected, virtual]
 

Emits the hidden signal. You can connect to that signal to detect when a dialog has been closed.

void KDialogBase::incInitialSize const QSize &    s,
bool    noResize = false
 

Convenience method. Add a size to the default minimum size of a dialog.

This method should only be called right before show() or exec().

Parameters:
s  Size added to minimum size.
noResize  If true the dialog cannot be resized.

virtual void KDialogBase::keyPressEvent QKeyEvent *    e [protected, virtual]
 

Maps some keys to the actions buttons. F1 is mapped to the Help button if present and Escape to the Cancel or Close if present. The button action event is animated.

Reimplemented from KDialog.

Reimplemented in KColorDialog.

QWidget* KDialogBase::mainWidget  
 

Returns the main widget if any.

Returns:
The current main widget. Can be 0 if no widget has been defined.

QGrid* KDialogBase::makeGridMainWidget int    n,
Orientation    dir
 

Make a main widget.

The function will make a QGrid widget and use setMainWidget() to register it. You can not use this function more than once, not if you have already defined a main widget with setMainWidget and not if you have used the constructor where you define the face (Plain, Swallow, Tabbed, TreeList, IconList).

Parameters:
n  Specifies the number of columns if 'dir' is Qt::Horizontal or the number of rows if 'dir' is Qt::Vertical.
dir  Can be Qt::Horizontal or Qt::Vertical.
Returns:
The main widget or 0 if any of the rules described above were broken.

QHBox* KDialogBase::makeHBoxMainWidget  
 

Make a main widget.

The function will make a QHBox widget and use setMainWidget() to register it. You can not use this function more than once, not if you have already defined a main widget with setMainWidget() and not if you have used the constructor where you define the face (Plain, Swallow, Tabbed, TreeList, IconList).

Returns:
The main widget or 0 if any of the rules described above were broken.

QFrame* KDialogBase::makeMainWidget  
 

Make a main widget.

The function will make a QFrame widget and use setMainWidget() to register it. You can not use this function more than once, not if you have already defined a main widget with setMainWidget() and not if you have used the constructor where you define the face (Plain, Swallow, Tabbed, TreeList).

Returns:
The main widget or 0 if any of the rules described above were broken.

QVBox* KDialogBase::makeVBoxMainWidget  
 

Make a main widget.

The function will make a QVBox widget and use setMainWidget() to register it. You can use this function more than once, not if you have already defined a main widget with setMainWidget() and not if you have used the constructor where you define the face (Plain, Swallow, Tabbed, TreeList, IconList).

Returns:
The main widget or 0 if any of the rules described above were broken.

void KDialogBase::noClicked   [signal]
 

The No button was pressed. This signal is only emitted if slotNo() is not replaced.

void KDialogBase::okClicked   [signal]
 

The OK button was pressed. This signal is only emitted if slotOk() is not replaced.

int KDialogBase::pageIndex QWidget *    widget const
 

Returns the index of a page created with addPage(), addVBoxPage(), addHBoxPage() or addGridPage(). You can can compare this index with the value returned from activePageIndex() if you need to do some page specific actions in your code.

The returned index will never change so you can safely use this function once and save the value.

Parameters:
widget  The widget returned by addPage(), addVBoxPage(), addHBoxPage() or addGridPage().
Returns:
The index or -1 if the face is not Tabbed, TreeList or IconList

QFrame* KDialogBase::plainPage  
 

Retrieve the empty page when the predefined layout is used in Plain mode.

This widget must used as the toplevel widget of your dialog code.

Returns:
The widget or 0 if the predefined layout mode is not Plain or if you don't use any predefined layout.

void KDialogBase::saveDialogSize const QString &    groupName,
bool    global = false
 

save the dialogs size dependant on the screen dimension either to the global or application config file.

Parameters:
The  group to which the dialogs size is saved. See configDialogSize to read the size.
global  Set to true if the entry should go to the global config rather than to the applications config. Default is false.

void KDialogBase::setBackgroundTile const QPixmap *    pix [static]
 

Sets the background tile.

If it is Null (0), the background image is deleted.

Parameters:
pix  The background tile.

void KDialogBase::setButtonApplyText const QString &    text = QString::null,
const QString &    tooltip = QString::null,
const QString &    quickhelp = QString::null
 

Sets the text of the Apply button.

If the default parameters are used (that is, if no parameters are given) the standard texts are set: The button shows "Apply", the tooltip contains "Apply settings." (internationalized) and the quickhelp text explains the standard behavior of the apply button in settings dialogs.

Parameters:
text  Button text.
tooltip  Tooltip text.
quickhelp  Quick help text.

void KDialogBase::setButtonBoxOrientation int    orientation
 

Sets the orientation of the button box.

It can be Vertical or Horizontal. If Horizontal (default), the button box is positioned at the bottom of the dialog. If Vertical it will be placed at the right edge of the dialog.

Parameters:
orientation  The button box orientation.

void KDialogBase::setButtonCancelText const QString &    text = QString::null,
const QString &    tooltip = QString::null,
const QString &    quickhelp = QString::null
 

Sets the text of the Cancel button.

If the default parameters are used (that is, if no parameters are given) the standard texts are set: The button shows "Cancel", everything else will not be set.

Parameters:
text  Button text.
tooltip  Tooltip text.
quickhelp  Quick help text.

void KDialogBase::setButtonOKText const QString &    text = QString::null,
const QString &    tooltip = QString::null,
const QString &    quickhelp = QString::null
 

Sets the text of the OK button.

If the default parameters are used (that is, if no parameters are given) the standard texts are set: The button shows "OK", the tooltip contains "Accept settings." (internationalized) and the quickhelp text explains the standard behavior of the OK button in settings dialogs.

Parameters:
text  Button text.
tooltip  Tooltip text.
quickhelp  Quick help text.

void KDialogBase::setButtonText ButtonCode    id,
const QString &    text
 

Sets the text of any button.

Parameters:
id  The button identifier.
text  Button text.

void KDialogBase::setButtonTip ButtonCode    id,
const QString &    text
 

Sets the tooltip text of any button.

Parameters:
id  The button identifier.
text  Button text.

void KDialogBase::setButtonWhatsThis ButtonCode    id,
const QString &    text
 

Sets the "What's this?" text of any button.

Parameters:
id  The button identifier.
text  Button text.

void KDialogBase::setDetails bool    showDetails [slot]
 

Sets the status of the Details button.

void KDialogBase::setDetailsWidget QWidget *    detailsWidget [slot]
 

Sets the widget that gets shown when "Details" is enabled.

The dialog takes over ownership of the widget. Any previously set widget gets deleted.

void KDialogBase::setEscapeButton ButtonCode    id
 

Sets the button that will be activated when the Escape key is pressed.

Normally you should not use this function. By default, the Escape key is mapped to either the Cancel or the Close button if one of these buttons are defined. The user expects that Escape will cancel an operation so use this function with caution.

Parameters:
id  The button code.

void KDialogBase::setFolderIcon const QStringList &    path,
const QPixmap &    pixmap
 

Sets the icon used in TreeList Mode for the given path.

Parameters:
path  The path for which this icon should be shown.
pixmap  The icon used.

void KDialogBase::setHelp const QString &    anchor,
const QString &    appname = QString::null
[slot]
 

Sets the help path and topic.

Parameters:
anchor  Defined anchor in your docbook sources
appname  Defines the appname the help belongs to If empty it's the current one

void KDialogBase::setHelpLinkText const QString &    text [slot]
 

Sets the text that is shown as the linked text.

If text is empty, the text "Get help..." (internationalized) is used instead.

Parameters:
text  The link text.

void KDialogBase::setIconListAllVisible bool    state
 

This function has only effect in IconList mode.

Defines how the icon list widget is displayed. By default it is the widgets in the dialog pages that decide the minimum height of the dialog. A vertical scrollbar can be used in the icon list area.

Parameters:
state  The visibility mode. If true, the minimum height is adjusted so that every icon in the list is visible at the same time. The vertical scrollbar will never be visible.

void KDialogBase::setInitialSize const QSize &    s,
bool    noResize = false
 

Convenience method. Sets the initial dialog size.

This method should only be called right before show() or exec(). The initial size will be ignored if smaller than the dialog's minimum size.

Parameters:
s  Startup size.
noResize  If true the dialog cannot be resized.

void KDialogBase::setMainWidget QWidget *    widget
 

Sets the main user definable widget.

If the dialog is using the predefined Swallow mode, the widget will be reparented to the internal swallow control widget. If the dialog is being used in the standard mode then the widget must have the dialog as parent.

Parameters:
widget  The widget to be displayed as main widget. If it is 0, then the dialog will show an empty space of 100x100 pixels instead.

void KDialogBase::setRootIsDecorated bool    state
 

This function has only effect in TreeList mode.

This tells the widgets whether the root should be decorated. For details see QListView::setRootIsDecorated

Parameters:
state  Root will be decorated if true.

void KDialogBase::setShowIconsInTreeList bool    state
 

This function has only effect in TreeList mode.

This tells the widgets whether the icons given in the addPage, addVBoxPage, addHBoxPage, or addGridPage methods should be shown in the TreeList.

Note: This method must be called before calling any of the methods which add icons to the page.

Parameters:
state  If true the icons are shown.

void KDialogBase::setTreeListAutoResize bool    state
 

This function has only effect in TreeList mode.

Defines how the tree list widget is resized when the dialog is resized horizontally. By default the tree list keeps its width when the dialog becomes wider.

Parameters:
state  The resize mode. If false (default) the tree list keeps its current width when the dialog becomes wider.

void KDialogBase::showButton ButtonCode    id,
bool    state
 

Hide or display a general action button.

Only buttons that have been created in the constructor can be displayed. This method will not create a new button.

Parameters:
id  Button identifier.
state  true display the button(s).

void KDialogBase::showButtonApply bool    state
 

Hide or display the Apply button.

The Apply button must have been created in the constructor to be displayed.

Parameters:
state  true display the button(s).

void KDialogBase::showButtonCancel bool    state
 

Hide or display the Cancel button. The Cancel button must have been created in the constructor to be displayed.

Parameters:
state  true display the button(s).

void KDialogBase::showButtonOK bool    state
 

Hide or display the OK button.

The OK button must have been created in the constructor to be displayed.

Parameters:
state  If true, display the button(s).

bool KDialogBase::showPage int    index
 

Sets the page with index to be displayed.

This method will only work when the dialog is using the predefined shape of TreeList, IconList or Tabbed.

Parameters:
index  Index of the page to be shown.
Returns:
true if the page is shown, false otherwise.

void KDialogBase::showTile bool    state
 

Enable hiding of the background tile (if any).

Parameters:
state  true will make the tile visible.

virtual void KDialogBase::slotApply   [protected, virtual, slot]
 

Activated when the Apply button has been clicked.

Reimplemented in KEditToolbar.

virtual void KDialogBase::slotCancel   [protected, virtual, slot]
 

Activated when the Cancel button has been clicked. The QDialog::reject() is activated in regular mode and QDialog::done( Cancel ) when in message box mode.

Reimplemented in KBugReport, KPasswordDialog, KProgressDialog, KFileDialog, and KPropertiesDialog.

virtual void KDialogBase::slotClose   [protected, virtual, slot]
 

Activated when the Close button has been clicked. The QDialog::reject() is activated.

virtual void KDialogBase::slotDefault   [protected, virtual, slot]
 

Activated when the Default button has been clicked.

void KDialogBase::slotDelayedDestruct   [protected, slot]
 

Deletes the dialog immediately. If you want to delete the dialog delayed use delayedDestruct() or QObject::deleteLater().

Attention: Do no use connect this slot to signals from user actions!

virtual void KDialogBase::slotDetails   [protected, virtual, slot]
 

Activated when the Details button has been clicked.

See also:
detailsClicked(bool)

virtual void KDialogBase::slotHelp   [protected, virtual, slot]
 

Activated when the Help button has been clicked. If a help text has been defined, the help system will be activated.

virtual void KDialogBase::slotNo   [protected, virtual, slot]
 

Activated when the Yes button has been clicked. The QDialog::done( No ) is activated.

virtual void KDialogBase::slotOk   [protected, virtual, slot]
 

Activated when the Ok button has been clicked. The QDialog::accept() is activated.

Reimplemented in KBugReport, KEditToolbar, KPasswordDialog, KFileDialog, and KPropertiesDialog.

virtual void KDialogBase::slotTry   [protected, virtual, slot]
 

Activated when the Try button has been clicked.

virtual void KDialogBase::slotUser1   [protected, virtual, slot]
 

Activated when the User1 button has been clicked.

virtual void KDialogBase::slotUser2   [protected, virtual, slot]
 

Activated when the User2 button has been clicked.

virtual void KDialogBase::slotUser3   [protected, virtual, slot]
 

Activated when the User3 button has been clicked.

virtual void KDialogBase::slotYes   [protected, virtual, slot]
 

Activated when the Yes button has been clicked. The QDialog::done( Yes ) is activated.

void KDialogBase::tryClicked   [signal]
 

The Try button was pressed. This signal is only emitted if slotTry() is not replaced.

void KDialogBase::updateBackground   [slot]
 

This method is called automatically whenever the background has changed. You do not need to use this method.

void KDialogBase::updateGeometry   [protected, slot]
 

Updates the margins and spacings.

void KDialogBase::user1Clicked   [signal]
 

The User1 button was pressed. This signal is only emitted if slotUser1() is not replaced.

void KDialogBase::user2Clicked   [signal]
 

The User2 button was pressed. This signal is only emitted if slotUser2() is not replaced.

void KDialogBase::user3Clicked   [signal]
 

The User3 button was pressed. This signal is only emitted if slotUser3() is not replaced.

void KDialogBase::yesClicked   [signal]
 

The Yes button was pressed. This signal is only emitted if slotYes() is not replaced.


The documentation for this class was generated from the following file:
Generated on Wed Aug 13 23:30:09 2003 for kdelibs by doxygen1.2.18