E
Softwaremaker:
Ja, kenne ich, nutze ich aber nicht, weil es in meinem Fall mehr Sinn macht einen gesamten Snapshot zu speichern. Tut auch weder im Detail noch in der Architektur wirklich was zur Sache. Dennoch danke.
Mechanics:
Ja, ich bin jetzt von der Architektur etwas abgedriftet... Ich finde auch, QT hat einfach einige Probleme.
Zu deiner undo/redo-Beschreibung: Ja, die Probleme kenne ich. Meine Architektur war in meinen Augen sauber und schön, dann kam undo/redo dazu und es wurde schlagartig ekliger.
Ich speichere bei mir nicht die Änderungen, sondern einfach den gesamten Space als Snapshot. Da orientiere ich mich einfach ein wenig an Git, unveränderte Objekte kann man ja einfach referenzieren statt nochmals neu zu speichern.
Verweise muss man dann neu setzen, das ist klar. Wie man das am geschicktesten macht, hängt wohl wieder vom Aufbau der Anwendung ab... alles view-unspezifische ist bei mir eben zentral an einem MainModelController aufgehängt (so heißt der bei mir). Und der muss natürlich die Hoheit über undo/redo haben, dann kann er alle informieren, die sich interessieren, und gleichzeitig alle Informationen aufsaugen, die irgendjemand für ihn haben könnte. Streng genommen habe ich sogar zwei unterschiedliche Historys. Damit wäre ich halbwegs zufrieden, nur eben den View-Teil von undo/redo, den mag ich noch nicht so ganz... aber noch fällt mir auch nichts Besseres ein, daher werde ich damit wohl leben.
Gut zu hören jedenfalls, dass auch andere ihre Probleme in diesem Bereich haben.