cctw  0.2.1
cctwunitcellproperty.h
Go to the documentation of this file.
1 #ifndef CCTWUNITCELLPROPERTY_H
2 #define CCTWUNITCELLPROPERTY_H
3 
4 #include "qcepproperty.h"
5 #include "cctwunitcell.h"
6 
7 class CctwUnitCellProperty : public QcepProperty
8 {
9  Q_OBJECT
10 public:
11  explicit CctwUnitCellProperty(QcepSettingsSaverWPtr saver,
12  QObject *parent,
13  const char *name,
15  QString toolTip);
16 
17  explicit CctwUnitCellProperty(QcepSettingsSaverWPtr saver,
18  QObject *parent,
19  const char *name,
20  double a, double b, double c,
21  double alpha, double beta, double gamma,
22  QString toolTip);
23 
24  CctwUnitCell value() const;
25  CctwUnitCell defaultValue() const;
26  QString toString(const CctwUnitCell& mat);
27 
28  static void registerMetaTypes();
29  static QScriptValue toScriptValue(QScriptEngine *engine, const CctwUnitCell &cell);
30  static void fromScriptValue(const QScriptValue &obj, CctwUnitCell &cell);
31 
32 public slots:
33  void setValue(CctwUnitCell val, int index);
34  void setValue(CctwUnitCell val);
35  void setDefaultValue(CctwUnitCell val);
36  void resetValue();
37 
38 signals:
39  void valueChanged(CctwUnitCell val, int index);
40 
41 private:
44 };
45 
46 #define CCTW_UNITCELL_PROPERTY(propname) \
47 public: \
48 CctwUnitCell get_##propname() const \
49 { \
50  return m_##propname.value(); \
51 } \
52 \
53 void set_##propname(CctwUnitCell val) \
54 { \
55  m_##propname.setValue(val); \
56 } \
57 \
58 CctwUnitCell def_##propname() const \
59 { \
60  return m_##propname.defaultValue(); \
61 } \
62 \
63 void setdef_##propname(CctwUnitCell val) \
64 { \
65  m_##propname.setDefaultValue(val); \
66 } \
67 \
68 void reset_##propname() \
69 { \
70  m_##propname.resetValue(); \
71 } \
72 \
73 CctwUnitCellProperty *prop_##propname() { \
74  return &m_##propname; \
75 } \
76 \
77 private: \
78 CctwUnitCellProperty m_##propname;
79 
80 #ifndef QT_NO_DATASTREAM
81 
82 extern QDataStream &operator<<(QDataStream &stream, const CctwUnitCell &cell);
83 extern QDataStream &operator>>(QDataStream &stream, CctwUnitCell &cell);
84 
85 #endif
86 
87 #endif // CCTWQTUNITCELLPROPERTY_H
QDataStream & operator>>(QDataStream &stream, CctwUnitCell &cell)
void setDefaultValue(CctwUnitCell val)
CctwUnitCellProperty(QcepSettingsSaverWPtr saver, QObject *parent, const char *name, CctwUnitCell value, QString toolTip)
QString toString(const CctwUnitCell &mat)
void valueChanged(CctwUnitCell val, int index)
static QScriptValue toScriptValue(QScriptEngine *engine, const CctwUnitCell &cell)
CctwUnitCell defaultValue() const
void setValue(CctwUnitCell val, int index)
QDataStream & operator<<(QDataStream &stream, const CctwUnitCell &cell)
CctwUnitCell value() const
static void fromScriptValue(const QScriptValue &obj, CctwUnitCell &cell)