Re: UI-update
Troels Sørensen <trold-/cMCkHlkxH8bN9Upbcd4uVpr/1R2p/[email protected]>
| Newsgroups | gmane.comp.graphics.ipe.general |
|---|---|
| Message-ID | <CAJ9COepR-sR=t5=YQychi83+2Lv2kxEw3-P3ks3_t7rhfaMdBw@mail.gmail.com> |
I realised that my replies only went to Otfried... so here we go again: 2011/11/27 Otfried Cheong <[email protected]> > On 11/27/2011 09:15 AM, Troels Sørensen wrote: > >> Reading actions.lua also made me figure out that it is indeed >> possible to delete a layer. This is highly non-obvious, and actually >> the reason for me starting to write ipelets. Is there any reason for >> not allowing deletion of non-empty layers (besides the undo-code not >> supporting it atm.)? I often end up with extra layers that are not >> visible in any views, and it is annoying having to empty a layer to be >> able to delete it. Similarly, the selected layer in some view seems >> like a strange block for deleting a layer. >> > > So what should be the desired behaviour? Simply delete all the objects in > the layer that you are deleting? Or move them to the active layer? > Layers is not a feature that is unique to ipe, and thus the behaviour should be the same as in the other programs using layers: deleting a layer also deletes all objects in the layer. This is the behaviour in both Photoshop and Gimp. Every view needs to have an active layer, so what should Ipe do when you > delete a layer that's active somewhere? I think it would be a rather > unpleasant surprise if Ipe simply switched the view to a different active > layer. > I don't think that the active layer should have any influence on what can be deleted. Imagine your text-editor saying "You cannot delete this line; that's where your cursor is". There are two situations to consider here: 1) The layer to be deleted is active in the current view: the user already has focus on the layer-frame, and can see what is going on. 2) The layer to be deleted is active in another view: the user has to change to that view for it to even matter. It seems unlikely that the user will remember what layer was active on that view, but not be able to remember that it was deleted. As long as the rule for selecting the new active layer is consistent, I am not too worried about which one it is. Possible rules for the case that the active layer gets deleted include: 1) Previous layer becomes active, unless deleted layer was the first, in which case the next layer becomes active 2) Next layer becomes active, unless deleted layer was the last, in which case the previous becomes active 3) Either of the above rules, but restricted to visible layers in that view. Select last layer, if no visible layers remain. The problem of having an invisible layer as the active one is deeper than simple deletion of layers. I would suggest either using a different colour for the active layer in the layer menu, if the active layer is invisible, or displaying a warning in the status line. Of course would we could do is enable "delete" in the side menu for all > layers, and then show an error message if it is active in some view, to > make it clearer to the user what is happening. > I am not a big fan of pop-up warnings. No other program I know of pops up anything for simple warnings that show up in normal use of the program. While it does ease the learning curve, most advanced users will get annoyed by it. This also holds true for undo/redo; I don't need a pop-up, simply because I reached the end of the undo/redo stack. A simple message in the status line would suffice, like most other programs do for undo/redo. Best, Troels _______________________________________________ Ipe-discuss mailing list Ipe-discuss-rGrgPyRx506NN8uzcEdRPYRWq/[email protected] http://lists.science.uu.nl/mailman/listinfo/ipe-discuss