kdeui Library API Documentation

KPassivePopup Class Reference

A dialog-like popup that displays messages without interupting the user. More...

#include <kpassivepopup.h>

Inheritance diagram for KPassivePopup:

Inheritance graph
[legend]
Collaboration diagram for KPassivePopup:

Collaboration graph
[legend]
List of all members.

Public Slots

void setTimeout (int delay)
 Sets the delay for the popup is removed automatically.

virtual void show ()
 Reimplemented to reposition the popup.


Signals

void clicked ()
 Emitted when the popup is clicked.

void clicked (QPoint pos)
 Emitted when the popup is clicked.


Public Member Functions

 KPassivePopup (QWidget *parent=0, const char *name=0, WFlags f=0)
 Creates a popup for the specified widget.

 KPassivePopup (WId parent, const char *name=0, WFlags f=0)
 Creates a popup for the specified window.

virtual ~KPassivePopup ()
 Cleans up.

void setView (QWidget *child)
 Sets the main view to be the specified widget (which must be a child of the popup).

void setView (const QString &caption, const QString &text=QString::null)
 Creates a standard view then calls setView(QWidget*) .

virtual void setView (const QString &caption, const QString &text, const QPixmap &icon)
 Creates a standard view then calls setView(QWidget*) .

QVBoxstandardView (const QString &caption, const QString &text, const QPixmap &icon, QWidget *parent=0L)
 Returns a widget that is used as standard view if one of the setView() methods taking the QString arguments is used.

QWidgetview () const
 Returns the main view.

int timeout () const
 Returns the delay before the popup is removed automatically.

virtual void setAutoDelete (bool autoDelete)
 Enables / disables auto-deletion of this widget when the timeout occurs.

bool autoDelete () const

Static Public Member Functions

KPassivePopupmessage (const QString &text, QWidget *parent, const char *name=0)
 Convenience method that displays popup with the specified message beside the icon of the specified widget.

KPassivePopupmessage (const QString &caption, const QString &text, QWidget *parent, const char *name=0)
 Convenience method that displays popup with the specified caption and message beside the icon of the specified widget.

KPassivePopupmessage (const QString &caption, const QString &text, const QPixmap &icon, QWidget *parent, const char *name=0, int timeout=-1)
 Convenience method that displays popup with the specified icon, caption and message beside the icon of the specified widget.

KPassivePopupmessage (const QString &caption, const QString &text, const QPixmap &icon, WId parent, const char *name=0, int timeout=-1)
 Convenience method that displays popup with the specified icon, caption and message beside the icon of the specified window.


Protected Member Functions

virtual void positionSelf ()
 This method positions the popup.

virtual void hideEvent (QHideEvent *)
 Reimplemented to destroy the object when autoDelete() is enabled.

void moveNear (QRect target)
 Moves the popup to be adjacent to the icon of the specified rectangle.

virtual void mouseReleaseEvent (QMouseEvent *e)
 Reimplemented to detect mouse clicks.

QRect defaultArea () const
 If no relative window (e.g.


Detailed Description

A dialog-like popup that displays messages without interupting the user.

The simplest uses of KPassivePopup are by using the various message() static methods. The position the popup appears at depends on the type of the parent window:

The most basic use of KPassivePopup displays a popup containing a piece of text:
KPassivePopup::message( "This is the message", this );
We can create popups with titles and icons too, as this example shows:
QPixmap px; px.load( "hi32-app-logtracker.png" ); KPassivePopup::message( "Some title", "This is the main text", px, this );
For more control over the popup, you can use the setView(QWidget *) method to create a custom popup.
KPassivePopup *pop = new KPassivePopup( parent );

QVBox *vb = new QVBox( pop ); (void) new QLabel( "<b>Isn't this great?</b>", vb );

QHBox *box = new QHBox( vb ); (void) new QPushButton( "Yes", box ); (void) new QPushButton( "No", box );

pop->setView( vb ); pop->show();

Version:
Id
kpassivepopup.h,v 1.11 2002/11/15 12:29:38 amantia Exp
Since:
3.1
Author:
Richard Moore, rich@kde.org

Definition at line 59 of file kpassivepopup.h.


Constructor & Destructor Documentation

KPassivePopup::KPassivePopup QWidget parent = 0,
const char *  name = 0,
WFlags  f = 0
 

Creates a popup for the specified widget.

Definition at line 28 of file kpassivepopup.cpp.

References KStdAccel::name().

Referenced by message().

KPassivePopup::KPassivePopup WId  parent,
const char *  name = 0,
WFlags  f = 0
 

Creates a popup for the specified window.

Definition at line 36 of file kpassivepopup.cpp.

References KStdAccel::name().

KPassivePopup::~KPassivePopup  )  [virtual]
 

