Igor,

Thanks for your input.  I personally like rviewer example.  It demonstrates 
well the use of DragManager, but it misses one important feature that I was 
after, naming permanent location change of the drag initiator.  

Luckily, I made  a break through in my implementation roadblock.   I had a 
roadblock in that I could select a node and drag it to another node, but 
MOUSE_OVER behavior of the drag target did not always work due to FLEX design 
implementation, which always returns mouse event target that is at the lowest 
in the hierarchy.  

You most likely know this, but in the interest of the development community, 
take the example of a Canvas with two child nodes with MOUSE_OVER event handler 
among other event handlers,

Node A  (childIndex = 0)
Node B  (childIndex = 1)

If Node A is clicked and dragged via startDrag() to Node B, Node B's MOUSE_OVER 
event fires.  This is workable behavior that I can build on.  

However, if Node B is clicked and dragged via startDrag() to Node A, Node A's 
MOUSE_OVER event DOES NOT fire.  This was my roadblock.  

The simple and elegant solution that I was looking is as follows.  

Canvas(event.currentTarget.parent).setChildIndex(myNode(event.currentTarget), 
0); in the MOUSE_DOWN event handler. 

The above line reorders childIndex and consequently the event target hierarchy 
such that the node that is being dragged around does not prevent other node's 
MOUSE_OVER event from occurring. 

Again, thanks for your input.

- Jae 


----- Original Message ----
From: Igor Costa <[EMAIL PROTECTED]>
To: [email protected]
Sent: Thursday, February 22, 2007 7:03:11 PM
Subject: Re: [flexcoders] How I can get the benefit of both startDrag() and 
DragManager.doDrag()?









  


    
            Jae

http://weblogs. macromedia. com/khoyt/ files/rviewer. zip

the source also is avaible you could change.

There's other component on the Exchange that do the same not as Kevin Yot but 
similar.


Regards.


On 2/22/07, jwp2k_uva <[EMAIL PROTECTED] com> wrote:













  


    
            Hey guys,

  

I'm looking to create objects, i.e. boxes, that I can drag around to

different locations and have the ability to link to each other via

drag and drop operation.  The objective that I'm trying to achieve is

similar to the following example.



http://weblogs. macromedia. com/khoyt/ archives/ 2006/11/flex_ associatio. cfm




The above example would have been perfect, except the boxes cannot be

dragged to different locations.  



At this point, I hit a road block in trying to handle mouse events

directly and I would greatly appreciate your elegant approach.



Thanks!



- Jae      





    
  

    
    
















-- 
------------ --------- -------
Igor Costa
www.igorcosta. org
www.igorcosta. com
skype: igorpcosta

    
  

    
    




<!--

#ygrp-mlmsg {font-size:13px;font-family:arial,helvetica,clean,sans-serif;}
#ygrp-mlmsg table {font-size:inherit;font:100%;}
#ygrp-mlmsg select, input, textarea {font:99% arial,helvetica,clean,sans-serif;}
#ygrp-mlmsg pre, code {font:115% monospace;}
#ygrp-mlmsg * {line-height:1.22em;}
#ygrp-text{
font-family:Georgia;
}
#ygrp-text p{
margin:0 0 1em 0;
}
#ygrp-tpmsgs{
font-family:Arial;
clear:both;
}
#ygrp-vitnav{
padding-top:10px;
font-family:Verdana;
font-size:77%;
margin:0;
}
#ygrp-vitnav a{
padding:0 1px;
}
#ygrp-actbar{
clear:both;
margin:25px 0;
white-space:nowrap;
color:#666;
text-align:right;
}
#ygrp-actbar .left{
float:left;
white-space:nowrap;
}
.bld{font-weight:bold;}
#ygrp-grft{
font-family:Verdana;
font-size:77%;
padding:15px 0;
}
#ygrp-ft{
font-family:verdana;
font-size:77%;
border-top:1px solid #666;
padding:5px 0;
}
#ygrp-mlmsg #logo{
padding-bottom:10px;
}

#ygrp-vital{
background-color:#e0ecee;
margin-bottom:20px;
padding:2px 0 8px 8px;
}
#ygrp-vital #vithd{
font-size:77%;
font-family:Verdana;
font-weight:bold;
color:#333;
text-transform:uppercase;
}
#ygrp-vital ul{
padding:0;
margin:2px 0;
}
#ygrp-vital ul li{
list-style-type:none;
clear:both;
border:1px solid #e0ecee;
}
#ygrp-vital ul li .ct{
font-weight:bold;
color:#ff7900;
float:right;
width:2em;
text-align:right;
padding-right:.5em;
}
#ygrp-vital ul li .cat{
font-weight:bold;
}
#ygrp-vital a {
text-decoration:none;
}

#ygrp-vital a:hover{
text-decoration:underline;
}

#ygrp-sponsor #hd{
color:#999;
font-size:77%;
}
#ygrp-sponsor #ov{
padding:6px 13px;
background-color:#e0ecee;
margin-bottom:20px;
}
#ygrp-sponsor #ov ul{
padding:0 0 0 8px;
margin:0;
}
#ygrp-sponsor #ov li{
list-style-type:square;
padding:6px 0;
font-size:77%;
}
#ygrp-sponsor #ov li a{
text-decoration:none;
font-size:130%;
}
#ygrp-sponsor #nc {
background-color:#eee;
margin-bottom:20px;
padding:0 8px;
}
#ygrp-sponsor .ad{
padding:8px 0;
}
#ygrp-sponsor .ad #hd1{
font-family:Arial;
font-weight:bold;
color:#628c2a;
font-size:100%;
line-height:122%;
}
#ygrp-sponsor .ad a{
text-decoration:none;
}
#ygrp-sponsor .ad a:hover{
text-decoration:underline;
}
#ygrp-sponsor .ad p{
margin:0;
}
o {font-size:0;}
.MsoNormal {
margin:0 0 0 0;
}
#ygrp-text tt{
font-size:120%;
}
blockquote{margin:0 0 0 4px;}
.replbq {margin:4;}
-->





Reply via email to