diff options
Diffstat (limited to 'tdeui/twindowinfo.h')
-rw-r--r-- | tdeui/twindowinfo.h | 145 |
1 files changed, 145 insertions, 0 deletions
diff --git a/tdeui/twindowinfo.h b/tdeui/twindowinfo.h new file mode 100644 index 000000000..780578d75 --- /dev/null +++ b/tdeui/twindowinfo.h @@ -0,0 +1,145 @@ +// -*- c++ -*- + +/* + * copyright : (C) 2001-2002 by Richard Moore + * License : This file is released under the terms of the LGPL, version 2. + * email : rich@kde.org + */ + +#ifndef KWINDOWINFO_H +#define KWINDOWINFO_H + +#include <tqobject.h> +#include <tqpixmap.h> +#include <tqstring.h> + +#include <kdelibs_export.h> + +/** + * Displays messages in the window icon and title. The message is usually + * transient with the original title and icon being restored automatically + * after a specified time. The simplest use displays a text message in the + * window title: + * \code + * KWindowInfo::showMessage( this, i18n("Message Body") ); + * \endcode + * This more complex example changes the window icon, as well as + * displaying the text. In addition, this example overrides the + * default timeout to ensure the message is only displayed for 1 + * second. + * \code + * TQPixmap px; + * px.load( "lo16-app-logtracker.png" ); + * KWindowInfo::showMessage( this, i18n("Message Body"), px, 1000 ); + * \endcode + * If the parent window inherits KSystemTray then KWindowInfo changes the + * pixmap and tooltip of the system window to display the message. + * + * @author Richard Moore, rich@kde.org + * @since 3.1 +*/ +class TDEUI_EXPORT KWindowInfo : public TQObject +{ + Q_OBJECT + +public: + /** + * Creates a KWindowInfo with the specified parent. + */ + KWindowInfo( TQWidget *parent, const char *name=0 ); + + /** + * Cleans up. + */ + virtual ~KWindowInfo(); + + /** + * Returns true iff the object should delete itself when it resets. + */ + bool autoDelete() const { return autoDel; } + + /** + * Set to true if you want the object to delete itself when the message + * timeout occurs. + */ + void setAutoDelete( bool enable ) { autoDel = enable; } + + /** + * Utility method to display a title bar message for the specified + * window. + */ + static void showMessage( TQWidget *window, const TQString &text, int timeout = -1 ); + + /** + * Utility method to display a title bar message and icon for the + * specified window. + */ + static void showMessage( TQWidget *window, const TQString &text, + const TQPixmap &pix, int timeout = -1 ); + +public slots: + /** + * Shows the specified text in the window title. + */ + void message( const TQString &text ); + + /** + * Shows the specified text in the window title, and sets the window icon. + */ + void message( const TQString &text, const TQPixmap &pix ); + + /** + * Shows the specified text in the window title for the specified time. + */ + void message( const TQString &text, int timeout ); + + /** + * Shows the specified icon and text in the window title and WM + * icon, for the specified time. The time is a delay specified in + * milliseconds, or one of the two special values. The special + * values are -1 which means the default timeout should be used, + * and 0 which means the message is permanent. + */ + void message( const TQString &text, const TQPixmap &pix, int timeout ); + + /** + * Shows the specified text in the window title with no timeout. + */ + void permanent( const TQString &text ); + + /** + * Shows the specified text and icon in the window title with no timeout. + */ + void permanent( const TQString &text, const TQPixmap &pix ); + +protected: + /** + * Displays the message in the titlebar/icon. + */ + virtual void display( const TQString &text, const TQPixmap &pix ); + +protected slots: + /** + * Saves the window title and icon. + */ + virtual void save(); + + /** + * Resets the window title and icon to the saved values. If + * auto-delete is enabled then the object is deleted. + */ + virtual void restore(); + +private: + TQWidget *win; + TQPixmap oldIcon; + TQPixmap oldMiniIcon; + TQString oldText; + bool autoDel; + + /* @internal */ + class Private *d; +}; + +#endif // KWINDOWINFO_H + |