21 #ifndef DATASTRUCTURE_H
22 #define DATASTRUCTURE_H
38 class DataStructurePrivate;
46 Q_PROPERTY(QString name READ name WRITE setName)
60 void setReadOnly(
bool r);
61 bool readOnly() const;
63 QScriptValue scriptValue() const;
64 virtual
void setEngine(QScriptEngine *engine);
65 QScriptEngine *engine() const;
83 bool isDataVisible(
int dataType) const;
89 bool isPointerVisible(
int pointerType) const;
99 const
DataList dataList(
int dataType) const;
121 const QList<
GroupPtr> groups() const;
125 virtual
void cleanUpBeforeConvert();
131 virtual QMap<QString,QString> pluginProperties() const;
138 virtual
void setPluginProperty(const QString& , const QString& );
142 virtual
DataPtr createData(const QString& name, const QPointF& point,
int dataType);
166 DataPtr getData(
int uniqueIdentifier);
174 virtual
void remove(
DataPtr data);
190 virtual
void remove(
GroupPtr group);
192 virtual
GroupPtr addGroup(const QString& name);
193 virtual
DataList addDataList(QList< QPair<QString, QPointF> > dataList,
int dataType);
195 void addDynamicProperty(const QString& property, const QVariant& value = QVariant(0));
196 void removeDynamicProperty(const QString& property);
197 void renameDynamicProperty(const QString& oldName, const QString& newName);
203 void add_property(const QString& name, const QVariant& value);
208 void remove_property(const QString& name);
216 void setName(const QString& s);
224 void registerDataType(
int identifier);
231 void registerPointerType(
int identifier);
238 void removeDataType(
int identifier);
245 void removePointerType(
int identifier);
249 void dataPositionChanged(const QPointF);
251 void nameChanged(const QString &name);
253 void scriptError(const QString &message);
258 int generateUniqueIdentifier();
292 pi->importStructure(other);
301 const QScopedPointer<DataStructurePrivate> d;
boost::shared_ptr< DataStructure > DataStructurePtr
void createData(const std::string &str)
QList< boost::shared_ptr< Data > > DataList
boost::shared_ptr< Pointer > PointerPtr
boost::shared_ptr< Group > GroupPtr
boost::shared_ptr< Data > DataPtr
Pointers are connections between two nodes in the data structure.
static DataStructurePtr create(DataStructurePtr other, Document *parent=0)
QList< boost::shared_ptr< Pointer > > PointerList