harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Harmony Wiki] Update of "Drag and Drop" by AlexeiFedotov
Date Wed, 26 Mar 2008 17:29:04 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Harmony Wiki" for change notification.

The following page has been changed by AlexeiFedotov:
http://wiki.apache.org/harmony/Drag_and_Drop

------------------------------------------------------------------------------
- === AWT Data Transfer ===
+ == AWT Data Transfer ==
  
- ==== Pre-reading ====
+ === Pre-reading ===
  Please refer to http://java.sun.com/j2se/1.5.0/docs/api/java/awt/datatransfer/package-summary.html
for general information on AWT data transfer.
  See the drag-and-drop specification and tutorial at http://java.sun.com/j2se/1.5.0/docs/guide/dragndrop/index.html.
  
- ==== Data Flavors ====
+ === Data Flavors ===
  The mapping between the Java type and content type is the `SystemFlavorMap`. The mapping
between content type and native format is hard-coded as long as each native format needs some
code to perform the conversion. Harmony implementation does the data conversion is performed
in two steps: from Java to intermediate format (which is platform-independent, and is one
of content types listed above), then from intermediate format to the platform-dependent native
format. The conversion from native format to Java is performed also in two steps: from native
to intermediate, then from intermediate to Java. 
  
  The table below shows the mapping of data flavors to supported native Windows formats.
@@ -18, +18 @@

  ||`Java.util.List`||	application/x-java-file-list||`CF_HDROP`||
  ||`Java.lang.Serializable`||	application/x-java-serialized-object||`org.apache.harmony.awt.datatransfer:
application/x-java-serialized-object; class=`||
  
- ==== Data structure ====
+ === Data structure ===
  The picture below illustrates the structure of the intermediate data.
  
  attachment:data.png
  
- Diagram legend:
+ ==== Diagram legend: ====
     * Triangle: ancestor
     * Black diamond: owner
     * Solid line arrow: reference
@@ -36, +36 @@

  
  attachment:classes.png
  
- ==== Event handling and threads ====
+ === Event handling and threads ===
  The following figure gives an overview of the message routing and thread interaction in
Harmony implementation on Windows.
  
  attachment:events.png
  
- ==== The things which are missing and/or wanted ====
+ === The things which are missing and/or wanted ===
- Cross-platform
+ ==== Cross-platform ====
     * Clipboard events: flavors changed, ownership lost
     * Drag source: setCursor() – use custom cursors for copy, link or cut operations.
     * Drop target: acceptDrag() and rejectDrag()
     * Drop target for lightweight components: track for mouse enter/exit, post appropriate
events
     * Drag-and-drop: detect local (in-process) transfer and do it in simplified way
     * System flavor map: add system locale’s default charset to the list of available charsets
- Windows
+ ==== Windows ====
     * Handle clipboard messages
     * Use cached copy of transfer data if the clipboard contents wasn’t changed
- Linux (X11)
+ ==== Linux (X11) ==== 
  Support system selection
     * Get data from selection
     * Take/revoke the ownership on selection
@@ -60, +60 @@

     * Multi-format data handling
     * Time-out detection and handling
     *  Selections are
-      * PRIMARY – for simple applications
+       * PRIMARY – for simple applications
-      * CLIPBOARD – for fully functional copy & paste
+       * CLIPBOARD – for fully functional copy & paste
-      * Xdnd – for drag-and-drop operations
+       * Xdnd – for drag-and-drop operations
  
- Support drag-and-drop (Xdnd)
+ ==== Support drag-and-drop (Xdnd) ====
     * State machine for Xdnd protocol
     * Implement AWT drag-and-drop peers, post the events to event queue
     * Time-out detection and handling
  
- Implement data conversion from/to native formats
+ ==== Implement data conversion from/to native formats ====
  
  Please refer to http://www.freedesktop.org/wiki/Standards for X11-related standards and
specifications.
  
@@ -77, +77 @@

  
  ==== AWT/Windows (6w) ====
     * Implement, support with tests and debug unimplemented methods of the following classes:
-       * `awt.dnd.DragSource`
+       * `java.awt.dnd.DragSource`
        * `awt.dnd.DragSourceDragEvent`
        * `org.apache.harmony.awt.datatransfer.DataSnapshot`
        * `org.apache.harmony.awt.datatransfer.windows.WinClipboard`
        * `org.apache.harmony.awt.datatransfer.windows.WinDragSource`
        * `org.apache.harmony.awt.datatransfer.windows.WinDropTarget`
-    * Debug `java.awt.dnd.DragSource`.
+    * Debug classes:
-    * Debug `java.awt.dnd.DropTarget`.
+       * `java.awt.dnd.DropTarget`
-    * Debug `java.awt.dnd.DragGestureRecognizer`.
+       * `java.awt.dnd.DragGestureRecognizer`
-    * Debug dragging/dropping of text.
-    * Debug dragging/dropping of UI element.
-    * Debug dragging/dropping of a palette element.
-    * Debug dragging/dropping of an image.
-    * Debug dragging/dropping of a custom object.
-    * Debug `java.awt.dnd.Autoscroll`.
+       * `java.awt.dnd.Autoscroll`
+    * Debug dragging and dropping of text, a UI element, a palette element, an image, a custom
object in order.
+ 
  
  ==== Swing/Windows (6w) ====
     * Implement, support with tests and debug unimplemented methods of `javax.swing.TransferHandler`.

Mime
View raw message