diff options
Diffstat (limited to 'tqtinterface/qt4/src/widgets/tqsplashscreen.cpp')
-rw-r--r-- | tqtinterface/qt4/src/widgets/tqsplashscreen.cpp | 271 |
1 files changed, 0 insertions, 271 deletions
diff --git a/tqtinterface/qt4/src/widgets/tqsplashscreen.cpp b/tqtinterface/qt4/src/widgets/tqsplashscreen.cpp deleted file mode 100644 index 64da325..0000000 --- a/tqtinterface/qt4/src/widgets/tqsplashscreen.cpp +++ /dev/null @@ -1,271 +0,0 @@ -/**************************************************************************** -** -** Definition of TQSplashScreen class -** -** Copyright (C) 2005-2008 Trolltech ASA. All rights reserved. -** -** This file is part of the widgets module of the TQt GUI Toolkit. -** -** This file may be used under the terms of the GNU General -** Public License versions 2.0 or 3.0 as published by the Free -** Software Foundation and appearing in the files LICENSE.GPL2 -** and LICENSE.GPL3 included in the packaging of this file. -** Alternatively you may (at your option) use any later version -** of the GNU General Public License if such license has been -** publicly approved by Trolltech ASA (or its successors, if any) -** and the KDE Free TQt Foundation. -** -** Please review the following information to ensure GNU General -** Public Licensing requirements will be met: -** http://trolltech.com/products/qt/licenses/licensing/opensource/. -** If you are unsure which license is appropriate for your use, please -** review the following information: -** http://trolltech.com/products/qt/licenses/licensing/licensingoverview -** or contact the sales department at sales@trolltech.com. -** -** This file may be used under the terms of the Q Public License as -** defined by Trolltech ASA and appearing in the file LICENSE.TQPL -** included in the packaging of this file. Licensees holding valid TQt -** Commercial licenses may use this file in accordance with the TQt -** Commercial License Agreement provided with the Software. -** -** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, -** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted -** herein. -** -**********************************************************************/ - -#include "tqsplashscreen.h" - -#ifndef TQT_NO_SPLASHSCREEN - -#include "tqapplication.h" -#include "tqpainter.h" -#include "tqpixmap.h" - -class TQSplashScreenPrivate -{ -public: - TQPixmap pixmap; - TQString currtqStatus; - TQColor currColor; - int currAlign; -}; - -/*! - \class TQSplashScreen tqsplashscreen.h - \brief The TQSplashScreen widget provides a splash screen that can - be shown during application startup. - - \ingroup misc - \mainclass - - A splash screen is a widget that is usually displayed when an - application is being started. Splash screens are often used for - applications that have long start up times (e.g. database or - networking applications that take time to establish connections) to - provide the user with feedback that the application is loading. - - The splash screen appears centered on the screen. It may be useful to add - the \c WStyle_StaysOnTop if you desire to keep above all the windows in the - GUI. - - Some X11 window managers do not support the "stays on top" flag. A - solution is to set up a timer that periodically calls raise() on - the splash screen to simulate the "stays on top" effect. - - The most common usage is to show a splash screen before the main - widget is displayed on the screen. This is illustrated in the - following code snippet. - - \code - int main( int argc, char **argv ) - { - TQApplication app( argc, argv ); - TQPixmap pixmap( "splash.png" ); - TQSplashScreen *splash = new TQSplashScreen( pixmap ); - splash->show(); - TQMainWindow *mainWin = new TQMainWindow; - ... - app.setMainWidget( mainWin ); - mainWin->show(); - splash->finish( mainWin ); - delete splash; - return app.exec(); - } - \endcode - - It is sometimes useful to update the splash screen with messages, - for example, announcing connections established or modules loaded - as the application starts up. TQSplashScreen supports this with the - message() function. If you wish to do your own drawing you can - get a pointer to the pixmap used in the splash screen with pixmap(). - Alternatively, you can subclass TQSplashScreen and reimplement - drawContents(). - - The user can hide the splash screen by clicking on it with the - mouse. Since the splash screen is typically displayed before the - event loop has started running, it is necessary to periodically - call TQApplication::processEvents() to receive the mouse clicks. - - \code - TQPixmap pixmap( "splash.png" ); - TQSplashScreen *splash = new TQSplashScreen( pixmap ); - splash->show(); - ... // Loading some items - splash->message( "Loaded modules" ); - tqApp->processEvents(); - ... // Establishing connections - splash->message( "Established connections" ); - tqApp->processEvents(); - \endcode - -*/ - -/*! - Construct a splash screen that will display the \a pixmap. - - There should be no need to set the widget flags, \a f, except - perhaps \c WDestructiveClose or \c WStyle_StaysOnTop. -*/ -TQSplashScreen::TQSplashScreen( const TQPixmap &pixmap, WFlags f ) - : TQWidget( 0, 0, (WFlags)(WStyle_Customize | TQt::WStyle_Splash | f) ) -{ - d = new TQSplashScreenPrivate(); - d->pixmap = pixmap; - setPixmap( d->pixmap ); // Does an implicit tqrepaint -} - -/*! - Destructor. -*/ -TQSplashScreen::~TQSplashScreen() -{ - delete d; -} - -/*! - \reimp -*/ -void TQSplashScreen::mousePressEvent( TQMouseEvent * ) -{ - hide(); -} - -/*! - This overrides TQWidget::tqrepaint(). It differs from the standard - tqrepaint function in that it also calls TQApplication::flush() to - ensure the updates are displayed, even when there is no event loop - present. -*/ -void TQSplashScreen::tqrepaint() -{ - drawContents(); - TQWidget::tqrepaint(); - TQApplication::flush(); -} - -/*! - \fn TQSplashScreen::messageChanged( const TQString &message ) - - This signal is emitted when the message on the splash screen - changes. \a message is the new message and is a null-string - when the message has been removed. - - \sa message(), clear() -*/ - - - -/*! - Draws the \a message text onto the splash screen with color \a - color and aligns the text according to the flags in \a tqalignment. - - \sa TQt::AlignmentFlags clear() -*/ -void TQSplashScreen::message( const TQString &message, int tqalignment, - const TQColor &color ) -{ - d->currtqStatus = message; - d->currAlign = tqalignment; - d->currColor = color; - emit messageChanged( d->currtqStatus ); - tqrepaint(); -} - -/*! - Removes the message being displayed on the splash screen - - \sa message() - */ -void TQSplashScreen::clear() -{ - d->currtqStatus = TQString::null; - emit messageChanged( d->currtqStatus ); - tqrepaint(); -} - -/*! - Makes the splash screen wait until the widget \a mainWin is displayed - before calling close() on itself. -*/ -void TQSplashScreen::finish( TQWidget *mainWin ) -{ - if ( mainWin ) { -#if defined(TQ_WS_X11) - extern void qt_wait_for_window_manager( TQWidget *mainWin ); - qt_wait_for_window_manager( mainWin ); -#endif - } - close(); -} - -/*! - Sets the pixmap that will be used as the splash screen's image to - \a pixmap. -*/ -void TQSplashScreen::setPixmap( const TQPixmap &pixmap ) -{ - d->pixmap = pixmap; - TQRect r(0, 0, d->pixmap.size().width(), d->pixmap.size().height()); - resize( d->pixmap.size() ); - move( TQApplication::desktop()->screenGeometry().center() - r.center() ); - tqrepaint(); -} - -/*! - Returns the pixmap that is used in the splash screen. The image - does not have any of the text drawn by message() calls. -*/ -TQPixmap* TQSplashScreen::pixmap() const -{ - return &( d->pixmap ); -} - -/*! - \internal -*/ -void TQSplashScreen::drawContents() -{ - TQPixmap textPix = d->pixmap; - TQPainter painter( &textPix, this ); - drawContents( &painter ); - setErasePixmap( textPix ); -} - -/*! - Draw the contents of the splash screen using painter \a painter. - The default implementation draws the message passed by message(). - Reimplement this function if you want to do your own drawing on - the splash screen. -*/ -void TQSplashScreen::drawContents( TQPainter *painter ) -{ - painter->setPen( d->currColor ); - TQRect r = rect(); - r.setRect( r.x() + 5, r.y() + 5, r.width() - 10, r.height() - 10 ); - painter->drawText( r, d->currAlign, d->currtqStatus ); -} - -#endif //TQT_NO_SPLASHSCREEN |