mirror of
https://github.com/fralx/LimeReport.git
synced 2025-11-20 06:30:03 +03:00
IDataSource extracted to own file
This commit is contained in:
@@ -40,46 +40,47 @@
|
||||
#include <QVariant>
|
||||
#include "lrcollection.h"
|
||||
#include "lrcallbackdatasourceintf.h"
|
||||
#include "lrdatasourceintf.h"
|
||||
|
||||
namespace LimeReport{
|
||||
|
||||
class DataSourceManager;
|
||||
|
||||
class IDataSource {
|
||||
public:
|
||||
enum DatasourceMode{DESIGN_MODE,RENDER_MODE};
|
||||
typedef QSharedPointer<IDataSource> Ptr;
|
||||
virtual ~IDataSource(){}
|
||||
virtual bool next() = 0;
|
||||
virtual bool hasNext() = 0;
|
||||
virtual bool prior() = 0;
|
||||
virtual void first() = 0;
|
||||
virtual void last() = 0;
|
||||
virtual bool bof() = 0;
|
||||
virtual bool eof() = 0;
|
||||
virtual QVariant data(const QString& columnName) = 0;
|
||||
virtual QVariant dataByKeyField(const QString& columnName, const QString& keyColumnName, QVariant keyData) = 0;
|
||||
virtual int columnCount() = 0;
|
||||
virtual QString columnNameByIndex(int columnIndex) = 0;
|
||||
virtual int columnIndexByName(QString name) = 0;
|
||||
virtual bool isInvalid() const = 0;
|
||||
virtual QString lastError() = 0;
|
||||
virtual QAbstractItemModel* model() = 0;
|
||||
};
|
||||
//class IDataSource {
|
||||
//public:
|
||||
// enum DatasourceMode{DESIGN_MODE,RENDER_MODE};
|
||||
// typedef QSharedPointer<IDataSource> Ptr;
|
||||
// virtual ~IDataSource(){}
|
||||
// virtual bool next() = 0;
|
||||
// virtual bool hasNext() = 0;
|
||||
// virtual bool prior() = 0;
|
||||
// virtual void first() = 0;
|
||||
// virtual void last() = 0;
|
||||
// virtual bool bof() = 0;
|
||||
// virtual bool eof() = 0;
|
||||
// virtual QVariant data(const QString& columnName) = 0;
|
||||
// virtual QVariant dataByKeyField(const QString& columnName, const QString& keyColumnName, QVariant keyData) = 0;
|
||||
// virtual int columnCount() = 0;
|
||||
// virtual QString columnNameByIndex(int columnIndex) = 0;
|
||||
// virtual int columnIndexByName(QString name) = 0;
|
||||
// virtual bool isInvalid() const = 0;
|
||||
// virtual QString lastError() = 0;
|
||||
// virtual QAbstractItemModel* model() = 0;
|
||||
//};
|
||||
|
||||
class IDataSourceHolder {
|
||||
public:
|
||||
virtual IDataSource* dataSource(IDataSource::DatasourceMode mode = IDataSource::RENDER_MODE) = 0;
|
||||
virtual QString lastError() const = 0;
|
||||
virtual bool isInvalid() const = 0;
|
||||
virtual bool isOwned() const = 0;
|
||||
virtual bool isEditable() const = 0;
|
||||
virtual bool isRemovable() const = 0;
|
||||
virtual void invalidate(IDataSource::DatasourceMode mode, bool dbWillBeClosed = false) = 0;
|
||||
virtual void update() = 0;
|
||||
virtual void clearErrors() = 0;
|
||||
virtual ~IDataSourceHolder(){}
|
||||
};
|
||||
//class IDataSourceHolder {
|
||||
//public:
|
||||
// virtual IDataSource* dataSource(IDataSource::DatasourceMode mode = IDataSource::RENDER_MODE) = 0;
|
||||
// virtual QString lastError() const = 0;
|
||||
// virtual bool isInvalid() const = 0;
|
||||
// virtual bool isOwned() const = 0;
|
||||
// virtual bool isEditable() const = 0;
|
||||
// virtual bool isRemovable() const = 0;
|
||||
// virtual void invalidate(IDataSource::DatasourceMode mode, bool dbWillBeClosed = false) = 0;
|
||||
// virtual void update() = 0;
|
||||
// virtual void clearErrors() = 0;
|
||||
// virtual ~IDataSourceHolder(){}
|
||||
//};
|
||||
|
||||
class ModelHolder: public QObject, public IDataSourceHolder{
|
||||
Q_OBJECT
|
||||
|
||||
Reference in New Issue
Block a user