Christian, it appears that all you've done here is revert to the
original behavior including your original patch.  You've removed my
changes that alllow a drop onto self when self really supports it.
The problem with returning 'true' unconditionally in supportsDrop() is
that it allows, for example, dragging of a list item to show a "drop
ok" icon when it hovers over itself.  supportsDrop() must only return
true when it is really ok to drop there.  It can't be unconditional.

Derrell

On 9/6/07, bibliograph <[EMAIL PROTECTED]> wrote:
> Some random hacking of the qooxdoo 0.7 code reveals thatt if I patch the
> current 0.7 branch code like this, it does what I want. But this is
> hardly the solution and might have many unintended consequences.
>
> qx.ui.core.Widget.prototype.supportsDrop = function (dragCache)
> {
>   var supportsDropMethod = this.getSupportsDropMethod();
>   if (supportsDropMethod !== null) {
>     return supportsDropMethod.call(this, dragCache);
>   }
>   return true; // the original code checks for (dragCache.sourceWidget
> == this), but have to return true by default otherwise it will alway
> return false
> };
>
> qx.event.handler.DragAndDropHandler.prototype.getDropTarget =
> qx.core.Variant.select("qx.client",
> {
>   "gecko" : function(e)
>   {
>     var vCurrent = e.getTarget();
>
> // we need to comment out the following bit
> //        if (vCurrent == this.__dragCache.sourceWidget) {
> //          vCurrent =
> qx.event.handler.EventHandler.getTargetObject(qx.html.ElementFromPoint.getElementFromPoint(e.getPageX(),
> e.getPageY()));
> //        } else {
>
>
>       vCurrent = qx.event.handler.EventHandler.getTargetObject(null,
> vCurrent);
>
>
> //        }
>
>     while (vCurrent != null)
>     {
>
>       if (!vCurrent.supportsDrop(this.__dragCache)) {
>         return null;
>       }
>
>       if (this.supportsDrop(vCurrent)) {
>         return vCurrent;
>       }
>
>       vCurrent = vCurrent.getParent();
>     }
>
>     return null;
>   },
>
>   "default" : function(e)
>   {
>     var vCurrent = e.getTarget();
>
>     while (vCurrent != null)
>     {
>       if (!vCurrent.supportsDrop(this.__dragCache)) {
>         return null;
>       }
>
>       if (this.supportsDrop(vCurrent)) {
>         return vCurrent;
>       }
>
>       vCurrent = vCurrent.getParent();
>     }
>
>     return null;
>   }
> });
>
> bibliograph schrieb:
> > Hello Sebastian and others,
> >
> > I am still having the same problem with drag and drop over the tree and
> > both Derrell and I cannot do anything without your input. I have
> > produced a screencast to demonstrate the problem:
> >
> > http://m41s09.vlinux.de/dragDropProblem.avi  (Sorry, 2MB)
> >
> > I am using Firefox 2.06. In the screencast, I am monitoring the drag
> > target (variable vCurrent) in
> > qx.event.handler.DragAndDropHandler.getDropTarget() .
> >
> > In seconds 00-11, I am dragging on the source widget (a treevirtual)
> > itself. The drag target is sometimes a label, a hbox layout, or the
> > split pane, but NEVER the TreeVirtual, which it should be. Since the
> > drop Target doesn't find a supportsDrop method, it bubbles up to the
> > client document and then returns false because drop target is identical
> > with drag source.
> >
> > In seconds 11- 21, I am hovering over the left TreeVirtual, and the drop
> > target is correct.
> >
> > I have experimented with the code that retrieves the correct drop type,
> > but I do simply not have the background to know what I am doing there.
> >
> > It is really important to solve this if qooxdoo is to have extensive
> > drag & drop support and I hope you can help.
> >
> > Thanks,
> >
> > Christian
> >
> >
> >
> >
> >
> > -------------------------------------------------------------------------
> > This SF.net email is sponsored by: Splunk Inc.
> > Still grepping through log files to find problems?  Stop.
> > Now Search log events and configuration files using AJAX and a browser.
> > Download your FREE copy of Splunk now >>  http://get.splunk.com/
> > _______________________________________________
> > qooxdoo-devel mailing list
> > qooxdoo-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
> >
>
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc.
> Still grepping through log files to find problems?  Stop.
> Now Search log events and configuration files using AJAX and a browser.
> Download your FREE copy of Splunk now >>  http://get.splunk.com/
> _______________________________________________
> qooxdoo-devel mailing list
> qooxdoo-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
qooxdoo-devel mailing list
qooxdoo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to