summaryrefslogtreecommitdiff
path: root/swat/apps/qooxdoo-examples/test/ToolBar_2.html
blob: ce1fb931faf432daccef6d591b0df6533336c9d9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>qooxdoo &raquo; Demo</title>
  <link type="text/css" rel="stylesheet" href="../../resource/css/layout.css"/>
  <!--[if IE]>
  <link type="text/css" rel="stylesheet" href="../../resource/css/layout_ie.css"/>
  <![endif]-->
  <script type="text/javascript" src="../../script/qx.js"></script>
</head>
<body>
  <script type="text/javascript" src="../../script/layout.js"></script>

  <div id="demoDescription">
    <p>Create ten toolbars. Stress Test.</p>
  </div>

  <script type="text/javascript">
    qx.core.Init.getInstance().defineMain(function()
    {
      var d = qx.ui.core.ClientDocument.getInstance();

      var btns1 = [
        { type : "button", icon : "file-new", text : "New" },
        { type : "separator" },
        { type : "button", icon : "edit-copy", text : "Copy" },
        { type : "button", icon : "edit-cut", text : "Cut" },
        { type : "button", icon : "edit-paste", text : "Paste" }
      ];

      var btns2 = [
        { type : "button", icon : "up", text : "Upload" },
        { type : "button", icon : "down", text : "Download" }
      ];

      var btns3 = [
        { type : "button", icon : "help", text : "Hilfe" }
      ];

      var bars = [ btns1, btns2, btns3 ];

      function changeLayout(e) {
        this.setShow(e.getData());
      };
      
      function changeSize(e) {
        var v = e.getData();
        var o = v == 22 ? 32 : 22;
        
        this.setIcon(this.getIcon().replace(o, v));
      };      

      var useParts = true;

      for (var k=0; k<10; k++)
      {
        var tb = new qx.ui.toolbar.ToolBar;
        with(tb)
        {
          setTop(48+(k*50));
          setLeft(20);
          setRight(335);
        };        
        
        for (var j=0; j<bars.length; j++)
        {
          var btns = bars[j];
  
          if (useParts) {
            var tbp = new qx.ui.toolbar.ToolBarPart;
          };
  
          for (var i=0; i<btns.length; i++)
          {
            var btn = btns[i];
  
            switch(btn.type)
            {
              case "separator":
                var o = new qx.ui.toolbar.ToolBarSeparator;
                break;
  
              case "button":
                var o = new qx.ui.toolbar.ToolBarButton(btn.text, "icon/22/" + btn.icon + ".png");
  
                // beautiful decoupling: toolbar buttons don't know about radio boxes
  
                d.addEventListener("changeLayout", changeLayout, o);
                d.addEventListener("changeSize", changeSize, o);
                break;
            };
  
            if (useParts)
            {
              tbp.add(o);
            }
            else
            {
              tb.add(o);
            };
          };
  
          if (useParts) {
            tb.add(tbp);
          };
        };
  
        d.add(tb);
      };
    });
  </script>
</body>
</html>