3 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
4 <title>qooxdoo » Demo</title>
5 <link type="text/css" rel="stylesheet" href="../../resource/css/layout.css"/>
7 <link type="text/css" rel="stylesheet" href="../../resource/css/layout_ie.css"/>
9 <script type="text/javascript" src="../../script/qx.js"></script>
12 <script type="text/javascript" src="../../script/layout.js"></script>
14 <div id="demoDescription">
15 <p>Introduce qx.ui.menu.Menu which opens on qx.ui.toolbar.ToolBarMenuButtons.</p>
18 <script type="text/javascript">
19 qx.core.Init.getInstance().defineMain(function()
21 var d = qx.ui.core.ClientDocument.getInstance();
23 var tb = new qx.ui.toolbar.ToolBar;
31 var m1 = new qx.ui.menu.Menu;
33 var mb1 = new qx.ui.menu.MenuButton("Folder");
34 var ms1 = new qx.ui.menu.MenuSeparator;
35 var mb2 = new qx.ui.menu.MenuButton("Word Document");
36 var mb3 = new qx.ui.menu.MenuButton("Text File");
37 var mb4 = new qx.ui.menu.MenuButton("Image");
39 m1.add(mb1, ms1, mb2, mb3, mb4);
43 var m2 = new qx.ui.menu.Menu;
45 var mb5 = new qx.ui.menu.MenuButton("Copy", "icon/16/edit-copy.png");
46 var mb6 = new qx.ui.menu.MenuButton("Move", "icon/16/edit-cut.png");
47 var mb7 = new qx.ui.menu.MenuButton("Delete", "icon/16/edit-delete.png");
49 m2.add(mb5, mb6, mb7);
56 { type : "menu", icon : "file-new", label : "New", menu : m1 },
57 { type : "menu", icon : "edit", label : "Edit", menu : m2 }
61 { type : "button", icon : "up", label : "Upload" },
62 { type : "button", icon : "down", label : "Download" }
66 { type : "button", icon : "idea", label : "Tip" },
67 { type : "button", icon : "help", label : "Help" }
70 var bars = [ btns1, btns2, btns3 ];
72 function changeLayout(e) {
73 this.setShow(e.getData());
79 for (var j=0; j<bars.length; j++)
84 var tbp = new qx.ui.toolbar.ToolBarPart;
87 for (var i=0; i<btns.length; i++)
94 var o = new qx.ui.toolbar.ToolBarSeparator;
98 var o = new qx.ui.toolbar.ToolBarMenuButton(btn.label, btn.menu, "icon/22/" + btn.icon + ".png", 22, 22);
100 // beautiful decoupling: toolbar buttons don't know about radio boxes
102 // uncomment this to omit changes on one button
103 // if (btn.icon != "upload")
104 d.addEventListener("changeLayout", changeLayout, o );
108 var o = new qx.ui.toolbar.ToolBarButton(btn.label, "icon/22/" + btn.icon + ".png");
110 // beautiful decoupling: toolbar buttons don't know about radio boxes
112 // uncomment this to omit changes on one button
113 // if (btn.icon != "upload")
114 d.addEventListener("changeLayout", changeLayout, o );
136 var rd1 = new qx.ui.form.RadioButton("Show Icons and Label", "both");
137 var rd2 = new qx.ui.form.RadioButton("Show Icons", "icon");
138 var rd3 = new qx.ui.form.RadioButton("Show Label", "label");
160 var rbm = new qx.manager.selection.RadioManager();
167 // beautiful decoupling: radio boxes don't know about toolbar buttons
168 rbm.addEventListener("changeSelected", function(e) {
169 d.dispatchEvent( new qx.event.type.DataEvent("changeLayout", e.getData().getValue() ) );
172 d.add(rd1, rd2, rd3);
179 var ra1 = new qx.ui.form.RadioButton("Left Aligned", "left");
180 var ra2 = new qx.ui.form.RadioButton("Centered", "center");
181 var ra3 = new qx.ui.form.RadioButton("Right Aligned", "right");
203 var ram = new qx.manager.selection.RadioManager();
209 d.add(ra1, ra2, ra3);
211 ram.addEventListener("changeSelected", function(e) {
212 tb.setHorizontalChildrenAlign(e.getData().getValue());
221 // Icon & Color Themes
222 qx.manager.object.ImageManager.getInstance().createThemeList(d, 20, 248);
223 qx.manager.object.ColorManager.getInstance().createThemeList(d, 220, 248);