qooxview 1.9.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (605) hide show
  1. checksums.yaml +7 -0
  2. data/.project +13 -0
  3. data/.ruby-version +1 -0
  4. data/Gemfile +5 -0
  5. data/Gemfile.lock +89 -0
  6. data/LICENSE.txt +619 -0
  7. data/README.md +31 -0
  8. data/Rakefile +2 -0
  9. data/VERSIONS +12 -0
  10. data/lib/qooxview/additions.rb +161 -0
  11. data/lib/qooxview/config_yaml.rb +42 -0
  12. data/lib/qooxview/entity.rb +698 -0
  13. data/lib/qooxview/frontend/1build_generate +14 -0
  14. data/lib/qooxview/frontend/2src_generate +4 -0
  15. data/lib/qooxview/frontend/Manifest.json +34 -0
  16. data/lib/qooxview/frontend/README +19 -0
  17. data/lib/qooxview/frontend/UploadMgr/.project +11 -0
  18. data/lib/qooxview/frontend/UploadMgr/Manifest.json +34 -0
  19. data/lib/qooxview/frontend/UploadMgr/config.json +77 -0
  20. data/lib/qooxview/frontend/UploadMgr/demo/default/Manifest.json +34 -0
  21. data/lib/qooxview/frontend/UploadMgr/demo/default/config.json +84 -0
  22. data/lib/qooxview/frontend/UploadMgr/demo/default/generate.py +72 -0
  23. data/lib/qooxview/frontend/UploadMgr/demo/default/source/class/uploadmgr/demo/Application.js +224 -0
  24. data/lib/qooxview/frontend/UploadMgr/demo/default/source/class/uploadmgr/demo/simulation/DemoSimulation.js +44 -0
  25. data/lib/qooxview/frontend/UploadMgr/demo/default/source/class/uploadmgr/demo/test/DemoTest.js +55 -0
  26. data/lib/qooxview/frontend/UploadMgr/demo/default/source/class/uploadmgr/demo/theme/Appearance.js +18 -0
  27. data/lib/qooxview/frontend/UploadMgr/demo/default/source/class/uploadmgr/demo/theme/Color.js +18 -0
  28. data/lib/qooxview/frontend/UploadMgr/demo/default/source/class/uploadmgr/demo/theme/Decoration.js +18 -0
  29. data/lib/qooxview/frontend/UploadMgr/demo/default/source/class/uploadmgr/demo/theme/Font.js +18 -0
  30. data/lib/qooxview/frontend/UploadMgr/demo/default/source/class/uploadmgr/demo/theme/Theme.js +21 -0
  31. data/lib/qooxview/frontend/UploadMgr/demo/default/source/index.html +9 -0
  32. data/lib/qooxview/frontend/UploadMgr/demo/default/source/resource/uploadmgr/demo/test.png +0 -0
  33. data/lib/qooxview/frontend/UploadMgr/demo/default/source/script/uploadmgr.demo.d88b4fb45db4.js +1 -0
  34. data/lib/qooxview/frontend/UploadMgr/demo/default/source/script/uploadmgr.demo.js +211 -0
  35. data/lib/qooxview/frontend/UploadMgr/demo/default/source/translation/readme.txt +3 -0
  36. data/lib/qooxview/frontend/UploadMgr/generate.py +72 -0
  37. data/lib/qooxview/frontend/UploadMgr/server/LICENSE.TXT +3 -0
  38. data/lib/qooxview/frontend/UploadMgr/server/README.txt +3 -0
  39. data/lib/qooxview/frontend/UploadMgr/server/java/com/zenesis/qx/upload/DemoUploadServlet.java +176 -0
  40. data/lib/qooxview/frontend/UploadMgr/server/perl.cgi +62 -0
  41. data/lib/qooxview/frontend/UploadMgr/server/php.php +116 -0
  42. data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/AbstractHandler.js +278 -0
  43. data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/File.js +178 -0
  44. data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/FormHandler.js +192 -0
  45. data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/InputElement.js +68 -0
  46. data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/MParameters.js +67 -0
  47. data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/MUploadButton.js +40 -0
  48. data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/UploadButton.js +35 -0
  49. data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/UploadMgr.js +301 -0
  50. data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/UploadToolbarButton.js +35 -0
  51. data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/XhrHandler.js +176 -0
  52. data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/simulation/DemoSimulation.js +44 -0
  53. data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/test/DemoTest.js +55 -0
  54. data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/theme/Appearance.js +18 -0
  55. data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/theme/Color.js +18 -0
  56. data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/theme/Decoration.js +18 -0
  57. data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/theme/Font.js +18 -0
  58. data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/theme/Theme.js +21 -0
  59. data/lib/qooxview/frontend/UploadMgr/source/index.html +9 -0
  60. data/lib/qooxview/frontend/UploadMgr/source/resource/com/zenesis/qx/upload/banner-bg.png +0 -0
  61. data/lib/qooxview/frontend/UploadMgr/source/resource/com/zenesis/qx/upload/banner.png +0 -0
  62. data/lib/qooxview/frontend/UploadMgr/source/resource/com/zenesis/qx/upload/logo.gif +0 -0
  63. data/lib/qooxview/frontend/UploadMgr/source/resource/com/zenesis/qx/upload/test.png +0 -0
  64. data/lib/qooxview/frontend/UploadMgr/source/translation/readme.txt +3 -0
  65. data/lib/qooxview/frontend/build/index.html +11 -0
  66. data/lib/qooxview/frontend/build/resource/frontend/test.png +0 -0
  67. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/app-header.png +0 -0
  68. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/down-invert.png +0 -0
  69. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/down-small-invert.png +0 -0
  70. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/down-small.png +0 -0
  71. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/down.png +0 -0
  72. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/forward.png +0 -0
  73. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/left-invert.png +0 -0
  74. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/left.png +0 -0
  75. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/rewind.png +0 -0
  76. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/right-invert.png +0 -0
  77. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/right.png +0 -0
  78. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/up-invert.png +0 -0
  79. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/up-small.png +0 -0
  80. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/up.png +0 -0
  81. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows-combined.png +0 -0
  82. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/button-lr-combined.png +0 -0
  83. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/button-tb-combined.png +0 -0
  84. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/checkradio-combined.png +0 -0
  85. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/colorselector/brightness-field.png +0 -0
  86. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/colorselector/brightness-handle.gif +0 -0
  87. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/colorselector/huesaturation-field.jpg +0 -0
  88. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/colorselector/huesaturation-handle.gif +0 -0
  89. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/colorselector-combined.gif +0 -0
  90. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/cursors/alias.gif +0 -0
  91. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/cursors/copy.gif +0 -0
  92. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/cursors/move.gif +0 -0
  93. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/cursors/nodrop.gif +0 -0
  94. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/cursors-combined.gif +0 -0
  95. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-b.png +0 -0
  96. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-bl.png +0 -0
  97. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-br.png +0 -0
  98. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-c.png +0 -0
  99. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-b.png +0 -0
  100. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-bl.png +0 -0
  101. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-br.png +0 -0
  102. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-c.png +0 -0
  103. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-focused-b.png +0 -0
  104. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-focused-bl.png +0 -0
  105. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-focused-br.png +0 -0
  106. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-focused-c.png +0 -0
  107. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-focused-l.png +0 -0
  108. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-focused-r.png +0 -0
  109. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-focused-t.png +0 -0
  110. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-focused-tl.png +0 -0
  111. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-focused-tr.png +0 -0
  112. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-focused.png +0 -0
  113. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-l.png +0 -0
  114. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-r.png +0 -0
  115. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-t.png +0 -0
  116. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-tl.png +0 -0
  117. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-tr.png +0 -0
  118. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked.png +0 -0
  119. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-disabled-b.png +0 -0
  120. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-disabled-bl.png +0 -0
  121. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-disabled-br.png +0 -0
  122. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-disabled-c.png +0 -0
  123. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-disabled-l.png +0 -0
  124. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-disabled-r.png +0 -0
  125. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-disabled-t.png +0 -0
  126. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-disabled-tl.png +0 -0
  127. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-disabled-tr.png +0 -0
  128. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-disabled.png +0 -0
  129. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-focused-b.png +0 -0
  130. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-focused-bl.png +0 -0
  131. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-focused-br.png +0 -0
  132. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-focused-c.png +0 -0
  133. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-focused-l.png +0 -0
  134. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-focused-r.png +0 -0
  135. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-focused-t.png +0 -0
  136. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-focused-tl.png +0 -0
  137. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-focused-tr.png +0 -0
  138. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-focused.png +0 -0
  139. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-hovered-b.png +0 -0
  140. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-hovered-bl.png +0 -0
  141. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-hovered-br.png +0 -0
  142. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-hovered-c.png +0 -0
  143. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-hovered-l.png +0 -0
  144. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-hovered-r.png +0 -0
  145. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-hovered-t.png +0 -0
  146. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-hovered-tl.png +0 -0
  147. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-hovered-tr.png +0 -0
  148. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-hovered.png +0 -0
  149. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-l.png +0 -0
  150. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-b.png +0 -0
  151. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-bl.png +0 -0
  152. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-br.png +0 -0
  153. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-c.png +0 -0
  154. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-focused-b.png +0 -0
  155. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-focused-bl.png +0 -0
  156. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-focused-br.png +0 -0
  157. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-focused-c.png +0 -0
  158. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-focused-l.png +0 -0
  159. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-focused-r.png +0 -0
  160. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-focused-t.png +0 -0
  161. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-focused-tl.png +0 -0
  162. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-focused-tr.png +0 -0
  163. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-focused.png +0 -0
  164. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-l.png +0 -0
  165. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-r.png +0 -0
  166. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-t.png +0 -0
  167. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-tl.png +0 -0
  168. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-tr.png +0 -0
  169. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected.png +0 -0
  170. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-pressed-b.png +0 -0
  171. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-pressed-bl.png +0 -0
  172. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-pressed-br.png +0 -0
  173. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-pressed-c.png +0 -0
  174. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-pressed-l.png +0 -0
  175. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-pressed-r.png +0 -0
  176. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-pressed-t.png +0 -0
  177. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-pressed-tl.png +0 -0
  178. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-pressed-tr.png +0 -0
  179. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-pressed.png +0 -0
  180. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-r.png +0 -0
  181. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-t.png +0 -0
  182. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-tl.png +0 -0
  183. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-tr.png +0 -0
  184. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button.png +0 -0
  185. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-checked-disabled.png +0 -0
  186. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-checked-focused-invalid.png +0 -0
  187. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-checked-focused.png +0 -0
  188. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-checked-hovered-invalid.png +0 -0
  189. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-checked-hovered.png +0 -0
  190. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-checked-invalid.png +0 -0
  191. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-checked-pressed-invalid.png +0 -0
  192. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-checked-pressed.png +0 -0
  193. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-checked.png +0 -0
  194. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-disabled.png +0 -0
  195. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-focused-invalid.png +0 -0
  196. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-focused.png +0 -0
  197. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-hovered-invalid.png +0 -0
  198. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-hovered.png +0 -0
  199. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-invalid.png +0 -0
  200. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-pressed-invalid.png +0 -0
  201. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-pressed.png +0 -0
  202. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-undetermined-disabled.png +0 -0
  203. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-undetermined-focused-invalid.png +0 -0
  204. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-undetermined-focused.png +0 -0
  205. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-undetermined-hovered-invalid.png +0 -0
  206. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-undetermined-hovered.png +0 -0
  207. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-undetermined-invalid.png +0 -0
  208. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-undetermined.png +0 -0
  209. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox.png +0 -0
  210. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checked-disabled.png +0 -0
  211. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checked.png +0 -0
  212. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/input-focused.png +0 -0
  213. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/input.png +0 -0
  214. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-checked-disabled.png +0 -0
  215. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-checked-focused-invalid.png +0 -0
  216. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-checked-focused.png +0 -0
  217. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-checked-hovered-invalid.png +0 -0
  218. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-checked-hovered.png +0 -0
  219. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-checked-invalid.png +0 -0
  220. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-checked-pressed-invalid.png +0 -0
  221. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-checked-pressed.png +0 -0
  222. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-checked.png +0 -0
  223. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-disabled.png +0 -0
  224. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-focused-invalid.png +0 -0
  225. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-focused.png +0 -0
  226. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-hovered-invalid.png +0 -0
  227. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-hovered.png +0 -0
  228. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-invalid.png +0 -0
  229. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-pressed-invalid.png +0 -0
  230. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-pressed.png +0 -0
  231. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton.png +0 -0
  232. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error-arrow-right.png +0 -0
  233. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error-arrow.png +0 -0
  234. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error-b.png +0 -0
  235. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error-bl.png +0 -0
  236. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error-br.png +0 -0
  237. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error-c.png +0 -0
  238. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error-l.png +0 -0
  239. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error-r.png +0 -0
  240. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error-t.png +0 -0
  241. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error-tl.png +0 -0
  242. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error-tr.png +0 -0
  243. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error.png +0 -0
  244. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/undetermined-disabled.png +0 -0
  245. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/undetermined.png +0 -0
  246. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/group-item.png +0 -0
  247. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox/groupbox-b.png +0 -0
  248. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox/groupbox-bl.png +0 -0
  249. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox/groupbox-br.png +0 -0
  250. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox/groupbox-c.png +0 -0
  251. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox/groupbox-l.png +0 -0
  252. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox/groupbox-r.png +0 -0
  253. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox/groupbox-t.png +0 -0
  254. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox/groupbox-tl.png +0 -0
  255. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox/groupbox-tr.png +0 -0
  256. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox/groupbox.png +0 -0
  257. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox-lr-combined.png +0 -0
  258. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox-tb-combined.png +0 -0
  259. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/menu/background.png +0 -0
  260. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/menu/bar-background.png +0 -0
  261. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/menu/checkbox-invert.gif +0 -0
  262. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/menu/checkbox.gif +0 -0
  263. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/menu/radiobutton-invert.gif +0 -0
  264. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/menu/radiobutton.gif +0 -0
  265. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/menu-background-combined.png +0 -0
  266. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/menu-checkradio-combined.gif +0 -0
  267. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane/pane-b.png +0 -0
  268. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane/pane-bl.png +0 -0
  269. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane/pane-br.png +0 -0
  270. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane/pane-c.png +0 -0
  271. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane/pane-l.png +0 -0
  272. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane/pane-r.png +0 -0
  273. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane/pane-t.png +0 -0
  274. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane/pane-tl.png +0 -0
  275. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane/pane-tr.png +0 -0
  276. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane/pane.png +0 -0
  277. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane-lr-combined.png +0 -0
  278. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane-tb-combined.png +0 -0
  279. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar/scrollbar-bg-horizontal.png +0 -0
  280. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar/scrollbar-bg-pressed-horizontal.png +0 -0
  281. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar/scrollbar-bg-pressed-vertical.png +0 -0
  282. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar/scrollbar-bg-vertical.png +0 -0
  283. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar/scrollbar-button-bg-horizontal.png +0 -0
  284. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar/scrollbar-button-bg-vertical.png +0 -0
  285. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar/scrollbar-down.png +0 -0
  286. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar/scrollbar-left.png +0 -0
  287. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar/scrollbar-right.png +0 -0
  288. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar/scrollbar-up.png +0 -0
  289. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar/slider-knob-background.png +0 -0
  290. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar-combined.png +0 -0
  291. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/selection.png +0 -0
  292. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-b.png +0 -0
  293. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-bl.png +0 -0
  294. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-br.png +0 -0
  295. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-c.png +0 -0
  296. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-l.png +0 -0
  297. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-r.png +0 -0
  298. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-small-b.png +0 -0
  299. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-small-bl.png +0 -0
  300. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-small-br.png +0 -0
  301. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-small-c.png +0 -0
  302. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-small-l.png +0 -0
  303. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-small-r.png +0 -0
  304. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-small-t.png +0 -0
  305. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-small-tl.png +0 -0
  306. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-small-tr.png +0 -0
  307. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-small.png +0 -0
  308. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-t.png +0 -0
  309. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-tl.png +0 -0
  310. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-tr.png +0 -0
  311. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow.png +0 -0
  312. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow-lr-combined.png +0 -0
  313. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow-small-lr-combined.png +0 -0
  314. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow-small-tb-combined.png +0 -0
  315. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow-tb-combined.png +0 -0
  316. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/splitpane/knob-horizontal.png +0 -0
  317. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/splitpane/knob-vertical.png +0 -0
  318. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/splitpane-knobs-combined.png +0 -0
  319. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/table/ascending.png +0 -0
  320. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/table/boolean-false.png +0 -0
  321. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/table/boolean-true.png +0 -0
  322. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/table/descending.png +0 -0
  323. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/table/header-cell.png +0 -0
  324. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/table/select-column-order.png +0 -0
  325. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/table-combined.png +0 -0
  326. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-active-b.png +0 -0
  327. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-active-bl.png +0 -0
  328. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-active-br.png +0 -0
  329. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-active-c.png +0 -0
  330. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-active-l.png +0 -0
  331. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-active-r.png +0 -0
  332. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-active-t.png +0 -0
  333. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-active-tl.png +0 -0
  334. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-active-tr.png +0 -0
  335. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-active.png +0 -0
  336. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-inactive-b.png +0 -0
  337. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-inactive-bl.png +0 -0
  338. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-inactive-br.png +0 -0
  339. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-inactive-c.png +0 -0
  340. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-inactive-l.png +0 -0
  341. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-inactive-r.png +0 -0
  342. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-inactive-t.png +0 -0
  343. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-inactive-tl.png +0 -0
  344. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-inactive-tr.png +0 -0
  345. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-inactive.png +0 -0
  346. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-active-b.png +0 -0
  347. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-active-bl.png +0 -0
  348. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-active-br.png +0 -0
  349. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-active-c.png +0 -0
  350. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-active-l.png +0 -0
  351. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-active-r.png +0 -0
  352. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-active-t.png +0 -0
  353. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-active-tl.png +0 -0
  354. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-active-tr.png +0 -0
  355. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-active.png +0 -0
  356. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-inactive-b.png +0 -0
  357. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-inactive-bl.png +0 -0
  358. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-inactive-br.png +0 -0
  359. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-inactive-c.png +0 -0
  360. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-inactive-l.png +0 -0
  361. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-inactive-r.png +0 -0
  362. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-inactive-t.png +0 -0
  363. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-inactive-tl.png +0 -0
  364. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-inactive-tr.png +0 -0
  365. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-inactive.png +0 -0
  366. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-active-b.png +0 -0
  367. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-active-bl.png +0 -0
  368. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-active-br.png +0 -0
  369. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-active-c.png +0 -0
  370. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-active-l.png +0 -0
  371. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-active-r.png +0 -0
  372. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-active-t.png +0 -0
  373. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-active-tl.png +0 -0
  374. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-active-tr.png +0 -0
  375. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-active.png +0 -0
  376. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-inactive-b.png +0 -0
  377. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-inactive-bl.png +0 -0
  378. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-inactive-br.png +0 -0
  379. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-inactive-c.png +0 -0
  380. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-inactive-l.png +0 -0
  381. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-inactive-r.png +0 -0
  382. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-inactive-t.png +0 -0
  383. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-inactive-tl.png +0 -0
  384. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-inactive-tr.png +0 -0
  385. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-inactive.png +0 -0
  386. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-active-b.png +0 -0
  387. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-active-bl.png +0 -0
  388. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-active-br.png +0 -0
  389. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-active-c.png +0 -0
  390. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-active-l.png +0 -0
  391. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-active-r.png +0 -0
  392. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-active-t.png +0 -0
  393. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-active-tl.png +0 -0
  394. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-active-tr.png +0 -0
  395. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-active.png +0 -0
  396. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-inactive-b.png +0 -0
  397. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-inactive-bl.png +0 -0
  398. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-inactive-br.png +0 -0
  399. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-inactive-c.png +0 -0
  400. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-inactive-l.png +0 -0
  401. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-inactive-r.png +0 -0
  402. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-inactive-t.png +0 -0
  403. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-inactive-tl.png +0 -0
  404. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-inactive-tr.png +0 -0
  405. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-inactive.png +0 -0
  406. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tabview-pane-b.png +0 -0
  407. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tabview-pane-bl.png +0 -0
  408. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tabview-pane-br.png +0 -0
  409. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tabview-pane-c.png +0 -0
  410. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tabview-pane-l.png +0 -0
  411. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tabview-pane-r.png +0 -0
  412. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tabview-pane-t.png +0 -0
  413. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tabview-pane-tl.png +0 -0
  414. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tabview-pane-tr.png +0 -0
  415. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tabview-pane.png +0 -0
  416. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-bottom-active-lr-combined.png +0 -0
  417. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-bottom-active-tb-combined.png +0 -0
  418. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-bottom-inactive-b-combined.png +0 -0
  419. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-bottom-inactive-lr-combined.png +0 -0
  420. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-bottom-inactive-t-combined.png +0 -0
  421. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-left-active-lr-combined.png +0 -0
  422. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-left-active-tb-combined.png +0 -0
  423. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-left-inactive-b-combined.png +0 -0
  424. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-left-inactive-lr-combined.png +0 -0
  425. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-left-inactive-t-combined.png +0 -0
  426. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-right-active-lr-combined.png +0 -0
  427. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-right-active-tb-combined.png +0 -0
  428. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-right-inactive-b-combined.png +0 -0
  429. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-right-inactive-lr-combined.png +0 -0
  430. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-right-inactive-t-combined.png +0 -0
  431. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-top-active-lr-combined.png +0 -0
  432. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-top-active-tb-combined.png +0 -0
  433. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-top-inactive-b-combined.png +0 -0
  434. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-top-inactive-lr-combined.png +0 -0
  435. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-top-inactive-t-combined.png +0 -0
  436. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-pane-lr-combined.png +0 -0
  437. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-pane-tb-combined.png +0 -0
  438. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/toolbar/toolbar-gradient-blue.png +0 -0
  439. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/toolbar/toolbar-gradient.png +0 -0
  440. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/toolbar/toolbar-handle-knob.gif +0 -0
  441. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/toolbar/toolbar-part.gif +0 -0
  442. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/toolbar-combined.png +0 -0
  443. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tooltip-error-lr-combined.png +0 -0
  444. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tooltip-error-tb-combined.png +0 -0
  445. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tree/closed-selected.png +0 -0
  446. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tree/closed.png +0 -0
  447. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tree/open-selected.png +0 -0
  448. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tree/open.png +0 -0
  449. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tree-combined.png +0 -0
  450. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-active-b.png +0 -0
  451. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-active-bl.png +0 -0
  452. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-active-br.png +0 -0
  453. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-active-c.png +0 -0
  454. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-active-l.png +0 -0
  455. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-active-r.png +0 -0
  456. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-active-t.png +0 -0
  457. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-active-tl.png +0 -0
  458. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-active-tr.png +0 -0
  459. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-active.png +0 -0
  460. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-inactive-b.png +0 -0
  461. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-inactive-bl.png +0 -0
  462. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-inactive-br.png +0 -0
  463. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-inactive-c.png +0 -0
  464. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-inactive-l.png +0 -0
  465. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-inactive-r.png +0 -0
  466. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-inactive-t.png +0 -0
  467. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-inactive-tl.png +0 -0
  468. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-inactive-tr.png +0 -0
  469. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-inactive.png +0 -0
  470. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/close-active-hovered.png +0 -0
  471. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/close-active.png +0 -0
  472. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/close-inactive.png +0 -0
  473. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/maximize-active-hovered.png +0 -0
  474. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/maximize-active.png +0 -0
  475. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/maximize-inactive.png +0 -0
  476. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/minimize-active-hovered.png +0 -0
  477. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/minimize-active.png +0 -0
  478. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/minimize-inactive.png +0 -0
  479. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/restore-active-hovered.png +0 -0
  480. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/restore-active.png +0 -0
  481. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/restore-inactive.png +0 -0
  482. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/statusbar-b.png +0 -0
  483. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/statusbar-bl.png +0 -0
  484. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/statusbar-br.png +0 -0
  485. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/statusbar-c.png +0 -0
  486. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/statusbar-l.png +0 -0
  487. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/statusbar-r.png +0 -0
  488. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/statusbar-t.png +0 -0
  489. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/statusbar-tl.png +0 -0
  490. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/statusbar-tr.png +0 -0
  491. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/statusbar.png +0 -0
  492. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window-captionbar-buttons-combined.png +0 -0
  493. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window-captionbar-lr-active-combined.png +0 -0
  494. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window-captionbar-lr-inactive-combined.png +0 -0
  495. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window-captionbar-tb-active-combined.png +0 -0
  496. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window-captionbar-tb-inactive-combined.png +0 -0
  497. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window-statusbar-lr-combined.png +0 -0
  498. data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window-statusbar-tb-combined.png +0 -0
  499. data/lib/qooxview/frontend/build/resource/qx/icon/Tango/16/actions/dialog-cancel.png +0 -0
  500. data/lib/qooxview/frontend/build/resource/qx/icon/Tango/16/actions/dialog-ok.png +0 -0
  501. data/lib/qooxview/frontend/build/resource/qx/icon/Tango/16/actions/view-refresh.png +0 -0
  502. data/lib/qooxview/frontend/build/resource/qx/icon/Tango/16/actions/window-close.png +0 -0
  503. data/lib/qooxview/frontend/build/resource/qx/icon/Tango/16/apps/office-calendar.png +0 -0
  504. data/lib/qooxview/frontend/build/resource/qx/icon/Tango/16/apps/utilities-color-chooser.png +0 -0
  505. data/lib/qooxview/frontend/build/resource/qx/icon/Tango/16/mimetypes/office-document.png +0 -0
  506. data/lib/qooxview/frontend/build/resource/qx/icon/Tango/16/places/folder-open.png +0 -0
  507. data/lib/qooxview/frontend/build/resource/qx/icon/Tango/16/places/folder.png +0 -0
  508. data/lib/qooxview/frontend/build/resource/qx/icon/Tango/22/mimetypes/office-document.png +0 -0
  509. data/lib/qooxview/frontend/build/resource/qx/icon/Tango/22/places/folder-open.png +0 -0
  510. data/lib/qooxview/frontend/build/resource/qx/icon/Tango/22/places/folder.png +0 -0
  511. data/lib/qooxview/frontend/build/resource/qx/icon/Tango/32/mimetypes/office-document.png +0 -0
  512. data/lib/qooxview/frontend/build/resource/qx/icon/Tango/32/places/folder-open.png +0 -0
  513. data/lib/qooxview/frontend/build/resource/qx/icon/Tango/32/places/folder.png +0 -0
  514. data/lib/qooxview/frontend/build/resource/qx/static/blank.gif +0 -0
  515. data/lib/qooxview/frontend/build/resource/qx/static/blank.png +0 -0
  516. data/lib/qooxview/frontend/build/script/frontend.js +213 -0
  517. data/lib/qooxview/frontend/config.json +58 -0
  518. data/lib/qooxview/frontend/generate.py +149 -0
  519. data/lib/qooxview/frontend/mklink +2 -0
  520. data/lib/qooxview/frontend/readme.txt +11 -0
  521. data/lib/qooxview/frontend/source/class/frontend/Application.js +84 -0
  522. data/lib/qooxview/frontend/source/class/frontend/LAYOUT +120 -0
  523. data/lib/qooxview/frontend/source/class/frontend/Lib/Fields.js +1486 -0
  524. data/lib/qooxview/frontend/source/class/frontend/Lib/RPC.js +104 -0
  525. data/lib/qooxview/frontend/source/class/frontend/Lib/TimerF.js +63 -0
  526. data/lib/qooxview/frontend/source/class/frontend/Views/Form.js +150 -0
  527. data/lib/qooxview/frontend/source/class/frontend/Views/Ltab.js +633 -0
  528. data/lib/qooxview/frontend/source/class/frontend/__init__.js +6 -0
  529. data/lib/qooxview/frontend/source/class/frontend/globals.js +51 -0
  530. data/lib/qooxview/frontend/source/class/frontend/simulation/DemoSimulation.js +42 -0
  531. data/lib/qooxview/frontend/source/class/frontend/test/DemoTest.js +55 -0
  532. data/lib/qooxview/frontend/source/class/frontend/theme/Appearance.js +18 -0
  533. data/lib/qooxview/frontend/source/class/frontend/theme/Color.js +18 -0
  534. data/lib/qooxview/frontend/source/class/frontend/theme/Decoration.js +18 -0
  535. data/lib/qooxview/frontend/source/class/frontend/theme/Font.js +18 -0
  536. data/lib/qooxview/frontend/source/class/frontend/theme/Theme.js +21 -0
  537. data/lib/qooxview/frontend/source/index.html +11 -0
  538. data/lib/qooxview/frontend/source/resource/frontend/test.png +0 -0
  539. data/lib/qooxview/frontend/source/translation/readme.txt +3 -0
  540. data/lib/qooxview/helpers/config_base.rb +264 -0
  541. data/lib/qooxview/helpers/icc.rb +222 -0
  542. data/lib/qooxview/helpers/make_steps.rb +77 -0
  543. data/lib/qooxview/helpers/migration_version.rb +18 -0
  544. data/lib/qooxview/helpers/open_print.rb +286 -0
  545. data/lib/qooxview/helpers/permission.rb +146 -0
  546. data/lib/qooxview/helpers/qoox_parser.rb +54 -0
  547. data/lib/qooxview/helpers/session.rb +68 -0
  548. data/lib/qooxview/helpers/static.rb +23 -0
  549. data/lib/qooxview/helpers/upload_files.rb +27 -0
  550. data/lib/qooxview/helpers/vtlist_pane.rb +158 -0
  551. data/lib/qooxview/helpers/welcome.rb +55 -0
  552. data/lib/qooxview/qooxview.rb +175 -0
  553. data/lib/qooxview/rpcqooxdoo.rb +395 -0
  554. data/lib/qooxview/storage_handler.rb +455 -0
  555. data/lib/qooxview/storage_type.rb +129 -0
  556. data/lib/qooxview/storages/csv.rb +170 -0
  557. data/lib/qooxview/storages/ldap.rb +238 -0
  558. data/lib/qooxview/storages/sqlite.rb +198 -0
  559. data/lib/qooxview/value.rb +202 -0
  560. data/lib/qooxview/version.rb +3 -0
  561. data/lib/qooxview/view.rb +904 -0
  562. data/lib/qooxview.rb +83 -0
  563. data/qooxview.gemspec +50 -0
  564. data/test/benchmark_creation.rb +37 -0
  565. data/test/config.yaml +36 -0
  566. data/test/entities/config.rb +33 -0
  567. data/test/entities/course.rb +28 -0
  568. data/test/entities/databases.rb +17 -0
  569. data/test/entities/doubleCase.rb +12 -0
  570. data/test/entities/dummies.rb +24 -0
  571. data/test/entities/inventory.rb +6 -0
  572. data/test/entities/needs.rb +20 -0
  573. data/test/entities/person.rb +73 -0
  574. data/test/file_binary.bin +0 -0
  575. data/test/files/print_formulas.ods +0 -0
  576. data/test/files/print_formulas_2.ods +0 -0
  577. data/test/files/student_card.odg +0 -0
  578. data/test/gettext.po +24 -0
  579. data/test/gettext.pot +0 -0
  580. data/test/messages.mo +0 -0
  581. data/test/po/fr/LC_MESSAGES/gettext.mo +0 -0
  582. data/test/qooxdoo-layout-frontend.js +49 -0
  583. data/test/qv_configbase.rb +98 -0
  584. data/test/qv_entity.rb +271 -0
  585. data/test/qv_gettext.rb +28 -0
  586. data/test/qv_helpers.rb +173 -0
  587. data/test/qv_icc.rb +60 -0
  588. data/test/qv_migration.rb +130 -0
  589. data/test/qv_permission.rb +34 -0
  590. data/test/qv_print.rb +73 -0
  591. data/test/qv_session.rb +29 -0
  592. data/test/qv_sqlite.rb +73 -0
  593. data/test/qv_store_csv.rb +86 -0
  594. data/test/qv_stype.rb +41 -0
  595. data/test/qv_view.rb +204 -0
  596. data/test/st_dummy.rb +30 -0
  597. data/test/test.rb +49 -0
  598. data/test/views/aview.rb +24 -0
  599. data/test/views/bview.rb +10 -0
  600. data/test/views/configviews.rb +19 -0
  601. data/test/views/courseshow.rb +11 -0
  602. data/test/views/cview.rb +22 -0
  603. data/test/views/login.rb +15 -0
  604. data/test/views/print.rb +10 -0
  605. metadata +1068 -0
