'NativeDragActions'에 해당되는 글 1건

  1. 2008.12.27 Drag and Drop


드래그 드랍은 기본적으로 복사해서 붙여넣기와 많은 부분이 동일하다. 드래그 앤 드랍은 다음의 작업들로 이루어 진다.
1 클릭(사용자의 작업이 시작)
2 전송할 데이터를 클립보드에 저장
3 드래그(붙여 넣을 위치 지정)
4 드랍(적절한 위치가 결정되면 클립보드에서 데이터를 읽어 온다)

[ 드래그 앤 드랍 프로세스 ]
initiator -> drop target -> 드랍 가능여부 판단 -> drop -> 가능여부에 따라 액션스크립트 코드 처리

드래그 드랍을 이용하려면 드래그 매니저를 활용하여 이미 잘 정의된 메서드를 이용하는 것이 능률적이다.
또한 드래그 드랍은 단순히 startDrag와는 달리 대상의 데이터를 읽어와 어떠한 처리를 하여야 한다. 물론 AS3 기반내의 클래스 처리도 가능하지만 AIR 클립보드를 사용하여 데이터를 저장하고 읽어오며, 여러개의 어플리케이션이나 네이티브 윈도우에서 상호 드래그앤드랍이 가능해진다.  

AIR 에서 드래그 드랍을 지원하는 클래스는  다음과 같다.
NativeDragManager : 드래그 시작와 허용 등 드래그 앤 드롭 작업을 조정

[ Public 속성 ]
dragInitiator : InteractiveObject

[정적] [읽기 전용] 드래그 작업을 시작한 NativeDragManager.doDrag() 호출에 전달된 대화형 객체입니다.
dropAction : String
[정적] 드롭 대상에 의해 지정된 드래그 액션입니다.
isDragging : Boolean
[정적] [읽기 전용] 드래그 작업이 현재 진행 중인지 여부를 보고합니다.


NativeDragEvent : 드래그 관련 이벤트

[ Public 속성 ]

allowedActions : NativeDragOptions

이 드래그 작업을 시작한 표시 객체에 의해 허용되는 액션을 지정하는 NativeDragOptions 객체입니다. 
clipboard : Clipboard
이 드래그 작업 내의 데이터가 포함되어 있는 Clipboard 객체입니다.
dropAction : String
현재 액션입니다.

[ Public 메서드 ]
NativeDragEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = true, localX:Number = NaN, localY:Number = NaN, relatedObject:InteractiveObject = null, clipboard:Clipboard = null, allowedActions:NativeDragOptions = null, dropAction:String = null, controlKey:Boolean = false, altKey:Boolean = false, shiftKey:Boolean = false, commandKey:Boolean = false)
기본 드래그 앤 드롭 이벤트와 관련된 특정 정보를 갖는 Event 객체를 만듭니다. 
clone():Event
NativeDragEvent 객체의 복사본을 만듭니다.
toString():String
이 NativeDragEvent 객체의 속성을 문자열 형식으로 만듭니다.

[ Public 상수 ]
NATIVE_DRAG_COMPLETE : String = "nativeDragComplete"

[정적] NativeDragEvent.NATIVE_DRAG_COMPLETE는 nativeDragComplete 이벤트 객체의 type 속성 값을 정의합니다. 
NATIVE_DRAG_DROP : String = "nativeDragDrop"
[정적] NativeDragEvent.NATIVE_DRAG_DROP은 nativeDragDrop 이벤트 객체의 type 속성 값을 정의합니다. 
NATIVE_DRAG_ENTER : String = "nativeDragEnter"
[정적] NativeDragEvent.NATIVE_DRAG_ENTER는 nativeDragEnter 이벤트 객체의 type 속성 값을 정의합니다.
NATIVE_DRAG_EXIT : String = "nativeDragExit"
[정적] NativeDragEvent.NATIVE_DRAG_EXIT는 nativeDragExit 이벤트 객체의 type 속성 값을 정의합니다.
NATIVE_DRAG_OVER : String = "nativeDragOver"
[정적] NativeDragEvent.NATIVE_DRAG_OVER는 nativeDragOver 이벤트 객체의 type 속성 값을 정의합니다. 
NATIVE_DRAG_START : String = "nativeDragStart"
[정적] NativeDragEvent.NATIVE_DRAG_START는 nativeDragStart 이벤트 객체의 type 속성 값을 정의합니다. 
NATIVE_DRAG_UPDATE : String = "nativeDragUpdate"
[정적] NativeDragEvent.NATIVE_DRAG_UPDATE는 nativeDragUpdate 이벤트 객체의 type 속성 값을 정의합니다.

NativeDragActions : 드래그 앤 드롭 액션의 이름에 대한 문자열 상수를 정의

[ Public 속성 ]
COPY : String = "copy"
[정적] 복사 액션에 사용할 문자열을 정의합니다. 
LINK : String = "link"
[정적] 링크 액션에 사용할 문자열을 정의합니다. 
MOVE : String = "move"
[정적] 이동 액션에 사용할 문자열을 정의합니다. 
NONE : String = "none"
[정적] 지정된 액션이 없을 경우 사용할 문자열을 정의합니다.

NativeDragOptions : 드래그 작업의 소스에 의해 허용되는 드래그 앤 드롭 액션을 지정

[ Public 속성 ]
allowCopy : Boolean = true
드롭 대상은 드래그된 데이터를 복사할 수 있습니다.
allowLink : Boolean = true
드롭 대상은 드래그된 데이터에 대한 링크를 만들 수 있습니다.
allowMove : Boolean = true
드롭 대상은 드래그된 데이터를 이동할 수 있습니다.

Posted by 버터백통