Cleans up.

Definition at line 52 of file kpassivepopup.cpp.


Member Function Documentation

void KPassivePopup::setView QWidget child  ) 
 

Sets the main view to be the specified widget (which must be a child of the popup).

Definition at line 56 of file kpassivepopup.cpp.

References QBoxLayout::addWidget(), KDialog::marginHint(), and KDialog::spacingHint().

Referenced by message(), and setView().

void KPassivePopup::setView const QString caption,
const QString text = QString::null
 

Creates a standard view then calls setView(QWidget*) .

Definition at line 110 of file kpassivepopup.cpp.

References setView().

void KPassivePopup::setView const QString caption,
const QString text,
const QPixmap icon
[virtual]
 

Creates a standard view then calls setView(QWidget*) .

Definition at line 67 of file kpassivepopup.cpp.

References setView(), and standardView().

QVBox * KPassivePopup::standardView const QString caption,
const QString text,
const QPixmap icon,
QWidget parent = 0L
 

Returns a widget that is used as standard view if one of the setView() methods taking the QString arguments is used.

You can use the returned widget to customize the passivepopup while keeping the look similar to the "standard" passivepopups.

After customizing the widget, pass it to setView( QWidget* )

Parameters:
parent The parent widget used for the returned QVBox. If left 0L, then "this", i.e. the passive popup object will be used.
Returns:
a QVBox containing the given arguments, looking like the standard passivepopups.
See also:
setView( QWidget * )

setView( const QString&, const QString& )

setView( const QString&, const QString&, const QPixmap& )

Definition at line 74 of file kpassivepopup.cpp.

References QString::isEmpty(), QPixmap::isNull(), QLabel::setAlignment(), QFont::setBold(), QLabel::setFont(), QLabel::setPixmap(), QHBox::setSpacing(), QHBox::setStretchFactor(), and KDialog::spacingHint().

Referenced by setView().

QWidget* KPassivePopup::view  )  const [inline]
 

Returns the main view.

Definition at line 117 of file kpassivepopup.h.

int KPassivePopup::timeout  )  const [inline]
 

Returns the delay before the popup is removed automatically.

Definition at line 122 of file kpassivepopup.h.

void KPassivePopup::setAutoDelete bool  autoDelete  )  [virtual]
 

Enables / disables auto-deletion of this widget when the timeout occurs.

The default is false. If you use the class-methods message(), auto-delection is turned on by default.

Definition at line 122 of file kpassivepopup.cpp.

Referenced by message().

bool KPassivePopup::autoDelete  )  const [inline]
 

Returns:
true if the widget auto-deletes itself when the timeout occurs.
See also:
setAutoDelete

Definition at line 136 of file kpassivepopup.h.

KPassivePopup * KPassivePopup::message const QString text,
QWidget parent,
const char *  name = 0
[static]
 

Convenience method that displays popup with the specified message beside the icon of the specified widget.

Note that the returned object is destroyed when it is hidden.

See also:
setAutoDelete

Definition at line 260 of file kpassivepopup.cpp.

References KStdAccel::name().

Referenced by message().

KPassivePopup * KPassivePopup::message const QString caption,
const QString text,
QWidget parent,
const char *  name = 0
[static]
 

