00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include <qlayout.h>
00019 #include <qlabel.h>
00020 #include <qfont.h>
00021 #include <qframe.h>
00022 #include <qprogressbar.h>
00023
00024
00025 #include "statusWidget.h"
00026
00027
00028 StatusWidget::StatusWidget(QWidget *parent,
00029 const char* name ) : QWidget(parent,name)
00030 {
00031
00032 statusMessage = new QLabel( this );
00033 statusMessage->setText( "" );
00034 statusMessage->setFont( QFont( "Times", 12, QFont::Bold ) );
00035
00036
00037 progressFrame = new QFrame( this );
00038 progressMessage = new QLabel( progressFrame );
00039 progressMessage->setText( "" );
00040 progressMessage->setFont( QFont( "Times", 12, QFont::Bold ) );
00041 progressBar = new QProgressBar( progressFrame );
00042 progressBar->setCenterIndicator(true);
00043 curStep = 0;
00044
00045
00046 progressGrid = new QGridLayout( progressFrame, 1, 2, 0);
00047 progressGrid->addWidget( progressMessage, 0, 0 );
00048 progressGrid->addWidget( progressBar, 0, 1 );
00049
00050
00051 grid = new QGridLayout( this, 1, 2, 0 );
00052 grid->addWidget( progressFrame, 0, 0 );
00053 grid->addWidget( statusMessage, 0, 0 );
00054 grid->setColStretch( 1, 1 );
00055
00056
00057
00058 grid->addRowSpacing( 0, progressFrame->frameSize().height() );
00059
00060
00061 progressFrame->hide();
00062 }
00063
00064 StatusWidget::~StatusWidget()
00065 {
00066 }
00067
00068 void StatusWidget::showProgressBar(QString message, int numSteps)
00069 {
00070
00071 statusMessage->hide();
00072
00073
00074 progressMessage->setText( message );
00075 progressBar->setProgress( 0, numSteps );
00076 curStep = 0;
00077 progressFrame->show();
00078 }
00079
00080 void StatusWidget::updateProgress(int progress)
00081 {
00082 progressBar->setProgress( progress );
00083 }
00084
00085 void StatusWidget::incrementProgress()
00086 {
00087 curStep++;
00088 progressBar->setProgress( curStep );
00089 }
00090
00091 void StatusWidget::setStatus( QString message )
00092 {
00093
00094 progressFrame->hide();
00095
00096
00097 statusMessage->setText( message );
00098 statusMessage->show();
00099 }
00100
00101 void StatusWidget::clearAll()
00102 {
00103
00104 progressBar->hide();
00105 statusMessage->setText( "" );
00106 statusMessage->show();
00107 }
00108