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,395 @@
1
+ =begin rdoc
2
+ RPCQooxdoo - simple JSON-handler for Qooxdoo-RPC cross-domain requests ONLY!
3
+
4
+ RPCQooxdooService - to be inherited by your services
5
+ RPCQooxdooHandler - handles requests from Qooxdoo in different ways
6
+
7
+ Each Qooxdoo-request has a service, method and a params. This class allows
8
+ a convenient way to map these to Ruby classes and do as less as possible.
9
+
10
+ In order to add a service, you just have to inherit from RPCQooxdooSerivce, and
11
+ your new service will automatically be available under the following name:
12
+ * DELETED, REMOVE THE COMMENT IF NEEDED:
13
+ the first part till the first "_" is cut - allowing for else overlapping
14
+ service names
15
+ * all "_" in the name are replaced with "."
16
+ RPCQooxdooService makes an instance of your class, which will be used thereafter
17
+ to handle calls to different methods
18
+
19
+ The method of the RPC call are simply mapped to methods of the class.
20
+ The return of the method is wrapped up to fit JSON
21
+
22
+ In your HTTP-handler you have to either call
23
+ * RPCQooxdooHandler::parse( stid, data ) - if you have the data:
24
+ * stid is the _ScriptTransport_id - field
25
+ * data is the _ScriptTransport_data - field
26
+ * RPCQooxdooHandler::parse_query( q ) - if you're using something that gives the
27
+ query as a hash, Camping or Webrick
28
+
29
+ Or you leave it all to Webrick by calling
30
+ RPCQooxdooHandler::webrick( port )
31
+ =end
32
+
33
+ require 'webrick'
34
+ require 'helper_classes/timing'
35
+ include HelperClasses
36
+
37
+ include WEBrick
38
+
39
+ class RPCQooxdooService
40
+ @@services_hash = {}
41
+ @@needs = {}
42
+ @@is_instance = false
43
+
44
+ # As we can't call .new during "inherited", we have
45
+ # to do it afterwards - too bad.
46
+ def initialize(services = '.*')
47
+ get_services(services)
48
+ end
49
+
50
+ def needs_covered(a)
51
+ return true unless @@needs.has_key?(a)
52
+ @@needs[a].each{|n|
53
+ return false if @@services_hash[n].class == Class
54
+ }
55
+ return true
56
+ end
57
+
58
+ def get_services(services = '.*')
59
+ #dputs_func
60
+ do_init = true
61
+
62
+ while do_init
63
+ do_init = false
64
+ dputs(3) { "List is: #{@@services_hash.keys.inspect} for services #{services.inspect}" }
65
+
66
+ # The entities have to be initialized before the views
67
+ %w(Entities View).each { |e|
68
+ @@services_hash.sort.each { |k, v|
69
+ if k =~ /^#{e}/ and k =~ /#{services}/
70
+ dputs(3) { "Initializing #{k.inspect} with #{v.inspect}" }
71
+ if @@services_hash[k].class == Class
72
+ dputs(5) { "Needs is: #{@@needs.inspect}" }
73
+ #if @@needs.has_key?(k) &&
74
+ # @@services_hash[@@needs[k]].class == Class
75
+ if !needs_covered(k)
76
+ dputs(3) { "Not initializing #{k}, as it needs #{@@needs[k]}" }
77
+ @@needs[k].each{|n|
78
+ get_services(/^#{n}$/)
79
+ }
80
+ do_init = true
81
+ else
82
+ dputs(3) { "RPC: making an instance of #{k.inspect} with #{v.inspect}" }
83
+ @@services_hash[k] = v.new
84
+ end
85
+ end
86
+ end
87
+ }
88
+ }
89
+ end
90
+
91
+ @@is_instance = true
92
+ end
93
+
94
+ def self.migrate_all
95
+ # And now do eventual migrations on everybody
96
+ @@services_hash.each_pair { |k, v|
97
+ if k =~ /^Entities/ and v.class != Class
98
+ dputs(3) { "Migration of #{k}" }
99
+ oldload = v.loading
100
+ v.loading = true
101
+ v.migrate
102
+ v.loading = oldload
103
+ dputs(3) { "Migration of #{k}" }
104
+ end
105
+ }
106
+ end
107
+
108
+ def self.entities
109
+ RPCQooxdooService.services.each { |service_name, service_class|
110
+ if service_name.to_s =~ /^Entities/
111
+ dputs(4) { "Found Entities of #{service_name.inspect}" }
112
+ yield service_class
113
+ end
114
+ }
115
+ end
116
+
117
+ # Catches the name of the new class
118
+ def self.inherited(subclass)
119
+ # name = "#{subclass}".sub( /^.*?_/, "" ).gsub( '_', '.' )
120
+ name = "#{subclass}".gsub('_', '.')
121
+ super_name = subclass.superclass.name
122
+ if super_name != 'RPCQooxdooService'
123
+ name = "#{super_name}.#{name}"
124
+ end
125
+ dputs(5) { "A new handler -#{subclass} is created for the class: #{super_name} with path #{name}" }
126
+ @@services_hash[name] = subclass
127
+ end
128
+
129
+ def self.services
130
+ @@services_hash
131
+ end
132
+
133
+ def self.needs
134
+ @@needs
135
+ end
136
+
137
+ # Adds a new service of type "subclass" and stores it under "name"
138
+ def self.add_prime_service(subclass, name)
139
+ dputs(5) { "Add a new service: #{subclass} as #{name}" }
140
+ @@services_hash[name] = subclass.new
141
+ @@services_hash[name].load(false)
142
+ end
143
+ end
144
+
145
+ class RPCQooxdooHandler
146
+ @@paths = {}
147
+ @@file_paths = {}
148
+
149
+ # self.answer and self.error return a hash, which will be converted later
150
+ def self.answer(result, id, error = nil)
151
+ not result and result = []
152
+ {'result' => result, 'error' => error, 'id' => id}
153
+ end
154
+
155
+ def self.error(origin, code, message, id)
156
+ self.answer(nil, id,
157
+ {'origin' => origin, 'code' => code, 'message' => message}.to_json)
158
+ end
159
+
160
+ def self.get_ip(req)
161
+ dputs(3) { "header is #{req.header.inspect} - peeraddr is #{req.peeraddr.inspect}" }
162
+ if (ret = req.header['x-forwarded-for']) && (ret != [])
163
+ dputs(3) { "x-forward of #{ret.inspect}" }
164
+ ret.first
165
+ else
166
+ dputs(3) { "peeraddr - #{req.peeraddr[3]}" }
167
+ req.peeraddr[3]
168
+ end
169
+ end
170
+
171
+ # Replies to a request
172
+ def self.request(id, service, method, params, web_req = nil)
173
+ #dp params[0]
174
+ #dp Sessions.search_all_
175
+ #dp web_req
176
+ show_request_reply = 3
177
+ time = Timing.new(3)
178
+ session = Sessions.match_by_sid(params[0].shift) || Sessions.create
179
+ dputs(3) { "session is #{session.inspect}" }
180
+
181
+ if service =~ /^View/ and session
182
+ dputs(3) { "Going to test if we can view #{service}" }
183
+ if not session.can_view(service)
184
+ return self.error(2, 3, 'Not allowed to view that!', id)
185
+ end
186
+ session.web_req = web_req
187
+ if web_req
188
+ session.client_ip = self.get_ip(web_req)
189
+ end
190
+ end
191
+
192
+ dputs(show_request_reply) { "Going to call #{service}, #{method}. Args = #{params.inspect}" }
193
+ # Get an answer with some error-checking
194
+
195
+ if RPCQooxdooService::services.has_key?(service)
196
+ s = RPCQooxdooService::services[service]
197
+ method = "rpc_#{method}"
198
+ if s.respond_to?(method)
199
+ dputs(3) { "Calling #{method} with #{params.inspect}" }
200
+ begin
201
+ parsed = s.parse_request(method, session, params[0])
202
+ time.probe("Parsing #{service}.#{method}")
203
+ dputs(4) { "Parsed request is #{parsed.inspect}" }
204
+ answer = s.parse_reply(method, session, parsed)
205
+ time.probe("Replying #{service}.#{method}")
206
+ dputs(3) { "First answer is #{answer.inspect}" }
207
+
208
+ if answer.class == Array
209
+ answer.delete_if { |a|
210
+ a.class != Hash or
211
+ (a.keys.join != 'cmddata' and
212
+ a.keys.join != 'datacmd')
213
+ }
214
+ else
215
+ dputs(3) { 'Creating empty reply' }
216
+ answer = [{:cmd => 'none', :data => []}]
217
+ end
218
+
219
+ dputs(show_request_reply) { "Final answer is #{answer.inspect}" }
220
+ return self.answer(answer, id)
221
+ rescue Exception => e
222
+ dputs(0) { "Error while handling #{method} with #{params.inspect}: #{e.message}" }
223
+ dputs(0) { "#{e.inspect}" }
224
+ dputs(0) { "#{e.to_s}" }
225
+ puts e.backtrace
226
+ return self.error(2, 2, 'Error in handling method', id)
227
+ end
228
+ else
229
+ return self.error(2, 2, "No such method #{method} for #{s.class.name}", id)
230
+ end
231
+ else
232
+ return self.error(2, 1, 'No such service', id)
233
+ end
234
+ end
235
+
236
+ # Parsing of an incoming RPC-request - returns a string to be sent
237
+ # to the client
238
+ def self.parse(data, web_req = nil)
239
+ answer = nil
240
+
241
+ # Prepare all variables
242
+ if not data
243
+ answer = self.error(2, 0, "Didn't receive request", -1)
244
+ else
245
+ dputs(3) { "Request-data is: #{data.inspect}" }
246
+ answer = self.request(data['id'], data['service'], data['method'], data['params'], web_req)
247
+ end
248
+
249
+ # And put it in a nice qx-compatible reply
250
+ dputs(3) { "Answer is #{answer}" }
251
+ return answer
252
+ end
253
+
254
+ # A more easy handler for a query-hash, e.g. camping or webrick
255
+ def self.parse_query(q)
256
+ request = JSON.parse(q.body)
257
+ dputs(4) { "JSON of body is #{request.inspect}" }
258
+ self.parse(request, q).to_json
259
+ end
260
+
261
+ def self.parse_query_xdomain(q)
262
+ stid = q.query['_ScriptTransport_id']
263
+ answer = self.parse(JSON.parse(q.query['_ScriptTransport_data']), q)
264
+
265
+ return "qx.io.remote.transport.Script._requestFinished('#{stid}', " +
266
+ "#{answer.to_json} );"
267
+ end
268
+
269
+ @@server = []
270
+
271
+ # And a no-worry with Webrick
272
+ def self.webrick(port, dir = ".", duration = nil)
273
+ dputs(3) { "Starting webrick for port #{port}, dir #{dir}, duration #{duration.inspect}" }
274
+ access_log_stream = File.open('webrick.access.log', 'w')
275
+ logger = [[access_log_stream, AccessLog::COMBINED_LOG_FORMAT]]
276
+ #logger.push [$stderr, WEBrick::AccessLog::COMMON_LOG_FORMAT]
277
+ #logger.push [$stderr, WEBrick::AccessLog::REFERER_LOG_FORMAT]
278
+ if @@server[port]
279
+ dputs(2) { 'Server already running - halting' }
280
+ @@server[port].shutdown
281
+ end
282
+ begin
283
+ @@server[port] = HTTPServer.new(:Port => port, :Logger => WEBrick::Log.new('webrick.log'),
284
+ :AccessLog => logger, :DoNotReverseLookup => true)
285
+ rescue Errno::EADDRINUSE => e
286
+ dputs(0) { "Couldn't bind to address #{port} - already in use" }
287
+ raise Errno::EADDRINUSE
288
+ end
289
+ # server = HTTPServer.new(:Port => port )
290
+
291
+ #server.mount "/rpc", GetPost
292
+ # This is the remote-procedure-handling from the Frontend
293
+ @@server[port].mount_proc('/rpc') { |req, res|
294
+ $webrick_request = req
295
+ dputs(5) { "Request is #{req.inspect}" }
296
+ dputs(5) { "Body is is #{req.body.inspect}" }
297
+ dputs(4) { "Request-path is #{req.path}" }
298
+ if req.body
299
+ res.body = self.parse_query(req)
300
+ else
301
+ res.body = self.parse_query_xdomain(req)
302
+ end
303
+ #res['content-type'] = "text/html"
304
+ res['content-type'] = 'application/json'
305
+ res['content-length'] = res.body.length
306
+ dputs(3) { "RPC-Reply is #{res.body}" }
307
+ raise HTTPStatus::OK
308
+ }
309
+
310
+ # And any other handling required by modules
311
+ @@paths.each { |path, cl|
312
+ dputs(2) { "Mounting path /#{path} to class #{cl.name}" }
313
+ @@server[port].mount_proc("/#{path.to_s}") { |req, res|
314
+ $webrick_request = req
315
+ dputs(5) { "Webrick_request is #{$webrick_request.inspect}" }
316
+ dputs(4) { "#{path}-Request is #{req.path} and " +
317
+ "method is #{req.request_method}" }
318
+
319
+ status = HTTPStatus::OK
320
+ res['content-type'] = 'text/html'
321
+ begin
322
+ if cl.respond_to? :parse_req_res
323
+ res.body = cl.parse_req_res(req, res).to_s
324
+ elsif cl.respond_to? :parse_req
325
+ res.body = cl.parse_req(req).to_s
326
+ else
327
+ res.body = cl.parse(req.request_method, req.path, req.query).to_s
328
+ end
329
+ rescue Exception => e
330
+ dputs(0) { "Error while handling #{cl.name} with #{req.inspect}: #{e.message}" }
331
+ dputs(0) { "#{e.inspect}" }
332
+ dputs(0) { "#{e.to_s}" }
333
+ puts e.backtrace
334
+ res.body = 'Error in handling method'
335
+ end
336
+ res.body.force_encoding(Encoding::ASCII_8BIT)
337
+ res['content-length'] = res.body.length
338
+ res['status'] = status
339
+ if res['content-type'] == 'text/html'
340
+ dputs(3) { "#{path}-reply is #{res.body.inspect}" }
341
+ end
342
+ dputs(3) { "Status is #{status.inspect}" }
343
+ }
344
+ }
345
+
346
+ @@file_paths.each { |web, dir|
347
+ dputs(2) { "Mounting web-path /#{web} to file-path #{dir}" }
348
+ @@server[port].mount("/#{web}", HTTPServlet::FileHandler, dir)
349
+ }
350
+
351
+ @@server[port].mount('/tmp', HTTPServlet::FileHandler, '/tmp')
352
+ @@server[port].mount('/', HTTPServlet::FileHandler, dir)
353
+
354
+ if not duration
355
+ dputs(2) { 'Starting forever' }
356
+ %w(INT TERM).each { |signal|
357
+ trap(signal) {
358
+ dputs(3) { 'Shutting down http-server' }
359
+ @@server[port].shutdown
360
+ }
361
+ }
362
+ @@server[port].start
363
+ else
364
+ dputs(2) { "Starting for #{duration} seconds" }
365
+ server_loop = Thread.new {
366
+ @@server[port].start
367
+ dputs(2) { 'Webrick stopped' }
368
+ }
369
+ sleep duration
370
+ @@server[port].shutdown
371
+ server_loop.join
372
+ end
373
+ end
374
+
375
+ def self.add_path(path, cl)
376
+ @@paths[path.to_sym] = cl
377
+ end
378
+
379
+ def self.add_file_path(web, dir)
380
+ @@file_paths[web.to_sym] = dir
381
+ end
382
+
383
+ end
384
+
385
+ class RPCQooxdooPath
386
+ def self.inherited(subclass)
387
+ name = subclass.name.downcase
388
+ dputs(2) { "A new path -#{subclass} is created for the class: #{subclass} with path /#{name}" }
389
+ RPCQooxdooHandler.add_path(name, subclass)
390
+ end
391
+
392
+ def self.sanitize(filename)
393
+ filename.gsub(/[^0-9A-z._\/-]/, '')
394
+ end
395
+ end