Mega Code Archive

 
Categories / JavaScript DHTML / Smartclient
 

Outline drag

<!-- 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> <!-- HTML form containing two checkbox controls --> <DIV STYLE='padding:0px 0px 0px 20px' CLASS='normal'> <form action="" method="POST" name="f"> <input type="Checkbox" name="intersect" onclick="setIntersectStyles(this.checked)">dropOver on widget intersection<br> <input type="Checkbox" name="resetPos">reset widget position on dragRepositionStop </form> </DIV> <SCRIPT> // -------------------------------------------------- //    canDragReposition widget with TARGET dragAppearance // -------------------------------------------------- Canvas.create({     ID:"dragReposition",     left:50,     top:125,     width:100,     height:100,     contents:"Target Drag",     backgroundColor:"violet",     canDragReposition:true,     canDrop:true,     dragAppearance:"target",     dragRepositionStop:"if (resetPosition.checked) return false;" }); // -------------------------------------------------- //    Outline Drag widget... // -------------------------------------------------- Canvas.create({     ID:"dragOutline",     left:310,     top:125,     width:100,     height:100,     canDragReposition:true,     canDrop:true,     contents:"Outline Drag",     backgroundColor:"gold",     dragAppearance:"outline",     dragRepositionStop:"if (resetPosition.checked) return false;" }); // -------------------------------------------------- //    canDrag widget with TRACKER dragAppearance // -------------------------------------------------- Canvas.create({     ID:"dragTracked",     left:50,     top:385,     width:100,     height:100,     contents:"Use Drag Tracker",     backgroundColor:"lightgreen",     canDragReposition:true,     canDrop:true,     dragAppearance:"tracker",     setDragTracker:"EventHandler.setDragTracker(this.imgHTML('yinyang_icon.gif',20,20))",     dragRepositionStop:"if (resetPosition.checked) return false;" }); // -------------------------------------------------- //    Parent of next widget // -------------------------------------------------- Canvas.create({     ID:"topParent",     left:310,     top:385,     width:100,     height:100,     canDrop:true,     contents:"parent",     backgroundColor:"salmon",     dragRepositionStop:"if (resetPosition.checked) return false;",     dragAppearance:"outline" }); // -------------------------------------------------- //    canDragReposition child widget with dragTarget set to "top" // -------------------------------------------------- Canvas.create({     ID:"dragRepositionTop",     autoDraw:false,     left:20,     top:20,     width:60,     height:60,     contents:"Drag Reposition Top",     backgroundColor:"mediumpurple",     canDragReposition:true,     dragTarget:"top" }); topParent.addChild(dragRepositionTop); // -------------------------------------------------- //    canAcceptDrop widget // -------------------------------------------------- Canvas.create({     ID:"dropZone",     left:180,     top:255,     width:100,     height:100,     contents:"Drop Zone",     backgroundColor:"skyblue",     canAcceptDrop:true,     dropOver:"this.setBackgroundColor('powderblue')",     dropOut:"this.setBackgroundColor('skyblue')",     drop:"alert('drop')" }); //dropZone.sendToBack(); // -------------------------------------------------- //    scripts for working with the HTML form // -------------------------------------------------- // shortcut references to form elements var resetPosition = document.f.resetPos; // switch dragIntersectStyles function setIntersectStyles(on) {     if (on) {     dragTracked.dragIntersectStyle="rect";     dragTracked.setContents("Use Drag Tracker (intersect rect)");     dragReposition.dragIntersectStyle="rect";     dragReposition.setContents("Drag Reposition (intersect rect)");     dragOutline.dragIntersectStyle="rect";     dragOutline.setContents("Outline Drag (intersect rect)");     // NOTE: you need to change the dragIntersectStyle of the topParent,     //    since that ends up being the dragTarget     topParent.dragIntersectStyle="rect";     dragRepositionTop.setContents("Drag Reposition Top (intersect rect)");     }     else {     dragTracked.dragIntersectStyle="mouse";     dragTracked.setContents("Use Drag Tracker");     dragReposition.dragIntersectStyle="mouse";     dragReposition.setContents("Drag Reposition");     dragOutline.dragIntersectStyle="mouse";     dragOutline.setContents("Outline Drag");     // NOTE: you need to change the dragIntersectStyle of the topParent,     //    since that ends up being the dragTarget     topParent.dragIntersectStyle="mouse";     dragRepositionTop.setContents("Drag Reposition Top");     } } // initialize the form function initializeForm() {     document.f.intersect.checked = false;     resetPosition.checked = true; } Page.setEvent("load", "initializeForm()"); </SCRIPT> </BODY> </HTML>