Open arthurhjorth opened 5 years ago
Alternatively we could check if there is a .tmp file that has been saved more recently than the one that LevelSpace child-tab. I can see all kinds of horrible issues with this solution, but I also like it.
Yeah, most good source code editors will monitor open files for changes and automatically refresh them. I think that would make the most intuitive sense, but you do have to deal with conflicts (unsaved edits in NetLogo and a change on the file system) so that might not have helped much in your case. At least then NetLogo could be smart enough to give a good message about the conflict.
At least then NetLogo could be smart enough to give a good message about the conflict.
Exactly - I don't necessarily need version control built into LS, but it would be nice to just get a CLEAR warning that I'm about to do something that I might regret later. This would be nice feature for IRL too, btw.
This is borderline user-issue, and not really a code issue. But given that we want the IDE-part of LS to be good, I still think this is something we should consider:
I was working on a model this morning and had to create a LS child model. I realized pretty quickly that I had to edit the interface of the child model, and I therefore had to open it in a full-fledged NetLogo instance, so that's what I did.
I worked on the child model for a while in a separate instance, closed it down, and then shut down the NetLogo instance with the main model in it, which ALSO contained the child model in a separate tab.
I didn't think too much about it when NetLogo asked me if I wanted to save changes to the model, because I thought it was asking me about the main model. Unfortunately it meant the child model, and all the work I had done on it in the other instance was overwritten.
I am not totally sure how we should handle this, but the easiest way is to make very clear that saving a model will also save the child model, or to pop up a special "HEY USER, PAY ATTENTION!!!!" message when it tries to save a LevelSpace model.
Alternatively we could check if there is a .tmp file that has been saved more recently than the one that LevelSpace child-tab. I can see all kinds of horrible issues with this solution, but I also like it.