Documents > BPS V2 C++ API
bpslabeler.h
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