@qooxdoo/framework
Version:
The JS Framework for Coders
142 lines (100 loc) • 3.82 kB
JavaScript
/* ************************************************************************
qooxdoo - the new era of web development
http://qooxdoo.org
Copyright:
2004-2008 1&1 Internet AG, Germany, http://www.1und1.de
License:
MIT: https://opensource.org/licenses/MIT
See the LICENSE file in the project's top-level directory for details.
Authors:
* Martin Wittemann (martinwittemann)
************************************************************************ */
/* ************************************************************************
************************************************************************ */
/**
*
* @asset(qx/icon/${qx.icontheme}/16/devices/*)
*/
qx.Class.define("qxl.demobrowser.demo.widget.SelectBox",
{
extend : qx.application.Standalone,
members :
{
main: function()
{
this.base(arguments);
var scroller = new qx.ui.container.Scroll();
var box = new qx.ui.container.Composite(new qx.ui.layout.HBox(50));
box.setPadding(20);
box.add(this.createBox1());
box.add(this.createBox2());
box.add(this.createBox3());
box.add(this.createBox4());
scroller.add(box, {left : 20, top : 20});
this.getRoot().add(scroller, {edge : 0});
},
createBox1 : function()
{
var container = new qx.ui.container.Composite(new qx.ui.layout.VBox(2));
container.add(new qx.ui.basic.Label("Simple"));
var selectBox = new qx.ui.form.SelectBox();
for (var i=0; i<30; i++)
{
var tempItem = new qx.ui.form.ListItem("Item " + (i+1));
selectBox.add(tempItem);
// select sixth item
if (i == 5) {
selectBox.setSelection([tempItem]);
}
}
selectBox.addListener("changeSelection", function(e) {
this.debug("changeSelection: " + e.getData()[0]);
});
container.add(selectBox);
return container;
},
createBox2 : function()
{
var container = new qx.ui.container.Composite(new qx.ui.layout.VBox(2));
container.add(new qx.ui.basic.Label("Long text"));
var selectBox = new qx.ui.form.SelectBox();
for (var i=0; i<30; i++)
{
var tempItem = new qx.ui.form.ListItem("Random Value " + Math.round(Math.random()*100000000));
selectBox.add(tempItem);
}
container.add(selectBox);
return container;
},
createBox3 : function()
{
var container = new qx.ui.container.Composite(new qx.ui.layout.VBox(2));
container.add(new qx.ui.basic.Label("With icons"));
var iconNames = [ "audio-card.png","audio-input-microphone.png","battery.png",
"camera-photo.png","camera-web.png","computer.png","display.png",
"drive-harddisk.png","drive-optical.png","input-keyboard.png",
"input-mouse.png","media-flash.png","media-optical.png","multimedia-player.png",
"network-wired.png","network-wireless.png","pda.png","phone.png","printer.png" ];
var iconNamesPrefix = "icon/16/devices/"
var selectBox = new qx.ui.form.SelectBox();
for (var i=0; i<iconNames.length; i++) {
var tempItem = new qx.ui.form.ListItem(iconNames[i].substr(0, iconNames[i].indexOf(".")), iconNamesPrefix + iconNames[i]);
selectBox.add(tempItem);
}
container.add(selectBox);
return container;
},
createBox4 : function()
{
var container = new qx.ui.container.Composite(new qx.ui.layout.VBox(2));
container.add(new qx.ui.basic.Label("Empty Item"));
var selectBox = new qx.ui.form.SelectBox();
selectBox.add(new qx.ui.form.ListItem(""));
for (var i=0; i<10; i++) {
selectBox.add(new qx.ui.form.ListItem("Option " + (i+1)));
}
container.add(selectBox);
return container;
}
}
});