r20445: add README file indicating that the swat directory is no longer relevant
[kai/samba.git] / swat.obsolete / apps / qooxdoo-examples / test / ListView_8.html
1 <html>
2 <head>
3   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
4   <title>qooxdoo &raquo; Demo</title>
5   <link type="text/css" rel="stylesheet" href="../../resource/css/layout.css"/>
6   <!--[if IE]>
7   <link type="text/css" rel="stylesheet" href="../../resource/css/layout_ie.css"/>
8   <![endif]-->
9   <script type="text/javascript" src="../../script/qx.js"></script>
10 </head>
11 <body>
12   <script type="text/javascript" src="../../script/layout.js"></script>
13
14   <div id="demoDescription">
15     <p>Testing qx.ui.listview.ListView with text cells.</p>
16     <p>And with drag and drop between the two qx.ui.listview.ListViews.</p>
17   </div>
18
19   <script type="text/javascript">
20     qx.core.Init.getInstance().defineMain(function()
21     {
22       var ld = [];
23       var lt = [ "Image", "Text", "PDF", "Illustration", "Document" ];
24       
25       for (var i=0, t; i<1000; i++) 
26       {
27         t=Math.round(Math.random()*4);
28         ld.push({ name : { text : "File " + i }, size : { text : Math.round(Math.random()*100) + "kb" }, type : { text : lt[t] }, modified : { text : "Nov " + Math.round(Math.random() * 30 + 1) + " 2005" }, rights: { text : "-rw-r--r--" }});
29       };
30       
31       var lc1 = 
32       {
33         name : { label : "Name", width : 100, type : "text", sortable : true, sortProp : "text" },
34         size: { label : "Size", width : 50, type : "text", sortable : true, sortProp : "text", sortMethod : qx.util.Compare.byIntegerString },
35         type : { label : "Type", width : 80, type : "text", sortable : true, sortProp : "text" },
36         modified : { label : "Last Modified", width : 150, type : "text" },
37         rights : { label : "Rights", width: 80, type : "text" }
38       };
39       
40       var lc2 = 
41       {
42         name : { label : "Name", width : 100, type : "text", sortable : true, sortProp : "text" },
43         size: { label : "Size", width : 50, type : "text", sortable : true, sortProp : "text", sortMethod : qx.util.Compare.byIntegerString },
44         type : { label : "Type", width : 80, type : "text", sortable : true, sortProp : "text" },
45         modified : { label : "Last Modified", width : 150, type : "text" },
46         rights : { label : "Rights", width: 80, type : "text" }
47       };      
48       
49       
50       function handleDrag(e) 
51       {
52         e.addData("qx.ui.listview.ListViewEntries", qx.lang.Array.copy(e.getCurrentTarget().getManager().getSelectedItems()));
53         e.addAction("move");
54         e.startDrag();
55       };
56
57       function handleDrop(e) 
58       {
59         var type = e.getDropDataTypes()[0];
60         var data = e.getData(type);
61         
62         switch(e.getAction())
63         {
64           case "move":
65             sourceView.getPane().getManager().setSelectedItems([]);
66             sourceView.getPane().getManager().setAnchorItem(null);
67             sourceView.getPane().getManager().setLeadItem(null);          
68           
69             for (var i=0, l=data.length; i<l; i++) 
70             {
71               qx.lang.Array.remove(sourceView.getData(), data[i]);
72               destView.getData().push(data[i]);
73             };
74             
75             destView.getPane().getManager().setSelectedItems(data);
76             
77             sourceView.updateSort();
78             destView.updateSort();
79             
80             sourceView.update();
81             destView.update();
82         };        
83       };      
84       
85       
86       
87       
88       
89       var sourceView = new qx.ui.listview.ListView(ld, lc1);
90
91       sourceView.setBorder(qx.renderer.border.BorderPresets.getInstance().shadow);
92       sourceView.setBackgroundColor("white");
93       sourceView.setWidth(600);
94       sourceView.setHeight(250);
95       sourceView.setLocation(20, 48);
96       
97       sourceView.getPane().getManager().setDragSelection(false);
98       sourceView.getPane().addEventListener("dragstart", handleDrag);
99       
100       qx.ui.core.ClientDocument.getInstance().add(sourceView);
101       
102       
103       
104       
105       var destView = new qx.ui.listview.ListView([], lc2);
106
107       destView.setBorder(qx.renderer.border.BorderPresets.getInstance().shadow);
108       destView.setBackgroundColor("white");
109       destView.setWidth(600);
110       destView.setHeight(250);
111       destView.setLocation(20, 318);
112       
113       destView.getPane().getManager().setDragSelection(false);
114       destView.getPane().setDropDataTypes(["qx.ui.listview.ListViewEntries"]);
115       destView.getPane().addEventListener("dragdrop", handleDrop);          
116       
117       qx.ui.core.ClientDocument.getInstance().add(destView);      
118     });
119   </script>
120 </body>
121 </html>