You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by gb...@apache.org on 2009/09/29 20:17:24 UTC

svn commit: r820052 - in /incubator/pivot/trunk/tutorials/src/org/apache/pivot/tutorials/dragdrop: drag_drop.wtkx dragdrop.js

Author: gbrown
Date: Tue Sep 29 18:17:24 2009
New Revision: 820052

URL: http://svn.apache.org/viewvc?rev=820052&view=rev
Log:
Add drag/drop tutorial.

Added:
    incubator/pivot/trunk/tutorials/src/org/apache/pivot/tutorials/dragdrop/dragdrop.js
Modified:
    incubator/pivot/trunk/tutorials/src/org/apache/pivot/tutorials/dragdrop/drag_drop.wtkx

Modified: incubator/pivot/trunk/tutorials/src/org/apache/pivot/tutorials/dragdrop/drag_drop.wtkx
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/tutorials/src/org/apache/pivot/tutorials/dragdrop/drag_drop.wtkx?rev=820052&r1=820051&r2=820052&view=diff
==============================================================================
--- incubator/pivot/trunk/tutorials/src/org/apache/pivot/tutorials/dragdrop/drag_drop.wtkx (original)
+++ incubator/pivot/trunk/tutorials/src/org/apache/pivot/tutorials/dragdrop/drag_drop.wtkx Tue Sep 29 18:17:24 2009
@@ -19,6 +19,13 @@
 <Window title="Drag and Drop" maximized="true"
     xmlns:wtkx="http://pivot.apache.org/wtkx"
     xmlns="org.apache.pivot.wtk">
+    <wtkx:script src="dragdrop.js"/>
     <content>
+        <Border>
+            <content>
+                <ImageView wtkx:id="imageView" image="org/apache/pivot/tutorials/IMG_0767_2.jpg"
+                    dragSource="$dragSoure" dropTarget="$dropTarget"/>
+            </content>
+        </Border>
     </content>
 </Window>

Added: incubator/pivot/trunk/tutorials/src/org/apache/pivot/tutorials/dragdrop/dragdrop.js
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/tutorials/src/org/apache/pivot/tutorials/dragdrop/dragdrop.js?rev=820052&view=auto
==============================================================================
--- incubator/pivot/trunk/tutorials/src/org/apache/pivot/tutorials/dragdrop/dragdrop.js (added)
+++ incubator/pivot/trunk/tutorials/src/org/apache/pivot/tutorials/dragdrop/dragdrop.js Tue Sep 29 18:17:24 2009
@@ -0,0 +1,82 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except in
+ * compliance with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+importPackage(org.apache.pivot.wtk);
+
+var dragSoure = new DragSource() {
+    beginDrag: function(component, x, y) {
+        return true;
+    }, 
+    
+    endDrag: function(component, dropAction) {
+        // No-op
+    },
+    
+    getContent: function() {
+        var content = new LocalManifest();
+        content.putImage(imageView.getImage());
+        
+        return content;
+    },
+    
+    getOffset: function() {
+        // No-op; not used for native drags
+        return null;
+    }, 
+      
+    getRepresentation: function() {
+        // No-op; not used for native drags
+        return null;
+    },
+            
+    getSupportedDropActions: function() {
+        return DropAction.COPY.getMask();
+    },
+     
+    isNative: function() {
+        return true;
+    } 
+};
+
+var dropTarget = new DropTarget() {
+    dragEnter: function(component, dragContent, supportedDropActions, userDropAction) {
+        return (dragContent.containsImage()) ? DropAction.COPY : null;
+    },        
+
+    dragExit: function(component) {
+        // No-op
+    },
+
+    dragMove: function(component, dragContent, supportedDropActions, x, y, userDropAction) {
+        return (dragContent.containsImage()) ? DropAction.COPY : null;
+    },
+
+    userDropActionChange: function(component, dragContent, supportedDropActions, 
+        x, y, userDropAction) {
+        return (dragContent.containsImage()) ? DropAction.COPY : null;
+    },
+
+    drop: function(component, dragContent, supportedDropActions, x, y, userDropAction) {
+        var dropAction = null;
+
+        if (dragContent.containsImage()) {
+            imageView.setImage(dragContent.getImage());
+            dropAction = DropAction.COPY;
+        }
+        
+        return dropAction;
+    }
+};