00001 /*************************************************************************** 00002 densityloadthread.h - description 00003 ------------------- 00004 begin : Thu Mar 24 2005 00005 copyright : (C) 2005-2006 by Ben Swerts 00006 email : bswerts@users.sourceforge.net 00007 ***************************************************************************/ 00008 00009 /*************************************************************************** 00010 * * 00011 * This program is free software; you can redistribute it and/or modify * 00012 * it under the terms of the GNU General Public License as published by * 00013 * the Free Software Foundation; either version 2 of the License, or * 00014 * (at your option) any later version. * 00015 * * 00016 ***************************************************************************/ 00017 00020 00021 #ifndef DENSITYLOADTHREAD_H 00022 #define DENSITYLOADTHREAD_H 00023 00025 00026 // STL includes 00027 #include <vector> 00028 00029 // Qt forward class declarations 00030 class QTextStream; 00031 00032 // Xbrabo forward class declarations 00033 class DensityBase; 00034 00035 // Base class header files 00036 #include <qthread.h> 00037 00039 class DensityLoadThread : public QThread 00040 { 00041 public: 00043 DensityLoadThread(std::vector<double>* densityPoints, QTextStream* stream, DensityBase* densityDialog, const unsigned int numSkipValues, const unsigned int totalPoints); // constructor 00044 ~DensityLoadThread(); // destructor 00045 00047 virtual void run(); // reimplementation of this pure virtual does the actual work 00048 00050 void stop(); // requests stopping the thread 00051 bool success(); // returns true if everything loaded succesfully 00052 00053 private: 00055 std::vector<double>* data; 00056 QTextStream* textStream; 00057 unsigned int numSkip; 00058 unsigned int numValues; 00059 bool stopRequested; 00060 DensityBase* parent; 00061 unsigned int progress; 00062 }; 00063 00064 #endif 00065