Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-ui-dev] RFC: Cut, Copy, Paste Proposal (end date = 12/03)

See <<KLM>> for my answers, comments, and questions to you.

                    "Nick Edgar/OTT/OTI"                                                                                     
                    <Nick_Edgar@xxxxxxx>           To:     platform-ui-dev@xxxxxxxxxxx                                       
                    Sent by:                       cc:                                                                       
                    platform-ui-dev-admin@e        Subject:     Re: [platform-ui-dev] RFC: Cut, Copy, Paste Proposal (end    
                               date = 12/03)                                                             
                    11/28/2001 04:09 PM                                                                                      
                    Please respond to                                                                                        

Some of my points below have already been mentioned, but I'm including
them anyway.

- It's not clear that ResourceTransfer should carry the markers or other
metadata for the resource.  If I copy a .java file, I don't want its
compilation problems to come with it.  I may or may not want its
associated tasks.
Should probably separate the two, allowing the user to first copy the
resource, then copy any tasks if desired (copying problems still doesn't
make sense, since they are derived from the content by the compiler).

They currently are separate - ResourceTransfer currently does not transfer
markers to the copy of the resource.  Of course, there currently is no
support for copying bookmarks, tasks, or other markers.

- Paste Special support is fairly common if you want to transfer some
attributes but not others (e.g. content vs. formatting).  Not clear that
Navigator and Tasks need this though, although this might be an approach
for handling metadata.

I also don't see any view (that the UI contributes) where both paste and
paste special would be required.  I think each view can only logically
display one type of transfer and it (the view) figures out which one to use
itself.  Maybe I need to think about this some more.

- Using the full path for the TextTransfer for the selected resource(s) is
not necessarily the best choice.
In the UI, we generally present full paths without the leading slash (e.g.
MyProject/MyFolder/MyFile.txt), since the root of the workspace is not
necessarily a useful concept to the user.
Depending on the context, it may make sense to use either the full path
with leading slash, the full path without leading slash, the simple name,
or the location (actual file name).
The user may expect filesystem-based separators as well, not just forward
If we do have to decide on a default, my preference would be full path
without leading separator, with forward slashes.

Actually, I am not using the full path for the TextTransfer, just the name
of the selected resource (e.g.  If I were to select a resource
then paste into a text editor I wouldn't expect to get the full path?  I
would only expect to get the label of the node I selected in the Navigator.

- The text used in the task list drag and drop is not very user friendly.
It was originally more for debugging purposes than to be useful to end
users, so I do not recommend using it.  We should come up with a better
human readable representation, and use it for both CCP and D&D.
One option would be tab-delimited text, since this can be pasted nicely
into spreadsheets and tables in word processors.  Even better would to
associate RTF for a table, as well as plain text.  For example, try
copying a range of cells in Excel, and pasting them to Word, WordPad, and
NotePad (and vice-versa).
I'd like to see the task list work like this.
It might also be nice to allow tasks to be pasted into the task list from
a similar format (but not problems).
Likewise for Bookmarks and Properties.

I understand the first part, but in the last 2 sentences, are you saying we
should be able to take that text or rtf representation of a Task (or
bookmark or property) and turn it into a Task?

- We will also need support from SWT for visually indicating a cut/move in
progress, in Tree and possibly other widgets (Table for task list).
Compare with MS Explorer, which dims the item being moved.
If we don't have visual feedback for cut, it will be very confusing.
Is this even possible on other platforms?

I thought UI would have to do this?

- Esc cancels the Cut in MS Explorer.  We have no way of hooking this in
SWT currently (hooking Esc as a global accelerator breaks other areas such
as code assist and rename in Navigator).

- There are accessibility issues here.  You can't currently deselect or
multi-select in a Tree using keyboard only.  There's an SWT PR for this
already.  We need to ensure that whatever solution we come up with is
workable using keyboard only.

- If copy (or cut) works differently for projects than for other items
(e.g. pops up a dialog for projects, but not other items), then we should
not use the same action.  It would be preferable to disable copy and have
a separate Copy Project item on the context menu.

Actually, I have a solution now that will enable Copy and Paste for
projects and does not require the silly dialog.  Cut will simply not be
added to the context menu (or disabled in the Edit menu) when a project is

- Regarding the confusion over what gets copied for markers, the clipboard
supports multiple formats, so it should be seen as copying all of: the
marker itself (MarkerTransfer), its text (TextTransfer), and a table
representation (RTFTransfer -- see above).  It's the client doing the
paste who gets to decide which format it prefers.

- Need to ensure ResourceTransfer and MarkerTransfer support multiple
items, if they don't already.

What do you mean by support multiple items?

- I concur with Simon that we should support copying resources between
separate workspaces.  This means that the ResourceTransfer must encode not
only the resource's path but also its location, and possibly an ID for the
workspace (e.g. if I cut a /A/B in workspace 1 and paste it to /C/B in
workspace 2, I want to delete /A/B from workspace 1, not workspace 2 if it
also has /A/B; this may just work out if it's the cut handler which does
the deletion though).

There's a larger issue with Cut between workspaces and between a workspace
and another app right now anyway.  Apparently Windows has API that can tell
us (via SWT, if they implement it) whether the action was a Cut or a Copy
when a Paste is done.  Likewise if we put the contents on the clipboard, we
would have to tell them whether it was a Cut or Copy.  Then, after the
paste happens, we get or send a callback to the OS (depending on whether or
not we are the destination or the source of the Cut or Copy) so that the
original can be deleted if it was a Cut.  To complicate matters, other
platforms don;t seem to have this added support.  If you look at Linux
(Gnome) there is no Cut, just Copy, Paste, and Delete to do all the same
work.  If this support in Windows is added then i think your concern about
possibly whacking a path with the same name in the second workspace will
inherently be taken care of.  Anyway, right now we can copy files/folders
between workspaces (and projects will only come over as folders, as
mentioned before).  If you Cut between workspaces right now it's as if a
Copy was done.

"Karice McIntyre/OTT/OTI" <Karice_McIntyre@xxxxxxx>
Sent by: platform-ui-dev-admin@xxxxxxxxxxx
11/26/01 05:31 PM
Please respond to platform-ui-dev

        To:     platform-ui-dev@xxxxxxxxxxx
        Subject:        [platform-ui-dev] RFC: Cut, Copy, Paste Proposal
(end date = 12/03)

Please provide comments on the following proposal by 12/03.  This is not a
call for committers to vote.

(See attached file:

platform-ui-dev mailing list

Back to the top