XML based drag and drop

ok, im not new to any of this really. Im simply stuck and
cant figure out why my drop targets arent working. my variables are
tracing directly before the drop target is evaluating.... its just
not returning that it is droped on the target.
the specific problem:
btn.onRelease = function(){
stopDrag();
target_ = _root["t_"+ a_num];
droper = _root["d_"+ a_num];
trace(droper + "//" + target_);
//////--------------------THE
PROBLEM--------------------///////
if (eval(droper._droptarget) == target_) {
trace("Success");
}else{
trace("failure")
here is the code in full:
//sets animation begin point variables
for(i = 0;i< 10; i++){
tx = i*125;
ty = i*125;
dx = 180;
dy = i*125;
//loading animations and non-xml text loads//
obs_box.top_.tex_1 = "Drag and Drop Exercise";
obs_box.stg_.slideTo(obs_box.stg_._x, -467.5, 1,
"easeOutQuad");
obs_box.top_.slideTo(obs_box.top_._x, -525, .75,
"easeInOutQuad", .25);
side_bg.slideTo(side_bg._x, 175, 1, "easeOutQuad");
//load xml//
var terms_xml = new XML();
terms_xml.ignoreWhite = true;
terms_xml.onLoad = function(success){
//end loading of data//
if (success){
var main_ob:Array = new Array();
var main_trgt:Array = new Array();
var term_:Array = new Array();
var titl_ = terms_xml.firstChild.firstChild.childNodes;
var term_ = terms_xml.firstChild.childNodes;
header_.title_text = titl_;
list_amount = term_.length -1;
for (var i=0; i < list_amount; i++){
main_ob
= term_.nextSibling.firstChild.childNodes;
main_trgt
= term_.nextSibling.firstChild.nextSibling.childNodes;
//attaches the drop target movie clip (t_1) and created text
fields//
amount = main_trgt.length;
for(x=0;x<amount;x++){
ypos = x*25;
_root.attachMovie("target_", "t_"+x,x,{_x:tx, _y:ypos});
//determines position of drop targets//
if(x>3){
ypos =135+130;
xpos = 662.5-(amount+125) * (x-4);
}else{
ypos = 135;
xpos = 662.5-(amount+125) * x;
//drop target positions are set now time to move them there
(**originating position of the drop targets are set throught
//tx & ty variables in the top of this document
var tgt = _root["t_"+x];
var ob_t =tgt.t_tex;
tgt.scaleTo(0, .001, "ease");
tgt.scaleTo(100, 1.75, "easeInOutBack", x/5);
tgt.slideTo(xpos,ypos,.75,"easeOutQuad",x/75);
tgt.alphaTo(50, 1, "easeOutQuad");
ob_t.text = main_trgt[x];
//attaches the movie clip that will be droped onto the target
(d_1) and created text fields//
amount = main_ob.length;
var ypos = new Array();
var btn:Array = new Array;
for(v = 0; v<amount;v++){
ypos[v] =300/amount*v+25;
_ypos = ypos.randomize();
for(j=0;j<amount;j++){
_root.attachMovie("drop", "d_"+j,j+ 8,{_x:90, _y:_ypos});
//determines position of object//
//object positions are set now time to move them there
(**originating position of the drop targets are set throught
//dx & dy variables in the top of this document
btn = _root["d_"+j];
var btn_t = btn.d_tex;
btn.scaleTo(0, .001, "ease");
btn.scaleTo(100, 1.75, "easeInOutBack", j/5);
btn.slideTo(83,250,.75,"easeOInutQuad",j/amount);
btn.slideTo(83,_ypos[j],.75,"easeInOutQuad",j/amount+1);
btn.alphaTo(95, 1, "easeOutQuad");
btn_t.text = main_ob[j];
//begin button actions when interacted with//
btn.onRollOver = function(){
ovr(this);
btn.onRollOut = function(){
ndr(this);
btn.onPress = function(){
drg(this);
btn.onRelease = function(){
var que:String = quest;
_que = new String(quest);
q_num = _que.substr(10,1);
var _par:String = this;
_par_str = new String(_par);
numer = _par_str.substr(10,1);
ans = _par;
var ans:String = ans;
_ans = new String(ans);
a_num = _ans.substr(10,1);
stopDrag();
target_ = _root["t_"+ a_num];
droper = _root["d_"+ a_num];
trace("----------------->>");
trace(droper + "//" + target_);
trace("<<--------------------");
if (eval(droper._droptarget) == target_) {
trace("Success");
}else{
trace("failure")
btn.releaseOutside = function(){
MovieClip.prototype.ovr = function(ob){
ob.alphaTo(75,1, "easeOutQuad");
ob.btn_cover.slideTo(btn_cover._x, -15, .75, "easeOutQuad");
ob.btn_cover.brightnessTo(50, .25, "easeInOutQuad",.25);
ob.btn_cover.brightnessTo(60, .25, "easeInOutQuad",1);
MovieClip.prototype.ndr = function(ob){
ob.alphaTo(100,1, "easeOutQuad");
ob.btn_cover.slideTo(btn_cover._x, -40, 1, "easeOutQuad");
ob.btn_cover.brightnessTo(0, 1, "easeInOutQuad",1);
MovieClip.prototype.drg = function(ob){
ob.startDrag(ob);
//final closer "}" below. Everything must reside above this
unless its a prototype(function)
//or the xml.load call//
//COMMITS THE XML LOAD FUNCTION ABOVE//
terms_xml.load("dnd.xml");
//Randomize the answers on the left//
Array.prototype.randomize = function() {
var i = this.length;
if (i == 0) return;
while (--i) {
var j = Math.floor(Math.random()*(i+1));
var tmp1 = this
var tmp2 = this[j];
this = tmp2;
this[j] = tmp1;
return this;
}

this & droper both return the same object. i actually
have it back to this right now. the one i posted up was just
testing. ive run out of ideas so im testing the stupid things.
sooooo, anyone else got ideas on why it isnt reading when the
object is dropped?

Similar Messages

  • Air 2.7 Drag and Drop

    Hi I've had this posted under the "problems and bugs" section for a while, but nobody has answered as yet. Maybe its better posted here.
    I have an HTML/Javascript application that provides HTML5 based drag and drop for files from the desktop. This works perfectly in the browser and also tried it using Appcelerator Titanium and it also works.
    However if I package the app using Air the drag and drop feature does not work!
    Does Air support this?
    From what I've read Air 2.7 should be much more HTML5 compliant.
    Seems that I might need to disable AIR's default D&D behaviour?
    Best Regards,
    Carl

    This happened to me too on various occasions, since v1.5.
    Only known solution for me is backing up and deleting the \SQL Developer\systemXXX directory under the (hidden) Application Data of your Windows user profile, to revert to factory defaults. You can try to migrate settings from the backed up folder when being asked to (on first start).
    Hope that helps,
    K.

  • How do I set up my drag and drop questionaire to export to a XML file?

    How do I set up my drag and drop questionaire to export to a
    XML file?
    I have a 70 seperate SWF files that pose a question and
    contain a drag and drop rank order response of 1,2,3,4.How do I set
    up a XML file that receives the responses.I don't understand how to
    do the Actionscript
    and get my responses to connect to the XML.Please
    Help!Thanks!
    Here's an example of my XML.
    <assessment>
    <sessionid>ffae926ea290ee93c3f26669c6c04a92</sessionid>
    <request>save_progress</request>
    <question>
    <number>1</number>
    <slot_a>2</slot_a>
    <slot_b>1</slot_b>
    <slot_c>4</slot_c>
    <slot_d>3</slot_d>
    </question>
    <question>
    <number>2</number>
    <slot_a>4</slot_a>
    <slot_b>3</slot_b>
    <slot_c>2</slot_c>
    <slot_d>1</slot_d>
    </question>
    <question>
    <number>3</number>
    <slot_a>1</slot_a>
    <slot_b>2</slot_b>
    <slot_c>3</slot_c>
    <slot_d>4</slot_d>
    </question>
    </assessment>

    Use XML.sendAndLoad.
    http://livedocs.macromedia.com/flash/8/main/00002879.html
    You will need a server script to receive the XML structure
    and it depends on
    the server scripting language how you obtain that data. Then
    you can either
    populate a database or write to a static file or even email
    the XML data
    received from Flash.
    For a basic example, I have two links I use for students in
    my Flash
    courses:
    http://www.hosfordusa.com/ClickSystems/courses/flash/examples/XMLASP/Ex01/XMLASPEchoEx01_D oc.php
    http://www.hosfordusa.com/ClickSystems/courses/flash/examples/XMLPHP/EX01/XMLPHPEchoEx01_D oc.php
    Lon Hosford
    www.lonhosford.com
    May many happy bits flow your way!
    "kenpoian" <[email protected]> wrote in
    message
    news:e5i9hp$cs6$[email protected]..
    How do I set up my drag and drop questionaire to export to a
    XML file?
    I have a 70 seperate SWF files that pose a question and
    contain a drag and
    drop rank order response of 1,2,3,4.How do I set up a XML
    file that receives
    the responses.I don't understand how to do the Actionscript
    and get my responses to connect to the XML.Please
    Help!Thanks!
    Here's an example of my XML.
    <assessment>
    <sessionid>ffae926ea290ee93c3f26669c6c04a92</sessionid>
    <request>save_progress</request>
    <question>
    <number>1</number>
    <slot_a>2</slot_a>
    <slot_b>1</slot_b>
    <slot_c>4</slot_c>
    <slot_d>3</slot_d>
    </question>
    <question>
    <number>2</number>
    <slot_a>4</slot_a>
    <slot_b>3</slot_b>
    <slot_c>2</slot_c>
    <slot_d>1</slot_d>
    </question>
    <question>
    <number>3</number>
    <slot_a>1</slot_a>
    <slot_b>2</slot_b>
    <slot_c>3</slot_c>
    <slot_d>4</slot_d>
    </question>
    </assessment>

  • I no longer have iTunes library.xml on my PC but I have all of my songs.  How do I download them to my iPhone - it won't allow me to drag and drop though my PC recognizes the device.

    My PC has all of my iTunes and it recognizes my iPhone 4 device but I cannot drag and drop the songs.  How do I copy the songs to my new iPhone without having to re-purchase everything?  Unfortunately, It appears I no longer have iTunes Music Library.xml on my PC.

    My husband and I are using the same iTunes account on all mac & pc computers, but the libraries are different on each machine.  We always manually manage our music (no auto sync).  iTunes is up to date on the PCs.  My husband uses our joint iTunes account on his pc, but once again, has a different collection in his library from those on the other machines.  He can't load any music from his PC to his iphone 4.  I can load music from my mac library to my iphone 4s, but cannot load from my pc library to my iphone 4s.  How can I switch my main library that it syncs with from the mac to the pc?
    Thanks

  • Drag and drop the xml schema?

    hi all
    i am creating a GUI. i am using splitpane to split my Frame. and my left split pane contains the XML schema in the form of a JTree. and i need to drag and drop the nodes of a JTree on to right split pane which sub divided in to some regions. i can able to open the xml file in to left split pane as a Jtree. but unable to drag and drop the Nodes in to rightsplit pane.
    any e book or sample code is greatly appriciated.
    thanks in advance.
    karthik

    Hi
    I am new to Oracle but not to VS. I have downloaded and installed the newest tools for Developer, having first tried the install for VS2003.net (which refused to install on my VS 2005.) I got the beta download and installed it, but my oracle explorer shows nothing. Any attempt to add a connection results in an error ORA-12560:TNS:protocol adaptor error. I had the full install of 10g r2 on my notebook, but removed it and opted for the XE version. I removed the Oracle_Home environment variable prior to installing XE. I am trying to connect to the HR database, and the account is unlocked. I saw a reference to the tnsfiles file, and that seems to be the problem, but I don't know what to do about it. Thanks in advance to anyone who can offer help.
    Bruce
    [email protected]

  • HT1473 I am trying to copy videos from my windows based dell into iTunes and they will not coy when I drag and drop nor with they copy when I use the add file command.

    I am trying to copy videos from windows folder into iTunes and it will not copy. I have used drag and drop and the folder sopy comand from iTunes. Anybody got an answer?

    Hi wayneiii,
    If you are having issues adding video files to iTunes on your Windows machine, you may want to verify that they are in a format that iTunes can play. You may find the following article helpful:
    iTunes: Frequently asked questions about viewing and syncing videos
    http://support.apple.com/kb/ht2729
    Regards,
    - Brenden

  • Drag and drop functionality of a LiveCycle designed form

    I have done a fair amount of searching on the forums to try and solve this problem but have been unable to find an answer.
    We have for years and years been using Adobe Acrobat 8 and associated LiveCycle suite. We have a few forms designed in LiveCycle that, once reader enabled, were able to be filled out and then "drag and drop"'d into regular PDF files. An entire system has been created out of this function.
    We recently, in the last few days, upgraded the entire Adobe software suite on our server to X level. Since the upgrade, we have been unable to "drag and drop" any of our Livecycle forms in to any PDF files. We are receiving this message:
    "You cannot insert pages from an Adobe XML form into another PDF file. To include Adobe XML forms with other PDF files, please use the following menu option: Document > Attach a File"
    The problem is, we don't want to attached the file as a separate document. We need it in a specific place within the PDF document, not as an outside document.
    This has worked for multiple years prior to our adobe upgrade, so I know it is possible.
    Adobe Guru's, what I am missing?

    The sample PDF you sent me that got converted to an Acroform did not include any calculation scripts. I'd be interested in seeing a sample XFA that got converted to an Acroform that retains the calculations. The scripting object models are so different that I would be suprised if anything worked even if the scripts were retained, which I doubt. There certainly isn't an automatic conversion form FormCalc or XFA-based JavaScript to something compatible with Acrobat-based JavaScript. Note that when you import an Acroform with scripting into Designer that all scripts are commented out because they cannot work in the different environment.
    I don't know of a way other than what you have already used. As mentioned in the other discussion I linked to, it may no longer be possible even with low-level tools (e.g., PDF CanOpener) that can manipulate the PDF content.
    Livecycle versatility is what stole u away from the acrobat forms "document conversion autoform".
    I'm not sure what you mean by this. I prefer to work in Acrobat to create PDF forms, but I realize a lot of people enjoy working with Designer. Many types of changes can be made quickly in Acrobat, but I'm not aware of a design environment that's more like Designer but for Acroforms. I'm not trying to change your mind about which is better, but if you ultimately require Acroforms (because XFA cannot be inserted into a normal PDF), then you need to look somewhere other than Designer.
    The bug exists in Acrobat 9, but when I try it none of the scripting or actions are included. I haven't bothered to test with Acrobat 10 or 11 yet, but it looks like you already have. So one answer would be to use a version of Acrobat that allows this.

  • Drag and Drop in custom components..

    hello friends,
    I am trying to devlop a schedule component. on part of this i trying to develop a functionality where the user can reschedure the appointment by drag and drop.  the dragdrop event in the container component is not triggered when ther user drag the appointment and drop it in the another container. can any one help me on this please. i have given below my source codes.
    Testbox.as
    package layouts.DayViewControl.containers
        import mx.core.Container;
        public class TestBox extends Container
            private var __timeAndXYCoOrdArray:Array;
            private var __xyDiff:int=0;
            public function TestBox()
                super();
                __timeAndXYCoOrdArray=new Array();
            protected override function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{
                super.updateDisplayList(unscaledWidth,unscaledHeight);
                var totalSlots:int=24*2;
                var __lineThickness:int=1;
                var __lineAlpha:int=0.2;
                var boxHeight:uint=unscaledHeight/totalSlots;
                graphics.clear();
                var xPos:int=0;
                var ypos:int=0;
                graphics.lineStyle(2,0x000000,0.5);
                graphics.drawRect(0,0,unscaledWidth,unscaledHeight);
                var __boxHeight:int=unscaledHeight/totalSlots;
                var __minusCount:int=1;
                for(var i:int=0;i<totalSlots;i++){
                    var timeStr:String="";
                    if(i%2 == 0){
                        __lineThickness=2;
                        graphics.lineStyle(__lineThickness,0x000000,0.4);               
                    }else{
                        __lineThickness=1;
                        graphics.lineStyle(__lineThickness,0x000000,0.2);   
                    graphics.moveTo(xPos,ypos);
                    var tempYpos:int=ypos;
                    if(__xyDiff == 0){
                        __xyDiff=ypos-xPos;
                    graphics.lineTo(xPos+unscaledWidth,tempYpos);
                    ypos+=boxHeight;
                    var newYPos:int=0;
                    if(i == 0){
                        timeStr="00:00";
                    }else if(i%2 != 0){
                        if(i<=9){
                            timeStr="0"+(i-__minusCount).toString()+":30";
                        }else{
                            timeStr=(i-__minusCount).toString()+":30";                       
                        newYPos=ypos-__xyDiff;
                    }else if(i%2 == 0){
                        if(i<=9){
                            timeStr="0"+(i-__minusCount).toString()+":00";
                        }else{
                            timeStr=(i-__minusCount).toString()+":00";                       
                        __minusCount+=1;
                        newYPos=ypos-__xyDiff;
                    __timeAndXYCoOrdArray.push({XPos:xPos,YPos:newYPos,Time:timeStr});
            public function getXFromtime(inputTime:String):int{
                var returnVal:int=0;
                if(inputTime && inputTime != ""){
                    for (var j:int=0;j<__timeAndXYCoOrdArray.length;j++){
                        if(__timeAndXYCoOrdArray[j].Time.toString() == inputTime){
                            returnVal=parseInt(__timeAndXYCoOrdArray[j].XPos)
                            break;
                return returnVal;
            public function getYFromtime(inputTime:String):int{
                var returnVal:int=0;
                if(inputTime && inputTime != ""){
                    for (var j:int=0;j<__timeAndXYCoOrdArray.length;j++){
                        if(__timeAndXYCoOrdArray[j].Time.toString() == inputTime){
                            returnVal=parseInt(__timeAndXYCoOrdArray[j].YPos)
                            break;
                return returnVal;
            public function getTimeDifference():int{
                return __xyDiff;
    TimeDividerLines.as
    package layouts.DayViewControl
        import flash.events.MouseEvent;
        import flash.utils.Dictionary;
        import layouts.DayViewControl.containers.TestBox;
        import mx.collections.ArrayCollection;
        import mx.core.DragSource;
        import mx.core.EventPriority;
        import mx.core.UIComponent;
        import mx.events.DragEvent;
        import mx.managers.DragManager;
        public class TimeDividerLines extends TestBox
            private var __linesPerHour:int=4;
            private var __currentDate:Date;
            private var __timeAndXYCoOrdArray:Array;
            private var __dataComponentArry:Array;
            private var __totalAppointment:int=5;
            private var __xyDiff:int=0;
            private var __apptDataInfoArry:Array;
            private var __dataProviderChanged:Boolean=false;
            private var __reArrangeDataArrayCol:ArrayCollection;
            private var __sortedArrayCollection:ArrayCollection;
            private var __dragDropEnabled:Boolean=false;
            public function TimeDividerLines()
                super();
                //__timeAndXYCoOrdArray=new Array();
                __dataComponentArry=new Array();
                __apptDataInfoArry=new Array();
                __sortedArrayCollection=new ArrayCollection();   
            public function set dragDropEnabled(inputVal:Boolean):void{
                if(inputVal){
                    //set youself for drag and drop event
                    this.addEventListener(DragEvent.DRAG_ENTER,dragEnterEventHandler,false,EventPriority.DEFA ULT_HANDLER);
                    this.addEventListener(DragEvent.DRAG_OVER,dragOverEventHandler,false,EventPriority.DEFAUL T_HANDLER);
                    this.addEventListener(DragEvent.DRAG_DROP,dragDropEventHandler,false,EventPriority.DEFAUL T_HANDLER);
                    this.addEventListener(DragEvent.DRAG_COMPLETE,dropCompleteHandler);               
                }else{
                    this.removeEventListener(DragEvent.DRAG_ENTER,dragEnterEventHandler,false);
                    this.removeEventListener(DragEvent.DRAG_OVER,dragOverEventHandler,false);
                    this.removeEventListener(DragEvent.DRAG_DROP,dragDropEventHandler,false);               
                __dragDropEnabled=inputVal;
            private function dropCompleteHandler(event:DragEvent):void{
                trace("inside drop complete handler");
            private function dragEnterEventHandler(event:DragEvent):void{
                if(event.dragSource.hasFormat("Appointment")){
                    var dropTarget:UIComponent=UIComponent(event.currentTarget);
                    DragManager.acceptDragDrop(dropTarget);           
                    DragManager.showFeedback(event.ctrlKey ? DragManager.COPY : DragManager.MOVE);   
                    return;
                DragManager.showFeedback(DragManager.NONE);
            private function dragOverEventHandler(event:DragEvent):void{
                /* if(event.dragSource.hasFormat("Appointment")){
                    if(event.ctrlKey){
                        DragManager.showFeedback(DragManager.COPY);
                        return
                    }else{
                        DragManager.showFeedback(DragManager.MOVE);
                        return
                DragManager.showFeedback(DragManager.NONE); */
            private function dragDropEventHandler(event:DragEvent):void{
                //We need to do two things here. you need to add the dropped data to the data provider list.
                //and need need to update this entry to DB
                 /* if(event.dragSource.hasFormat("Appointment")){
                     var draggedbox:AppointmentDisplayBox=event.dragSource.dataForFormat("Appointment") as AppointmentDisplayBox;
                     var dropBox:TimeDividerLines=event.currentTarget as TimeDividerLines;
                     //create a new copy
                     var newBox:AppointmentDisplayBox=new AppointmentDisplayBox();
                     newBox=draggedbox;
                     newBox.x=dropBox.mouseX;
                     newBox.y=dropBox.mouseY;
                     this.addChild(newBox);
                 trace("11111111111111111111111111111111111111111")
            private function mouseDownHandler(event:MouseEvent):void{
                var draginit:AppointmentDisplayBox=AppointmentDisplayBox(event.currentTarget);
                var ds:DragSource=new DragSource();
                ds.addData(draginit,"Appointment");
                DragManager.doDrag(draginit,ds,event);
            override protected function createChildren():void{
                super.createChildren();
            override protected function commitProperties():void{
                 if(__dataProviderChanged){
                     __dataComponentArry=new Array();
                    for (var k:int=0;k<__apptDataInfoArry.length;k++){
                        var tempDispBox:AppointmentDisplayBox=new AppointmentDisplayBox();
                        tempDispBox.currentDate=this.currentDate;
                        tempDispBox.startTime=__apptDataInfoArry[k].StartTime.toString();
                        tempDispBox.endTime=__apptDataInfoArry[k].EndTime.toString();
                        tempDispBox.apptDataXml=__apptDataInfoArry[k].Data as XML;       
                        tempDispBox.addEventListener(MouseEvent.MOUSE_DOWN,mouseDownHandler);           
                        this.addChild(tempDispBox);
                        __dataComponentArry.push(tempDispBox);
                    __dataProviderChanged=false;
            private function sortTheCollectionValues(__inputArrayCol:ArrayCollection):ArrayCollection{
                var returnArrayCollection:ArrayCollection=new ArrayCollection();
                var tempArray:Array=new Array();
                for(var i:int=0;i<__inputArrayCol.length;i++){
                    tempArray.push({Length:(__inputArrayCol[i] as Array).length,Index:i});
                tempArray.sortOn("Length",Array.DESCENDING|Array.NUMERIC);
                for(var j:int=0;j<tempArray.length;j++){
                    returnArrayCollection.addItem(__inputArrayCol[tempArray[j].Index]);
                return returnArrayCollection;
            override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{
                super.updateDisplayList(unscaledWidth,unscaledHeight);
                if(__dataComponentArry.length > 0){
                    __sortedArrayCollection=new ArrayCollection();
                    sortArray(__dataComponentArry);
                if(__sortedArrayCollection.length > 0 ){
                    //you need to sort the arraycollection based on the length first to draw the highest no. child array first
                    __sortedArrayCollection=sortTheCollectionValues(__sortedArrayCollection);
                    var appGap:int=2;
                    var endGap:int=10;
                    //var drawnApptObj:Array=new Array();
                    var existingChildArray:Array=new Array();   
                    var drawnApptObj:Dictionary=new Dictionary();
                    for(var l:int=0;l<__sortedArrayCollection.length;l++){
                        var apptWidth:int=0;
                        var innerArry:Array=__sortedArrayCollection[l] as Array;
                        existingChildArray=new Array();
                        //you need to recalculate the width
                        //for the first iteration you need to sort by height
                        //if(l == 0){
                        //    innerArry.sortOn("apptHeight",Array.NUMERIC|Array.DESCENDING);
                        //}else{
                            innerArry.sortOn(["isChild","apptHeight"],Array.NUMERIC|Array.DESCENDING);   
                        //innerArry.sortOn("apptHeight",Array.NUMERIC|Array.DESCENDING);
                        //first we need to find out any intersection appointment is there
                        var count:int=0;
                         for each(var tempApptDispBox:AppointmentDisplayBox in innerArry){
                            if(drawnApptObj[tempApptDispBox] == tempApptDispBox){
                                if(apptWidth < tempApptDispBox.width){
                                    apptWidth=tempApptDispBox.width;
                                    existingChildArray.push({index:count,object:tempApptDispBox});
                            count++;
                        if(apptWidth == 0){
                            apptWidth=(unscaledWidth - (endGap + (appGap*innerArry.length)))/innerArry.length;
                        //now you need to layout the childrens
                        var canDraw:Boolean=false;
                        var ismatch:Boolean=false;
                        for (var childCnt:int=0;childCnt < innerArry.length;childCnt++){
                             var tempDispBox:AppointmentDisplayBox=innerArry[childCnt] as AppointmentDisplayBox;
                             for (var i:int=0;i<existingChildArray.length;i++){
                                 if(existingChildArray[i].index == childCnt){
                                     ismatch=true;
                                     break;
                            if(childCnt == 0 && !ismatch){
                                tempDispBox.x=this.getXFromtime(tempDispBox.startTime.toString())+2;
                                canDraw=true;
                            }else if(existingChildArray.indexOf(childCnt) > -1 && childCnt != 0){
                                //tempDispBox.x=(existingChildArray[childCnt] as AppointmentDisplayBox).x+apptWidth+appGap;
                                canDraw=false;
                            }else if(childCnt != 0 && !ismatch){
                                tempDispBox.x=((existingChildArray[childCnt-1].object) as AppointmentDisplayBox).x+apptWidth+appGap;
                                canDraw=true;
                            if(canDraw){
                                tempDispBox.y=this.getYFromtime(tempDispBox.startTime.toString());   
                                tempDispBox.width=apptWidth;
                                tempDispBox.height=tempDispBox.apptHeight-2;
                                if(tempDispBox.isChild){
                                    drawnApptObj[tempDispBox]=tempDispBox;
                                existingChildArray.push({index:childCnt,object:tempDispBox});
                            canDraw=false;
                            ismatch=false;
                //first we need to sort the component array based on the height property to position the biggest appointment first
            private function sortArray(tempArry:Array):void{
                //var tempArry:Array=arrayClone(__datacompArray);
                 for(var i:int=0;i<tempArry.length;i++){
                     var tempDispBox:AppointmentDisplayBox=tempArry[i] as AppointmentDisplayBox;
                    var start:int=this.getYFromtime(tempDispBox.startTime.toString());
                    var end:int=this.getYFromtime(tempDispBox.endTime.toString());
                    tempDispBox.apptHeight=end-start;
                var indexArray:Array=new Array();
                var canContinue:Boolean=false;
                var loopArray:Array=new Array();
                loopArray=tempArry.concat(); // this will copy the array to loopArray
                var copyArry:Array=new Array();
                var k:int=0;
                while(k<loopArray.length){
                    loopArray.sortOn("apptHeight",Array.NUMERIC|Array.DESCENDING);
                    if(indexArray.length > 0){
                        if(indexArray.indexOf(k) >= 0){
                            canContinue=false;
                        }else{
                            canContinue=true;
                    }else{
                        canContinue=true;
                    if(canContinue){
                        var newArry:Array=new Array();
                        //newArry.push(tempArry[k]);                   
                        for (var innerCnt:int=0;innerCnt<loopArray.length;innerCnt++){
                            var locCanContinue:Boolean=false;
                            if(indexArray.length > 0){
                                if(indexArray.indexOf(innerCnt) >= 0){
                                    locCanContinue=false;
                                }else{
                                    locCanContinue=true;
                            }else{
                                locCanContinue=true;
                            if(locCanContinue && k != innerCnt){
                                var outerstartTime:Number=parseFloat(loopArray[k].startTime.toString().replace(":","."));
                                var outerendtime:Number=parseFloat(loopArray[k].endTime.toString().replace(":","."));
                                var innerStartTime:Number=parseFloat(loopArray[innerCnt].startTime.toString().replace(":","." ));
                                var innerEndtime:Number=parseFloat(loopArray[innerCnt].endTime.toString().replace(":","."));
                                if(outerstartTime == innerStartTime && outerendtime == innerEndtime){
                                    //newArry.push(tempArry.splice(innerCnt,1));
                                    newArry.push(loopArray[innerCnt]);
                                    indexArray.push(innerCnt);
                                }else if(outerstartTime == innerStartTime && outerendtime > innerEndtime){
                                    //newArry.push(tempArry.splice(innerCnt,1));
                                    newArry.push(loopArray[innerCnt]);
                                    indexArray.push(innerCnt);
                                }else if(outerstartTime  < innerStartTime && outerendtime == innerEndtime){
                                    //newArry.push(tempArry.splice(innerCnt,1));
                                    newArry.push(loopArray[innerCnt]);
                                    indexArray.push(innerCnt);
                                }else if(outerstartTime  < innerStartTime && outerendtime > innerEndtime){
                                    //newArry.push(tempArry.splice(innerCnt,1));
                                    newArry.push(loopArray[innerCnt]);
                                    indexArray.push(innerCnt);
                                }else if(outerstartTime > innerStartTime && outerendtime > innerEndtime && innerEndtime > outerstartTime){
                                    //newArry.push(tempArry.splice(innerCnt,1));
                                    newArry.push(loopArray[innerCnt]);
                                    loopArray[innerCnt].isChild=true;
                                    //indexArray.push(innerCnt);
                                }else if(outerstartTime < innerStartTime && outerendtime < innerEndtime && innerStartTime < outerendtime){
                                    //newArry.push(tempArry.splice(innerCnt,1));
                                    newArry.push(loopArray[innerCnt]);
                                    loopArray[innerCnt].isChild=true;
                                    //indexArray.push(innerCnt);
                                }else if(outerstartTime == innerStartTime && outerendtime < innerEndtime){
                                    newArry.push(loopArray[innerCnt]);
                                    loopArray[innerCnt].isChild=true;
                                }else if(outerstartTime > innerStartTime && outerendtime == innerEndtime){
                                    newArry.push(loopArray[innerCnt]);
                                    loopArray[innerCnt].isChild=true;
                        //newArry.push(tempArry.splice(k,1));
                        indexArray.push(k);
                        newArry.push(loopArray[k]);
                        __sortedArrayCollection.addItem(newArry);                   
                    copyArry=loopArray.concat();
                    loopArray=new Array();
                    for (var j:int=0;j<copyArry.length;j++){
                        if(indexArray.indexOf(j) < 0){
                            loopArray.push(copyArry[j]);
                    indexArray=new Array();               
            private function arrayClone(source:Array):Array{
                var returnArray:Array=new Array();
                for(var j:int=0;j<source.length;j++){
                    returnArray.push(source[j]);
                return returnArray;
            public function set currentDate(inputVal:Date):void{
                if(__currentDate != inputVal){
                    __currentDate=inputVal;
            public function get currentDate():Date{
                return __currentDate;
            public function set apptDataArray(inputVal:Array):void{
                if(!__dataProviderChanged && inputVal.length > 0){
                    __apptDataInfoArry=inputVal;
                    __dataProviderChanged=true;
                    invalidateProperties();
                    invalidateDisplayList();
    AppointmentDisplayBox.as
    package layouts.DayViewControl
        import mx.controls.TextInput;
        import mx.core.UIComponent;
        public class AppointmentDisplayBox extends UIComponent
            private var __startTime:String;
            private var __EndTime:String;
            private var __currentDate:Date;
            private var __apptData:XML;
            private var __height:Number;
            private var __isChild:Boolean=false;
            private var __modifiedWidth:Boolean=false;
            private var __docNameLable:TextInput;
            private var __appDetails:TextInput;
            public function AppointmentDisplayBox()
                super();
                this.setStyle("horizontalScrollPolicy","off");
                this.setStyle("verticalScrollPolicy","off");
                this.setStyle("borderStyle","solid");
                this.setStyle("verticalGap","0");
                this.setStyle("borderStyle","outset");       
                this.buttonMode=true;           
            protected override function createChildren():void{
                super.createChildren();
                if(!__docNameLable){
                    __docNameLable=new TextInput();
                    __docNameLable.editable=false;
                    __docNameLable.setStyle("horizontalScrollPolicy","off");
                    __docNameLable.setStyle("verticalScrollPolicy","off");
                    __docNameLable.setStyle("borderStyle","none");
                    //__docNameLable.setStyle("borderThickness","0");
                    __docNameLable.buttonMode=true;
                    addChild(__docNameLable);
                if(!__appDetails){
                    __appDetails=new TextInput();
                    __appDetails.editable=false;   
                    __appDetails.setStyle("horizontalScrollPolicy","off");
                    __appDetails.setStyle("verticalScrollPolicy","off");
                    __appDetails.setStyle("borderStyle","none");
                     __appDetails.setStyle("backgroundColor","0xB1FB17");
                     __appDetails.buttonMode=true;
                //    __appDetails.setStyle("borderThickness","0");
                    addChild(__appDetails);
            protected override function commitProperties():void{
                super.commitProperties();
                 if(__apptData != null){
                    __docNameLable.text=__apptData.DocName.toString();
                    __appDetails.text=__apptData.PatientID.toString()+"\n"+__apptData.Description.toString();                
                    invalidateDisplayList();
            protected override function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{
                super.updateDisplayList(unscaledWidth,unscaledHeight);
                __docNameLable.setActualSize(unscaledWidth-1,20);
                __docNameLable.move(1,1);
                graphics.clear();
                var lineColor:uint=0x000000;
                graphics.lineStyle(1,lineColor,1);
                graphics.beginFill(0xFEFDFD,1)
                graphics.drawRect(0,0,unscaledWidth,22);
                graphics.endFill();
                __appDetails.setActualSize(unscaledWidth-1,unscaledHeight-22);
                __appDetails.move(1,23);
                graphics.drawRect(0,22,unscaledWidth,unscaledHeight-20);
            public function set startTime(inputVal:String):void{
                __startTime=inputVal;
            public function get startTime():String{
                return __startTime;
            public function set endTime(inputVal:String):void{
                __EndTime=inputVal;
            public function get endTime():String{
                return __EndTime;
            public function set currentDate(inputVal:Date):void{
                __currentDate=inputVal;
            public function get currentDate():Date{
                return __currentDate;
            public function set apptHeight(inputVal:Number):void{
                __height=inputVal;
            public function get apptHeight():Number{
                return __height;
            public function set isChild(inputVal:Boolean):void{
                __isChild=inputVal;
            public function get isChild():Boolean{
                return __isChild;
            public function set isModifiedWidth(inputVal:Boolean):void{
                __modifiedWidth=inputVal;
            public function get isModifiedWidth():Boolean{
                return __modifiedWidth;
            public function set apptDataXml(inputVal:XML):void{
                if(__apptData != inputVal){
                    __apptData=inputVal;
                    invalidateProperties();
                    invalidateDisplayList();
            public function get apptDataXml():XML{
                return __apptData;
    Test.mxml
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" xmlns:layouts="layouts.*"
        xmlns:DayViewControl="layouts.DayViewControl.*" xmlns:test="layouts.DayViewControl.containers.*">
        <mx:Script>
            <![CDATA[
                import mx.controls.TextInput;
                import layouts.DayViewControl.TimeDividerLines;
                import mx.events.DragEvent;
                import mx.managers.DragManager;
                import mx.core.DragSource;
                import layouts.DayViewControl.AppointmentDisplayBox;
                private function mouseDownHandler(event:MouseEvent):void{
                    var dragint:AppointmentDisplayBox=AppointmentDisplayBox(event.currentTarget);
                    //var dragint:TextInput=TextInput(event.currentTarget);
                    var ds:DragSource=new DragSource();
                    ds.addData(dragint,"Appoitment");
                    DragManager.doDrag(dragint,ds,event);               
                private function dragEnterHandler(event:DragEvent):void{
                    if(event.dragSource.hasFormat("Appoitment")){
                        var droptarget:TimeDividerLines=TimeDividerLines(event.currentTarget);
                        DragManager.acceptDragDrop(droptarget);
                        DragManager.showFeedback(event.ctrlKey?DragManager.COPY:DragManager.MOVE);
                        return;
                    DragManager.showFeedback(DragManager.NONE);
                private function dragDropHandler(event:DragEvent):void{
                    if(event.dragSource.hasFormat("Appoitment")){
                        var droppedObj:AppointmentDisplayBox=AppointmentDisplayBox(event.dragSource.dataForFormat("Ap poitment"));
                        //var droppedObj:TextInput=TextInput(event.dragSource.dataForFormat("Appoitment"));
                        var dropTarget:TimeDividerLines=TimeDividerLines(event.currentTarget);
                        droppedObj.x=dropTarget.mouseX;
                        droppedObj.y=dropTarget.mouseY;
                        dropTarget.addChild(droppedObj);
            ]]>
        </mx:Script>
        <mx:HBox width="100%" height="100%">
            <DayViewControl:TimeDividerLines width="50%" height="100%">
                <DayViewControl:AppointmentDisplayBox width="50" height="100" mouseDown="mouseDownHandler(event)"/>
            </DayViewControl:TimeDividerLines>
            <DayViewControl:TimeDividerLines width="50%" height="100%" dragEnter="dragEnterHandler(event)" dragDrop="dragDropHandler(event)"/>
        </mx:HBox>
    </mx:Application>

    First 3 .as are the component
    source. in the last test.mxml file i have written the drag and drop functionality.
    can any help me?? please

  • Drag and drop external text into a Flex component

    Hi,
    is there any way to allow drag and drop of external text (for
    example, selected text from another browser or even from the
    address bar) into a Flex component like TextArea? I know how to
    drag and drop between two different Flex components but in this
    case, the source is external. There must be something I can do to
    TextArea like its dragdrop property to allow this feature... any
    help would be greatly appreciated.
    Thanks,
    Josh

    Short answer: Yes, as long as it is an AIR app.
    Browser-based Flex apps do not have access to
    ClipBoardFormats, so I'm not sure it is possible to do what I think
    you want to do -- have a web-based Flex app that allows you to drag
    and drop selected text from other apps. Most possibly because of
    the security sandbox that the Flash player runs in.
    However, if you wanted to do it in an AIR app, I built this
    as an example for you (you can view a "cleaner" version with proper
    indents at
    http://pastebin.com/f741cbac8
    <?xml version="1.0" encoding="utf-8"?>
    <mx:WindowedApplication xmlns:mx="
    http://www.adobe.com/2006/mxml"
    creationComplete="initDandD();" width="500" height="600">
    <mx:Script>
    <![CDATA[
    public function initDandD():void {
    addEventListener(NativeDragEvent.NATIVE_DRAG_ENTER,
    onDragIn);
    addEventListener(NativeDragEvent.NATIVE_DRAG_DROP,
    onDragDrop);
    private function onDragIn(e:NativeDragEvent):void {
    if(e.clipboard.hasFormat(ClipboardFormats.TEXT_FORMAT)) {
    NativeDragManager.acceptDragDrop(this);
    private function onDragDrop(e:NativeDragEvent):void {
    var myString:String =
    e.clipboard.getData(ClipboardFormats.TEXT_FORMAT) as String;
    myTextArea.text = myString;
    ]]>
    </mx:Script>
    <mx:TextArea id="myTextArea" width="326"
    height="262"/>
    </mx:WindowedApplication>

  • Can no longer drag and drop photos to a backup harddrive.

    New to Mac
    I have previously been able to drag photos, I don't recall if individually or in events, to a backup hardrive. It appears I have lost the ability to do so. I am unsure if I am now doing it incorrectly or there is some fault in the OS. I was successful weeks ago, then I failed at an attempt. I tried again recently with no luck. I select the pics and get the green + and then the white striped circle as I hold the images over any portion of the backup drive. I tried the Helvetica font toggle and a restart with no luck. I enabled sharing in the iphoto preferences........... Suggestions? Btw the time machine backup seems to be working to a different hard drive.
    Thanks
    Matt

    What I'm not sure about: Can you simpyl drag and drop to the desktop?
    If not the
    Option 1
    Back Up and try rebuild the library: hold down the command and option (or alt) keys while launching iPhoto. Use the resulting dialogue to rebuild. Choose to Rebuild iPhoto Library Database from automatic backup.
    If that fails:
    Option 2
    Download iPhoto Library Manager and use its rebuild function. This will create a new library based on data in the albumdata.xml file. Not everything will be brought over - no slideshows, books or calendars, for instance - but it should get all your albums and keywords back.
    Because this process creates an entirely new library and leaves your old one untouched, it is non-destructive, and if you're not happy with the results you can simply return to your old one. .
    Regards
    TD

  • Drag and Drop on Page Component

    Hi,
    I have an edit configuration which looks like this:
        <?xml version="1.0" encoding="UTF-8"?>
        <jcr:root xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0"
            jcr:primaryType="cq:EditConfig">
            <cq:dropTargets jcr:primaryType="nt:unstructured">
                <title-data-reference
                    jcr:primaryType="cq:DropTargetConfig"
                    accept="[.*]"
                    groups="[title]"
                    propertyName="./title" />
            </cq:dropTargets>
            <cq:listeners
                jcr:primaryType="cq:EditListenersConfig"
                afteredit="REFRESH_PAGE" />   
        </jcr:root>
    The drop taget in the JSP is defined like this:
        <div class="<%=DropTarget.CSS_CLASS_PREFIX%>title-data-reference">
            <b>Drop it here</b>
        </div>
    When I use this in a "normal" component drag and drop from the content finder works fine. When I *** the same edit configuration and the same drop target code to my page component, which has sling:resourceSuperType="foundation/components/page" specified, the drop area is not recognisable as a drop area.
    Both component and the page component dialog have a pathfield widget defined:
        <?xml version="1.0" encoding="UTF-8"?>
        <jcr:root xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0"
            jcr:primaryType="cq:Widget"
            fieldLabel="Titel"
            name="./title"
            rootTitle="Titel"
            xtype="pathfield"
            rootPath="/etc/xxx/titles">
        </jcr:root>
    Is a page component different from a "normal" component so that it does not accept a drop? Am I missing something else?
    Thanks in advance,
    Ronald

    Hi Jörg,
    good to hear from you.
    This would not really do what I want. I want to be able to associate a title (in my case a book title) with a page by dropping it on it. Then I have multiple parsyses (e.g. center, east) on my page and can drop components onto these which will display content from the title associated with the page.
    Currently I can only drag titles onto each individual component. If I followed your advise I would still have to drag the title onto multiple parsyses. Therefore it would really be helpful if CQ allowed you to drop stuff onto a page.
    In my opinion this would also be helpful for the geometrix outdoors example where one drops products onto a product-component. As soon as you want add another component to the page displaying different data from or based the same product you would need to drag the same product onto that new component.
    Best,
    Ronald

  • Next newbie fun - drag and drop

    Well after a very successful last posting - here goes again .... I'm trying to get the dragged images to appear in the box. But for some reason they're not appearing. As you can tell - I is still a newbie!
    Thanks
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
        <mx:Script>
            <![CDATA[
            import mx.controls.Image;  
            import mx.managers.DragManager;
            import mx.core.DragSource;
            private function dragIt(event:MouseEvent, value:uint):void
                // Get the drag initiator component from the event object.
                var dragInitiator:Image = event.currentTarget as Image;
                // Create a DragSource object - stores info about the drag data
                var dragSource:DragSource = new DragSource();
                // Add the data to the object.
                dragSource.addData(value, 'value');
                // Create a copy of the coin image to use as a drag proxy.
                var dragProxy:Image = new Image();
                dragProxy.source = event.currentTarget.source;
                // Call the DragManager doDrag() method to start the drag.
                DragManager.doDrag(dragInitiator, dragSource, event, dragProxy);
               private function preLetGo(event:MouseEvent):void
                   // Get the drop target component from the event object.
                   var dropTarget:VBox = event.currentTarget as VBox;
                // Accept it
                DragManager.acceptDragDrop(dropTarget);
            // Build new array based on what gets dragged over it
            private function letGo(event:MouseEvent):void
                var images:Array = [];
                var newImage:Image = new Image();
                newImage.source = event.currentTarget.source;
                images.push({img:newImage}); 
                content.dataProvider = images;
            ]]>
        </mx:Script>
        <mx:VBox>
            <mx:Image source="images/image1.jpg" mouseDown="dragIt(event,1);" />
            <mx:Image source="images/image2.jpg" mouseDown="dragIt(event,2);" />   
        </mx:VBox>
        <mx:VBox width="400" height="200" id="vbox" backgroundColor="#c0c0c0">
            <mx:Label text="Drop here" />
            <mx:List id="content" dragEnter="preLetGo(event);" dragDrop="letGo(event);" labelField="images" />
        </mx:VBox>
    </mx:Application>

    K-kOo, the List is not the target of the drag and drop, I believe UKuser27 wants the images to show up in the VBox, and for the list to be a tally of which images are now in the VBox.
    I could be wrong, but his AS is setting DragManager.acceptDragDrop(VBox(event.currentTarget)).
    UKuser27, with my assumptions above, I've redone your app to act as so.  Much like in Adobe's example at http://livedocs.adobe.com/flex/3/html/help.html?content=dragdrop_7.html you have to adjust the image's whereabouts.  In their example, they're moving an object already inside a Canvas, so they use the handler to update the xy coords.  In your case, you need to remove the image from the first VBox, and add it to the second one.  It will then show up under the List element (though I'm not sure why you'd want that).
    Here is my interpretation of what you wanted.  Even if it is not exactly what you want, should give you the right direction to move forward with:
    <?xml version="1.0"?>
    <!-- dragdrop\DandDImage.mxml -->
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
        <mx:Script>
            <![CDATA[
                //Import classes so you don't have to use full names.
                import mx.managers.DragManager;
                import mx.core.DragSource;
                import mx.events.DragEvent;
                import flash.events.MouseEvent;
                import mx.controls.Alert;
                   private var imageList:Array = [];
                // The mouseMove event handler for the Image control
                // initiates the drag-and-drop operation.
                private function mouseMoveHandler(event:MouseEvent):void {               
                    var dragInitiator:Image=Image(event.currentTarget);
                    var ds:DragSource = new DragSource();
                    ds.addData(dragInitiator, "img");              
                    DragManager.doDrag(dragInitiator, ds, event);
                // The dragEnter event handler for the VBox container
                // enables dropping.
                private function dragEnterHandler(event:DragEvent):void {
                    if (event.dragSource.hasFormat("img")) {
                        DragManager.acceptDragDrop(VBox(event.currentTarget));
                // The dragDrop event handler for the VBox container
                // adds image to the target VBox
                private function dragDropHandler(event:DragEvent):void {
                     vbox.addChild(Image(event.dragInitiator));
                     // now update the List
                     imageList.push(Image(event.dragInitiator).source);
                     content.dataProvider = imageList;
            ]]>
        </mx:Script>
        <mx:VBox id="imgbox">
          <mx:Image id="myimg1" source="thebouv_bigger.gif" mouseMove="mouseMoveHandler(event);"/>
          <mx:Image id="myimg2" source="thebouv_bigger.gif" mouseMove="mouseMoveHandler(event);"/>
        </mx:VBox>
        <mx:VBox width="400" height="200"
             id="vbox"
             backgroundColor="#c0c0c0"
             dragEnter="dragEnterHandler(event)"
            dragDrop="dragDropHandler(event)">
            <mx:Label text="Drop here" />
            <mx:List id="content" dropEnabled="true"/>
        </mx:VBox>
    </mx:Application>

  • Drag and Drop Test

    Hi ,
    I am building a Quiz where we have a Drag and Drop Question ,with Option from 1 - 5 Randomly displayed , User have to put them in a right order for the answer to be correct..When the Answer is correct , a Movie Clip Pops up showing its the Correct Answer
    I am taking questions out of an XML File , but don't know how I would define a SET of option to be a correct answer in this ,
    Anyone with a Code would be a great help , here is what I have in my AS3 Code
      private function fn_showQuestionDragAndDrop():void
       mc_questionDragAndDrop.visible     = true;
       mc_questionDragAndDrop.y        = (277 - ((6 -( txt_question.numLines))*21.6));
       arr_objects = new Array();
       while(mc_questionDragAndDrop.numChildren > 0)
        mc_questionDragAndDrop.removeChildAt(0);
       var arr_dragOptions:Array =  new Array();
       for(var i:uint = 0;i< xml_questions.problem[int_currentQuestion].answers.answer.length() ;i++)
        arr_dragOptions.push(xml_questions.problem[int_currentQuestion].answers.answer[i]);
       arr_dragOptions.sort(randomSort);  
       for( i = 0;i< xml_questions.problem[int_currentQuestion].answers.answer.length() ;i++)
        var mc_counter:mc_questionDragAndDropCounter       = new mc_questionDragAndDropCounter();
        mc_counter.txt_caption.text     = String(i+1)+":"
        mc_questionDragAndDrop.addChild(mc_counter);
        mc_counter.y          = 32*i;
        mc_counter.x          = 27.9;
        var mc_option:mc_questionDragAndDropOption = new mc_questionDragAndDropOption();
        mc_option.txt_caption.text     =  arr_dragOptions[i];
        mc_questionDragAndDrop.addChild(mc_option);
        mc_option.y          = 32*i;
        mc_option.x          = 48.05;
        mc_option.buttonMode       = true;
        mc_option.mouseChildren      = false;
        mc_option.id = i;
        mc_option.addEventListener(MouseEvent.MOUSE_DOWN,fn_mouseDown);
        mc_option.addEventListener(MouseEvent.MOUSE_UP,fn_mouseDown);
        arr_objects.push(mc_option);
        mc_option.X = mc_option.x;
        mc_option.Y = mc_option.y;
    Here is the XML Code
    <problem id = "4">
      <question type = "DragAndDrop" >At uncontrolled intersections or situations, the hierarchy rule applies. Drag and drop the below into the correct hierarchical order.</question>
      <answers correct = "1">
       <answer>Emergency vehicles driving under priority flashing lights &amp; siren</answer>
       <answer>Explosive trucks, working graders and dozers</answer>
       <answer>Haul trucks</answer>
       <answer>Other heavy equipment</answer>
       <answer>Light vehicles</answer>
      </answers>
    </problem>
    How can I define a Pattern to be Correct Answer in this case?

    Thanks a lot for the help ,
    I tried the Code with addition of adding a Movie Clip (correct) or (wrong) based on answer  to it which I am doing with the rest of the questions , but its not doing anything
    Here is my Code , Part of the Problem can be that there is NO one Correct Answer here , actually , user have to set the Lines of Text in the right order and that would be considered a correct answer
    Here is my Code in AS3
    if(Boolean( xml_questions.problem[int_currentQuestion].answers.answer.@correct)){
        correct.visible        = true;
        correct.correct_txt.text      = String("Correct Answer");
        Root.arr_score[int_currentQuestion]   = 1;
       }else{
        attempt--;
        wrong.visible = true;
        wrong.wrong_txt.text = String("Wrong Answer - " + attempt + " /3 Attempts");
        Root.arr_score[int_currentQuestion]   = -1;   
    and in the XML I did what you asked , but I don't know how to set it up that Flash would understand that the Selection is in the Right Order now

  • Visual Studio opening files when dragged and dropped in WPF app debugging session

    I'm working on a WPF app (using VS2013 CE) which is intended to manage media files (TV Shows, movies, etc) and as part of this I am enabling the user to drag and drop media files on to the running app (by adding AllowDrop="True" and PreviewDragEnter="Window_PreviewDragEnter"
    to my Window definition).
    The problem I have is that when I drag files onto the app in a debugging session Visual Studio then opens the file(s) when I stop debugging... this is seriously annoying as when I am testing with large media files (> 1GB) it just locks up VS for minutes
    at a time while it tries to open the file or files. When I run the app outside the debugger this does not happen - it's only when I'm in a VS debugging session.  The only way I can stop this happening is to kill VS completely from Task Manager then restart
    it - this is also very annoying but often I need to do this as it will freeze up for 5-10 minutes while it insists on loading the files in VS.
    I understand the app, whilst debugging, is running in the context of VS but why does VS then have to try to open the files when debugging is finished?   I have looked through the options but can't see anything to switch this off and no amount of searching
    has turned up anything - can anyone put me out of my misery with a solution to this annoying issue?

    Hello nzmike,
    Does Visual Studio behaves like the following image shows and just hangs when opening your media file?
    Do you have any other computer which installs Visual Studio? Can you reproduce this on it?
    In order to troubleshoot this issue I think we need to locate the root reason of your issue. The problem can related to the following:
    1. Your project is corrupt and VS then trys to load that file when debug finished.
    2. Your VS is corrupt and caused this problem.
    So please do something below:
    1. Try clean and rebuild your project.
    2. Switch to some other PCs and use VS and your project there, check if the problem can be reproduced.
    3. You can backup your VS setting and try some commands: devenv /resetsettings and devenv /resetuserdata
    Details about VS command:https://msdn.microsoft.com/en-us/library/xee0c8y7.aspx
    And based on th research of the above second step, if you can reproduce this issue on more than one PC, the problem is pending on your project and I need you to share a simple sample which can reproduce this issue. We will need to investigate the project
    in detail.
    Best regards,
    Barry
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Flash Drag and Drop Template in Captivate.  *HELP*

    Good morning.
    I am attempting to use the drag and drop learning interaction
    that comes pre-packaged with Flash CS3 and import it into Captivate
    for use in a Captivate based e-learning exercise.
    I create the drag and drop just fine in Flash, and it looks
    perfect when I publish it in Flash, etc.
    When I attempt to use the EXACT same SWF in Captivate,
    however, it does not work. I can move the drags around the screen,
    but they will not "drop" where they are supposed to.
    Thinking maybe I broke the template, I went ahead and just
    imported it 100% unchanged from Flash into Captivate (without me
    messing around with it changing things around) and it does the
    exact same thing.
    I have successfully used my own homemade flash "widgets" in
    Captivate, to include like click and reveal type interactions...for
    whatever reason, though, I can't get this one to work, even though
    I know it works perfectly in Flash.
    The .swf file was developed using ActionScript 2.0 in Flash
    and I tried publishing it with Flash 9 and Flash 8 as the setting,
    both do the same thing.
    Help!!!?
    Thanks.
    Rob

    Hi R
    Note that the Border simply adds space to the project so the
    playback controls aren't covering part of your movie. Assuming you
    want that to continue AND have a playback control, you might resize
    the project so the playback control is included in the main movie
    as well as being placed in an area that doesn't possibly obscure
    any screen activity.
    Cheers... Rick

Maybe you are looking for

  • SAP Certified Development Professional - ABAP with SAP NetWeaver 7.0

    Hi. I want do the test "SAP Certified Development Professional - ABAP with SAP NetWeaver 7.0". I find some book about, but i not find it. I pass in the SAP Certified Development Associate. My english is not good, i´m from Brazil. Does anyone have any

  • Movement type from QM to Unrestricted

    Hi ALL, How to move the material from QM to Unrestricted...I am aware of 321 mvt type.. Please suggest me diffferent mvt type.. Thanks, Regards, Ameya k.

  • Cost center in GI scrapping

    Hi all! Should the Cost center be determined manualy by the user when creating a movement type 551 GI scrapping? Could it be determined automaticaly? Regards. Eduardo

  • Indesign Data Merge repeating images, mixing up data, etc.

    I'm using ID CC and using data merge for a catalog. when i create the merged document it repeats some of the images, uses data for other products and repeats it. I've started from scratch, I've avoided the "preview" mode like the plague, I've used CS

  • タスクバーのアイコンを消すには

    PhotoShop Album Mini 3.0 を.Windows XP HE SP2 にて使っております. インストール後.Windows 起動毎.タスクバーに「Photo Downloader」の起動アイコンが表示されるようになりました.スタートアップには該当する項目はありませんでした. この「Photo Downloader」を起動させないようにるにはどうしたら良いのでしょうか?