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:

QFrame List of all members.

Public Slots

void setTimeout (int delay)
virtual void show ()

Signals

void clicked ()
void clicked (QPoint pos)

Public Member Functions

 KPassivePopup (QWidget *parent=0, const char *name=0, WFlags f=0)
 KPassivePopup (WId parent, const char *name=0, WFlags f=0)
virtual ~KPassivePopup ()
void setView (QWidget *child)
void setView (const QString &caption, const QString &text=QString::null)
virtual void setView (const QString &caption, const QString &text, const QPixmap &icon)
QVBoxstandardView (const QString &caption, const QString &text, const QPixmap &icon, QWidget *parent=0L)
QWidgetview () const
int timeout () const
virtual void setAutoDelete (bool autoDelete)
bool autoDelete () const

Static Public Member Functions

KPassivePopupmessage (const QString &text, QWidget *parent, const char *name=0)
KPassivePopupmessage (const QString &caption, const QString &text, QWidget *parent, const char *name=0)
KPassivePopupmessage (const QString &caption, const QString &text, const QPixmap &icon, QWidget *parent, const char *name=0, int timeout=-1)
KPassivePopupmessage (const QString &caption, const QString &text, const QPixmap &icon, WId parent, const char *name=0, int timeout=-1)

Protected Member Functions

virtual void positionSelf ()
virtual void hideEvent (QHideEvent *)
void moveNear (QRect target)
virtual void mouseReleaseEvent (QMouseEvent *e)
QRect defaultArea () const

Properties

bool autoDelete
int timeout

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( vb, "<b>Isn't this great?</b>" );

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

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

Version:
Id
kpassivepopup.h,v 1.18 2004/04/23 15:16:29 geiseri Exp
Since:
3.1
Author:
Richard Moore, rich@kde.org

Definition at line 60 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 34 of file kpassivepopup.cpp.

Referenced by message().

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

Creates a popup for the specified window.

Definition at line 42 of file kpassivepopup.cpp.

KPassivePopup::~KPassivePopup  )  [virtual]
 

Cleans up.

Definition at line 58 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 62 of file kpassivepopup.cpp.

References QBoxLayout::addWidget().

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 116 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 73 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:
caption The window caption (title) on the popup
text The text for the popup
icon The icon to use for the popup
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 80 of file kpassivepopup.cpp.

Referenced by setView().

QWidget* KPassivePopup::view  )  const [inline]
 

Returns the main view.

Definition at line 123 of file kpassivepopup.h.

int KPassivePopup::timeout  )  const [inline]
 

Returns the delay before the popup is removed automatically.

Definition at line 128 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 128 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 142 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 276 of file kpassivepopup.cpp.

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 281 of file kpassivepopup.cpp.

References message().

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 263 of file kpassivepopup.cpp.

References hideDelay, KPassivePopup(), 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 287 of file kpassivepopup.cpp.

References hideDelay, KPassivePopup(), 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 121 of file kpassivepopup.cpp.

void KPassivePopup::show  )  [virtual, slot]
 

Reimplemented to reposition the popup.

Definition at line 143 of file kpassivepopup.cpp.

References positionSelf().

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 187 of file kpassivepopup.cpp.

References defaultArea(), NETSize::height, NETWinInfo::iconGeometry(), NETWinInfo::kdeGeometry(), NETWinInfo::kdeSystemTrayWinFor(), moveNear(), NETRect::pos, NETRect::size, NETWinInfo::state(), 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 160 of file kpassivepopup.cpp.

void KPassivePopup::moveNear QRect  target  )  [protected]
 

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

Definition at line 228 of file kpassivepopup.cpp.

References KGlobalSettings::desktopGeometry().

Referenced by positionSelf().

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

Reimplemented to detect mouse clicks.

Definition at line 133 of file kpassivepopup.cpp.

References clicked().

QRect KPassivePopup::defaultArea  )  const [protected]
 

If no relative window (eg 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() if no other is available.

Definition at line 167 of file kpassivepopup.cpp.

References NETRootInfo::activate(), NETRootInfo::currentDesktop(), NETRect::pos, NETRootInfo::workArea(), 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 kdeui Library Version 3.3.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Nov 27 13:43:38 2004 by doxygen 1.3.9.1 written by Dimitri van Heesch, © 1997-2003