Go to the documentation of this file.00001
00004 #ifndef BPSLABELER_H
00005 #define BPSLABELER_H
00006
00007 #include "bpscore_global.h"
00008 #include <QObject>
00009 #include <QVariantMap>
00010
00011 class BpsDatastore;
00012
00016 class BPSCORE_EXPORT BpsLabeler : public QObject
00017 {
00018 Q_OBJECT
00019 BPS_PRIVATE(BpsLabeler)
00020
00021 public:
00027 BpsLabeler(BpsDatastore* aDatastore, const QString& aLabelerId, QObject* aParent=0);
00028
00032 virtual ~BpsLabeler();
00033
00040 virtual bool canSave();
00041
00048 virtual bool canStartStop();
00049
00053 BpsDatastore* datastore() const;
00054
00058 QString labelerId() const;
00059
00066 void setCustomData(const QString& aSettingsData, const QString& aGlobalData);
00067
00072 void clearCache();
00073
00082 virtual void open(int aLineNo, const QString& aLineName, const QMap<QString,QString>& aConfig, volatile bool* aCancelFlag = 0) = 0;
00083
00089 virtual void close(volatile bool* aCancelFlag = 0) = 0;
00090
00100 virtual void load(const QVariant& aArticle, const QVariant& aCollection, const QVariantMap& aParams, volatile bool* aCancelFlag = 0) = 0;
00101
00111 virtual void save(const QVariant& aArticle, const QVariant& aCollection, const QVariantMap& aParams, volatile bool* aCancelFlag = 0);
00112
00123 virtual void saveLoad(const QVariant& aArticle, const QVariant& aCollection, const QVariantMap& aParams, volatile bool* aCancelFlag = 0);
00124
00132 virtual void clear(const QVariant& aCollection, volatile bool* aCancelFlag = 0);
00133
00140 virtual void start(volatile bool* aCancelFlag = 0);
00141
00148 virtual void stop(volatile bool* aCancelFlag = 0);
00149
00155 virtual void processEvents();
00156
00157 signals:
00158
00165 void showProgress(int aMaximum, const QString& aLabel);
00166
00171 void updateProgressMaximum(int aMaximum);
00172
00177 void updateProgressValue(int aValue);
00178
00183 void updateProgressLabel(const QString& aLabel);
00184
00189 void hideProgress();
00190
00195 void error(const QString& aMessage);
00196
00197 protected:
00198
00208 bool init(const QVariant& aArticle, const QVariant& aCollection, const QVariantMap& aParams);
00209
00219 QString settingsData() const;
00220
00230 QString globalData() const;
00231
00238 QString processPlaceholders(const QString& aText);
00239
00247 virtual QString processReplacement(const QString& aText);
00248 };
00249
00250 #endif // BPSLABELER_H