Re: HFSPromised, other file systems, and what is the deal ?
Re: HFSPromised, other file systems, and what is the deal ?
- Subject: Re: HFSPromised, other file systems, and what is the deal ?
- From: olivier <email@hidden>
- Date: Thu, 16 Jan 2003 14:24:02 -0600
I'll try to answer as well as I can.
On Thursday, January 16, 2003, at 12:25 PM, Michelle L. Buck wrote:
The method,
-dragPromisedFilesOfTypes:fromRect:source:slideBack:event:, is
used primarily in drags to Finder. The purpose of such a drag is for
the
dragging source to obtain from the dragging destination a location in
which
the user wants to store one or more files.
How is this different or better than just having the user use the Save
Panel
?
This allow the user to save a file with one drag instead of:
2 click to get to the save command in the menu
1 drag to get the folder from the finder
1 click to hit the save button
so as far as being better than a save menu i would say totally as it is
faster and the metaphor is easier on the user as, as far as he is
concerned he is just moving a file (that technicaly does not exist yet,
but the user probably does not care about it)
Plus it allow to drag multiple object at once, and hence create
multiple file at once, so the drag is even faster than the save dialog
in those situation.
Plus it give the impression to the user to be in control as he is the
one to say the computer what to do rather than having the computer
asking a bunch of questions.
How is this different from dragging a folder from Finder to the Save
Panel
in order to tell the Save Panel where files should be saved ?
see above
Why does a "promise" have to be made ? Why not just synthesize the file
paths via some other communications channel besides drag and drop ?
The promise has to be made because the file does not exist yet and will
be fairly long to create. Having the target application giving a path
to put the file allow both of them to go to other task if they want
rather than locking their interface.
What other channel would you see, since the aim of those promise is to
be able to drag file that don't exist yet, so drag and drop need those
promise. Those promise are not used anywhere else anyway (correct me if
i'm wrong here).
The documentation talks about HFS promises; does that mean similar
promises
can not be made for UFS or NFS or AFS or WebDav file systems ?
That i never tested but i would guess that they will work with any
filesystem since they just pass around a path.
Is there anything like these promises on any other platform ?
Don't know.
Does the dragging destination tell the source a path or an FSRef or
FSSpec
or what ?
a path
Is this the only example of using drag and drop to get information
from the
destination to the source rather than from the source to the
destination ?
Yes, but it the source that need information from the destination to be
able to give information to the destination.
What is the motivation for having this capability at all ? I don't
claim
there is no good motivation...I just don't know what it is.
I use it in my software to drag file off a device on which file
transfer are slow. If i was to drag a regular file path, that would
mean i would have to transfer the file in the drag callback and so lock
my interface. By using a promise i perform the drag and when asked
for the info, i simply write the file to the drive and the target
application is happy, and i can do something else at the same by
putting this in a secondary thread and not have to bother about it.
Hope this help, olivier
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.