Convenience method that displays popup with the specified caption and message beside the icon of the specified widget.

Note that the returned object is destroyed when it is hidden.

See also:
setAutoDelete

Definition at line 265 of file kpassivepopup.cpp.

References message(), and KStdAccel::name().

KPassivePopup * KPassivePopup::message const QString caption,
const QString text,
const QPixmap icon,
QWidget parent,
const char *  name = 0,
int  timeout = -1
[static]
 

Convenience method that displays popup with the specified icon, caption and message beside the icon of the specified widget.

Note that the returned object is destroyed when it is hidden.

See also:
setAutoDelete

Definition at line 247 of file kpassivepopup.cpp.

References hideDelay, KPassivePopup(), KStdAccel::name(), setAutoDelete(), setView(), and show().

KPassivePopup * KPassivePopup::message const QString caption,
const QString text,
const QPixmap icon,
WId  parent,
const char *  name = 0,
int  timeout = -1
[static]
 

Convenience method that displays popup with the specified icon, caption and message beside the icon of the specified window.

Note that the returned object is destroyed when it is hidden.

See also:
setAutoDelete

Definition at line 271 of file kpassivepopup.cpp.

References hideDelay, KPassivePopup(), KStdAccel::name(), setAutoDelete(), setView(), and show().

void KPassivePopup::setTimeout int  delay  )  [slot]
 

Sets the delay for the popup is removed automatically.

Setting the delay to 0 disables the timeout, if you're doing this, you may want to connect the clicked() signal to the hide() slot. Setting the delay to -1 makes it use the default value.

Definition at line 115 of file kpassivepopup.cpp.

References QTimer::changeInterval(), and QTimer::isActive().

void KPassivePopup::show  )  [virtual, slot]
 

Reimplemented to reposition the popup.

Definition at line 137 of file kpassivepopup.cpp.

References positionSelf(), and QTimer::start().

Referenced by message().

void KPassivePopup::clicked  )  [signal]
 

Emitted when the popup is clicked.

Referenced by mouseReleaseEvent().

void KPassivePopup::clicked QPoint  pos  )  [signal]
 

Emitted when the popup is clicked.

void KPassivePopup::positionSelf  )  [protected, virtual]
 

This method positions the popup.

Definition at line 175 of file kpassivepopup.cpp.

References defaultArea(), NETSize::height, QRect::isNull(), moveNear(), NETRect::pos, QRect::setRect(), NETRect::size, NETSize::width, NETPoint::x, and NETPoint::y.

Referenced by show().

void KPassivePopup::hideEvent QHideEvent  )  [protected, virtual]
 

Reimplemented to destroy the object when autoDelete() is enabled.

Definition at line 154 of file kpassivepopup.cpp.

References QTimer::stop().

void KPassivePopup::moveNear QRect  target  )  [protected]
 

Moves the popup to be adjacent to the icon of the specified rectangle.

Definition at line 213 of file kpassivepopup.cpp.

References QRect::height(), KIO::move(), QRect::topLeft(), QRect::width(), QPoint::x(), and QPoint::y().

Referenced by positionSelf().

void KPassivePopup::mouseReleaseEvent QMouseEvent e  )  [protected, virtual]
 

Reimplemented to detect mouse clicks.

Definition at line 127 of file kpassivepopup.cpp.

References clicked(), and QMouseEvent::pos().

QRect KPassivePopup::defaultArea  )  const [protected]
 

If no relative window (e.g.

taskbar button, system tray window) is available, use this rectangle (pass it to moveNear()). Basically KWinModule::workArea() with width and height set to 0 so that moveNear uses the upper-left position.

Returns:
The QRect to be passed to moveNear() ifno other is available.

Definition at line 161 of file kpassivepopup.cpp.

References NETRect::pos, QRect::setRect(), NETPoint::x, and NETPoint::y.

Referenced by positionSelf().


The documentation for this class was generated from the following files:
KDE Logo
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 13:03:42 2004 by doxygen 1.3.4 written by Dimitri van Heesch, © 1997-2001