Changeset 83

Show
Ignore:
Timestamp:
08/14/08 21:09:55 (4 months ago)
Author:
bi..@lilyapp.org
Message:

a few more fixes for slider

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/lily/lily/chrome/content/externals/slider.js

    r81 r83  
    3939        var argsArr=LilyUtils.splitArgs(args); 
    4040        this.args=args;  
    41          
    42         var on_change_value = 0; 
    43                          
    44         var bgcolor=argsArr[0]||this.color; 
     41        this.allowFont=false; //dont allow font changes  
     42                         
     43        var bgcolor=argsArr[0]||"#FF0000"; 
    4544        var roundness=argsArr[1]||0; 
    4645        var bwidth=argsArr[2]||0; 
    4746        var bcolor=argsArr[3]||"#000000"; 
    4847        var bstyle=argsArr[4]||"solid"; 
    49         this.orientation=(argsArr.length==6&&typeof argsArr[5]!="undefined")?argsArr[5]:"horizontal"; //slider orientation     
     48        this.orientation=(argsArr.length>=6&&typeof argsArr[5]!="undefined")?argsArr[5]:"horizontal"; //slider orientation     
    5049        this.rangeStart=(argsArr.length>=7&&typeof argsArr[6]!="undefined")?parseInt(argsArr[6]):1; //slider range 
    5150        this.rangeEnd=(argsArr.length>=8&&typeof argsArr[7]!="undefined")?parseInt(argsArr[7]):20; //slider range 
    5251         
    53          
    54         //handle dimensions 
    55         var handleHeight = (this.orientation == "vertical")?"10%":"80%"; 
    56         var handleWidth = (this.orientation == "vertical")?"80%":"10%";                  
    57                          
    58         this.color=bgcolor; 
     52        this.handleColor=bgcolor; 
    5953        this.cornerRoundness=roundness; 
    6054        this.borderWidth=bwidth; 
     
    6256        this.borderStyle=bstyle; 
    6357         
     58        //default size 
     59        var default_height = 50; 
     60        var default_width = 300; 
     61         
     62        //default handle dimensions 
     63        var handle = null; //dom node will go here... 
     64        var handleHeight = "80%"; 
     65        var handleWidth = "10%";                         
     66                         
    6467        //used for determining the slider boundries. 
    6568        var minX = 0; 
     
    6770        var minY = 0; 
    6871        var maxY = 0; 
    69                 
    70         this.args=args;         
    71         this.allowFont=false; //dont allow font changes 
     72         
     73        //initialize onchange 
     74        var on_change_value = 0;        
    7275         
    7376        this.inlet1 = new this.inletClass("inlet1",this,"\"set\" sets & positions slider");              
     
    7679         
    7780        this.setInspectorConfig([ 
     81                {name:"handleColor",value:thisPtr.handleColor,label:"Handle Color",type:"text",input:"text"}, 
    7882                {name:"cornerRoundness",value:thisPtr.cornerRoundness,label:"% Corner Roundness",type:"number",input:"text"}, 
    7983                {name:"borderWidth",value:thisPtr. borderWidth,label:"Border Width",type:"number",input:"text"}, 
     
    104108                         
    105109                //update the arg str 
    106                 this.args=this.color+" "+vals["cornerRoundness"]+" "+vals["borderWidth"]+" "+vals["borderColor"]+" "+vals["borderStyle"]+" "+vals["orientation"]+" "+vals["rangeStart"]+" "+vals["rangeEnd"]; 
    107  
    108                 this.displayElement.style.MozBorderRadius=vals["cornerRoundness"]+"%"; 
    109                 this.displayElement.style.borderWidth=vals["borderWidth"]+"px"; 
    110                 this.displayElement.style.borderColor=vals["borderColor"]; 
    111                 this.displayElement.style.borderStyle=vals["borderStyle"]; 
     110                this.args=vals["handleColor"]+" "+vals["cornerRoundness"]+" "+vals["borderWidth"]+" "+vals["borderColor"]+" "+vals["borderStyle"]+" "+vals["orientation"]+" "+vals["rangeStart"]+" "+vals["rangeEnd"]; 
     111 
     112                handle.style.background=vals["handleColor"]; 
     113                handle.style.MozBorderRadius=vals["cornerRoundness"]+"%"; 
     114                handle.style.borderWidth=vals["borderWidth"]+"px"; 
     115                handle.style.borderColor=vals["borderColor"]; 
     116                handle.style.borderStyle=vals["borderStyle"]; 
    112117                 
    113118                thisPtr.init(); 
     
    116121                 
    117122        //custom html 
    118         var slider_html = "<div style=\"-moz-border-radius:"+roundness+"%;border:"+bwidth+"px "+bcolor+" "+bstyle+";width:100px;height:100px;background:" + bgcolor + "\" id=\""+ this.createElID("slider") +"\">"+ 
    119         "<div id=\""+ this.createElID("sliderHandle") +"\" style=\"position:relative;height:"+handleHeight+";width:"+handleWidth+";background:red\"></div>" + 
     123        var slider_html = "<div style=\"width:"+default_width+"px;height:"+default_height+"px\" id=\""+ this.createElID("slider") +"\">"+ 
     124        "<div id=\""+ this.createElID("sliderHandle") +"\" style=\"-moz-border-radius:"+roundness+"%;border:"+bwidth+"px "+bcolor+" "+bstyle+";position:relative;height:"+handleHeight+";width:"+handleWidth+";background:"+bgcolor+"\"></div>" + 
    120125        "</div>"; 
    121          
     126                
    122127        this.ui=new LilyObjectView(this,slider_html); 
    123128        this.ui.draw(); 
     
    127132         
    128133        //set up some handle dimnensions  
    129         var handle = this.ui.getElByID(this.createElID("sliderHandle")); 
     134        handle = this.ui.getElByID(this.createElID("sliderHandle")); 
    130135        var handleOffset = (this.orientation == "vertical")?Math.ceil(this.height*.10):Math.ceil(this.width*.10); 
    131136        var horizOffset = (this.orientation == "vertical")?0:(parseInt(thisPtr.width/2)-parseInt(handleOffset/2));                       
     
    147152                if(thisPtr.orientation == "vertical") { 
    148153                        var val = (parseInt(e.clientY)-parseInt(thisPtr.top))-parseInt(handleOffset); 
    149                         if(val-parseInt(handleOffset)<=0) { 
     154                        if(val<=0) { 
    150155                                handle.style.top = (0)+"px";     
    151156                        } else if(val+handleOffset>=maxY) { 
    152157                                handle.style.top = (maxY-handleOffset)+"px"; 
    153158                        } else { 
    154                                 handle.style.top = (val-parseInt(handleOffset))+"px"; 
     159                                handle.style.top = val+"px"; 
    155160                        } 
    156161                        doOutput(val); 
     
    225230                thisPtr.outlet2.doOutlet(parseInt(tmp)); 
    226231        } 
    227                  
     232         
     233        function calculateHandleHeight() { 
     234                if(thisPtr.height) { 
     235                        if(thisPtr.orientation == "vertical") { 
     236                                var total_height = Math.ceil(thisPtr.height*.10); 
     237                        } else { 
     238                                var total_height = Math.ceil(thisPtr.height*.80); 
     239                        } 
     240                        var actual_height = total_height - (thisPtr.borderWidth*2); 
     241                        var height_as_percent = parseInt(actual_height/thisPtr.height*100);      
     242                        return height_as_percent+"%";                    
     243                } 
     244                return "80%"; //default          
     245        } 
     246         
     247        function calculateHandleWidth() { 
     248                if(thisPtr.width) { 
     249                        if(thisPtr.orientation == "vertical") { 
     250                                var total_width = Math.ceil(thisPtr.width*.80); 
     251                        } else { 
     252                                var total_width = Math.ceil(thisPtr.width*.10); 
     253                        } 
     254                        var actual_width = total_width - (thisPtr.borderWidth*2); 
     255                        var width_as_percent = parseInt(actual_width/thisPtr.width*100);                         
     256                        return width_as_percent+"%"; 
     257                } 
     258                return "10%"; //default                          
     259        }        
     260                         
    228261        //init 
    229262        this.init=function() { 
    230263                 
    231264                //handle dimensions 
    232                 handleHeight = (this.orientation == "vertical")?"10%":"80%"; 
    233                 handleWidth = (this.orientation == "vertical")?"80%":"10%";              
    234                  
    235                 handleOffset = (thisPtr.orientation == "vertical")?Math.ceil(thisPtr.height*.10):Math.ceil(thisPtr.width*.10); 
    236                 horizOffset = (thisPtr.orientation == "vertical")?0:(parseInt(thisPtr.width/2)-parseInt(handleOffset/2)); 
     265                handleHeight = calculateHandleHeight(); 
     266                handleWidth = calculateHandleWidth(); 
     267                 
     268                var height = thisPtr.height||50; 
     269                var width = thisPtr.width||300;          
     270                 
     271                handleOffset = (thisPtr.orientation == "vertical")?Math.ceil(height*.10):Math.ceil(width*.10); 
     272                horizOffset = (thisPtr.orientation == "vertical")?0:(parseInt(width/2)-parseInt(handleOffset/2)); 
    237273                setBounds(); 
    238274 
     
    254290        } 
    255291         
     292        this.inlet1["num"]=function(num) { 
     293                setValue(parseInt(num)); 
     294        }        
     295         
    256296        this.controller.setNoBorders(true);      
    257297        this.controller.attachObserver(this.createElID("slider"),"mousedown",handleMouseDownFunc,"performance"); 
  • trunk/lily/lily/chrome/content/help-patches/slider-help.json

    r81 r83  
    1 var patch={'version':'0.1-public_beta-2','platform':'apple','title':'slider-help','width':570,'height':442,'color':'#FFFFFF','mode':'performance','description':'','category':'','heightInSubPatch':'0','widthInSubPatch':'0','objArray':{ 
     1var patch={'version':'0.1-public_beta-2','platform':'apple','title':'slider-help','width':623,'height':436,'color':'#FFFFFF','mode':'performance','description':'','category':'','heightInSubPatch':'0','widthInSubPatch':'0','objArray':{ 
    22        'print!uid=2338035945695':{'name':'print','top':334,'left':168,'color':'#FFFFFF','fontSize':'12','fontFamily':'Verdana','fontColor':'#000000','opacity':1,'zIndex':3,'height':19,'width':83,'visibility':'visible','hiddenInPerf':false,'groupName':'null','cssName':'','customColor':'false','hasBeenResized':'false','args':'on slide','objID':'print!uid=2338035945695','type':'object'}, 
    33        'print!uid=1169017971725':{'name':'print','top':335,'left':358,'color':'#FFFFFF','fontSize':'12','fontFamily':'Verdana','fontColor':'#000000','opacity':1,'zIndex':5,'height':19,'width':100,'visibility':'visible','hiddenInPerf':false,'groupName':'null','cssName':'','customColor':'false','hasBeenResized':'false','args':'on change','objID':'print!uid=1169017971725','type':'object'}, 
     
    99        'comment!uid=1183087637211':{'name':'comment','top':17,'left':245,'color':'transparent','fontSize':'12','fontFamily':'Verdana','fontColor':'#000000','opacity':1,'zIndex':13,'height':11,'width':262,'visibility':'visible','hiddenInPerf':false,'groupName':'','cssName':'','customColor':'false','hasBeenResized':'false','args':'Output or display numbers using a slider.','inspectorConfig':[{name:"commentText", value:"Output or display numbers using a slider.", label:"Comment Text", type:"string", input:"textarea"}],'objID':'comment!uid=1183087637211','type':'object'}, 
    1010        'launchurl!uid=1189812748397':{'name':'launchurl','top':5,'left':22,'color':'#FFFFFF','fontSize':'45','fontFamily':'Verdana','fontColor':'blue','opacity':1,'zIndex':13,'height':40,'width':113,'visibility':'visible','hiddenInPerf':false,'groupName':'','cssName':'','customColor':'false','hasBeenResized':'false','args':'http://wiki.lilyapp.org/Slider SLIDER','inspectorConfig':[{name:"linkURL", value:"http://wiki.lilyapp.org/Slider", label:"Link URL", type:"string", input:"textarea"}, {name:"linkText", value:"SLIDER", label:"Link Text", type:"string", input:"textarea"}],'objID':'launchurl!uid=1189812748397','type':'object'}, 
     11        'slider!uid=1218546782893':{'name':'slider','top':91,'left':480,'color':'#cccccc','fontSize':'12','fontFamily':'Verdana','fontColor':'#000000','opacity':1,'zIndex':11,'height':215,'width':97,'visibility':'visible','hiddenInPerf':false,'groupName':'','cssName':'','customColor':'true','hasBeenResized':'false','args':'#FFFFFF 50 5 #000000 solid vertical 1 20','inspectorConfig':[{name:"handleColor", value:"#FFFFFF", label:"Handle Color", type:"text", input:"text"}, {name:"cornerRoundness", value:"50", label:"% Corner Roundness", type:"number", input:"text"}, {name:"borderWidth", value:"5", label:"Border Width", type:"number", input:"text"}, {name:"borderColor", value:"#000000", label:"Border Color", type:"text", input:"text"}, {name:"borderStyle", value:"solid", label:"Border Style", type:"string", options:[{label:"None", value:"none"}, {label:"Dashed", value:"dashed"}, {label:"Dotted", value:"dotted"}, {label:"Double", value:"double"}, {label:"Groove", value:"groove"}, {label:"Inset", value:"inset"}, {label:"Outset", value:"outset"}, {label:"Ridge", value:"ridge"}, {label:"Solid", value:"solid"}], input:"select"}, {name:"orientation", value:"vertical", label:"Orientation", type:"string", options:[{label:"Vertical", value:"vertical"}, {label:"Horizontal", value:"horizontal"}], input:"radio"}, {name:"rangeStart", value:1, label:"Range Start", type:"number", input:"text"}, {name:"rangeEnd", value:20, label:"Range End", type:"number", input:"text"}],'objID':'slider!uid=1218546782893','type':'object'}, 
     12        'slider!uid=1218546996040':{'name':'slider','top':153,'left':168,'color':'#cccccc','fontSize':'12','fontFamily':'Verdana','fontColor':'#000000','opacity':1,'zIndex':11,'height':64,'width':286,'visibility':'visible','hiddenInPerf':false,'groupName':'','cssName':'','customColor':'true','hasBeenResized':'false','args':'#000000 0 0 #000000 solid undefined 1 20','inspectorConfig':[{name:"handleColor", value:"#000000", label:"Handle Color", type:"text", input:"text"}, {name:"cornerRoundness", value:"0", label:"% Corner Roundness", type:"number", input:"text"}, {name:"borderWidth", value:"0", label:"Border Width", type:"number", input:"text"}, {name:"borderColor", value:"#000000", label:"Border Color", type:"text", input:"text"}, {name:"borderStyle", value:"solid", label:"Border Style", type:"string", options:[{label:"None", value:"none"}, {label:"Dashed", value:"dashed"}, {label:"Dotted", value:"dotted"}, {label:"Double", value:"double"}, {label:"Groove", value:"groove"}, {label:"Inset", value:"inset"}, {label:"Outset", value:"outset"}, {label:"Ridge", value:"ridge"}, {label:"Solid", value:"solid"}], input:"select"}, {name:"orientation", value:"undefined", label:"Orientation", type:"string", options:[{label:"Vertical", value:"vertical"}, {label:"Horizontal", value:"horizontal"}], input:"radio"}, {name:"rangeStart", value:1, label:"Range Start", type:"number", input:"text"}, {name:"rangeEnd", value:20, label:"Range End", type:"number", input:"text"}],'objID':'slider!uid=1218546996040','type':'object'}, 
    1113        'number!uid=1169019440494.outlet1_prepend!uid=1169019400944.inlet1':{'inlet':'prepend!uid=1169019400944.inlet1','outlet':'number!uid=1169019440494.outlet1','type':'connection','hiddenInPerf':false,'segmentArray':[ 
    1214{'orientation':'vertical',startLeft:22,startTop:146,endLeft:22,endTop:158.5}, 
     
    1517] 
    1618}, 
    17         'slider!uid=1218546782893':{'name':'slider','top':91,'left':480,'color':'#6b6b6b','fontSize':'12','fontFamily':'Verdana','fontColor':'#000000','opacity':1,'zIndex':11,'height':218,'width':48,'visibility':'visible','hiddenInPerf':false,'groupName':'','cssName':'','customColor':'true','hasBeenResized':'false','args':'#6b6b6b 0 2 #000000 solid undefined 1 20','inspectorConfig':[{name:"cornerRoundness", value:0, label:"% Corner Roundness", type:"number", input:"text"}, {name:"borderWidth", value:2, label:"Border Width", type:"number", input:"text"}, {name:"borderColor", value:"#000000", label:"Border Color", type:"text", input:"text"}, {name:"borderStyle", value:"solid", label:"Border Style", type:"string", options:[{label:"None", value:"none"}, {label:"Dashed", value:"dashed"}, {label:"Dotted", value:"dotted"}, {label:"Double", value:"double"}, {label:"Groove", value:"groove"}, {label:"Inset", value:"inset"}, {label:"Outset", value:"outset"}, {label:"Ridge", value:"ridge"}, {label:"Solid", value:"solid"}], input:"select"}, {name:"orientation", value:"vertical", label:"Orientation", type:"string", options:[{label:"Vertical", value:"vertical"}, {label:"Horizontal", value:"horizontal"}], input:"radio"}, {name:"rangeStart", value:1, label:"Range Start", type:"number", input:"text"}, {name:"rangeEnd", value:20, label:"Range End", type:"number", input:"text"}],'objID':'slider!uid=1218546782893','type':'object'}, 
    1819        'prepend!uid=1169019400944.outlet1_slider!uid=1218546782893.inlet1':{'inlet':'slider!uid=1218546782893.inlet1','outlet':'prepend!uid=1169019400944.outlet1','type':'connection','hiddenInPerf':false,'segmentArray':[ 
    1920{'orientation':'vertical',startLeft:168,startTop:144,endLeft:168,endTop:84.5}, 
     
    2324}, 
    2425        'slider!uid=1218546782893.outlet2_print!uid=1169017971725.inlet1':{'inlet':'print!uid=1169017971725.inlet1','outlet':'slider!uid=1218546782893.outlet2','type':'connection','hiddenInPerf':false,'segmentArray':[ 
    25 {'orientation':'vertical',startLeft:524,startTop:320,endLeft:524,endTop:330}, 
    26 {'orientation':'horizontal',startLeft:524,startTop:330,endLeft:358,endTop:330}, 
     26{'orientation':'vertical',startLeft:570,startTop:313,endLeft:570,endTop:330}, 
     27{'orientation':'horizontal',startLeft:570,startTop:330,endLeft:358,endTop:330}, 
    2728{'orientation':'vertical',startLeft:358,startTop:330,endLeft:358,endTop:340} 
    2829] 
    2930}, 
    3031        'slider!uid=1218546782893.outlet1_print!uid=2338035945695.inlet1':{'inlet':'print!uid=2338035945695.inlet1','outlet':'slider!uid=1218546782893.outlet1','type':'connection','hiddenInPerf':false,'segmentArray':[ 
    31 {'orientation':'vertical',startLeft:480,startTop:320,endLeft:480,endTop:329.5}, 
     32{'orientation':'vertical',startLeft:480,startTop:313,endLeft:480,endTop:329.5}, 
    3233{'orientation':'horizontal',startLeft:480,startTop:329.5,endLeft:168,endTop:329.5}, 
    3334{'orientation':'vertical',startLeft:168,startTop:329.5,endLeft:168,endTop:339} 
    3435] 
    3536}, 
    36         'slider!uid=1218546996040':{'name':'slider','top':153,'left':168,'color':'#707070','fontSize':'12','fontFamily':'Verdana','fontColor':'#000000','opacity':1,'zIndex':11,'height':55,'width':292,'visibility':'visible','hiddenInPerf':false,'groupName':'','cssName':'','customColor':'true','hasBeenResized':'false','args':'#707070 0 2 #000000 solid undefined 1 20','inspectorConfig':[{name:"cornerRoundness", value:0, label:"% Corner Roundness", type:"number", input:"text"}, {name:"borderWidth", value:2, label:"Border Width", type:"number", input:"text"}, {name:"borderColor", value:"#000000", label:"Border Color", type:"text", input:"text"}, {name:"borderStyle", value:"solid", label:"Border Style", type:"string", options:[{label:"None", value:"none"}, {label:"Dashed", value:"dashed"}, {label:"Dotted", value:"dotted"}, {label:"Double", value:"double"}, {label:"Groove", value:"groove"}, {label:"Inset", value:"inset"}, {label:"Outset", value:"outset"}, {label:"Ridge", value:"ridge"}, {label:"Solid", value:"solid"}], input:"select"}, {name:"orientation", value:"horizontal", label:"Orientation", type:"string", options:[{label:"Vertical", value:"vertical"}, {label:"Horizontal", value:"horizontal"}], input:"radio"}, {name:"rangeStart", value:1, label:"Range Start", type:"number", input:"text"}, {name:"rangeEnd", value:20, label:"Range End", type:"number", input:"text"}],'objID':'slider!uid=1218546996040','type':'object'}, 
    3737        'prepend!uid=1169019400944.outlet1_slider!uid=1218546996040.inlet1':{'inlet':'slider!uid=1218546996040.inlet1','outlet':'prepend!uid=1169019400944.outlet1','type':'connection','hiddenInPerf':false,'segmentArray':[ 
    3838{'orientation':'vertical',startLeft:168,startTop:144,endLeft:168,endTop:154.5}, 
     
    4242}, 
    4343        'slider!uid=1218546996040.outlet2_print!uid=1169017971725.inlet1':{'inlet':'print!uid=1169017971725.inlet1','outlet':'slider!uid=1218546996040.outlet2','type':'connection','hiddenInPerf':false,'segmentArray':[ 
    44 {'orientation':'vertical',startLeft:456,startTop:219,endLeft:456,endTop:329.5}, 
    45 {'orientation':'horizontal',startLeft:456,startTop:329.5,endLeft:358,endTop:329.5}, 
     44{'orientation':'vertical',startLeft:446,startTop:224,endLeft:446,endTop:329.5}, 
     45{'orientation':'horizontal',startLeft:446,startTop:329.5,endLeft:358,endTop:329.5}, 
    4646{'orientation':'vertical',startLeft:358,startTop:329.5,endLeft:358,endTop:340} 
    4747] 
    4848}, 
    4949        'slider!uid=1218546996040.outlet1_print!uid=2338035945695.inlet1':{'inlet':'print!uid=2338035945695.inlet1','outlet':'slider!uid=1218546996040.outlet1','type':'connection','hiddenInPerf':false,'segmentArray':[ 
    50 {'orientation':'vertical',startLeft:168,startTop:219,endLeft:168,endTop:273.5}, 
     50{'orientation':'vertical',startLeft:168,startTop:224,endLeft:168,endTop:273.5}, 
    5151{'orientation':'horizontal',startLeft:168,startTop:273.5,endLeft:168,endTop:273.5}, 
    5252{'orientation':'vertical',startLeft:168,startTop:273.5,endLeft:168,endTop:339}