00001 00042 #include "aistatusbar.hpp" 00043 00044 using namespace AiFractals; 00045 00046 AiStatusBar::AiStatusBar(QWidget * parent) 00047 :QStatusBar( parent ) 00048 { 00049 //~ init 00050 m_zoneInfo = new QLabel( tr("") ); 00051 m_genStatus = new QLabel( tr("Idle") ); 00052 m_progressbar = new QProgressBar( ); 00053 m_startAt = new QLabel(); 00054 m_endAt = new QLabel(); 00055 00056 //~ setup 00057 this->addWidget( m_zoneInfo ); 00058 this->addWidget( m_genStatus ); 00059 this->addWidget( m_progressbar ); 00060 this->addWidget( m_startAt ); 00061 this->addWidget( m_endAt ); 00062 m_progressbar->hide(); 00063 } 00064 00065 void AiStatusBar::setInfo(const QString & info ) 00066 { 00067 m_zoneInfo->setText( info ); 00068 } 00069 00070 void AiStatusBar::setGenStatus(const int & status) 00071 { 00072 m_progressbar->setValue( status ); 00073 } 00074 00075 void AiStatusBar::startGenerating() 00076 { 00077 m_genStatus->setText( tr("Running") ); 00078 m_progressbar->show(); 00079 } 00080 00081 void AiStatusBar::stopGenerating() 00082 { 00083 m_genStatus->setText( tr("Idle") ); 00084 m_progressbar->hide(); 00085 } 00086 00087 void AiStatusBar::start() 00088 { 00089 this->m_progressbar->setValue(0); 00090 this->m_endAt->setText(""); 00091 this->m_startAt->setText( QTime::currentTime().toString() ); 00092 } 00093 00094 void AiStatusBar::end() 00095 { 00096 this->m_endAt->setText( QTime::currentTime().toString() ); 00097 } 00098 00099 AiStatusBar::~AiStatusBar() 00100 { 00101 if( m_genStatus != NULL ) 00102 { 00103 delete m_genStatus; 00104 } 00105 if( m_progressbar != NULL ) 00106 { 00107 delete m_progressbar; 00108 } 00109 if( m_zoneInfo != NULL ) 00110 { 00111 delete m_zoneInfo; 00112 } 00113 if( m_startAt != NULL ) 00114 { 00115 delete m_startAt; 00116 } 00117 if( m_endAt != NULL ) 00118 { 00119 delete m_endAt; 00120 } 00121 }