Right now on the editor, whenever you open a new editor window (for an item, or a tile, etc), and make a change in that window, you're immediately making a change to the underlying Python object. This is attractive in some senses (what you see is always what you get) but less so in others (there's no "cancel" button, issue #33, etc).
There'd be two ways to go about it:
1) Keep the immediate-object-change code, but apply it to a temporary copy of the objects in question.
2) Strip out the immediate-object-change code, and apply the changes when the user hits "OK"
Option 2 is, I think, how every other GUI app on the planet does things, so that's probably the way to go. This is a post-1.0 task, though, so we can think about it a bit.
Right now on the editor, whenever you open a new editor window (for an item, or a tile, etc), and make a change in that window, you're immediately making a change to the underlying Python object. This is attractive in some senses (what you see is always what you get) but less so in others (there's no "cancel" button, issue #33, etc).
There'd be two ways to go about it: 1) Keep the immediate-object-change code, but apply it to a temporary copy of the objects in question. 2) Strip out the immediate-object-change code, and apply the changes when the user hits "OK"
Option 2 is, I think, how every other GUI app on the planet does things, so that's probably the way to go. This is a post-1.0 task, though, so we can think about it a bit.