MainWidget Class Reference

main widget class setting up all sub class widget components More...

#include <mainwidget.h>

List of all members.

Public Slots

void openFile ()
 open s3d file
void saveBMP ()
 save bmp image
void changeToggle ()
 toggling reference image
void sceneInfo ()
 show scene information
void showSettings ()
 show settings
void aboutS3d ()
 about S3dViewer
void help ()
 help menu

Public Member Functions

 MainWidget ()
 The Constructor.
 ~MainWidget ()
 The Destructor.

Protected Member Functions

void closeEvent (QCloseEvent *ce)
 close operation


Detailed Description

main widget class setting up all sub class widget components

Definition at line 48 of file mainwidget.h.


Constructor & Destructor Documentation

MainWidget::MainWidget  ) 
 

The Constructor.

Definition at line 44 of file mainwidget.cpp.

References RefImgWidget::setPointWidget(), and SettingWindow::setPointWidget().

00045 {
00046     // set window title
00047     setWindowTitle(tr("S3D Viewer"));
00048 
00049     // window size should be independent on screen resolution
00050     QDesktopWidget *d = QApplication::desktop();
00051     int w = d->width();     // returns desktop width
00052     int h = d->height();    // returns desktop height
00053     setGeometry ( w/6 , h/8 , w*2/3 , h*3/4 );
00054 
00055     // initialization for all the windows and widgets within
00056     refWindow = new QMainWindow(this);
00057     refImgWidget = new RefImgWidget(refWindow);
00058     point3dWidget = new Point3dWidget(this);
00059     setWindow = new SettingWindow(this);
00060     setWindow->setPointWidget(point3dWidget);
00061     fileReader = new FileReader();
00062     setCentralWidget(point3dWidget);
00063     refWindow->setCentralWidget(refImgWidget);
00064     statusBar()->showMessage(tr("S3d Viewer Initialized"));
00065     refImgWidget->setPointWidget(point3dWidget);
00066 
00067     // set up menu bar for our main window
00068     setupMenuBar();
00069 
00070     // for Fedora and Debian, we need to uncomment these following lines of code
00071     // refWindow->resize(1024, 1024); // required for Fedora and Debian
00072     // refWindow->setVisible(true); // required for Debian
00073 }

MainWidget::~MainWidget  ) 
 

The Destructor.

Definition at line 78 of file mainwidget.cpp.

00079 {
00080 }


Member Function Documentation

void MainWidget::aboutS3d  )  [slot]
 

about S3dViewer

Returns:
void

Definition at line 173 of file mainwidget.cpp.

00173                          {
00174     QString aboutText =
00175             tr("S3dViewer for Unix-based Systems v1.0\n\n"
00176             "Authors: "
00177             "\tHue Tuan Thi\n"
00178             "\tJaime Valls Miro\n\n"
00179             "Centre of Autonomous System (CAS)\n"
00180             "University of Technoloty, Sydney (UTS)\n\n"
00181             "This program is used to view S3d files\n"
00182             "You can find out more about S3d files and a Windows version of this program at\n"
00183             "http://www.dccia.ua.es/~jmsaez/3D_Robot_Vision_Database\n"
00184             "");
00185 
00186     QMessageBox::about( this, tr("About S3dViewer"), aboutText);
00187 }

void MainWidget::changeToggle  )  [slot]
 

toggling reference image

Returns:
void

Definition at line 213 of file mainwidget.cpp.

00213                              {
00214     setVisible(refWindow);
00215 }

void MainWidget::closeEvent QCloseEvent *  ce  )  [protected]
 

close operation

Returns:
void

Definition at line 295 of file mainwidget.cpp.

00295                                           {
00296     refWindow->close();
00297     setWindow->close();
00298 }

void MainWidget::help  )  [slot]
 

help menu

Returns:
void

Definition at line 148 of file mainwidget.cpp.

00148                      {
00149     QString helpText =
00150             tr("Open new S3d files by clicking on File->Open\n"
00151             "Save Bitmap of current S3d model by clicking on File->Save BMP\n"
00152             "Quit Program using File->Quit menu or click X on the top right\n\n"
00153             "Once S3d file is loaded, you can\n"
00154             "\tView->Reference Image to vew reference image of s3d file\n"
00155             "\tView->Scene Information to view information about s3d file\n"
00156             "\tView->Settings to edit settings\n\n"
00157             "Some useful tips in using this program\n"
00158             "\tUsing mouse to rotate model (press and drag)\n"
00159             "\tUsing mousewheel to zoom in and out\n"
00160             "\tUsing mousewheel to zoom in and out\n"
00161             "\tUsing Up and Down arrow to change zoom factor (like mousewheel)\n"
00162             "\tUsing Right and Left arrow to change Point Size (Cube option in Setting enabled)\n"
00163             "\tUsing shortcuts for quick command\n"
00164             "");
00165 
00166     QMessageBox::about( this, tr("Help"), helpText);
00167 }

void MainWidget::openFile  )  [slot]
 

open s3d file

Returns:
void

Definition at line 229 of file mainwidget.cpp.

References FileReader::getColorText(), FileReader::getEncoding(), FileReader::getInfo(), FileReader::getNCol(), FileReader::getNp(), FileReader::getNRow(), FileReader::readFile(), Point3dWidget::updateFile(), and RefImgWidget::updateFile().

00229                          {
00230     fileName = QFileDialog::getOpenFileName(this, tr("Open S3D file ..."),
00231                                 "", tr("All Files (*);;S3D Files (*.s3d)"));
00232     if (!fileName.isEmpty()){
00233         fileReader->readFile(fileName);
00234         refImgWidget->updateFile(fileReader);
00235         point3dWidget->updateFile(fileReader);
00236 
00237         sceneInformation = QString("File name: %1 \nInformation: %2 \nColor format: %3 \nImage resolution: %4 x %5 pixels  \nNumber of 3D points: %6")
00238                             .arg(fileName).arg(fileReader->getInfo()).arg(fileReader->getColorText())
00239                             .arg(fileReader->getNRow()).arg(fileReader->getNCol()).arg(fileReader->getNp());
00240 
00241         refWindow->resize(fileReader->getNCol(), fileReader->getNRow()+20);
00242 
00243         if(fileReader->getEncoding() == 0)
00244             toggleImg->setEnabled(true);
00245         showScene->setEnabled(true);
00246     }
00247 }

void MainWidget::saveBMP  )  [slot]
 

save bmp image

Returns:
void

Definition at line 253 of file mainwidget.cpp.

00253                         {
00254     QSize size = getSize();
00255     if (size.isValid()) {
00256         QPixmap pixmap = point3dWidget->renderPixmap(size.width(), size.height());
00257 
00258         fileName = QFileDialog::getSaveFileName(this,
00259                         tr("Save BMP file"), "S3DBMP",
00260                         tr("All Files (*);;BMP Files (*.bmp)"));
00261 
00262         pixmap.save(fileName, "BMP");
00263         qDebug("Saved");
00264     }
00265 }

void MainWidget::sceneInfo  )  [slot]
 

show scene information

Returns:
void

Definition at line 221 of file mainwidget.cpp.

00221                           {
00222     QMessageBox::about( this, "Scene Information", sceneInformation);
00223 }

void MainWidget::showSettings  )  [slot]
 

show settings

Returns:
void

Definition at line 205 of file mainwidget.cpp.

00205                              {
00206     setVisible(setWindow);
00207 }


The documentation for this class was generated from the following files:
Generated on Mon Aug 14 10:44:20 2006 for S3DViewer by  doxygen 1.4.4