# kdeui Library API Documentation

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

# KDialog Class Reference

Dialog with extended non-modal support and methods for KDE standard compliance. More...

`#include <kdialog.h>`

Inheritance diagram for KDialog:

[legend]
Collaboration diagram for KDialog:

[legend]
List of all members.

## Public Slots

virtual void | polish ()
virtual void | setCaption (const QString &caption)
virtual void | setPlainCaption (const QString &caption)

## Signals

void | layoutHintChanged ()

## Public Member Functions

| KDialog (QWidget *parent=0, const char *name=0, bool modal=false, WFlags f=0)

## Static Public Member Functions

static int | marginHint ()
static int | spacingHint ()
static void | resizeLayout (QWidget *widget, int margin, int spacing)
static void | resizeLayout (QLayoutItem *lay, int margin, int spacing)
static void | centerOnScreen (QWidget *widget, int screen=-1)
static bool | avoidArea (QWidget *widget, const QRect &area, int screen=-1)

## Protected Member Functions

virtual void | keyPressEvent (QKeyEvent *)
virtual void | virtual_hook (int id, void *data)

## Detailed Description

Dialog with extended non-modal support and methods for KDE standard compliance.

Generally, you should not use this class directly, but KDialogBase which inherits KDialog.

If the dialog is non-modal and has a parent, the default keybindings (`escape` = `reject()`, `enter` = `accept()`, etc.) are disabled.

The marginHint() and spacingHint() sizes shall be used whenever you layout the interior of a dialog. One special note. If you make your own action buttons (OK, Cancel etc), the space beteween the buttons shall be spacingHint(), whereas the space above, below, to the right and to the left shall be marginHint(). If you add a separator line above the buttons, there shall be a marginHint() between the buttons and the separator and a marginHint() above the separator as well.

See also:
  KDialogBase

Author:
  Thomas Tanghus <tanghus@earthling.net>, Espen Sand <espensa@online.no>

Definition at line 52 of file kdialog.h.

## Constructor & Destructor Documentation

KDialog::KDialog | ( | QWidget * | parent = `0`,
|  | const char * | name = `0`,
|  | bool | modal = `false`,
|  | WFlags | f = `0`
| ) |

| Constructor. Takes the same arguments as QDialog. Definition at line 46 of file kdialog.cpp.

## Member Function Documentation

int KDialog::marginHint | ( |  | ) | `[static]`

| Return the number of pixels you shall use between a dialog edge and the outermost widget(s) according to the KDE standard. Definition at line 97 of file kdialog.cpp. Referenced by KDialogBase::enableLinkedHelp(), KDialogBase::getBorderWidths(), KDialogBase::getContentsRect(), KTipDialog::KTipDialog(), and KDialogBase::updateGeometry().

int KDialog::spacingHint | ( |  | ) | `[static]`

Return the number of pixels you shall use between widgets inside a dialog according to the KDE standard.

Definition at line 103 of file kdialog.cpp.

Referenced by KBugReport::KBugReport(), KColorDialog::KColorDialog(), KFontChooser::KFontChooser(), KLineEditDlg::KLineEditDlg(), KTipDialog::KTipDialog(), KDialogBase::makeGridMainWidget(), KDialogBase::makeHBoxMainWidget(), KDialogBase::makeVBoxMainWidget(), KDialogBase::setButtonApplyText(), KDialogBase::setButtonCancelText(), KDialogBase::setButtonGuiItem(), KDialogBase::setButtonOKText(), KDialogBase::setButtonText(), and KDialogBase::updateGeometry().

void KDialog::resizeLayout | ( | QWidget * | widget,
|  | int | margin,
|  | int | spacing
| ) | `[static]`

Resize every layout manager used in `widget` and its nested children.

Parameters:

  | widget | The widget used.
  | margin | The new layout margin.
  | spacing | The new layout spacing.

Definition at line 133 of file kdialog.cpp.

References QObject::isWidgetType().

Referenced by resizeLayout().

void KDialog::resizeLayout | ( | QLayoutItem * | lay,
|  | int | margin,
|  | int | spacing
| ) | `[static]`

Resize every layout associated with `lay` and its children.

Parameters:

  | lay | layout to be resized
  | margin | The new layout margin
  | spacing | The new layout spacing

Definition at line 156 of file kdialog.cpp.

References QLayoutIterator::current(), and resizeLayout().

void KDialog::centerOnScreen | ( | QWidget * | widget,
|  | int | screen = `-1`
| ) | `[static]`

Centers `widget` on the desktop, taking multi-head setups into account.

If `screen` is -1, `widget` will be centered on its current screen (if it was shown already) or on the primary screen. If `screen` is -3, `widget` will be centered on the screen that currently contains the mouse pointer. `screen` will be ignored if a merged display (like Xinerama) is not in use, or merged display placement is not enabled in kdeglobals.

Since:
  3.1

Definition at line 195 of file kdialog.cpp.

References QRect::center(), QRect::height(), QRect::width(), QRect::x(), and QRect::y().

bool KDialog::avoidArea | ( | QWidget * | widget,
|  | const QRect & | area,
|  | int | screen = `-1`
| ) | `[static]`

Places `widget` so that it doesn't cover a certain `area` of the screen.

This is typically used by the "find dialog" so that the match it finds can be read. For `screen`, see centerOnScreen

Returns:
  true on success (widget doesn't cover area anymore, or never did), false on failure (not enough space found)

Since:
  3.2

Definition at line 205 of file kdialog.cpp.

References QRect::bottom(), QRect::height(), QRect::intersects(), QRect::left(), QRect::moveBy(), QRect::rBottom(), QRect::right(), QRect::rRight(), QRect::setX(), QRect::setY(), QRect::top(), QRect::width(), QRect::x(), and QRect::y().

void KDialog::polish | ( |  | ) | `[virtual, slot]`

| If the dialog starts with focus in a QLineEdit child, then call selectAll() on the child. Definition at line 109 of file kdialog.cpp.

void KDialog::setCaption | ( | const QString & | caption | ) | `[virtual, slot]`

Make a KDE compliant caption.

Parameters:

  | caption | Your caption. Do `not` include the application name in this string. It will be added automatically according to the KDE standard.

Definition at line 115 of file kdialog.cpp.

References setPlainCaption().

Referenced by KLineEditDlg::getText(), KDialogBase::KDialogBase(), and KTipDialog::KTipDialog().

void KDialog::setPlainCaption | ( | const QString & | caption | ) | `[virtual, slot]`

Make a plain caption without any modifications.

Parameters:

  | caption | Your caption. This is the string that will be displayed in the window title.

Definition at line 122 of file kdialog.cpp.

References NETWinInfo::setName().

Referenced by KHelpMenu::aboutApplication(), KMessageBox::detailedErrorWId(), KMessageBox::detailedSorryWId(), KMessageBox::errorListWId(), KAboutDialog::imageURL(), KMessageBox::informationListWId(), KAboutDialog::KAboutDialog(), KMessageBox::questionYesNoCancelWId(), KMessageBox::questionYesNoListWId(), setCaption(), KMessageBox::sorryWId(), KMessageBox::warningContinueCancelListWId(), KMessageBox::warningYesNoCancelListWId(), and KMessageBox::warningYesNoListWId().

void KDialog::layoutHintChanged | ( |  | ) | `[signal]`

| Emitted when the margin size and/or spacing size have changed. Use marginHint() and spacingHint() in your slot to get the new values. Referenced by KDialogBase::KDialogBase().

The documentation for this class was generated from the following files:

- kdialog.h
- kdialog.cpp

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:55 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003