@@ -0,0 +1,1486 @@
1
+ /* ************************************************************************
2
+ Copyright: 2009 by Linus Gasser
3
+ License: GPL v3
4
+ Authors: Linus Gasser
5
+ ************************************************************************ */
6
+ /* ************************************************************************
7
+ #asset(frontend/*)
8
+ ************************************************************************ */
9
+ function searchLabel(name) {
10
+ // Why do we have to do this?
11
+ dbg(5, "selectables are: " + this.getSelectables())
12
+
13
+ var selectables = this.getSelectables();
14
+ for (var s = 0; s < selectables.length; s++) {
15
+ var item = selectables[s];
16
+ if (item.getLabel() == name) {
17
+ this.setSelection([item]);
18
+ }
19
+ }
20
+ }
21
+
22
+ function searchIndex(id) {
23
+ // Why do we have to do this?
24
+ dbg(5, "selectables are: " + this.getSelectables())
25
+
26
+ this.setSelection([this.getSelectables()[id]]);
27
+ }
28
+
29
+ function selectedIndex() {
30
+ var id = 0;
31
+ var item = this.getSelection()[0];
32
+ // Why do we have to do this?
33
+ dbg(5, "selectables are: " + this.getSelectables())
34
+
35
+ var items = this.getSelectables();
36
+ for (var s = 0; s < items.length; s++) {
37
+ if (items[s] == item) {
38
+ return id;
39
+ }
40
+ id++;
41
+ }
42
+ return null;
43
+ }
44
+
45
+ function getValue() {
46
+ return "hi";
47
+ }
48
+
49
+ function getValueList() {
50
+ dbg(5, "getValueList");
51
+ var ret = [];
52
+ var selected = this.getSelection();
53
+ for (var s = 0; s < selected.length; s++) {
54
+ var sel = selected[s];
55
+ if (this.valueIds) {
56
+ ret.push(this.valueIds[this.indexOf(sel)]);
57
+ }
58
+ else {
59
+ ret.push(sel.getLabel());
60
+ }
61
+ }
62
+ return ret;
63
+ }
64
+
65
+ function getValueListArray() {
66
+ dbg(5, "getValueListArray");
67
+ var ret = [];
68
+ // Why do we have to do this?
69
+ dbg(5, "selectables are: " + this.getSelectables())
70
+
71
+ var selectables = this.getSelectables();
72
+ for (var s = 0; s < selectables.length; s++) {
73
+ ret.push(selectables[s].getLabel());
74
+ }
75
+ return ret.concat(getValueList());
76
+ }
77
+
78
+ function setValueListCommon(values, list) {
79
+ dbg(5, "setValueList " + print_a(values));
80
+ dbg(5, "valueIds is " + print_a(list.valueIds))
81
+ var selection = [];
82
+ if (!values || !values.length) {
83
+ list.setSelection(selection);
84
+ dbg(5, "removing selection");
85
+ return;
86
+ }
87
+ for (var v = 0; v < values.length; v++) {
88
+ var val = values[v];
89
+ var item = null;
90
+ dbg(5, "Adding value :" + val + ":")
91
+ if (val instanceof Array) {
92
+ // The first position is the internal id, the second is what to show
93
+ dbg(5, "Value is an array!")
94
+ if (!list.valueIds) {
95
+ list.valueIds = [];
96
+ }
97
+ list.valueIds.push(val[0]);
98
+ val = val[1];
99
+ }
100
+ // else if ( val != null && val != "" ){
101
+ else {
102
+ if (list.valueIds) {
103
+ // Why do we have to do this?
104
+ dbg(5, "selectables are: " + list.getSelectables(true))
105
+ item = list.getSelectables(true)[list.valueIds.indexOf(val)];
106
+ } else {
107
+ if (list.findItem) {
108
+ item = list.findItem(val);
109
+ }
110
+ }
111
+ }
112
+ dbg(3, "item is " + item + " and nopreselect: " + list.nopreselect)
113
+ if (item && ( !list.nopreselect )) {
114
+ selection.push(item);
115
+ dbg(5, "Found a selection: " + val);
116
+ }
117
+ else if (val != "") {
118
+ dbg(5, "Adding new item " + val)
119
+ var item = new qx.ui.form.ListItem("" + val);
120
+ list.add(item);
121
+ /*
122
+ if (list.valueIds && list.indexOf(item) != list.valueIds.length - 1) {
123
+ alert("Different number of items in list and valueIds! Val:item:npr are -" +
124
+ [ val, item, list.nopreselect ].join("-") + "\n" +
125
+ list.field_name + " - " + item );
126
+ }
127
+ */
128
+ }
129
+ }
130
+ list.setSelection(selection);
131
+ }
132
+
133
+ function setValueList(val) {
134
+ if (this.maxheight) {
135
+ this.setHeight(null);
136
+ this.setMaxHeight(this.maxheight);
137
+ }
138
+ setValueListCommon(val, this);
139
+ }
140
+
141
+ function setValueDrop(val) {
142
+ dbg(5, "setValueDrop: " + print_a(val))
143
+ if (this.valueIds) {
144
+ dbg(3, "Having valueIds " + print_a(this.valueIds))
145
+ setValueListCommon(val, this);
146
+ } else if (val.length == 1 && this.getChildren().length > 0) {
147
+ var elements = this.getChildren();
148
+ dbg(5, "Setting value of " + val + " to elements " + elements);
149
+ for (var e = 0; e < elements.length; e++) {
150
+ if (elements[e].getLabel() == val) {
151
+ dbg(5, "Found element " + elements[e])
152
+ this.setSelection([elements[e]]);
153
+ }
154
+ }
155
+ }
156
+ else {
157
+ setValueListCommon(val, this);
158
+ }
159
+ };
160
+
161
+ function setValueListArray(val) {
162
+ this.removeAll();
163
+ setValueListCommon(val, this);
164
+ }
165
+
166
+ function setValueBold(val) {
167
+ this.valueBold = val
168
+ text = val.split("\n").join("<br>")
169
+ this.setValue("<table bgcolor='ffffff'><tr><td><b>" + text +
170
+ "</b></td></tr></table>")
171
+ }
172
+
173
+ function getValueBold() {
174
+ return this.valueBold
175
+ }
176
+
177
+ /*
178
+ field_element = new qx.ui.container.Composite(new qx.ui.layout.VBox(2));
179
+ field_element.add(this.createDoW());
180
+ var hours = new qx.ui.container.Composite(new qx.ui.layout.HBox(2));
181
+ hours.add(this.createHours());
182
+ hours.add(new qx.ui.basic.Label("-"));
183
+ hours.add(this.createHours());
184
+ field_element.add(hours);
185
+ */
186
+ function getValueFromTo() {
187
+ dbg(5, "getValueFromTo");
188
+ var d = this.getChildren();
189
+ var h = d[1].getChildren();
190
+ var ret = [d[0].getSelection()[0].getLabel(), // days of blockage
191
+ h[0].getSelection()[0].getLabel(), // the from-hour
192
+ h[2].getSelection()[0].getLabel() // the to-hour
193
+ ];
194
+ dbg(4, print_a(ret));
195
+ return ret;
196
+ }
197
+
198
+ function setValueFromTo() {
199
+ }
200
+
201
+ function getValueDate() {
202
+ return this.getDateFormat().format(this.getValue());
203
+ }
204
+
205
+ function setValueDate(v) {
206
+ this.setValue(this.getDateFormat().parse(v))
207
+ }
208
+
209
+ function twoDecimals(x) {
210
+ return x < 10 ? "0" + x : x;
211
+ }
212
+
213
+ function setValueArrayTable(val, silence) {
214
+ //var val = [[1,2,3],[4,5,6]]
215
+ //alert( "Setting val " + print_a( val ))
216
+ var values = val;
217
+ var selection = -1;
218
+ if (val && ( val[0] instanceof Array ) &&
219
+ ( val[0][1] instanceof Array )) {
220
+ this.valueIds = []
221
+ for (var i = 0; i < val.length; i++) {
222
+ this.valueIds.push(val[i][0])
223
+ values[i] = val[i][1]
224
+ }
225
+ } else {
226
+ dbg(2, 'simple array: ' + print_a(val) + ' -- ' + print_a(this.valueIds))
227
+ if (this.valueIds && this.valueIds.indexOf(val[0]) >= 0) {
228
+ selection = this.valueIds.indexOf(val[0]);
229
+ dbg(2, 'found index ' + selection);
230
+ } else {
231
+ this.valueIds = null
232
+ }
233
+ }
234
+ dbg(2, "Setting data to " + print_a(values) +
235
+ " - valueIds = " + print_a(this.valueIds))
236
+ this.cancelEditing();
237
+ var select = this.getSelectionModel();
238
+ select.resetSelection();
239
+ if (selection >= 0) {
240
+ select.setSelectionInterval(selection, selection);
241
+ } else {
242
+ this.getTableModel().setData(values);
243
+ }
244
+ }
245
+
246
+ function getValueTable(getall) {
247
+ dbg(2, "Getting table " + this)
248
+ var ret = [];
249
+ var table = this;
250
+ var vids = table.valueIds;
251
+ var model = table.getTableModel();
252
+ table.stopEditing();
253
+ table.getSelectionModel().iterateSelection(function (ind) {
254
+ if (table.is_editable || !vids) {
255
+ dbg(2, "Adding index with all values " + ind)
256
+ var values = model.getRowDataAsMap(ind);
257
+ if (vids) {
258
+ values.element_id = vids[ind];
259
+ }
260
+ } else {
261
+ dbg(2, "Adding value_id only for " + ind + ": " + values)
262
+ values = vids[ind];
263
+ }
264
+ dbg(2, "Adding " + print_a(values))
265
+ ret.push(values);
266
+ });
267
+ dbg(2, "Returning " + print_a(ret))
268
+ //alert("Returning " + print_a(ret) + " with valueIds of " +
269
+ //print_a(vids))
270
+ return ret;
271
+ }
272
+
273
+ /**
274
+ * A fields-wrapper for working together with the RPC-part of Qooxdoo
275
+ */
276
+ qx.Class.define("frontend.Lib.Fields", {
277
+ extend: qx.ui.container.Composite,
278
+
279
+ /*
280
+ * Constructor of Lib.Fields
281
+ * Takes:
282
+ * - p : parameters to pass to the form, may be empty
283
+ * - NOTINUSE: rpc: method to call for the RPC-server whenever a request has to be made,
284
+ * may also be "" to show only a local form (like login and stuff)
285
+ * - write: groups that have the right to write in these fields, defaults
286
+ * to "all"
287
+ * - callback: function to call in case something has changed. This is an
288
+ * array of [ this, this.callback_function ], so that the appropriate
289
+ * environment can be recreated.
290
+ * - f : array of fields to offer to the user. The syntax is:
291
+ * type:name:[label][:params]
292
+ * where type is one of the following, name is used for the array in
293
+ * "fields", label is shown where appliable, if empty is copied from
294
+ * name, params is used for some special fields
295
+ * - id_text: the id-field for this block, of type text
296
+ * - id_dropdown: the id-field for this block, of type dropdown
297
+ * - id_hidden: the id-field for this block, of type hidden
298
+ * - text: a single line of text
299
+ * - date: gets a date
300
+ * - tel: holds a telephone-number
301
+ * - select: takes a list of arguments to chose from, may include a comma-
302
+ * seperated list of values
303
+ * - button: shows a button
304
+ * - composite: offers a Composite-widget, to be filled in later
305
+ * - hidden: stores information but doesn't display
306
+ *
307
+ * Does:
308
+ * - id-lookup: whenever the id-field is changed, it calls the RPC-method
309
+ * to get the data of the according id-field and fills the fields with that
310
+ * data
311
+ * - changes to fields: if the user has the appropriate rights, all fields
312
+ * are changeable. If changes occur, the RPC-method is called with the new
313
+ * value for that field.
314
+ *
315
+ */
316
+ construct: function (params, fields, rLayout) {
317
+ this.base(arguments, this.layout = new qx.ui.layout.Canvas());
318
+ var ps = ["rpc", "write", "callback"];
319
+ for (var p = 0; p < ps.length; p++) {
320
+ var pa = ps[p];
321
+ this[pa] = params[pa];
322
+ }
323
+ this.write = this.write ? this.write : "all";
324
+ this.fields = [];
325
+ this.windows = {};
326
+ this.updating = false;
327
+ this.field_id = null;
328
+ this.needs_expansion = {};
329
+ this.ltab = rLayout;
330
+ dbg(5, "Writing is " + this.write + " our id is " + this);
331
+ this.index = 1;
332
+ this.timer = qx.util.TimerManager.getInstance();
333
+ if (fields) {
334
+ this.calcView(fields, this);
335
+ }
336
+ },
337
+
338
+ members: {
339
+ // The parameters for this field-set
340
+ rpc: null,
341
+ write: null,
342
+ callback: null,
343
+
344
+ field_id: null,
345
+ fields: null,
346
+ windows: null,
347
+ first_field: null,
348
+ /*
349
+ first_button: null,
350
+ first_button_window: null,
351
+ */
352
+ updating: null,
353
+ index: null,
354
+ timer: null,
355
+ delayTimer: null,
356
+ layout: null,
357
+ childLtab: null, // an eventual sub-tab in our layout - only one possible
358
+ ltab: null, // this is where we're attached to
359
+ needs_expansion: null, // will be used to know whether we expand the first
360
+ // group or not
361
+
362
+ // Returns a map of all data in the Field
363
+ getOwnFieldsData: function () {
364
+ dbg(5, "getFieldsData");
365
+ var result = {};
366
+ for (var f in this.fields) {
367
+ //dbg(5, "Looking at field " + f)
368
+ var field = this.fields[f]
369
+ if (field.getValueSpecial) {
370
+ dbg(5, f + " has getValueSpecial");
371
+ if (field.getValueSpecial()) {
372
+ result[f] = field.getValueSpecial();
373
+ if (result[f]) {
374
+ dbg(5, "Field " + f + " is of special-value " + result[f]);
375
+ }
376
+ }
377
+ }
378
+ else if (field.getValue) {
379
+ dbg(5, f + " has getValue");
380
+ if (field.getValue) {
381
+ result[f] = field.getValue();
382
+ if (result[f]) {
383
+ dbg(5, "Field " + f + " is of value " + result[f]);
384
+ }
385
+ }
386
+ }
387
+ }
388
+ dbg(4, "getFieldsData: " + print_a(result));
389
+ return result;
390
+ },
391
+
392
+ // Gets also parent and child data, if available
393
+ getFieldsData: function () {
394
+ dbg(5, "GetFieldsData")
395
+ var result = this.getOwnFieldsData();
396
+ if (this.childLtab && this.childLtab.form && this.childLtab.form.fields) {
397
+ var otherData = this.childLtab.form.fields.getOwnFieldsData();
398
+ for (var res in otherData) {
399
+ result[res] = otherData[res];
400
+ dbg(3, "got data for me: " + res + " = " + result[res])
401
+ }
402
+ }
403
+ if (this.ltab.parentLtab) {
404
+ var otherData = this.ltab.parentLtab.form.fields.getOwnFieldsData();
405
+ for (var res in otherData) {
406
+ result[res] = otherData[res];
407
+ dbg(3, "got data for parent: " + res + " = " + result[res])
408
+ }
409
+ }
410
+ return result;
411
+ },
412
+
413
+ // Deletes all data given in "fields"
414
+ clearDataOnly: function (fields) {
415
+ dbg(5, "clearDataOnly " + print_a(fields));
416
+ this.updating = true;
417
+ if (fields) {
418
+ if (!( fields instanceof Array )) {
419
+ fields = [fields]
420
+ }
421
+ dbg(5, "Deleting fields " + print_a(fields));
422
+ for (var f = 0; f < fields.length; f++) {
423
+ var field;
424
+ if (field = this.fields[fields[f]]) {
425
+ dbg(5, "Clearing field/list " + field);
426
+ if (field.valueIds) {
427
+ field.valueIds = [];
428
+ }
429
+ if (field.removeAll && !field.getDateFormat) {
430
+ field.resetSelection();
431
+ field.removeAll();
432
+ }
433
+ else if (field.resetValue) {
434
+ field.resetValue();
435
+ }
436
+ else if (field.setValueStr) {
437
+ field.setValueStr("");
438
+ }
439
+ else if (field.setValueArray) {
440
+ field.setValueArray([]);
441
+ }
442
+ else if (field.setValue) {
443
+ field.setValue("");
444
+ }
445
+ }
446
+ }
447
+ }
448
+ this.updating = false;
449
+ },
450
+
451
+ // Deletes all selections or only "fields", if given
452
+ clearSelections: function () {
453
+ this.updating = true;
454
+
455
+ dbg(5, "Clearing selections of " + print_a(this.fields) +
456
+ " : " + this.fields.length);
457
+ for (var f in this.fields) {
458
+ var field = this.fields[f];
459
+ if (field.setSelection) {
460
+ dbg(5, "Clearing selection of " + f);
461
+ field.setSelection([]);
462
+ } else if (field.resetSelection) {
463
+ dbg(5, "Clearing selection of " + f);
464
+ field.resetSelection();
465
+ }
466
+ }
467
+ this.updating = false;
468
+ },
469
+
470
+ // Deletes all data in the fields
471
+ clearData: function (lists) {
472
+ dbg(5, "clearData");
473
+ var fields = [];
474
+ if (!this.fields) {
475
+ return;
476
+ }
477
+ for (var f in this.fields) {
478
+ // We don't want lists to be cleaned, but date is a special case
479
+ if (!this.fields[f].removeAll || this.fields[f].getDateFormat) {
480
+ fields.push(f);
481
+ }
482
+ }
483
+ dbg(5, "Clearing fields: " + print_a(fields));
484
+ this.clearDataOnly(fields);
485
+ this.clearDataOnly(lists);
486
+ },
487
+
488
+ clearDataAll: function () {
489
+ dbg(5, "clearDataAll");
490
+ var fields = [];
491
+ for (var f in this.fields) {
492
+ fields.push(f);
493
+ }
494
+ dbg(5, "Clearing fields: " + print_a(fields));
495
+ this.clearDataOnly(fields);
496
+ },
497
+
498
+ // removes selection on lists
499
+ unselect: function (data) {
500
+ var old_update = this.updating;
501
+ this.updating = true;
502
+ dbg(3, "Start unselecting " + print_a(data));
503
+ for (var d in data) {
504
+ dbg(3, "d is " + d + " - data[d] is " + data[d]);
505
+ var field = this.fields[d];
506
+ if (field) {
507
+ dbg(3, "unselecting " + field);
508
+ this.fill({field: []}, true);
509
+ }
510
+ }
511
+ this.updating = old_update;
512
+ this.updating = false
513
+ },
514
+
515
+ // Allows to hide/unhide columns in a table
516
+ set_table_columns_visible: function (data, show) {
517
+ for (var t in data) {
518
+ dbg(5, "Updating columns of table " + t + " - " + show);
519
+ var table = this.fields[t];
520
+ var columns = data[t];
521
+ for (var c in columns) {
522
+ var column = columns[c];
523
+ dbg(5, "Updating column " + column);
524
+ table.getTableColumnModel().setColumnVisible(column, show)
525
+ }
526
+ }
527
+ },
528
+
529
+ // Fills data in the fields
530
+ fill: function (data, silence) {
531
+ var old_update = this.updating;
532
+ if (silence) {
533
+ this.updating = true
534
+ }
535
+ dbg(3, "Filling with data " + print_a(data) + " silence: " + silence)
536
+ for (var f in this.fields) {
537
+ //dbg(5, "Looking for data of field " + f);
538
+ var field = this.fields[f]
539
+ if (data[f] != null) {
540
+ if (field.setValueStr) {
541
+ dbg(4, "Setting str value of " + data[f] + " to field " + f);
542
+ field.setValueStr(data[f].toString());
543
+ }
544
+ else if (field.setValueArray) {
545
+ dbg(4, "Setting array value of " + data[f] + " to field " + f);
546
+ field.setValueArray(data[f], silence);
547
+ }
548
+ else if (field.setValue) {
549
+ dbg(4, "Setting normal value of " + data[f] + " to field " + f);
550
+ field.setValue(data[f].toString());
551
+ }
552
+ }
553
+ }
554
+ this.updating = old_update
555
+ }
556
+ ,
557
+
558
+ fill_silence: function (data) {
559
+ this.fill(data, true)
560
+ }
561
+ ,
562
+
563
+ addElement: function (element, layout, index) {
564
+ dbg(5, "addElement called with " + [print_a(element), layout, index].join(":"))
565
+ var type = element.shift();
566
+ var name = element.shift();
567
+ var label = element.shift();
568
+ var params = element[0] ? element.shift() : [];
569
+ var field_element = null;
570
+ var show_label = true;
571
+ var listener = "changeValue";
572
+ var do_callback = false;
573
+ var enter_klicks = true;
574
+ var delay = 0;
575
+ var button_default = null;
576
+ dbg(5, "addElement " + type + " - " + label + " - " + print_a(params));
577
+ switch (type) {
578
+ // TODO: differenciate the different types
579
+ case "array":
580
+ case "int":
581
+ case "str":
582
+ case "tel":
583
+ field_element = new qx.ui.form.TextField("");
584
+ if (params.id || params.callback) {
585
+ do_callback = true;
586
+ listener = "input";
587
+ if (params.id) {
588
+ this.field_id = name;
589
+ }
590
+ delay = 1500;
591
+ }
592
+ if (params.ro) {
593
+ field_element = new qx.ui.basic.Label("");
594
+ field_element.setRich(true)
595
+ field_element.setWrap(true)
596
+ field_element.setValueStr = setValueBold
597
+ field_element.getValueSpecial = getValueBold
598
+ //field_element.setValueStr("-")
599
+ //field_element.setReadOnly(true);
600
+ }
601
+ if (type == "int") {
602
+ field_element.setTextAlign("right");
603
+ }
604
+ break;
605
+ case "button":
606
+ do_callback = true;
607
+ listener = "execute";
608
+ field_element = new qx.ui.form.Button(label);
609
+ field_element.getData = function () {
610
+ };
611
+ //field_element.setAllowGrowY( true );
612
+ //field_element.setMinHeight( 50 )
613
+ show_label = false;
614
+ if (!button_default || params.def) {
615
+ button_default = field_element;
616
+ for (var i in this.fields) {
617
+ if (!this.fields[i].button_default) {
618
+ this.fields[i].button_default = button_default;
619
+ }
620
+ }
621
+ }
622
+ break;
623
+ case "composite":
624
+ field_element = new qx.ui.container.Composite();
625
+ show_label = false;
626
+ listener = null;
627
+ break;
628
+ case "date":
629
+ field_element = new qx.ui.form.DateField();
630
+ field_element.setDateFormat(new qx.util.format.DateFormat("dd.MM.yyyy"));
631
+ field_element.getValueSpecial = getValueDate;
632
+ field_element.setValueStr = setValueDate;
633
+ if (params.callback) {
634
+ do_callback = true;
635
+ listener = "changeValue";
636
+ }
637
+ if (params.ro) {
638
+ field_element.setEnabled(false);
639
+ }
640
+ break;
641
+ case "fromto":
642
+ field_element = new qx.ui.container.Composite(new qx.ui.layout.VBox(2));
643
+ field_element.add(this.createDoW());
644
+ var hours = new qx.ui.container.Composite(new qx.ui.layout.HBox(2));
645
+ hours.add(this.createHours());
646
+ hours.add(new qx.ui.basic.Label("-"));
647
+ hours.add(this.createHours());
648
+ field_element.add(hours);
649
+ field_element.getValue = getValueFromTo;
650
+ field_element.setValueStr = setValueFromTo;
651
+ field_element.resetSelection = function () {
652
+ };
653
+ field_element.removeAll = function () {
654
+ };
655
+ break;
656
+ case "hidden":
657
+ this.fields[name] = new qx.ui.basic.Label(params);
658
+ if (params.id) {
659
+ this.field_id = name;
660
+ }
661
+ break;
662
+ case "html":
663
+ field_element = new qx.ui.basic.Label().set({
664
+ value: params.text,
665
+ rich: true,
666
+ allowGrowX: true,
667
+ allowGrowY: true
668
+ });
669
+ show_label = false;
670
+ break;
671
+ case "html_embed":
672
+ field_element = new qx.ui.embed.Html();
673
+ field_element.setHtml(params.text);
674
+ field_element.setValue = field_element.setHtml;
675
+ show_label = false;
676
+ break;
677
+ case "info":
678
+ //field_element = new qx.ui.form.TextField(params.text);
679
+ //field_element.setReadOnly(true);
680
+
681
+ field_element = new qx.ui.basic.Label(params.text);
682
+ field_element.setRich(true)
683
+ field_element.setWrap(true)
684
+ field_element.setValueStr = setValueBold
685
+ field_element.getValueSpecial = getValueBold
686
+
687
+ break;
688
+ case "list":
689
+ if (params.list_type != "drop") {
690
+ field_element = new qx.ui.form.List();
691
+ field_element.setSelectionMode(params.list_type == 'single' ? "single" : "additive");
692
+ if (params.maxheight) {
693
+ field_element.setMinHeight(30);
694
+ field_element.setMaxHeight(30);
695
+ field_element.maxheight = params.maxheight;
696
+ }
697
+ field_element.setMinWidth(200);
698
+ if (params.nopreselect) {
699
+ field_element.nopreselect = true
700
+ }
701
+ }
702
+ else {
703
+ field_element = new qx.ui.form.SelectBox();
704
+ }
705
+ field_element.searchLabel = searchLabel;
706
+ field_element.searchIndex = searchIndex;
707
+ field_element.selectedIndex = selectedIndex;
708
+ if (params.list_type == "array") {
709
+ field_element.setValueArray = setValueListArray;
710
+ field_element.getValue = getValueListArray;
711
+ }
712
+ else if (params.list_type != "drop") {
713
+ field_element.setValueArray = setValueList;
714
+ field_element.getValue = getValueList;
715
+ }
716
+ else {
717
+ field_element.setValueArray = setValueDrop;
718
+ field_element.getValue = getValueList;
719
+ }
720
+ if (params.ro) {
721
+ field_element.setEnabled(false)
722
+ }
723
+ field_element.setValueArray(params.list_values);
724
+
725
+ //field_element.setHeight(null);
726
+ //field_element.setMaxHeight( 100 );
727
+ listener = "changeSelection";
728
+ if (params.callback) {
729
+ do_callback = true;
730
+ }
731
+ break;
732
+ case "pass":
733
+ field_element = new qx.ui.form.PasswordField("");
734
+ break;
735
+ case "select":
736
+ field_element = new qx.ui.form.SelectBox();
737
+ // There are labels to put in the select-box
738
+ if (params.list_values) {
739
+ while (params.list_values.length > 0) {
740
+ field_element.add(new qx.ui.form.ListItem(params.list_values.shift()));
741
+ }
742
+ }
743
+ field_element.searchLabel = searchLabel;
744
+ field_element.searchIndex = searchIndex;
745
+ field_element.selectedIndex = selectedIndex;
746
+ listener = "changeSelection";
747
+ break;
748
+ case "split_button":
749
+ do_callback = true;
750
+ listener = "execute";
751
+ field_element = new qx.ui.form.SplitButton(label);
752
+
753
+ field_element.getData = function () {
754
+ };
755
+ field_element.setAllowGrowY(false);
756
+ field_element.setValueArray = function (l) {
757
+ var fe = this;
758
+ if (typeof(l) === "string") {
759
+ fe.setLabel(l)
760
+ } else if (l.length > 0) {
761
+ fe.setLabel(l.shift())
762
+ var menu = new qx.ui.menu.Menu;
763
+ for (var i = 0; i < l.length; i++) {
764
+ var n = l[i]
765
+ var b = new qx.ui.menu.Button(n);
766
+ b.addListener("execute", function (e) {
767
+ fe.fireDataEvent("execute", this.getLabel())
768
+ }, b)
769
+ menu.add(b);
770
+ }
771
+ fe.setMenu(menu);
772
+ }
773
+ }
774
+ field_element.setValueArray([label].concat(params.menu))
775
+ show_label = false;
776
+ if (!button_default || params.def) {
777
+ button_default = field_element;
778
+ for (var i in this.fields) {
779
+ if (!this.fields[i].button_default) {
780
+ this.fields[i].button_default = button_default;
781
+ }
782
+ }
783
+ }
784
+ break;
785
+ case "table":
786
+ var headings = params.headings;
787
+ var tableModel = new qx.ui.table.model.Simple();
788
+ var height = params.height || 250;
789
+ var widths = params.widths;
790
+ tableModel.setColumns(headings);
791
+
792
+ var table = new qx.ui.table.Table(tableModel).set({
793
+ decorator: null,
794
+ showCellFocusIndicator: false
795
+ });
796
+
797
+ switch (params.callback) {
798
+ case 'edit':
799
+ do_callback = true;
800
+ listener = "dataEdited";
801
+ table.getSelectionModel().setSelectionMode(
802
+ qx.ui.table.selection.Model.SINGLE_SELECTION);
803
+ break;
804
+ case 'click':
805
+ do_callback = true;
806
+ listener = "cellClick";
807
+ break;
808
+ case 'click_select':
809
+ alert("Implementation not finished:\n" +
810
+ "Need to finish fields.table.callback==click_select and\n" +
811
+ "adjust fields.setValueArrayTable to call the callback func.");
812
+ do_callback = true;
813
+ listener = "cellClick";
814
+ params.single = true;
815
+ /*
816
+ ## This is for a callback-function whenever the selection
817
+ ## changes
818
+ */
819
+ table.callOnChange = false;
820
+ table.getSelectionModel().addListener('changeSelection',
821
+ function (e) {
822
+ if (table.callOnChange) {
823
+ alert('calling')
824
+ this.callback[1].call(this.callback[0], [id, name, type, data, params])
825
+ } else {
826
+ alert('not calling')
827
+ }
828
+ })
829
+ break;
830
+ case 'dblClick':
831
+ do_callback = true;
832
+ listener = "cellDblclick";
833
+ break;
834
+ default:
835
+ table.getSelectionModel().setSelectionMode(
836
+ qx.ui.table.selection.Model.MULTIPLE_INTERVAL_SELECTION_TOGGLE);
837
+ }
838
+ if (params.edit) {
839
+ for (var e = 0; e < params.edit.length; e++) {
840
+ var col = params.edit[e];
841
+ dbg(2, "Setting column " + col + " as editable")
842
+ tableModel.setColumnEditable(col, true);
843
+ //var tcm = table.getTableColumnModel();
844
+ //tcm.setCellEditorFactory(col, new qx.ui.table.celleditor.TextField);
845
+ params.single = true
846
+ }
847
+ table.is_editable = true
848
+ }
849
+ if (params.single) {
850
+ table.getSelectionModel().setSelectionMode(
851
+ qx.ui.table.selection.Model.SINGLE_SELECTION);
852
+ }
853
+
854
+ table.setValueArray = setValueArrayTable;
855
+ table.getValue = getValueTable;
856
+ table.setStatusBarVisible(false);
857
+ table.setAllowShrinkY(true);
858
+ table.setAllowStretchY(true);
859
+ table.setMaxHeight(height);
860
+ if (widths) {
861
+ var width = 0;
862
+ for (var i = 0; i < widths.length; i++) {
863
+ width += widths[i];
864
+ table.setColumnWidth(i, widths[i]);
865
+ }
866
+ if (!params.width) {
867
+ params.width = width
868
+ }
869
+ }
870
+ //field_element = new qx.ui.container.Scroll();
871
+ //field_element.add( table );
872
+ show_label = false;
873
+ if (params.columns) {
874
+ for (var i = 0; i < params.columns.length; i++) {
875
+ var rendering = null;
876
+ var p = params.columns[i];
877
+ dbg(3, "Rendering " + p + " for index " + i);
878
+ if (p == "html") {
879
+ rendering = new qx.ui.table.cellrenderer.Html();
880
+ } else if (/^align_/.test(p)) {
881
+ var str = p.replace("align_", "")
882
+ dbg(3, "Found alignement: " + str)
883
+ rendering = new qx.ui.table.cellrenderer.String(str)
884
+ } else if (p == "dynamic") {
885
+ rendering = new qx.ui.table.cellrenderer.Dynamic();
886
+ }
887
+ if (rendering) {
888
+ dbg(3, "rendering " + rendering)
889
+ table.getTableColumnModel().setDataCellRenderer(i, rendering);
890
+ }
891
+ }
892
+ }
893
+ /*
894
+ // Not used for the moment - should be using the callback whenever
895
+ // somebody edits the table. But doesn't work reliably - yet
896
+ table.addListener('deactivate', function (e) {
897
+ if (!table.updating) {
898
+ dbg(2, "****** ******* ****** blur")
899
+ table.cancelEditing();
900
+ } else {
901
+ dbg(2, "***** ***** ***** not blurring because updating")
902
+ }
903
+ });
904
+ */
905
+ field_element = table;
906
+ //params.flexheight = 1;
907
+ break;
908
+ case "text":
909
+ field_element = new qx.ui.form.TextArea("");
910
+ field_element.setAutoSize(false);
911
+ field_element.setWidth(300);
912
+ enter_klicks = false;
913
+ if (params.ro) {
914
+ field_element.setReadOnly(true);
915
+ }
916
+ if (params.ro) {
917
+ field_element = new qx.ui.basic.Label("");
918
+ field_element.setRich(true)
919
+ field_element.setValueStr = setValueBold
920
+ field_element.getValueSpecial = getValueBold
921
+ //field_element.setValueStr( "-" )
922
+ //field_element.setReadOnly(true);
923
+ }
924
+ if (params.height) {
925
+ field_element.setHeight(params.height)
926
+ }
927
+ if (params.width) {
928
+ field_element.setWidth(params.width)
929
+ }
930
+ break;
931
+ case "upload":
932
+ show_label = false;
933
+ var do_callback = [params.callback, this.callback]
934
+ field_element = new qx.ui.container.Composite(new qx.ui.layout.HBox(2));
935
+ var button = new com.zenesis.qx.upload.UploadButton(label);
936
+ button.setLabel('Upload exam');
937
+ field_element.add(button);
938
+ var progress = new qx.ui.container.Composite(new qx.ui.layout.VBox(2));
939
+ var pb = new qx.ui.indicator.ProgressBar(0, 100);
940
+ var pb_color_orig = pb.getBackgroundColor();
941
+ progress.add(pb);
942
+ var progress_label = new qx.ui.basic.Label("No file");
943
+ progress.add(progress_label);
944
+ field_element.add(progress);
945
+ field_element.progress = [pb, progress_label]
946
+ field_element.setValue = function (label) {
947
+ //alert("Setting value" );
948
+ pb.setBackgroundColor("#ffffff");
949
+ pb.setValue(0);
950
+ progress_label.setValue("No file");
951
+ dbg(3, 'setting label ' + label)
952
+ button.setLabel(label);
953
+ }
954
+
955
+ var uploader = new com.zenesis.qx.upload.UploadMgr(button, "/uploadfiles");
956
+ uploader.addListener("addFile", function (evt) {
957
+ var file = evt.getData();
958
+ var start = (new Date).getTime();
959
+ var progressListenerId = file.addListener("changeProgress", function (evt) {
960
+ var value = Math.round(evt.getData() / file.getSize() * 100)
961
+ //alert("New value for progressbar " + pb + ": " + value)
962
+ pb.setValue(value);
963
+ var diff = ( (new Date).getTime() - start ) / 1000;
964
+ var elapsed = Math.round(diff) + "s"
965
+ var speed = Math.round(evt.getData() / diff / 1000) + "kBps"
966
+ if (value < 100) {
967
+ progress_label.setValue("Done " + value.toString().rjust(3, "0") +
968
+ "% in " + elapsed + " (" + speed + "), " +
969
+ " left: " + ( Math.round(0.8 + diff * ( 100 / value - 1 )) ));
970
+ } else {
971
+ progress_label.setValue("Waiting for browser");
972
+ }
973
+ }, this);
974
+
975
+ // All browsers can at least get changes in state (ie "uploading", "cancelled", and "uploaded")
976
+ var stateListenerId = file.addListener("changeState", function (evt) {
977
+ var state = evt.getData();
978
+
979
+ if (state == "uploading") {
980
+ pb.setBackgroundColor("#f55");
981
+ progress_label.setValue("Started upload")
982
+ } else if (state == "uploaded") {
983
+ pb.setValue(100);
984
+ pb.setBackgroundColor("#5f5");
985
+ progress_label.setValue("Finished")
986
+ }
987
+ if (state == "uploaded" || state == "cancelled") {
988
+ file.removeListenerById(stateListenerId);
989
+ file.removeListenerById(progressListenerId);
990
+ if (do_callback[0]) {
991
+ do_callback[1][1].call(do_callback[1][0],
992
+ [0, name, "upload", file.getFilename(), 0])
993
+ }
994
+ }
995
+
996
+ }, this);
997
+ });
998
+ break;
999
+ default:
1000
+ alert("Asked for unknown element " + type);
1001
+ break;
1002
+ }
1003
+
1004
+ // Get the field_element in place, adding the listener if necessary
1005
+ if (field_element && !params.hidden) {
1006
+ dbg(5, "Adding: " + type + ":" + name + ":" + label + " to " + layout.getLayout());
1007
+ this.fields[name] = field_element;
1008
+ this.fields[name].field_name = name;
1009
+ field_element.field_name = name;
1010
+ field_element.setTabIndex(this.index++);
1011
+ if (!this.first_field) {
1012
+ this.first_field = field_element;
1013
+ }
1014
+ if (type != "button") {
1015
+ button_default = null;
1016
+ }
1017
+ field_element.addListener("keypress", function (e) {
1018
+ if (e.getKeyIdentifier() == "Enter" && enter_klicks) {
1019
+ dbg(5, "This is Enter for " + e + ":" + name + ":" + label);
1020
+ if (this.button_default) {
1021
+ this.button_default.execute();
1022
+ }
1023
+ }
1024
+ }, field_element);
1025
+ if (params.width) {
1026
+ field_element.setMinWidth(params.width);
1027
+ }
1028
+
1029
+ if (show_label) {
1030
+ var widget_label = new qx.ui.basic.Label(label);
1031
+ widget_label.setBuddy(field_element);
1032
+ layout.add(widget_label, {
1033
+ row: index,
1034
+ column: 0
1035
+ });
1036
+ field_element.widget_label = widget_label;
1037
+ }
1038
+ if (/Grid/.test(layout.getLayout().toString())) {
1039
+ if (params.wide) {
1040
+ layout.add(field_element, {
1041
+ row: index,
1042
+ column: 0,
1043
+ colSpan: 2
1044
+ });
1045
+ } else {
1046
+ layout.add(field_element, {
1047
+ row: index,
1048
+ column: 1
1049
+ });
1050
+ }
1051
+ if (params.flex) {
1052
+ params.flexheight = 1;
1053
+ params.flexwidth = 1;
1054
+ }
1055
+ if (params.flexheight) {
1056
+ dbg(3, "Setting rowflex to " + params.flexheight)
1057
+ //alert( "setting flexheight")
1058
+ layout.getLayout().setRowFlex(index, params.flexheight * 10);
1059
+ if (params.flexheight > 0) {
1060
+ this.needs_expansion.height = "100%";
1061
+ }
1062
+ }
1063
+ if (params.flexwidth) {
1064
+ dbg(3, "Setting colflex to " + params.flexwidth)
1065
+ //alert( "setting flexwidth")
1066
+ layout.getLayout().setColumnFlex(1, params.flexwidth * 10);
1067
+ if (params.flexwidth > 0) {
1068
+ this.needs_expansion.width = "100%";
1069
+ }
1070
+ }
1071
+ }
1072
+ else {
1073
+ dbg(5, "Adding without VBox: " + field_element + " to " + layout.getLayout().toString());
1074
+ layout.add(field_element, {
1075
+ flex: 1
1076
+ });
1077
+ }
1078
+ // Add a handler for automatically reporting changing values
1079
+ if (listener/* && this.rpc */ && this.callback && do_callback) {
1080
+ dbg(4, "Adding listener: " + type + ":" + name + ":");
1081
+ if (typeof( listener ) === "string") {
1082
+ listener = [listener]
1083
+ }
1084
+ dbg(4, print_a(listener))
1085
+ for (var l = 0; l < listener.length; l++) {
1086
+ field_element.addListener(listener[l], function (e) {
1087
+ //alert( "Listener " + name + ":" + e + " for " + label )
1088
+ dbg(4, "updating " + this.updating + " delay:" + delay +
1089
+ " delayTimer:" + this.delayTimer)
1090
+ // Supposing Javascript has only one executable thread!
1091
+ if (!this.updating || (delay > 0 && this.delayTimer)) {
1092
+ dbg(5, "Listener: " + type + ":" + name + ":" + this.field_id);
1093
+ this.updating = true;
1094
+
1095
+ var id = null;
1096
+ if (this.field_id) {
1097
+ this.fields[this.field_id].getValue();
1098
+ }
1099
+
1100
+ // Some elements don't have any data (like buttons)
1101
+ var data = e.getData ? e.getData() : "";
1102
+ // Have a delay for some actions that might take time
1103
+ if (delay == 0) {
1104
+ //dbg( 3, "Callback is " + print_a( this.callback ) )
1105
+ this.callback[1].call(this.callback[0], [id, name, type, data, params])
1106
+ }
1107
+ else {
1108
+ if (this.delayTimer) {
1109
+ dbg(4, "Stopping timer");
1110
+ this.timer.stop(this.delayTimer);
1111
+ this.delayTimer = null;
1112
+ }
1113
+ dbg(4, "Adding new timer");
1114
+ this.delayTimer = this.timer.start(function (userData, timerId) {
1115
+ dbg(3, "timer for delay")
1116
+ this.callback[1].call(this.callback[0], [id, name, type, data, params])
1117
+ }, 0, this, null, delay);
1118
+ }
1119
+ }
1120
+ else {
1121
+ dbg(3, "Can't call listener while he's working!");
1122
+ }
1123
+ e.stop();
1124
+ }, this);
1125
+ dbg(5, "Finished adding listener " + listener[l])
1126
+ }
1127
+ }
1128
+ }
1129
+ return field_element;
1130
+ }
1131
+ ,
1132
+
1133
+ // Creates the view for the layout-array provided. The
1134
+ // array consists of
1135
+ // strings readable by the Lib.Fields-class, plus these
1136
+ // extensions:
1137
+ // - vbox - creates a vertical box
1138
+ // - hbox - creates a horizontal box
1139
+ // - fields_layout - prepares for a common block
1140
+ // - fields_noflex - prepares for a common block
1141
+ // - group - a group-box
1142
+ // - window - a popup-window, hidden by default
1143
+ // - tab - a tab-in-tab presentation
1144
+ //
1145
+ // The format is
1146
+ // [ 'extension', [ fields-string, [ 'extension', [
1147
+ // fields-string, ... ] ], ... ] ]
1148
+ calcView: function (view_str, lyt) {
1149
+ // dbg(5, "calcView: " + print_a(view_str) + ":" + lyt);
1150
+ var flexit = 1;
1151
+ if (view_str[0] && view_str[0].split) {
1152
+ var args = view_str[0].split(":");
1153
+ switch (args[0]) {
1154
+ case "fields_layout":
1155
+ dbg(5, "Adding a fields_layout to " + lyt + " - " + print_a(view_str[1]));
1156
+ //lyt.add(
1157
+ this.calcView(view_str[1], new qx.ui.container.Composite(new qx.ui.layout.HBox(10)));
1158
+ //, {
1159
+ // colSpan : 2
1160
+ //});
1161
+ break;
1162
+ case "fields_noflex":
1163
+ dbg(4, "fields_noflex");
1164
+ flexit = 0;
1165
+ case "fields":
1166
+ dbg(5, "Adding some fields to " + lyt);
1167
+ var layout = lyt.add(this.calcView(view_str[1], new qx.ui.container.Composite(new qx.ui.layout.Grid().setColumnAlign(0, "right", "middle").setSpacing(5).setColumnFlex(0, flexit).setColumnFlex(1, 3))), {
1168
+ flex: 1
1169
+ });
1170
+ break;
1171
+ case "group":
1172
+ dbg(5, "Adding a group to " + lyt);
1173
+ if (!this.first_group) {
1174
+ this.first_group = lyt;
1175
+ }
1176
+ var gb = new qx.ui.groupbox.GroupBox();
1177
+ gb.setLayout(new qx.ui.layout.VBox(10));
1178
+ if (false) {
1179
+ lyt.add(this.calcView(view_str[1], gb));
1180
+ } else {
1181
+ if (lyt.getLayout().constructor != qx.ui.layout.Canvas) {
1182
+ dbg(3, "Adding with flex");
1183
+ lyt.add(this.calcView(view_str[1], gb), {
1184
+ flex: 1
1185
+ });
1186
+ } else {
1187
+ dbg(3, "Adding for canvas");
1188
+ var sub_layout = this.calcView(view_str[1], gb);
1189
+ //alert( "needs_expansion.height is " + this.needs_expansion.height );
1190
+ lyt.add(sub_layout, this.needs_expansion);
1191
+ }
1192
+ }
1193
+ break;
1194
+ case "groupw":
1195
+ dbg(5, "Adding a group to " + lyt);
1196
+ var gb = new qx.ui.groupbox.GroupBox();
1197
+ gb.setLayout(new qx.ui.layout.VBox(10));
1198
+ if (false) {
1199
+ lyt.add(this.calcView(view_str[1], gb));
1200
+ } else {
1201
+ if (lyt.getLayout().constructor != qx.ui.layout.Canvas) {
1202
+ dbg(3, "Adding with flex");
1203
+ lyt.add(this.calcView(view_str[1], gb), {
1204
+ flex: 1
1205
+ });
1206
+ } else {
1207
+ dbg(3, "Adding for canvas");
1208
+ lyt.add(this.calcView(view_str[1], gb),
1209
+ {
1210
+ height: "100%",
1211
+ width: "100%"
1212
+ });
1213
+ }
1214
+ }
1215
+ break;
1216
+ case "hbox":
1217
+ dbg(5, "Adding a hbox to " + lyt);
1218
+ var hbox = new qx.ui.layout.HBox(10);
1219
+ var container = new qx.ui.container.Composite(hbox);
1220
+ var opts = this.needs_expansion.width;
1221
+ var sub_layout = this.calcView(view_str[1], container);
1222
+ if (opts != this.needs_expansion.width) {
1223
+ opts = {
1224
+ flex: 1
1225
+ };
1226
+ } else {
1227
+ opts = {};
1228
+ }
1229
+ lyt.add(sub_layout, opts);
1230
+ break;
1231
+ case "hboxg":
1232
+ dbg(5, "Adding a hbox to " + lyt);
1233
+ var hbox = new qx.ui.layout.HBox(10);
1234
+ var container = new qx.ui.container.Composite(hbox);
1235
+ lyt.add(this.calcView(view_str[1], container), {
1236
+ flex: 1
1237
+ });
1238
+ break;
1239
+ case "shrink":
1240
+ dbg(5, "Adding a shrink-group to " + lyt);
1241
+ var gb = new qx.ui.groupbox.GroupBox();
1242
+ gb.setLayout(new qx.ui.layout.VBox(10));
1243
+ lyt.add(this.calcView(view_str[1], gb));
1244
+ break;
1245
+ case "tabs":
1246
+ var tabsName = view_str[1][0][0];
1247
+ dbg(3, "Adding new tabs " + print_a(view_str) + "::" + tabsName);
1248
+ this.childLtab = new frontend.Views.Ltab(this.ltab.app);
1249
+ this.childLtab.alignTabs = "top";
1250
+ this.childLtab.parentLtab = this.ltab;
1251
+ var container = new qx.ui.container.Composite(new qx.ui.layout.Grow());
1252
+ container.add(this.childLtab);
1253
+ lyt.add(container, {
1254
+ flex: 5
1255
+ });
1256
+ rpc.callRPC("View." + tabsName, "list_tabs", this.childLtab, this.childLtab.dispatch);
1257
+ break;
1258
+ case "vbox":
1259
+ dbg(5, "Adding a vbox to " + lyt);
1260
+ var layout = new qx.ui.container.Composite(new qx.ui.layout.VBox(10).set({
1261
+ alignX: "right"
1262
+ }));
1263
+ var opts = this.needs_expansion.height;
1264
+ var flex = {};
1265
+ var sub_layout = this.calcView(view_str[1], layout);
1266
+ if (opts != this.needs_expansion.height) {
1267
+ flex = {
1268
+ flex: 1
1269
+ };
1270
+ }
1271
+ lyt.add(sub_layout, flex);
1272
+ break;
1273
+ case "vboxg":
1274
+ dbg(5, "Adding a vboxg to " + lyt);
1275
+ var layout = new qx.ui.container.Composite(new qx.ui.layout.VBox(10).set({
1276
+ alignX: "right"
1277
+ }));
1278
+ lyt.add(this.calcView(view_str[1], layout), {
1279
+ flex: 1
1280
+ });
1281
+ break;
1282
+ case "vboxgl":
1283
+ dbg(5, "Adding a vboxgl to " + lyt);
1284
+ var layout = new qx.ui.container.Composite(new qx.ui.layout.VBox(10).set({
1285
+ alignX: "right"
1286
+ }));
1287
+ /*var container = new qx.ui.container.Composite(new qx.ui.layout.Canvas());
1288
+ container.add( this.calcView(view_str[1], layout ), {
1289
+ width: "100%",
1290
+ height: "100%"
1291
+ } );*/
1292
+ lyt.add(this.calcView(view_str[1], layout), {
1293
+ flex: 1
1294
+ });
1295
+ break;
1296
+ case "window":
1297
+ dbg(5, "Adding a window with layout " + view_str[1]);
1298
+ var old_field = this.first_field;
1299
+ this.first_field = null;
1300
+ /*
1301
+ var old_button = this.first_button;
1302
+ this.first_button = null;
1303
+ */
1304
+ var l = new qx.ui.container.Composite(new qx.ui.layout.VBox(10));
1305
+ this.calcView(view_str[1], l);
1306
+ var win = new qx.ui.window.Window("Window").set({
1307
+ modal: true,
1308
+ allowClose: false,
1309
+ visibility: "hidden"
1310
+ });
1311
+ win.setLayout(new qx.ui.layout.HBox());
1312
+ win.add(l);
1313
+ win.layout = l;
1314
+ win.center();
1315
+ win.created = false;
1316
+ win.dontfade = false;
1317
+ win.isfaded = 1;
1318
+ win.first_field = this.first_field;
1319
+ this.first_field = old_field;
1320
+ this.windows[args[1]] = win;
1321
+ win.addListenerOnce('appear', function () {
1322
+ win.created = true;
1323
+ });
1324
+ /*
1325
+ win.first_button = this.first_button;
1326
+ this.first_button = old_button;
1327
+ */
1328
+
1329
+ break;
1330
+ }
1331
+ }
1332
+ else {
1333
+ dbg(5, "Adding elements to " + lyt);
1334
+ var elements = view_str;
1335
+ for (var l = 0; l < elements.length; l++) {
1336
+ // Testing if we have another array
1337
+ if (elements[l].push && elements[l].length < 4) {
1338
+ dbg(5, "Adding composite: " + elements[l] + " with " + lyt);
1339
+ var newlyt = this.calcView(elements[l], lyt);
1340
+ }
1341
+ else {
1342
+ dbg(5, "Creating element with fields " + elements[l] + " on layout " + lyt);
1343
+ this.addElement(elements[l], lyt, parseInt(l));
1344
+ }
1345
+ }
1346
+ }
1347
+ dbg(5, "returning from calcView, string is: " + view_str[0])
1348
+ return lyt;
1349
+ }
1350
+ ,
1351
+
1352
+ // Gives focus but tests first
1353
+ focus_if_ok: function (field) {
1354
+ if (field && field.isFocusable()) {
1355
+ dbg(4, "Focusing on " + field);
1356
+ field.focus();
1357
+ }
1358
+ }
1359
+ ,
1360
+
1361
+ focus_table: function (table, col, row) {
1362
+ if (table && table.isFocusable()) {
1363
+ dbg(2, "Focusing on table " + table + " row: " + row +
1364
+ " column: " + col);
1365
+ table.stopEditing();
1366
+ table.cancelEditing();
1367
+ table.focus();
1368
+ var row_max = table.getTableModel().getRowCount();
1369
+ if (row >= row_max) {
1370
+ dbg(2, "Asking for row " + row + " which doesn't exist");
1371
+ return
1372
+ }
1373
+ table.resetCellFocus();
1374
+ table.resetSelection();
1375
+ var selectionModel = table.getSelectionModel();
1376
+ selectionModel.resetSelection();
1377
+ selectionModel.setSelectionInterval(row, row);
1378
+ table.setFocusedCell(col, row);
1379
+ table.startEditing();
1380
+ dbg(2, "Finished focusing);")
1381
+ } else {
1382
+ dbg(0, "Couldn't focus on table " + table);
1383
+ }
1384
+ }
1385
+ ,
1386
+
1387
+ // Put a window into visibility, hiding the background
1388
+ window_show: function (name) {
1389
+ dbg(2, "Showing window " + name);
1390
+ if (win = this.windows[name]) {
1391
+ win.setVisibility("visible");
1392
+ win.focus();
1393
+ win.activate();
1394
+ win.dontfade = false;
1395
+ this.window_fade_to(win, 1);
1396
+ this.focus_if_ok(win.first_field)
1397
+ } else {
1398
+ alert("Asked for non-existing window " + name)
1399
+ }
1400
+ /*
1401
+ this.first_button_window = this.first_button;
1402
+ this.first_button = win.first_button;
1403
+ */
1404
+ //this.windows_fade_to( 1 );
1405
+ }
1406
+ ,
1407
+
1408
+ window_fade_to: function (win, target) {
1409
+ if (win.created && !win.dontfade && win.isfaded != target) {
1410
+ win.isfaded = target;
1411
+
1412
+ if (target < 1.0) {
1413
+ //win.fadeOut( 0.25 );
1414
+ } else {
1415
+ //win.fadeIn( 0.25 );
1416
+ }
1417
+ win.setEnabled(target < 1 ? false : true);
1418
+ } else {
1419
+ //alert( "Trying to fade window " + w + " which is not created yet")
1420
+ }
1421
+ }
1422
+ ,
1423
+
1424
+ windows_fade_to: function (target) {
1425
+ //return;
1426
+ //alert( "fading windows " + print_a( this.windows ) + " to " + target );
1427
+ for (var w in this.windows) {
1428
+ //alert( "fading windows " + w + " to " + target );
1429
+ this.window_fade_to(this.windows[w], target);
1430
+ }
1431
+ if (this.childLtab && this.childLtab.form && this.childLtab.form.fields) {
1432
+ this.childLtab.form.fields.windows_fade_to(target);
1433
+ }
1434
+ }
1435
+ ,
1436
+
1437
+ window_hide: function (name) {
1438
+ dbg(2, "Hiding window " + name + " of " + this.windows.length);
1439
+ if (name == "*" || !name) {
1440
+ for (var i in this.windows) {
1441
+ dbg(2, "Hiding window " + i);
1442
+ this.windows[i].setVisibility("hidden");
1443
+ this.windows[i].dontfade = true;
1444
+ }
1445
+ }
1446
+ else {
1447
+ this.windows[name].setVisibility("hidden");
1448
+ }
1449
+ /*
1450
+ if ( this.first_button_window ){
1451
+ this.first_button = this.first_button_window;
1452
+ this.first_button_window = null;
1453
+ }
1454
+ */
1455
+ this.focus_if_ok(this.first_field);
1456
+ }
1457
+ ,
1458
+
1459
+ createHours: function () {
1460
+ var selectBox = new qx.ui.form.SelectBox();
1461
+ for (var i = 0; i < 48; i++) {
1462
+ var tempItem = new qx.ui.form.ListItem("" +
1463
+ twoDecimals(Math.floor(i / 2)) +
1464
+ ":" +
1465
+ twoDecimals((i % 2) * 30));
1466
+ selectBox.add(tempItem);
1467
+ }
1468
+ selectBox.setWidth(null);
1469
+ return selectBox;
1470
+ }
1471
+ ,
1472
+
1473
+ createDoW: function () {
1474
+ var selectBox = new qx.ui.form.SelectBox();
1475
+ var items = ['lu-ve', 'lu-di', 'sa-di',
1476
+ 'lu', 'ma', 'me', 'je', 've', 'sa', 'di',
1477
+ 'lu:me:ve', 'ma:je:sa'];
1478
+ for (var i = 0; i < items.length; i++) {
1479
+ var tempItem = new qx.ui.form.ListItem(items[i]);
1480
+ selectBox.add(tempItem);
1481
+ }
1482
+ selectBox.setWidth(null);
1483
+ return selectBox;
1484
+ }
1485
+ } // members
1486
+ });