Bug 65030 - [ViewMgmt] Dragging a tab to the end of a set of tabs is not consistent
Summary: [ViewMgmt] Dragging a tab to the end of a set of tabs is not consistent
Status: NEW
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 3.0   Edit
Hardware: PC Windows XP
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Platform UI Triaged CLA
QA Contact:
URL:
Whiteboard:
Keywords: helpwanted
Depends on:
Blocks:
 
Reported: 2004-06-01 12:02 EDT by Ron Baldwin CLA
Modified: 2019-09-06 16:03 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ron Baldwin CLA 2004-06-01 12:02:18 EDT
If you grab a view tab and drag it from one frame to another, you can:  1) drop
the tab on top of another tab to insert it in front of the tab you dropped on
(with the target tab outlined to indicate what will happen), or 2) put it at the
end of the existing tabs with an outline of a "phantom" tab indicating that tab
will be added at the end.

However, if you drag a view tab to the end of the *same* frame it is already in,
you do not get the "phantom" tab outline to place the tab at the end.  Instead,
you must drop on the last existing tab to to get the dragged tab to move to the
end.  Not only is this inconsistent with the frame-to-frame behavior, it makes
it impossible to place a tab in the second to last position in the same frame. 
I would expect a "phantom" tab outline in all cases.

Note that this problem also affects the editor tabs.
Comment 1 Nick Edgar CLA 2004-06-01 14:42:34 EDT
I think an insertion point indicator would work better than a rectangle around
the tab.
Comment 2 Stefan Xenos CLA 2004-06-02 10:28:19 EDT
The rectangle appears around the area where the tab will be dropped. In the case
of dragging to a different folder, you see the "phantom" tab since dropping at
the end will create a new tab. 

In the case of dropping in the same folder, you do not see any phantom tab since
dragging the tab to the end will place it in the location currently occupied by
the last tab.

The options:

1. It would make sense to show the entire outline of the folder with the correct
tab size to make it clear that you're seeing an outline of where the tab will be
dropped rather than having it appear as though it is simply highlighting the tab
you're dragging over.

2. Alternatively, we could take Nick's suggestion and use a point indicator
rather than an outline.

Personally, I prefer option 1... but we can let the usability experts figure
this out.

Option 1 would require adding a StackDropResuilt(Rectangle[], Object)
constructor and a corresponding Rectangle[] getSnapRectangles() method.

Option 2 would require adding a new callback interface that allows for
presentation-defined dragover affordances -- that way we could leverage SWT's
CTabFolder.setInsertMark API. However, to do this properly we'd also need a way
to hide all the rectangles in an active Tracker without closing it (if we're
showing an insertion mark, we shouldn't also be showing the rectangles).

API-wise, it would make sense to offer both. Neither enhancement will be added
for version 3.0.

However, for 3.0 it might make sense to change the size of the drag-over
rectangle to make it clear that you're seeing the outline of the tab you're
dragging, not the outline of the tab you're dragging over.
Comment 3 Ron Baldwin CLA 2004-06-02 19:42:16 EDT
After further experimentation, I have discovered the root inconsistency.  If you
drag a tab to move it to another position in the frame it's currently in, it is
placed *after* the outlined tab.  If you drag a tab to another frame, it is
placed *before* the outlined tab.  This is confusing, and certainly not obvious.

I see two solutions:
1. (best) Nick's suggestion to show the insertion point is both the most common
(in my experience) and the most intuitive.  It's hard to imagine someone not
immediately grasping what will happen when they let go of the tab.
2. Pick either "before" or "after" for the dropping behavior w.r.t. outlined
tabs and always do it that way, regardless of same-frame or frame-to-frame
dragging.  Ideally, "before" would be chosen, as it is a more common convention.

As for showing the entire outline of the folder with the correct tab size, I
don't see how that fixes the core inconsistency of before vs. after.
Comment 4 Stefan Xenos CLA 2004-06-21 10:33:09 EDT
It would make sense to use an insertion marker, but this requires API changes.
Investigate for 3.1.
Comment 5 Boris Bokowski CLA 2009-11-11 17:31:51 EST
Remy is now responsible for watching the [ViewMgmt] category.
Comment 6 Eclipse Webmaster CLA 2019-09-06 16:03:47 EDT
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet.

If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.