0

I have created a ResizeableTitleWindow class which extends Titlewindow (to make it resizeable). Inside the RTW I add a TextArea and display the RTW as a PopUp. How do I add drag&drop to the TextArea?

public function createPopUpEdit():void {
var rtw:ResizableTitleWindow = new ResizableTitleWindow();
var st:TextArea = new TextArea();
rtw.addElement(st);
PopUpManager.addPopUp(rtw, this, false);
PopUpManager.centerPopUp(rtw);

Usually you do this by setting properties in the .mxml file:

<s:TextArea id="st"
            dropEnabled="true"
            dragOver="onlyAllowCopyDragOverHandler(event)"
            dragDrop="myComponent_dragDropHandler(event)"
... 

But in this case st is not defined in the mxml, but created with "new":

var st:TextArea=new TextArea();

I want to do something like this in my createPopUpEdit function:

st.dropEnabled="true";
st.dragOver="onlyAllowCopyDragOverHandler(event)";
etc.
Jan Sander
  • 35
  • 7

1 Answers1

0

Write following code. Hope it will help you.

            private var st:TextArea;
            private var rtw:TitleWindow;

            protected function init(event:FlexEvent):void
            {
                    rtw = new TitleWindow();
                    st = new TextArea();
                    st.width = 50;
                    st.height = 50;
                    st.addEventListener(MouseEvent.MOUSE_DOWN,onMouseDown);
                    st.addEventListener(MouseEvent.MOUSE_UP,onMouseUp);
                    rtw.width = 500;
                    rtw.height = 500;
                    rtw.addElement(st);
                    PopUpManager.addPopUp(rtw, this, false);
                    PopUpManager.centerPopUp(rtw);

            }

            private function onMouseDown(e:MouseEvent):void
            {
                st.startDrag(true,new Rectangle(0,0,rtw.width,rtw.height));
            }

            private function onMouseUp(e:MouseEvent):void
            {
                st.stopDrag();
            }

The above code will drag and drop textarea in popupView.

Edit:

To add event dynamic you can do like:

st.addEventListener(DragEvent.DRAG_OVER,onlyAllowCopyDragOverHandler);
st.addEventListener(DragEvent.DRAG_DROP,myComponent_dragDropHandler);
ketan
  • 19,129
  • 42
  • 60
  • 98