mirror of
				https://github.com/OpenMW/openmw.git
				synced 2025-11-04 13:56:39 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			101 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			101 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
#ifndef CSV_DOC_LOADER_H
 | 
						|
#define CSV_DOC_LOADER_H
 | 
						|
 | 
						|
#include <map>
 | 
						|
 | 
						|
#include <QObject>
 | 
						|
#include <QWidget>
 | 
						|
#include <QSignalMapper>
 | 
						|
 | 
						|
class QLabel;
 | 
						|
class QProgressBar;
 | 
						|
class QDialogButtonBox;
 | 
						|
class QListWidget;
 | 
						|
class QVBoxLayout;
 | 
						|
 | 
						|
namespace CSMDoc
 | 
						|
{
 | 
						|
    class Document;
 | 
						|
}
 | 
						|
 | 
						|
namespace CSVDoc
 | 
						|
{
 | 
						|
    class LoadingDocument : public QWidget
 | 
						|
    {
 | 
						|
            Q_OBJECT
 | 
						|
 | 
						|
            CSMDoc::Document *mDocument;
 | 
						|
            QLabel *mFile;
 | 
						|
            QLabel *mRecords;
 | 
						|
            QProgressBar *mFileProgress;
 | 
						|
            QProgressBar *mRecordProgress;
 | 
						|
            bool mAborted;
 | 
						|
            QDialogButtonBox *mButtons;
 | 
						|
            QLabel *mError;
 | 
						|
            QListWidget *mMessages;
 | 
						|
            QVBoxLayout *mLayout;
 | 
						|
            int mTotalRecords;
 | 
						|
 | 
						|
        private:
 | 
						|
 | 
						|
            void closeEvent (QCloseEvent *event);
 | 
						|
 | 
						|
        public:
 | 
						|
 | 
						|
            LoadingDocument (CSMDoc::Document *document);
 | 
						|
 | 
						|
            void nextStage (const std::string& name, int totalRecords);
 | 
						|
 | 
						|
            void nextRecord (int records);
 | 
						|
 | 
						|
            void abort (const std::string& error);
 | 
						|
 | 
						|
            void addMessage (const std::string& message);
 | 
						|
 | 
						|
        private slots:
 | 
						|
 | 
						|
            void cancel();
 | 
						|
 | 
						|
        signals:
 | 
						|
 | 
						|
            void cancel (CSMDoc::Document *document);
 | 
						|
            ///< Stop loading process.
 | 
						|
 | 
						|
            void close (CSMDoc::Document *document);
 | 
						|
            ///< Close stopped loading process.
 | 
						|
    };
 | 
						|
 | 
						|
    class Loader : public QObject
 | 
						|
    {
 | 
						|
            Q_OBJECT
 | 
						|
 | 
						|
            std::map<CSMDoc::Document *, LoadingDocument *> mDocuments;
 | 
						|
 | 
						|
        public:
 | 
						|
 | 
						|
            Loader();
 | 
						|
 | 
						|
            virtual ~Loader();
 | 
						|
 | 
						|
        signals:
 | 
						|
 | 
						|
            void cancel (CSMDoc::Document *document);
 | 
						|
 | 
						|
            void close (CSMDoc::Document *document);
 | 
						|
 | 
						|
        public slots:
 | 
						|
 | 
						|
            void add (CSMDoc::Document *document);
 | 
						|
 | 
						|
            void loadingStopped (CSMDoc::Document *document, bool completed,
 | 
						|
                const std::string& error);
 | 
						|
 | 
						|
            void nextStage (CSMDoc::Document *document, const std::string& name, int totalRecords);
 | 
						|
 | 
						|
            void nextRecord (CSMDoc::Document *document, int records);
 | 
						|
 | 
						|
            void loadMessage (CSMDoc::Document *document, const std::string& message);
 | 
						|
    };
 | 
						|
}
 | 
						|
 | 
						|
#endif
 |