Mega Code Archive

 
Categories / JavaScript DHTML / Smartclient
 

Drag and drop to a container

<!-- Isomorphic SmartClient Copyright(c) 1998 and beyond Isomorphic Software, Inc. "SmartClient" is a trademark of Isomorphic Software, Inc. All rights reserved. Open Source License SmartClient source code, located under the source/ directory, and the resulting assembled modules  in isomorphic/system/modules/, as well as JavaScript and CSS files under the isomorphic/skins directory are  licensed under the terms of the GNU Lesser General Public License, version 3.  The text of the LGPLv3 license is available online at http://www.gnu.org/licenses/lgpl-3.0.html If your project precludes the use of this license, or if you'd like to support SmartClient LGPL,  we encourage you to buy a commercial license. Icon Experience Collection Selected 16x16 icons within the isomorphic/skins directory are part of the Icon Experience collection  (http://www.iconexperience.com) and may be freely used with any SmartClient components without charge,  but may not be used as part of screen designs separate from SmartClient components without a purchase  of a license from Icon Experience. We are working to replace these icons as soon as possible. All other media found under the isomorphic/skins directory may be used under the LGPLv3. Commercial Licenses A number of commercial licenses are available for purchase. Please see http://smartclient.com/license. Warranty Disclaimer This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General  Public License for more details. Copyright 2001 and beyond Isomorphic Software, Inc. Last revised July 20, 2008.  --> <!-- The following code is revised from SmartClient demo code(SmartClient_70rc2_LGPL.zip).--> <HTML><HEAD>   <SCRIPT>var isomorphicDir="isomorphic/";</SCRIPT>     <SCRIPT SRC=isomorphic/system/modules/ISC_Core.js></SCRIPT>     <SCRIPT SRC=isomorphic/system/modules/ISC_Foundation.js></SCRIPT>     <SCRIPT SRC=isomorphic/system/modules/ISC_Containers.js></SCRIPT>     <SCRIPT SRC=isomorphic/system/modules/ISC_Grids.js></SCRIPT>     <SCRIPT SRC=isomorphic/system/modules/ISC_Forms.js></SCRIPT>     <SCRIPT SRC=isomorphic/system/modules/ISC_DataBinding.js></SCRIPT>   <SCRIPT SRC=isomorphic/skins/SmartClient/load_skin.js></SCRIPT> </HEAD><BODY BGCOLOR='silver'> <SCRIPT> isc.defineClass("DragPiece", "Img").addProperties({     width:48, height:48,     cursor: "move",     appImgDir: "isomorphic/system/reference/exampleImages/pieces/48/",     canDrag: true,     canDrop: true,     dragAppearance: "tracker",     setDragTracker: "isc.Event.setDragTracker(isc.Canvas.imgHTML('pieces/24/'+this.src,24,24),24,24,15,15)" }) isc.defineClass("DroppedPiece", "Img").addProperties({     width:24, height:24,     appImgDir: "pieces/24/",     canDragReposition: true,     keepInParentRect: true,     dragAppearance: "target",     showContextMenu: "this.destroy(); return false;" }) isc.defineClass("PieceBin", "Canvas").addProperties({     width:100, height:100, overflow:"hidden",     showEdges: true,     edgeSize: 6,     showContextMenu: "return false",     canAcceptDrop: true,     dropOver: "if (this.willAcceptDrop()) this.setBackgroundColor('#ffff80')",     dropOut: "this.setBackgroundColor('#ffffff')",     drop: function () {         this.addChild(isc.DroppedPiece.create({             src: isc.Event.getDragTarget().src,             left: this.getOffsetX()-15-this.edgeSize,             top: this.getOffsetY()-15-this.edgeSize         }))     } }) isc.VStack.create({members:[ isc.HStack.create({layoutMargin:20, membersMargin:40, layoutAlign:"center", members:[     isc.DragPiece.create({src:"cube_blue.png", dragType:"b"}),     isc.DragPiece.create({src:"cube_yellow.png", dragType:"y"}),     isc.DragPiece.create({src:"cube_green.png", dragType:"g"}) ]}), isc.HStack.create({membersMargin:20, members:[     isc.PieceBin.create({edgeImage:"edges/blue/6.png", dropTypes:"b"}),     isc.PieceBin.create({edgeImage:"edges/yellow/6.png", dropTypes:"y"}),     isc.PieceBin.create({edgeImage:"edges/green/6.png", dropTypes:"g"}),     isc.PieceBin.create({edgeImage:"edges/gray/6.png", dropTypes:["b","y","g"]}) ]}) ]}) </SCRIPT> </BODY> </HTML>