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,455 @@
1
+ =begin
2
+ Holds all DataTypes for an entity
3
+ =end
4
+
5
+ module StorageHandler
6
+ # Checks whether there is a configuration-option which wants to replace
7
+ # the StorageType
8
+ def replace_st(st)
9
+ if get_config(false, :StorageHandler, :Replace)
10
+ $config[:StorageHandler][:Replace].each { |k, v|
11
+ if st.to_sym == k.to_sym
12
+ dputs(3) { "Replacing #{k.inspect} with #{v.inspect}" }
13
+ st = v.to_sym
14
+ end
15
+ }
16
+ end
17
+ st.to_sym
18
+ end
19
+
20
+ # Adds a new value to the storages to hold the appropriate values.
21
+ def add_value_to_storage(value)
22
+ return if !value.st
23
+ args = value.args.merge(:dtype => value.dtype)
24
+ if value.st != 'ALL'
25
+ st = replace_st(value.st)
26
+ if not @storage.has_key? st
27
+ # A request for another type
28
+ add_new_storage(st)
29
+ end
30
+ @storage[st].add_field(value.name, args)
31
+ else
32
+ @storage.each { |k, v|
33
+ v.add_field(value.name, args)
34
+ }
35
+ end
36
+ end
37
+
38
+ def field_args(name)
39
+ @storage.each { |k, v|
40
+ if v.has_field name
41
+ return v.field_args name
42
+ end
43
+ }
44
+ nil
45
+ end
46
+
47
+ # Adds a new storage type - returns the new created or already initialised storage-type
48
+ def add_new_storage(st, config = {})
49
+ st = replace_st(st)
50
+
51
+ if !StorageType.has? st
52
+ dputs(0) { "Can't find StorageType of -#{st.inspect}-" }
53
+ exit 1
54
+ end
55
+
56
+ if has_storage? st
57
+ dputs(3) { "Storage-type -#{st}- already exists" }
58
+ else
59
+ dputs(3) { "Adding storage-type -#{st}-" }
60
+ @storage[st] = StorageType.new_st(st, self, config)
61
+ dputs(3) { "@storage is #{@storage.inspect}" }
62
+ end
63
+
64
+ @storage[st]
65
+ end
66
+
67
+ def has_storage?(st)
68
+ @storage ? (@storage.has_key? st.to_sym) : false
69
+ end
70
+
71
+ def has_field?(f)
72
+ @storage.each { |k, v|
73
+ if v.has_field f
74
+ return true
75
+ end
76
+ }
77
+ return false
78
+ end
79
+
80
+ # Have a handler for the ActiveRecord-type match_by_ and the name
81
+ # of the field to search for
82
+ def find_key_by(field, value)
83
+ #dputs( 5 ){ "( #{field}, #{value} ) with #{@data.inspect}" }
84
+ @data.each_key { |k|
85
+ dputs(5) { "Searching :#{value}: in #{field} of #{k} which is "+
86
+ ":#{@data[k][field.to_sym].to_s}: " }
87
+ #if @data[k] and @data[k][field.to_sym].to_s.downcase == value.to_s.downcase
88
+ if @data[k] and (@data[k][field.to_sym].to_s =~ /#{value.to_s}/i)
89
+ return k
90
+ end
91
+ }
92
+ return nil
93
+ end
94
+
95
+ def find(field, value)
96
+ result = find_by(field, value)
97
+ return result ? result.data : nil
98
+ end
99
+
100
+ def find_by(field, value)
101
+ key = find_key_by(field, value)
102
+ return key ? get_data_instance(key) : nil
103
+ end
104
+
105
+ def search_all_
106
+ @data.each_key.collect { |k|
107
+ get_data_instance(k)
108
+ }
109
+ end
110
+
111
+ # Searching of misuse in search_all - found and accepted misuses can take
112
+ # search_all_
113
+ def search_all
114
+ log_msg :StorageHandler, "Search_all for #{self.name} in #{caller.inspect}"
115
+ search_all_
116
+ end
117
+
118
+ # Similar to find_by, but searches multiple instances that are similar to the
119
+ # value, returns the instances
120
+ def search_by(field, value)
121
+ result = []
122
+ field = field.to_sym
123
+ @data.each_key { |k|
124
+ #dputs( 5 ){ "Searching :#{value}: in #{field} of #{k} which is :#{@data[k][field.to_sym]}:" }
125
+ if @data[k]
126
+ [@data[k][field]].flatten.each { |d|
127
+ if d.to_s =~ /#{value.to_s}/i
128
+ dputs(4) { "Found data-entry #{k}: #{@data[k].inspect}" }
129
+ result.push get_data_instance(k)
130
+ end
131
+ }
132
+ end
133
+ }
134
+ return result.uniq
135
+ end
136
+
137
+ # Like search_by, but only ONE EXACT match
138
+ def match_by(field, value)
139
+ field = field.to_sym
140
+ v = value.is_a?(Entity) ? value.id : value.to_s
141
+ @data.each_key { |k|
142
+ if @data[k]
143
+ [@data[k][field]].flatten.each { |d|
144
+ dputs(5) { "Searching #{v} in #{d} of #{@data[k].inspect}" }
145
+ if d.to_s == v
146
+ dputs(4) { "Found data-entry #{k}: #{@data[k].inspect}" }
147
+ return get_data_instance(k)
148
+ end
149
+ }
150
+ end
151
+ }
152
+ return nil
153
+ end
154
+
155
+ # Like search_by, but only EXACT matcheS
156
+ def matches_by(field, value)
157
+ ret = search_by(field, "^#{value}$")
158
+ return ret
159
+ end
160
+
161
+ # filter is a hash with field/value-pairs to be searched.
162
+ def filter_by(filter)
163
+ keys = filter.keys
164
+ key = keys.shift
165
+ res = search_by(key, filter[key]).collect { |r| r.data }
166
+ # Refine the search
167
+ keys.each { |k|
168
+ res = res.select { |r|
169
+ dputs(5) { "Searching results for #{[r, k, filter[k]].inspect}" }
170
+ r.has_key? k and r[k].to_s =~ /#{filter[k].to_s}/i
171
+ }
172
+ }
173
+ res
174
+ end
175
+
176
+ def new_id
177
+ # last_id = 1
178
+ # if @data.keys.length > 0
179
+ # last_id = @data.keys.max{|a,b| a.to_i <=> b.to_i} + 1
180
+ # end
181
+ while @data.has_key? @last_id
182
+ dputs(5) { "Already having id #{@last_id}" }
183
+ @last_id += 1
184
+ end
185
+ return {@data_field_id => @last_id}
186
+ end
187
+
188
+ def create(args, allow_double = false)
189
+ oldload = @loading
190
+ @loading = true
191
+ if args.class != Hash
192
+ dputs(0) { "Entities.create takes a hash! You gave a #{args.class}" }
193
+ exit
194
+ end
195
+ dputs(5) { "Data_field_id is #{@data_field_id}" }
196
+ if not args[@data_field_id]
197
+ nid = new_id[@data_field_id]
198
+ dputs(3) { "Adding data_field_id of #{nid}" }
199
+ args.merge!({@data_field_id => nid})
200
+ end
201
+
202
+ # Ask every storage-type whether he wants to change something in the
203
+ # data
204
+ dputs(3) { "Asking storages to intervene for #{self.class.name}" }
205
+ @storage.each { |k, di|
206
+ dputs(3) { "Intervention from #{k.inspect}" }
207
+ di.data_create(args)
208
+ }
209
+ data_id = args[@data_field_id].to_i
210
+ if not @data[data_id] or allow_double
211
+ if @data[data_id]
212
+ dputs(0) { "Error: creating double-entry #{args.inspect}" }
213
+ end
214
+ @data[data_id] = {@data_field_id => data_id}
215
+ dputs(5) { "@data is now #{@data.inspect}" }
216
+ dputs(5) { "data_class is now #{@data_class.to_s}" }
217
+ args.each { |k, v|
218
+ set_entry(data_id, k, v)
219
+ }
220
+ @save_after_create and save
221
+ update_key(data_id)
222
+ d = get_data_instance(data_id)
223
+ @changed = d.changed = true
224
+ @loading = oldload
225
+ return d
226
+ else
227
+ @storage.each { |k, di| di.data_double(args) }
228
+ dputs(2) { "Trying to create a double entry with data_id #{args[@data_field_id]}!" }
229
+ @loading = oldload
230
+ return nil
231
+ end
232
+ end
233
+
234
+ def save_data(d)
235
+ #dputs_func
236
+ dputs(5) { "Saving #{d.inspect}" }
237
+ d.to_sym!
238
+ if d.has_key? @data_field_id
239
+ # Assure that the data_field_id is an integer
240
+ dputs(5) { 'Has key' }
241
+ data_id = d[@data_field_id].to_i
242
+ d[@data_field_id] = data_id
243
+ e = get_data_instance(data_id)
244
+ if not e
245
+ dputs(0) { "Didn't find key #{data_id.inspect}" }
246
+ exit 1
247
+ else
248
+ dputs(5) { "Setting hash #{d.inspect}" }
249
+ e.data_set_hash(d, true)
250
+ end
251
+ else
252
+ e = create(d)
253
+ end
254
+
255
+ save
256
+ return e.data
257
+ end
258
+
259
+ def delete_id(id)
260
+ id = id.to_i
261
+ dputs(3) { "Deleting id #{id}" }
262
+ @data.delete(id)
263
+ @data_instances.delete(id)
264
+ end
265
+
266
+ def set_entry(id, field, v)
267
+ #dputs_func
268
+ value = if v.is_a? Entity
269
+ dputs(3) { "Converting #{v} to #{v.id}" }
270
+ v.id
271
+ elsif v.is_a? Array
272
+ dputs(3) { "Storing an array #{v.inspect}" }
273
+ v.collect { |val|
274
+ val.is_a?(Entity) ? val.id : val
275
+ }
276
+ else
277
+ v
278
+ end
279
+ field = field.to_sym
280
+ dputs(4) { "Storing #{value} in #{field} for id #{id} in data #{@data}" }
281
+ @storage.each { |k, di|
282
+ if di.has_field field
283
+ if !@data[id.to_i].has_key?(field) or
284
+ value.to_s != @data[id.to_i][field].to_s
285
+ val = di.set_entry(id, field, value)
286
+ dputs(4) { "#{id} - #{field} - #{value.inspect}" }
287
+ @data[id.to_i][field] = val
288
+ elsif DEBUG_LVL >= 3
289
+ log_msg 'StorageHandler', 'Trying to overwrite with same value in ' +
290
+ "#{self.class.name}-#{field}-#{value.to_s}\n" +
291
+ caller.inspect
292
+ end
293
+ update_key(id.to_i)
294
+ return val
295
+ end
296
+ }
297
+ nil
298
+ end
299
+
300
+ def get_entry(id, field)
301
+ field = field.to_sym
302
+ id = id.to_i
303
+ # First look if there is a non-caching DataStorage
304
+ @storage.each { |k, di|
305
+ dputs(5) { "Storage is #{di}" }
306
+ if di.has_field field and not di.data_cache
307
+ dputs(4) { "#{di} doesn't have data_cache for #{id} - #{field}" }
308
+ val = di.get_entry(id, field)
309
+ if val.class == String
310
+ val.force_encoding(Encoding::UTF_8)
311
+ end
312
+ dputs(4) { "#{id} - #{field} - #{val.inspect}" }
313
+ @data[id][field] = val
314
+ return val
315
+ end
316
+ }
317
+
318
+ # Else get the things out of the cache
319
+ if @data[id] and @data[id][field]
320
+ @data[id][field]
321
+ else
322
+ nil
323
+ end
324
+ end
325
+
326
+ def data_update(id)
327
+ @data[id.to_i].each { |f, v|
328
+ dputs(5) { "Updating data for #{id} - #{f}" }
329
+ get_entry(id, f)
330
+ }
331
+ end
332
+
333
+ def migrate
334
+ #dputs_func
335
+ if not mv = MigrationVersions.match_by(:class_name, @name)
336
+ dputs(2) { "#{@name.inspect} has no migration yet" }
337
+ mv = Entities.MigrationVersions.create(:class_name => @name,
338
+ :version => 0)
339
+ end
340
+ version = mv.version + 1
341
+ dputs(3) { "Checking for migration_#{version} of #{@name}" }
342
+ while self.respond_to?(vers_str = "migration_#{version}".to_sym) ||
343
+ self.respond_to?(vers_str = "migration_#{version}_raw".to_sym)
344
+ log_msg :Migration, "Migrating #{@name} to version #{version}, calling #{vers_str}"
345
+ dputs(4) { "Working on #{data.inspect}" }
346
+ @data.each { |k, v|
347
+ if vers_str.to_s =~ /_raw$/
348
+ dputs(4) { "Sending raw data of #{v.inspect}" }
349
+ send vers_str, v
350
+ dputs(4) { "raw data is now #{v.inspect}" }
351
+ #@data[k] = v
352
+ else
353
+ inst = get_data_instance(k)
354
+ dputs(4) { "Sending #{inst.inspect}" }
355
+ send vers_str, inst
356
+ end
357
+ }
358
+ dputs(5) { "Data is now #{@data.inspect}" }
359
+ mv.version = version
360
+ version += 1
361
+ @changed = true
362
+ end
363
+ @changed and save
364
+ end
365
+
366
+ def load(has_static = true)
367
+ #dputs_func
368
+ return if @is_loaded
369
+ dep = RPCQooxdooService.needs["Entities.#{self.class.name}"]
370
+ dputs(2) { "Loading #{self.class.name} - #{dep}" }
371
+ if dep
372
+ dep.each{|pre|
373
+ pre_class = RPCQooxdooService.services[pre]
374
+ pre_class.is_loaded and next
375
+ dputs(3){"Pre-loading #{pre}"}
376
+ pre_class.load
377
+ }
378
+ end
379
+ @data = {}
380
+ @data_instances = {}
381
+ @keys = {}
382
+ @storage.each { |k, di|
383
+ dputs(5) { "Loading #{k} at #{di.name} with #{di.inspect}" }
384
+ @data.merge!(di.load) { |k, o, n| o.merge(n) }
385
+ dputs(5) { "Loaded #{@data.inspect} for #{self.name}" }
386
+ }
387
+ @last_id = @data.length > 0 ? @data.to_a.last[0] : 1
388
+ has_static and @static = Statics.get_hash("Entities.#{@name}")
389
+
390
+ @is_loaded = true
391
+ respond_to?(:loaded) and loaded
392
+ end
393
+
394
+ def save
395
+ return unless @changed
396
+ @storage.each { |k, di|
397
+ dputs(5) { "Saving #{k} at #{di.inspect}" }
398
+ di.save(@data)
399
+ }
400
+ @changed = false
401
+ end
402
+
403
+ def delete_all(local_only = false)
404
+ dputs(3) { "Deleting all of #{self.class.name}" }
405
+ @data_instances = {}
406
+ @data = {}
407
+ @keys = {}
408
+ @storage.each { |k, di|
409
+ di.delete_all(local_only)
410
+ }
411
+ @static = Statics.get_hash("Entities.#{@name}")
412
+ @last_id = 1
413
+ @is_loaded = false
414
+ end
415
+
416
+ def create_key(name)
417
+ name = name.to_sym
418
+ if @keys.has_key? name
419
+ dputs(2) { "#{self.class.name} already has key #{name}" }
420
+ else
421
+ entries = {}
422
+ @data.each_pair { |k, v|
423
+ dputs(5) { "Adding #{name} = #{v[name]} in #{v.inspect}" }
424
+ entries[v[name].to_s] = k
425
+ }
426
+ dputs(4) { "Setting keys[#{name}] to #{entries.inspect}" }
427
+ @keys[name] = entries
428
+ end
429
+ end
430
+
431
+ def match_key(name, entry)
432
+ dputs(5) { "Matching #{entry} of #{name} in #{@keys.inspect}" }
433
+ name = name.to_sym
434
+ @keys.has_key? name or create_key(name)
435
+ e = entry.is_a?(Entity) ? entry.id.to_s : entry.to_s
436
+ get_data_instance(@keys[name][e])
437
+ end
438
+
439
+ def update_key(id)
440
+ dputs(5) { "Updating keys #{@keys.inspect} for #{id}" }
441
+ @keys.each_key { |k|
442
+ @keys[k].merge!(@data[id][k].to_s => id)
443
+ }
444
+ end
445
+
446
+ def first
447
+ key = @data.first
448
+ return key ? get_data_instance(key[0]) : nil
449
+ end
450
+
451
+ def last
452
+ key = @data.last
453
+ return key ? get_data_instance(key[0]) : nil
454
+ end
455
+ end
@@ -0,0 +1,129 @@
1
+ =begin
2
+ Interface-class for entities. Must provide:
3
+
4
+ * init( name ) - initialises the data using "name" as the name of the class
5
+ * addField( name, type ) - adds a field to the data
6
+ * setField( name, data ) - sets the data of a field
7
+ * getField( name ) - returns the data of a field
8
+ * save - saves the whole entity
9
+ * load - loads the whole entity
10
+ * search - searches in the whole entity
11
+ =end
12
+
13
+ class StorageType
14
+ @@types = {}
15
+ attr_reader :data_cache, :name, :config
16
+
17
+ def initialize( entity, config = {} )
18
+ @name = entity.name
19
+ @entity = entity
20
+ @data_field_id = entity.data_field_id
21
+ @fields = {}
22
+ @data_cache = true
23
+
24
+ class_name = self.class.name.to_sym
25
+ if get_config( false, :StorageType, class_name )
26
+ config = $config[:StorageType][class_name].merge( config )
27
+ end
28
+
29
+ @config = config
30
+ end
31
+
32
+ # By default use configuration-options to overwrite class-variables
33
+ def configure( config )
34
+ config.each{|k,v|
35
+ dputs( 3 ){ "Putting configuration #{v.inspect} for #{k.inspect}" }
36
+ eval "@#{k} = v"
37
+ }
38
+ end
39
+
40
+ def add_field( name, args )
41
+ dputs( 3 ){ "Adding field #{name}" }
42
+ if not has_field name
43
+ @fields[name.to_sym] = args
44
+ else
45
+ @fields[name.to_sym].merge!( args )
46
+ end
47
+ end
48
+
49
+ def has_field( name )
50
+ @fields.has_key? name.to_sym
51
+ end
52
+
53
+ def field_args( name )
54
+ if has_field name
55
+ return @fields[name.to_sym].dup
56
+ end
57
+ end
58
+
59
+ # Returns only the relevant part of the data
60
+ def extract_data_old( d )
61
+ ret = {}
62
+ ( @fields.keys + [ @data_field_id ] ).uniq.each{|k|
63
+ ret.merge! k => d[k]
64
+ }
65
+ ret
66
+ end
67
+
68
+ # Calls the block for each data that has more than one key in it
69
+ def data_each( data )
70
+ dputs( 5 ){ data.inspect }
71
+ dputs( 5 ){ data.values.inspect }
72
+ data.values.sort{|s, t|
73
+ s[@data_field_id].to_i <=> t[@data_field_id].to_i
74
+ }.each{|d|
75
+ yield d
76
+ }
77
+ end
78
+
79
+ def set_entry( data, field, value )
80
+ return value
81
+ end
82
+
83
+ def method_missing( name, *arg )
84
+ case name
85
+ when /^(init|addField|setField|getField|save|load|search)$/
86
+ dputs( 0 ){ "Must provide #{name}!" }
87
+ exit 0
88
+ else
89
+ super( name, arg )
90
+ end
91
+ end
92
+
93
+ # Should delete all stored values - only really used for tests
94
+ def delete_all( local_only = false )
95
+ end
96
+
97
+ # Before a new data-set is created, ever StorageType has the
98
+ # possibility to adjust the data
99
+ def data_create( data )
100
+ end
101
+
102
+ # If a double-entry has been detected after creation
103
+ def data_double( data )
104
+ end
105
+
106
+ def self.new_st( st, entity, config = {} )
107
+ if StorageType.has? st
108
+ return @@types[st.to_sym].new( entity, config )
109
+ end
110
+ end
111
+
112
+ def self.inherited( subclass )
113
+ dputs( 2 ){ "Added #{subclass} to StorageTypes" }
114
+ @@types[subclass.name.to_sym] = subclass
115
+ super( subclass )
116
+ end
117
+
118
+ def self.has?( t )
119
+ t and @@types.has_key? t.to_sym
120
+ end
121
+
122
+ def self.data_save( index = nil )
123
+
124
+ end
125
+
126
+ def self.data_load
127
+
128
+ end
129
+ end