Viewing 1 reply thread
  • Author
    Posts
    • #15488
      Erik M-H
      Participant

      I’d like to make a small feature request.

      When I’m working on a layer with many objects (all my mountains are on one layer, for example), and I decide that I need to add one more object, it’s created at the frontmost, erm, let’s call it level of the layer. This makes sense.

      But to get the new object to dovetail properly with existing objects within the layer, I have to “Send Backward” forty or fifty times to get it into the right level. (Optionally, I could send it all the way to the back and then “Bring Forward” the object step by step, but that’s only an improvement if the objects I’m working with are in the back levels of the layer.)

      It would be really cool (and would save my keyboard and fingers a lot of work) if “Send Backward” and “Bring Forward” looked at the other objects on the same layer that overlap the selected object and move the selected object backward of forward in relation to those objects.

      Thus,

      300 <– new object (A) on top

      157 <– most forward overlapping object (B)

      156 <– another overlapping object (C)

      150 <– another overlapping object (D)

      3 <– rearmost overlapping object (E)

      With “A” selected, “Send Backward” would put it at level 157 (moving 157 and everything forward of it forward by one):

      158 <– most forward overlapping object (B)

      157 <– new object (A)

      156 <– another overlapping object (C)

      150 <– another overlapping object (D)

      3 <– rearmost overlapping object (E)

      Subsequent “Send Backward” commands would put “A” at 156, 150, and then 3 (adjusting all the objects forward of A’s new position forward by one level, of course).

      So three more “Send Backward”s would result in

      158 <– most forward overlapping object (B)

      157 <– another overlapping object (C)

      151 <– another overlapping object (D)

      4 <– rearmost overlapping object (E)

      3 <– new object (A)

      “Bring Forward” would work the same way in reverse, of course.

      If there are no overlapping objects, things should probably work as they do now (although why one would move an object forward and backward without overlapping objects is another question!).

      I haven’t thought deeply about the ramifications of attempting this with multiple objects selected, but I think everything would work “as expected” if all the selected objects maintain their level-relationships with one another, and adjusted their levels backward or forward as appropriate in relationship to all non-selected overlapping objects.

      If you felt that the current behavior needed to be retained as a default, perhaps the new behavior could be invoked with the addition of the “option” key. But it seems unlikely to me that there’d be any particular reason to choose the current incremental level-by-level movement.

      Thanks for listening!

    • #16354
      Graham
      Keymaster

      Hi Erik, I certainly understand the tedium of moving objects back and forward step-by-step. Certainly making this behaviour smarter would improve workflow and speed things up a lot.

      I’ll digest the implications of your suggestion and see what we can do. My initial thoughts are it sounds straightforward enough, as long as the behaviour that results is predictable and scalable.

      Note that currently the case of moving multiple selected objects doesn’t apply because the command is only available if there is just one object selected. This is because with a multiple selection, an ambiguity arises – do you move all selected objects to the same index (but maintaining their relative positions) or do you move them all up or down one relative to their current positions? There’s no definitive answer – it depends on the situation. So we sidestep that question altogether.

Viewing 1 reply thread
  • The topic ‘Graphic>Send Backward / Bring Forward’ is closed to new replies.