Mega Code Archive

 
Categories / JavaScript DHTML / Smartclient
 

Handle drag event

<!-- 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/system/modules/ISC_Calendar.js></SCRIPT>   <SCRIPT SRC=isomorphic/skins/standard/load_skin.js></SCRIPT> </HEAD><BODY BGCOLOR='silver'> <div id="gridDiv"> <SCRIPT> isc.Img.create({     ID:"greenPiece",     width:48, height:48, src:"pieces/48/pawn_green.png",     canDrag: true,     canDrop: true,     dragAppearance: "tracker",     setDragTracker: "isc.Event.setDragTracker(isc.Canvas.imgHTML('pieces/24/pawn_green.png',24,24))" }); isc.Label.create({     left: 100,     width: 300,     height: 300,     backgroundColor: "lightblue",     styleName:"blackText",     align: "center",     contents: "Show Drop Reticle",     overflow: "hidden",     canAcceptDrop: true,     initWidget : function () {         this.Super("initWidget", arguments);         var props = {             autoDraw: false,             // oversize so we don't ever show both borders             width: this.getWidth()+2,             height: this.getHeight()+2,             border: "1px solid black",             visibility: "hidden"         };         this.crossHairX = isc.Canvas.create(props);         this.crossHairY = isc.Canvas.create(props);         this.addChild(this.crossHairX);         this.addChild(this.crossHairY);     },       dropOver : function () {         this.crossHairX.show();         this.crossHairY.show();         this.updateCrossHairs();     },     dropMove : function () {         this.updateCrossHairs();     },     dropOut : function () {         this.crossHairX.hide();         this.crossHairY.hide();     },     updateCrossHairs : function () {         var x = this.getOffsetX();         var y = this.getOffsetY();                  // crossHairX is the -X and +Y axis of the crossHair         this.crossHairX.setLeft(x-this.getWidth()-1);         this.crossHairX.setTop(y-this.getHeight()-1);                  // crossHairY is +X, -Y         this.crossHairY.setLeft(x);         this.crossHairY.setTop(y);     } }); </SCRIPT> </div> </BODY> </HTML>