Issue 79620 - Implement Drag&Drop for OOo on Mac OS X
Summary: Implement Drag&Drop for OOo on Mac OS X
Status: CLOSED FIXED
Alias: None
Product: porting
Classification: Code
Component: MacOSX (show other issues)
Version: 680m220
Hardware: Mac Mac OS X, all
: P3 Trivial with 1 vote (vote)
Target Milestone: OOo 3.0
Assignee: thorsten.martens
QA Contact: issues@porting
URL:
Keywords: aqua
: 83543 86239 (view as issue list)
Depends on:
Blocks: 80799
  Show dependency tree
 
Reported: 2007-07-14 11:32 UTC by tino.rachui
Modified: 2009-02-10 08:08 UTC (History)
4 users (show)

See Also:
Issue Type: TASK
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description tino.rachui 2007-07-14 11:32:46 UTC
See summary
Comment 1 tino.rachui 2007-07-14 11:33:54 UTC
Will be implemented on cws macosxdnd
Comment 2 tino.rachui 2007-10-02 21:19:36 UTC
tra: Just detected a major issue while trying to implement a first prototype. The OOo D&D protocol 
requires that the drag initiating method 'XDragSource::startDrag' need to return immediately and just 
triggers the real drag tracking functionality asynchronously. Asynchronously means running a new thread 
which actually starts the drag tracking. Unfortunately secondary threads do not receive user events on Mac 
OS X ergo we have a problem. :( Atm there seems to be no easy fix in sight. I have to discuss this with pl 
and obr.
Comment 3 tino.rachui 2007-10-02 21:28:19 UTC
@pl,obr: "Houston we've got a problem" see description above. We need to discuss how to solve this issue.
Comment 4 philipp.lohmann 2007-10-08 12:19:49 UTC
On all other platforms we are asynchronous; we could of course make startDrag
there synchronous by simply making it wait on the other thread till it's done,
rescheduling all the time (which one cannot do currently in a UNO component, but
I digress :-) ). The big question is, what would the implications be ? Would
there be massive code changes necessary for every instance of startDrag ?
Comment 5 tino.rachui 2007-10-09 20:59:03 UTC
tra->pl: Talked to obr about the issue already - conclusion lets try it
synchronously and see what happens. Oliver and Hennes think that rvp was the
reason for the current design choice. 
So far nobody (in theory) can rely on the fact that he'll have the chance to
execute something after having called 'starDrag' because its not predictable
when the scheduler will select this thread again but that's the theory - lets
see what the reality will tell us. ;) I was able to drag something into another
app already at least. :)
Comment 6 philipp.lohmann 2007-10-16 10:18:36 UTC
FYI: you probably need a window handle for startDrag ? Currently you get nothing
which changes in CWS macosxquicktime01; you'd be able to get a Cocoa NSView* then.
Comment 7 tino.rachui 2007-10-22 20:52:04 UTC
tra->pl: Right I will need a window handle. Can you provide me one but pls earlier than with 
macosxquicktime01 that sounds a little bit too late to me if I look at the due date of this cws. I'd like to 
resync my cws to aquavcl03 soon and continue implementing D&D in Cocoa. As far as I have seen you 
always need a window handle to start D&D with Cocoa. That's different from Carbon.
Comment 8 philipp.lohmann 2007-10-23 09:01:04 UTC
I can merge the changes in aquavcl04. However I'm also not sure when that will
get integrated (probably still some weeks), so it might be best if you join the
changes into your CWS.
Comment 9 stephan_schaefer 2007-11-16 16:06:23 UTC
*** Issue 83543 has been marked as a duplicate of this issue. ***
Comment 10 tino.rachui 2007-12-04 21:27:52 UTC
The clipboard code has been changed to use Cocoa entirely. Volunteers who would like to test the new 
implementation are very welcome. All changes for this first step towards D&D have been comitted on cws 
macosxdnd.
Comment 11 tino.rachui 2008-01-02 20:44:34 UTC
First version of Cocoa -based DnD has been checked-in now. Check out dtrans and vcl. Nothing is perfect 
yet but on a good way. 
Comment 12 tino.rachui 2008-01-04 20:22:42 UTC
The code is now almost complete. The last missing thing is support for file list so that dragging and 
dropping files to OOo opens them. However the currently checked-in code is ready for early testing and 
feedback! Please test it.
Comment 13 tino.rachui 2008-01-14 07:48:18 UTC
Experimental support for FileList has been integrated but needs finalization yet. Need to discuss with pl.
Comment 14 tino.rachui 2008-01-30 07:18:55 UTC
Fixed on cws 'macosxdnd'.
Comment 15 tino.rachui 2008-01-30 08:29:41 UTC
Please verify this on cws 'macosxdnd'
Comment 16 oc 2008-02-20 12:14:32 UTC
*** Issue 86239 has been marked as a duplicate of this issue. ***
Comment 17 hdu@apache.org 2009-02-10 08:08:26 UTC
Drag&Drop got into the release about a year ago. Closing resolved issue.