void Integer::load(PersistentStore &store) { if (store.currentNodeType() != typeName()) throw ModelException("Trying to load an Integer node from an incompatible node type " + store.currentNodeType()); set(store.loadIntValue()); }
void Float::load(PersistentStore &store) { if (store.currentNodeType() != typeName()) throw ModelException("Trying to load a Float node from an incompatible node type " + store.currentNodeType()); set(store.loadDoubleValue()); }
void Boolean::load(PersistentStore &store) { if (store.currentNodeType() != typeName()) throw ModelException("Trying to load an Boolean node from an incompatible node type " + store.currentNodeType()); bool val = store.loadIntValue(); set(val); }
void Character::load(PersistentStore &store) { if (store.currentNodeType() != typeName()) throw ModelException("Trying to load a Character node from an incompatible node type " + store.currentNodeType()); QString t = store.loadStringValue(); if (t.size() != 1) throw ModelException("Loading character node failed. Invalid persistent store data: " + t); set(t[0]); }
Character::Character(Node *parent, PersistentStore &store, bool) : Node(parent) { QString t = store.loadStringValue(); if (t.size() != 1) throw ModelException("Creating character node failed. Invalid persistent store data: " + t); value = t[0]; }
void Boolean::save(PersistentStore &store) const { store.saveIntValue( value ? 1 : 0); }
Boolean::Boolean(Node *parent, PersistentStore &store, bool) : Node(parent) { value = store.loadIntValue() != 0; }
void Float::save(PersistentStore &store) const { store.saveDoubleValue(value); }
Float::Float(Node *parent, PersistentStore &store, bool) : Node(parent) { value = store.loadDoubleValue(); }
void Character::save(PersistentStore &store) const { store.saveStringValue(QString(value)); }
void Integer::save(PersistentStore &store) const { store.saveIntValue(integer); }
Integer::Integer(Node *parent, PersistentStore &store, bool) : Super(parent) { integer = store.loadIntValue(); }