Dies ist ein einfaches Beispiel für Layout-Möglichkeiten. Zusätzlich ist es möglich die einzelnen "Layout-Boxen" in der Größe zu verändern. Die entsprechende Größenangaben werden angezeigt. Die Größenangabe "fit" geht bei einer Größenveränderung verloren. Die relative Größenangabe mit "%" bleibt, auch bei einer Veränderung durch "resizen", relativ. Hier geschieht die Größenveränderung in "Echtzeit", im Gegensatz zu der "Lasso"-Methode der vorherigen Beispiele.
app.newClass("layoutbox","movedock",function(param,app,superClass){
this.classType="layoutbox";
this.gfxBorder=true;
this.nonPrototype=function(param,$class$)
{
return {
selectable:{},
resizable:{render:true}
};
}
this.construct=function(param,$class$)
{
addEvent.call(this,"resize_resized",$this$.setText);
addEvent.call(this,"resize_resize",$this$.setText);
addEvent.call(this,"resize_windowresized",$this$.setText,"global");
}
this.setText=function(param,$class$)
{
getElement.call(this,"text").innerHTML=$this$.getText.call(this)
}
this.getText=function(param,$class$)
{
return "width:"+this.size.width+";height:"+this.size.height;
}
this.bodyOpenHTML=function(param,$class$)
{
return [
{tagName:"DIV",$id$:"text",style:"height:auto;",children:[$this$.getText.call(this)]}
]
}
})
var row=app.newObject("layoutbox",{size:{width:"fit",height:"50%"}})
row.addLastChild("layoutbox",{size:{position:"floatleft",width:"fit"}})
row.addLastChild("layoutbox",{size:{position:"floatleft",width:"fit"}})
row.addLastChild("layoutbox",{size:{position:"floatleft",width:"fit"}})
var row2=app.newObject("layoutbox",{size:{width:"fit",height:"30%"}})
row2.addLastChild("layoutbox",{size:{position:"floatleft",width:"50%"}})
row2.addLastChild("layoutbox",{size:{position:"floatleft",width:"fit"}})
row2.addLastChild("layoutbox",{size:{position:"floatleft",width:"fit"}})
var row3=app.newObject("layoutbox",{size:{width:"fit",height:"fit"}})
row3.addLastChild("layoutbox",{size:{position:"floatleft",width:"50%"}})
row3.addLastChild("layoutbox",{size:{position:"floatleft",width:"30%"}})
row3.addLastChild("layoutbox",{size:{position:"floatleft",width:"fit"}})
.app-layoutbox{
border-radius: 5px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border:2px solid #cccccc;
margin:3px;
padding:3px;
min-width:10px;
}
.app-text{
margin:5px;
overflow:hidden;
}