qscan345application.cpp

Go to the documentation of this file.
00001 #include "qscan345application.h"
00002 #include "qscan345mainwindow.h"
00003 #include "qscan345thread.h"
00004 
00005 #include <QMessageBox>
00006 
00007 #include <stdio.h>
00008 
00009 QScan345Application::QScan345Application(int &argc, char **argv)
00010   : QApplication(argc, argv),
00011     m_MainWindow(NULL),
00012     m_Thread(NULL)
00013 {
00014   setOrganizationName("bessrc");
00015   setOrganizationDomain("bessrc.aps.anl.gov");
00016   setApplicationName("qscan345");
00017 
00018   m_MainWindow = new QScan345MainWindow(this);
00019   m_MainWindow -> restoreStateRequest();
00020   m_MainWindow -> show();
00021 
00022   m_Thread = new QScan345Thread(this, m_MainWindow);
00023   connect(m_Thread, SIGNAL(serverRunning()), this, SLOT(serverRunning()));
00024   m_Thread -> start();
00025 
00026   connect(this, SIGNAL(aboutToQuit()),
00027           this, SLOT(saveState()));
00028 }
00029 
00030 QScan345Application::~QScan345Application()
00031 {
00032   delete m_Thread;
00033 }
00034 
00035 QScan345MainWindow*
00036 QScan345Application::main_window()
00037 {
00038   return m_MainWindow;
00039 }
00040 
00041 void 
00042 QScan345Application::possiblyQuit()
00043 {
00044   if (wantToQuit()) {
00045     m_Thread -> shutdown();
00046     quit();
00047   }    
00048 }
00049 
00050 bool 
00051 QScan345Application::wantToQuit()
00052 {
00053   return QMessageBox::question(NULL, tr("Really Quit?"),
00054                                tr("Do you really want to exit the application?"),
00055                                   QMessageBox::Ok | QMessageBox::Cancel) == QMessageBox::Ok;
00056 }
00057     
00058 void 
00059 QScan345Application::commitData(QSessionManager& sm)
00060 {
00061 //   printf("Save state...\n");
00062 
00063   m_MainWindow -> saveStateRequest(sm);
00064 }
00065 
00066 void 
00067 QScan345Application::saveState(QSessionManager& sm)
00068 {
00069 //   printf("Save state...\n");
00070 
00071   m_MainWindow -> saveStateRequest(sm);
00072 
00073 }
00074 
00075 void 
00076 QScan345Application::saveState()
00077 { 
00078 //   printf("Save state...\n");
00079 
00080   m_MainWindow -> saveStateRequest();
00081 }
00082 
00083 void
00084 QScan345Application::serverRunning()
00085 {
00086 }