QXRD  0.11.16
qcepdataobject.h
Go to the documentation of this file.
1 #ifndef QCEPDATAOBJECT_H
2 #define QCEPDATAOBJECT_H
3 
4 #include <QObject>
5 #include "qcepobject.h"
6 #include "qcepdataobject-ptr.h"
7 #include "qcepdatagroup-ptr.h"
8 #include <QScriptValue>
9 #include "qcepproperty.h"
10 
11 class QcepDataObject : public QcepObject, public QEnableSharedFromThis<QcepDataObject>
12 {
13  Q_OBJECT
14 
15 public:
17  QString name,
18  int byteSize,
19  QcepObject *parent);
20  virtual ~QcepDataObject();
21 
23 
25  QString name, QcepObject *parent);
26 
27 signals:
28  void dataObjectChanged();
29 
30 public slots:
31  virtual QString description() const;
32  QString metaTypeName(int id) const;
33  QString pathName() const;
35  virtual QcepDataGroupPtr parentItem() const;
36 
37 public:
38  typedef enum {
41  } Overwrite;
42 
43  virtual int childCount() const;
44  virtual QcepDataObjectPtr item(int n);
45  virtual QcepDataObjectPtr item(QString nm);
46  virtual void setParentItem(QcepDataGroupWPtr parent);
47  virtual int indexInParent() const;
48  virtual int rowCount() const;
49  virtual int columnCount() const;
50  virtual QVariant columnData(int col) const;
51 
52  virtual QString fileFormatFilterString();
53 
54  static QScriptValue toScriptValue(QScriptEngine *engine, const QcepDataObjectPtr &data);
55  static void fromScriptValue(const QScriptValue &obj, QcepDataObjectPtr &data);
56 
57  static int allocatedObjects();
58  static int deletedObjects();
59 
60  virtual void saveData(QString &name, QString filter, Overwrite canOverwrite=NoOverwrite);
61 
62 protected:
63  void mkPath(QString filePath);
64  QString uniqueFileName(QString name);
65 
66 private:
69 
70 public:
71  Q_PROPERTY(QString type READ get_Type WRITE set_Type)
73 
74  Q_PROPERTY(quint64 byteSize READ get_ByteSize WRITE set_ByteSize STORED false)
75  QCEP_INTEGER64_PROPERTY(ByteSize)
76 
77  Q_PROPERTY(QString creator READ get_Creator WRITE set_Creator)
78  QCEP_STRING_PROPERTY(Creator)
79 
80  Q_PROPERTY(QString version READ get_Version WRITE set_Version)
81  QCEP_STRING_PROPERTY(Version)
82 
83  Q_PROPERTY(QString qtVersion READ get_QtVersion WRITE set_QtVersion)
84  QCEP_STRING_PROPERTY(QtVersion)
85 
86  Q_PROPERTY(QString description READ get_Description WRITE set_Description)
87  QCEP_STRING_PROPERTY(Description)
88 
89  Q_PROPERTY(QString fileName READ get_FileName WRITE set_FileName)
90  QCEP_STRING_PROPERTY(FileName)
91 
92  Q_PROPERTY(int objectSaved READ get_ObjectSaved WRITE set_ObjectSaved)
93  QCEP_INTEGER_PROPERTY(ObjectSaved)
94 };
95 
96 #endif // QCEPDATAOBJECT_H
virtual void saveData(QString &name, QString filter, Overwrite canOverwrite=NoOverwrite)
static void fromScriptValue(const QScriptValue &obj, QcepDataObjectPtr &data)
QcepSettingsSaverWPtr m_Saver
static QScriptValue toScriptValue(QScriptEngine *engine, const QcepDataObjectPtr &data)
QSharedPointer< QcepDataGroup > QcepDataGroupPtr
QString uniqueFileName(QString name)
virtual int columnCount() const
void mkPath(QString filePath)
QcepDataObject(QcepSettingsSaverWPtr saver, QString name, int byteSize, QcepObject *parent)
virtual QcepDataGroupPtr parentItem() const
virtual ~QcepDataObject()
static int deletedObjects()
virtual int childCount() const
virtual QString fileFormatFilterString()
#define QCEP_INTEGER_PROPERTY(propname)
Definition: qcepproperty.h:698
QString metaTypeName(int id) const
static int allocatedObjects()
#define QCEP_STRING_PROPERTY(propname)
Definition: qcepproperty.h:664
virtual int rowCount() const
virtual void setParentItem(QcepDataGroupWPtr parent)
QcepDataGroupWPtr m_Parent
virtual int indexInParent() const
QcepDataGroupPtr rootItem()
QString pathName() const
#define QCEP_INTEGER64_PROPERTY(propname)
QSharedPointer< QcepDataObject > QcepDataObjectPtr
virtual QString description() const
QString name
Definition: qcepobject.h:49
void dataObjectChanged()
virtual QcepDataObjectPtr item(int n)
static QcepDataObjectPtr newDataObject(QcepSettingsSaverWPtr saver, QString name, QcepObject *parent)
virtual QVariant columnData(int col) const
QWeakPointer< QcepSettingsSaver > QcepSettingsSaverWPtr
QWeakPointer< QcepDataGroup > QcepDataGroupWPtr
QcepSettingsSaverWPtr saver()