Hi Fritz,

Fritz Zaucker wrote:
> Hi Amit,
>
> thanks for coming up with the code snippet.
>
> For dropping to work in the drop-listener you must replace the line
>
>      this.addBefore(sel[i], orig); //error - this.addBefore is not a function
>
> with
>
>      orig.getParent().addBefore(sel[i], orig);
>
> You must drop (e.g. add) to the parentFolder in a tree.
>
>   
thanks for the tip but i guess I was not using that properly. After 
removal of "for" loop, now its working fine.
> However, there are still issues:
>
> 1) The indicator is not shown (it is probably at the wrong place as the call
>
>         var origCoords = orig.getContainerLocation();
>
>     gets the coordinates of the "surrounding" parent part of the tree.
>
>     This is the problem I originally described in my posting. Your code
>     snippet nicely describes the problem (with the above change for
>     dropping).
>
>   
as you already know, same problem with me but i guess we can try solving 
this in case no-one else comes up with any suggestions :-)
> 2) Depending on where the drop occurs the call to getOriginalTarget() seems
>     to pick up the label part of the TreeFolder widget and thus the attempt
>     to add the droppable widget to its parent (the labels) fails with the
>     following error in the firebug console:
>
>          orig.getParent is not a function
>          var cz=new qx.ui.basic.Label(this.tr(bn));
>
>     This can be reproduced with your code snippet in the playground by
>     experimenting with dragging/dropping.
>
>     I guess the logic of detecting the widget to drop to needs some
>     improvement (probably some instanceOf magic).
>   
The List example works perfect (it doesn't allow you to drop on the 
label and only allows the drop at place when indicator is seen between 
the items). So, we need to do something similar. Even without indicator, 
the cursor changes to cursor with a small box at top and if we can make 
this appear only between the nodes, then maybe this error will not come.
BTW, in my code, if I try dropping on the label, the script simply hangs 
(without giving any error). :-(
> 3) The for loop in the drop listener is probably not needed, as in a tree
>     only one Folder can be selected at a time, so sel.length is always 1. So
>     I guess this could be simplified a bit.
>
>   
Yeah... I changed it to orig.getParent().addBefore(sel[0], orig); and 
its working fine. thnks
> 4) For my application I need to limit the dragging of a folder to within the
>     same sub-tree (e.g. the parent folder cannot change). So more drag
>     detection logic is needed, but this shouldn't be too difficult.
>   
same in my case too. :-)
>
> So currently I am in need for some help on 1) and if somebody has a hint for
> 2) that would even be better.
>
> Thanks,
> Fritz
>
>   
thanks
Amit
> On Mon, 23 Mar 2009, Amit Rana wrote:
>
>   
>> Hi,
>>
>> As mentioned before, I am also working on drag-drop feature on tree. I have 
>> made a sample code, but I am stuck up with :
>>
>> 1. moving the folder at the right place (How to get the list of parsed nodes 
>> - I tried to add them to an array on "dragover" event but same node gets 
>> added multiple times and also node label gets added separately, so need to 
>> write lot of code to avoid all that and I am lokking at some simplified 
>> method possible)
>>
>> 2. Indicator position (indicator gets shown at wrong place - it has to do 
>> with the container but not sure how to rectify that)
>>
>> Please find the code snippet (made on Playground) and let me know your 
>> suggestions.
>> Please note that the "drop" part does not work properly.
>>
>> Amit
>>
>> P.S. : I am sorry that I have added my doubt in the same thread. Please let 
>> me know if I should create a new thread or its ok in this one (created by 
>> Fritz)
>>
>>
>> Fritz Zaucker wrote:
>>     
>>> Hi Amit,
>>>
>>> I'll have to extract the relevant code from my application (I currently use
>>> a class derived from TreeFolder and a somewhat complex code to dynamically
>>> create the Folders). I'll post the snippet on the mailing list asap.
>>>
>>> Cheers,
>>> Fritz
>>>
>>> On Mon, 23 Mar 2009, Amit Rana wrote:
>>>
>>>
>>>       
>>>> Hi Fritz,
>>>>
>>>> I am also trying to implement the drag-drop feature on tree but  the
>>>> script hangs if I try in playground application. Can you please pass me
>>>> your code snippet ?
>>>>
>>>> BR
>>>> Amit
>>>>
>>>> Christian Schmidt wrote:
>>>>
>>>>         
>>>>> Hi Fritz,
>>>>>
>>>>> could you please send a code snipped or an example, that would make it
>>>>> easier to help you by this problem.
>>>>>
>>>>> Thanks,
>>>>> Chris
>>>>>
>>>>> Fritz Zaucker schrieb:
>>>>>
>>>>>
>>>>>           
>>>>>> Hi,
>>>>>>
>>>>>> I have started to implement drag/drop in my application for the
>>>>>> qx .ui.tree.TreeFolder()s of a qx.ui.tree.Tree(). I followed the
>>>>>> Drag/Drop-Demo for Lists in the demobrowser. I had to change the line
>>>>>>
>>>>>>       orig.addBefore(sel[i], orig);
>>>>>>
>>>>>> to
>>>>>>
>>>>>>       orig.getParent().addBefore(sel[i], orig);
>>>>>>
>>>>>> to drop the folder into the correct widget.
>>>>>>
>>>>>> The only problem I have is to figure out how to get the coordinates for 
>>>>>> the
>>>>>> drag/drop indicator right. The demo code has the line
>>>>>>
>>>>>>      var orig = e.getOriginalTarget();
>>>>>>      var origCoords = orig.getContainerLocation();
>>>>>>
>>>>>> but this places the indicator several folders below where it should. I 
>>>>>> guess
>>>>>> that this actually gives the lower end of the sub-tree in which the 
>>>>>> folder
>>>>>> lives.
>>>>>>
>>>>>> So my question is, which widget would I have to call 
>>>>>> getContainerLocation()
>>>>>> or some other method on to get the right coordinates?
>>>>>>
>>>>>> Thanks for your help,
>>>>>> Fritz
>>>>>>             

------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to