Mega Code Archive

 
Categories / JavaScript DHTML / Smartclient
 

Create, position, and size the slider and its two children (_track and _thumb) make the thumb drag-repositionable

<!-- 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/standard/load_skin.js></SCRIPT>   <SCRIPT> /*---------->    SimpleSlider_1.js    <----------*/ // Step 1 //  * create, position, and size the slider and its two children (_track and _thumb) //  * make the thumb drag-repositionable, just for fun ClassFactory.defineClass("SimpleSlider", Canvas); SimpleSlider.addProperties({     length:200,     vertical:true,          thumbThickWidth:30,     thumbThinWidth:10,     trackWidth:4,               initWidget : function () {         this.Super("initWidget",  arguments);                  var width, height;                  if (this.vertical) {             width = Math.max(this.thumbThickWidth, this.trackWidth);             height = this.length;         } else {             width = this.length;             height = Math.max(this.thumbThickWidth, this.trackWidth);         }                  this.setWidth(width);         this.setHeight(height);                  this._usableLength = this.length-this.thumbThinWidth;                  this._track = this.addChild(this._createTrack());         this._thumb = this.addChild(this._createThumb());     },               _createTrack : function () {         return Canvas.create({             autoDraw:false,             left:(this.vertical ? Math.floor((this.getWidth() - this.trackWidth)/2) : 0),             top:(this.vertical ? 0 : Math.floor((this.getHeight() - this.trackWidth)/2)),             width:(this.vertical ? this.trackWidth : this.getWidth()),             height:(this.vertical ? this.getHeight() : this.trackWidth),             vertical:this.vertical,             backgroundColor:"#666666",             overflow:Canvas.HIDDEN         });     },               _createThumb : function () {         return Canvas.create({             autoDraw:false,             left:(this.vertical ? Math.floor((this.getWidth() - this.thumbThickWidth)/2) : 0),             top:(this.vertical ? 0 : Math.floor((this.getHeight() - this.thumbThickWidth)/2)),             width:(this.vertical ? this.thumbThickWidth : this.thumbThinWidth),             height:(this.vertical ? this.thumbThinWidth : this.thumbThickWidth),             canDragReposition:true,             dragAppearance:EventHandler.TARGET,             backgroundColor:"#AAAAAA"         });     } });      </SCRIPT> </HEAD><BODY BGCOLOR='powderblue'> <SCRIPT> //-------------------------------------------------- //  sliders //-------------------------------------------------- SimpleSlider.create({   ID:"vSlider",   left:100,   top:100 }); SimpleSlider.create({   ID:"hSlider",   left:300,   top:180,   vertical:false }); </SCRIPT> </BODY> </HTML>