qooxview 1.9.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.project +13 -0
- data/.ruby-version +1 -0
- data/Gemfile +5 -0
- data/Gemfile.lock +89 -0
- data/LICENSE.txt +619 -0
- data/README.md +31 -0
- data/Rakefile +2 -0
- data/VERSIONS +12 -0
- data/lib/qooxview/additions.rb +161 -0
- data/lib/qooxview/config_yaml.rb +42 -0
- data/lib/qooxview/entity.rb +698 -0
- data/lib/qooxview/frontend/1build_generate +14 -0
- data/lib/qooxview/frontend/2src_generate +4 -0
- data/lib/qooxview/frontend/Manifest.json +34 -0
- data/lib/qooxview/frontend/README +19 -0
- data/lib/qooxview/frontend/UploadMgr/.project +11 -0
- data/lib/qooxview/frontend/UploadMgr/Manifest.json +34 -0
- data/lib/qooxview/frontend/UploadMgr/config.json +77 -0
- data/lib/qooxview/frontend/UploadMgr/demo/default/Manifest.json +34 -0
- data/lib/qooxview/frontend/UploadMgr/demo/default/config.json +84 -0
- data/lib/qooxview/frontend/UploadMgr/demo/default/generate.py +72 -0
- data/lib/qooxview/frontend/UploadMgr/demo/default/source/class/uploadmgr/demo/Application.js +224 -0
- data/lib/qooxview/frontend/UploadMgr/demo/default/source/class/uploadmgr/demo/simulation/DemoSimulation.js +44 -0
- data/lib/qooxview/frontend/UploadMgr/demo/default/source/class/uploadmgr/demo/test/DemoTest.js +55 -0
- data/lib/qooxview/frontend/UploadMgr/demo/default/source/class/uploadmgr/demo/theme/Appearance.js +18 -0
- data/lib/qooxview/frontend/UploadMgr/demo/default/source/class/uploadmgr/demo/theme/Color.js +18 -0
- data/lib/qooxview/frontend/UploadMgr/demo/default/source/class/uploadmgr/demo/theme/Decoration.js +18 -0
- data/lib/qooxview/frontend/UploadMgr/demo/default/source/class/uploadmgr/demo/theme/Font.js +18 -0
- data/lib/qooxview/frontend/UploadMgr/demo/default/source/class/uploadmgr/demo/theme/Theme.js +21 -0
- data/lib/qooxview/frontend/UploadMgr/demo/default/source/index.html +9 -0
- data/lib/qooxview/frontend/UploadMgr/demo/default/source/resource/uploadmgr/demo/test.png +0 -0
- data/lib/qooxview/frontend/UploadMgr/demo/default/source/script/uploadmgr.demo.d88b4fb45db4.js +1 -0
- data/lib/qooxview/frontend/UploadMgr/demo/default/source/script/uploadmgr.demo.js +211 -0
- data/lib/qooxview/frontend/UploadMgr/demo/default/source/translation/readme.txt +3 -0
- data/lib/qooxview/frontend/UploadMgr/generate.py +72 -0
- data/lib/qooxview/frontend/UploadMgr/server/LICENSE.TXT +3 -0
- data/lib/qooxview/frontend/UploadMgr/server/README.txt +3 -0
- data/lib/qooxview/frontend/UploadMgr/server/java/com/zenesis/qx/upload/DemoUploadServlet.java +176 -0
- data/lib/qooxview/frontend/UploadMgr/server/perl.cgi +62 -0
- data/lib/qooxview/frontend/UploadMgr/server/php.php +116 -0
- data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/AbstractHandler.js +278 -0
- data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/File.js +178 -0
- data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/FormHandler.js +192 -0
- data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/InputElement.js +68 -0
- data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/MParameters.js +67 -0
- data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/MUploadButton.js +40 -0
- data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/UploadButton.js +35 -0
- data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/UploadMgr.js +301 -0
- data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/UploadToolbarButton.js +35 -0
- data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/XhrHandler.js +176 -0
- data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/simulation/DemoSimulation.js +44 -0
- data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/test/DemoTest.js +55 -0
- data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/theme/Appearance.js +18 -0
- data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/theme/Color.js +18 -0
- data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/theme/Decoration.js +18 -0
- data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/theme/Font.js +18 -0
- data/lib/qooxview/frontend/UploadMgr/source/class/com/zenesis/qx/upload/theme/Theme.js +21 -0
- data/lib/qooxview/frontend/UploadMgr/source/index.html +9 -0
- data/lib/qooxview/frontend/UploadMgr/source/resource/com/zenesis/qx/upload/banner-bg.png +0 -0
- data/lib/qooxview/frontend/UploadMgr/source/resource/com/zenesis/qx/upload/banner.png +0 -0
- data/lib/qooxview/frontend/UploadMgr/source/resource/com/zenesis/qx/upload/logo.gif +0 -0
- data/lib/qooxview/frontend/UploadMgr/source/resource/com/zenesis/qx/upload/test.png +0 -0
- data/lib/qooxview/frontend/UploadMgr/source/translation/readme.txt +3 -0
- data/lib/qooxview/frontend/build/index.html +11 -0
- data/lib/qooxview/frontend/build/resource/frontend/test.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/app-header.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/down-invert.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/down-small-invert.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/down-small.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/down.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/forward.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/left-invert.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/left.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/rewind.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/right-invert.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/right.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/up-invert.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/up-small.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows/up.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/arrows-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/button-lr-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/button-tb-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/checkradio-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/colorselector/brightness-field.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/colorselector/brightness-handle.gif +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/colorselector/huesaturation-field.jpg +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/colorselector/huesaturation-handle.gif +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/colorselector-combined.gif +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/cursors/alias.gif +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/cursors/copy.gif +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/cursors/move.gif +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/cursors/nodrop.gif +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/cursors-combined.gif +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-focused-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-focused-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-focused-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-focused-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-focused-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-focused-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-focused-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-focused-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-focused-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-focused.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-checked.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-disabled-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-disabled-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-disabled-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-disabled-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-disabled-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-disabled-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-disabled-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-disabled-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-disabled-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-disabled.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-focused-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-focused-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-focused-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-focused-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-focused-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-focused-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-focused-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-focused-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-focused-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-focused.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-hovered-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-hovered-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-hovered-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-hovered-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-hovered-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-hovered-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-hovered-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-hovered-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-hovered-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-hovered.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-focused-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-focused-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-focused-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-focused-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-focused-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-focused-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-focused-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-focused-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-focused-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-focused.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-preselected.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-pressed-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-pressed-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-pressed-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-pressed-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-pressed-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-pressed-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-pressed-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-pressed-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-pressed-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-pressed.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/button.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-checked-disabled.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-checked-focused-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-checked-focused.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-checked-hovered-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-checked-hovered.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-checked-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-checked-pressed-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-checked-pressed.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-checked.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-disabled.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-focused-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-focused.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-hovered-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-hovered.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-pressed-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-pressed.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-undetermined-disabled.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-undetermined-focused-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-undetermined-focused.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-undetermined-hovered-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-undetermined-hovered.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-undetermined-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox-undetermined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checkbox.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checked-disabled.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/checked.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/input-focused.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/input.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-checked-disabled.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-checked-focused-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-checked-focused.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-checked-hovered-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-checked-hovered.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-checked-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-checked-pressed-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-checked-pressed.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-checked.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-disabled.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-focused-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-focused.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-hovered-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-hovered.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-pressed-invalid.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton-pressed.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/radiobutton.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error-arrow-right.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error-arrow.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/tooltip-error.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/undetermined-disabled.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/form/undetermined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/group-item.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox/groupbox-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox/groupbox-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox/groupbox-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox/groupbox-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox/groupbox-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox/groupbox-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox/groupbox-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox/groupbox-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox/groupbox-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox/groupbox.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox-lr-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/groupbox-tb-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/menu/background.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/menu/bar-background.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/menu/checkbox-invert.gif +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/menu/checkbox.gif +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/menu/radiobutton-invert.gif +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/menu/radiobutton.gif +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/menu-background-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/menu-checkradio-combined.gif +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane/pane-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane/pane-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane/pane-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane/pane-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane/pane-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane/pane-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane/pane-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane/pane-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane/pane-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane/pane.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane-lr-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/pane-tb-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar/scrollbar-bg-horizontal.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar/scrollbar-bg-pressed-horizontal.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar/scrollbar-bg-pressed-vertical.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar/scrollbar-bg-vertical.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar/scrollbar-button-bg-horizontal.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar/scrollbar-button-bg-vertical.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar/scrollbar-down.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar/scrollbar-left.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar/scrollbar-right.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar/scrollbar-up.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar/slider-knob-background.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/scrollbar-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/selection.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-small-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-small-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-small-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-small-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-small-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-small-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-small-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-small-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-small-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-small.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow/shadow.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow-lr-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow-small-lr-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow-small-tb-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/shadow-tb-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/splitpane/knob-horizontal.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/splitpane/knob-vertical.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/splitpane-knobs-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/table/ascending.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/table/boolean-false.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/table/boolean-true.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/table/descending.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/table/header-cell.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/table/select-column-order.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/table-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-active-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-active-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-active-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-active-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-active-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-active-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-active-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-active-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-active-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-active.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-inactive-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-inactive-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-inactive-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-inactive-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-inactive-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-inactive-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-inactive-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-inactive-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-inactive-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-bottom-inactive.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-active-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-active-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-active-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-active-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-active-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-active-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-active-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-active-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-active-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-active.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-inactive-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-inactive-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-inactive-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-inactive-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-inactive-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-inactive-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-inactive-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-inactive-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-inactive-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-left-inactive.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-active-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-active-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-active-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-active-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-active-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-active-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-active-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-active-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-active-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-active.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-inactive-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-inactive-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-inactive-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-inactive-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-inactive-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-inactive-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-inactive-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-inactive-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-inactive-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-right-inactive.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-active-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-active-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-active-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-active-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-active-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-active-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-active-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-active-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-active-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-active.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-inactive-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-inactive-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-inactive-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-inactive-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-inactive-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-inactive-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-inactive-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-inactive-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-inactive-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tab-button-top-inactive.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tabview-pane-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tabview-pane-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tabview-pane-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tabview-pane-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tabview-pane-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tabview-pane-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tabview-pane-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tabview-pane-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tabview-pane-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview/tabview-pane.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-bottom-active-lr-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-bottom-active-tb-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-bottom-inactive-b-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-bottom-inactive-lr-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-bottom-inactive-t-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-left-active-lr-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-left-active-tb-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-left-inactive-b-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-left-inactive-lr-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-left-inactive-t-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-right-active-lr-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-right-active-tb-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-right-inactive-b-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-right-inactive-lr-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-right-inactive-t-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-top-active-lr-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-top-active-tb-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-top-inactive-b-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-top-inactive-lr-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-button-top-inactive-t-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-pane-lr-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tabview-pane-tb-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/toolbar/toolbar-gradient-blue.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/toolbar/toolbar-gradient.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/toolbar/toolbar-handle-knob.gif +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/toolbar/toolbar-part.gif +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/toolbar-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tooltip-error-lr-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tooltip-error-tb-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tree/closed-selected.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tree/closed.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tree/open-selected.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tree/open.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/tree-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-active-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-active-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-active-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-active-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-active-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-active-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-active-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-active-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-active-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-active.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-inactive-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-inactive-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-inactive-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-inactive-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-inactive-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-inactive-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-inactive-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-inactive-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-inactive-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/captionbar-inactive.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/close-active-hovered.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/close-active.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/close-inactive.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/maximize-active-hovered.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/maximize-active.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/maximize-inactive.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/minimize-active-hovered.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/minimize-active.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/minimize-inactive.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/restore-active-hovered.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/restore-active.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/restore-inactive.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/statusbar-b.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/statusbar-bl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/statusbar-br.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/statusbar-c.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/statusbar-l.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/statusbar-r.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/statusbar-t.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/statusbar-tl.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/statusbar-tr.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window/statusbar.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window-captionbar-buttons-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window-captionbar-lr-active-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window-captionbar-lr-inactive-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window-captionbar-tb-active-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window-captionbar-tb-inactive-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window-statusbar-lr-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/decoration/Modern/window-statusbar-tb-combined.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/icon/Tango/16/actions/dialog-cancel.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/icon/Tango/16/actions/dialog-ok.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/icon/Tango/16/actions/view-refresh.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/icon/Tango/16/actions/window-close.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/icon/Tango/16/apps/office-calendar.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/icon/Tango/16/apps/utilities-color-chooser.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/icon/Tango/16/mimetypes/office-document.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/icon/Tango/16/places/folder-open.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/icon/Tango/16/places/folder.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/icon/Tango/22/mimetypes/office-document.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/icon/Tango/22/places/folder-open.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/icon/Tango/22/places/folder.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/icon/Tango/32/mimetypes/office-document.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/icon/Tango/32/places/folder-open.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/icon/Tango/32/places/folder.png +0 -0
- data/lib/qooxview/frontend/build/resource/qx/static/blank.gif +0 -0
- data/lib/qooxview/frontend/build/resource/qx/static/blank.png +0 -0
- data/lib/qooxview/frontend/build/script/frontend.js +213 -0
- data/lib/qooxview/frontend/config.json +58 -0
- data/lib/qooxview/frontend/generate.py +149 -0
- data/lib/qooxview/frontend/mklink +2 -0
- data/lib/qooxview/frontend/readme.txt +11 -0
- data/lib/qooxview/frontend/source/class/frontend/Application.js +84 -0
- data/lib/qooxview/frontend/source/class/frontend/LAYOUT +120 -0
- data/lib/qooxview/frontend/source/class/frontend/Lib/Fields.js +1486 -0
- data/lib/qooxview/frontend/source/class/frontend/Lib/RPC.js +104 -0
- data/lib/qooxview/frontend/source/class/frontend/Lib/TimerF.js +63 -0
- data/lib/qooxview/frontend/source/class/frontend/Views/Form.js +150 -0
- data/lib/qooxview/frontend/source/class/frontend/Views/Ltab.js +633 -0
- data/lib/qooxview/frontend/source/class/frontend/__init__.js +6 -0
- data/lib/qooxview/frontend/source/class/frontend/globals.js +51 -0
- data/lib/qooxview/frontend/source/class/frontend/simulation/DemoSimulation.js +42 -0
- data/lib/qooxview/frontend/source/class/frontend/test/DemoTest.js +55 -0
- data/lib/qooxview/frontend/source/class/frontend/theme/Appearance.js +18 -0
- data/lib/qooxview/frontend/source/class/frontend/theme/Color.js +18 -0
- data/lib/qooxview/frontend/source/class/frontend/theme/Decoration.js +18 -0
- data/lib/qooxview/frontend/source/class/frontend/theme/Font.js +18 -0
- data/lib/qooxview/frontend/source/class/frontend/theme/Theme.js +21 -0
- data/lib/qooxview/frontend/source/index.html +11 -0
- data/lib/qooxview/frontend/source/resource/frontend/test.png +0 -0
- data/lib/qooxview/frontend/source/translation/readme.txt +3 -0
- data/lib/qooxview/helpers/config_base.rb +264 -0
- data/lib/qooxview/helpers/icc.rb +222 -0
- data/lib/qooxview/helpers/make_steps.rb +77 -0
- data/lib/qooxview/helpers/migration_version.rb +18 -0
- data/lib/qooxview/helpers/open_print.rb +286 -0
- data/lib/qooxview/helpers/permission.rb +146 -0
- data/lib/qooxview/helpers/qoox_parser.rb +54 -0
- data/lib/qooxview/helpers/session.rb +68 -0
- data/lib/qooxview/helpers/static.rb +23 -0
- data/lib/qooxview/helpers/upload_files.rb +27 -0
- data/lib/qooxview/helpers/vtlist_pane.rb +158 -0
- data/lib/qooxview/helpers/welcome.rb +55 -0
- data/lib/qooxview/qooxview.rb +175 -0
- data/lib/qooxview/rpcqooxdoo.rb +395 -0
- data/lib/qooxview/storage_handler.rb +455 -0
- data/lib/qooxview/storage_type.rb +129 -0
- data/lib/qooxview/storages/csv.rb +170 -0
- data/lib/qooxview/storages/ldap.rb +238 -0
- data/lib/qooxview/storages/sqlite.rb +198 -0
- data/lib/qooxview/value.rb +202 -0
- data/lib/qooxview/version.rb +3 -0
- data/lib/qooxview/view.rb +904 -0
- data/lib/qooxview.rb +83 -0
- data/qooxview.gemspec +50 -0
- data/test/benchmark_creation.rb +37 -0
- data/test/config.yaml +36 -0
- data/test/entities/config.rb +33 -0
- data/test/entities/course.rb +28 -0
- data/test/entities/databases.rb +17 -0
- data/test/entities/doubleCase.rb +12 -0
- data/test/entities/dummies.rb +24 -0
- data/test/entities/inventory.rb +6 -0
- data/test/entities/needs.rb +20 -0
- data/test/entities/person.rb +73 -0
- data/test/file_binary.bin +0 -0
- data/test/files/print_formulas.ods +0 -0
- data/test/files/print_formulas_2.ods +0 -0
- data/test/files/student_card.odg +0 -0
- data/test/gettext.po +24 -0
- data/test/gettext.pot +0 -0
- data/test/messages.mo +0 -0
- data/test/po/fr/LC_MESSAGES/gettext.mo +0 -0
- data/test/qooxdoo-layout-frontend.js +49 -0
- data/test/qv_configbase.rb +98 -0
- data/test/qv_entity.rb +271 -0
- data/test/qv_gettext.rb +28 -0
- data/test/qv_helpers.rb +173 -0
- data/test/qv_icc.rb +60 -0
- data/test/qv_migration.rb +130 -0
- data/test/qv_permission.rb +34 -0
- data/test/qv_print.rb +73 -0
- data/test/qv_session.rb +29 -0
- data/test/qv_sqlite.rb +73 -0
- data/test/qv_store_csv.rb +86 -0
- data/test/qv_stype.rb +41 -0
- data/test/qv_view.rb +204 -0
- data/test/st_dummy.rb +30 -0
- data/test/test.rb +49 -0
- data/test/views/aview.rb +24 -0
- data/test/views/bview.rb +10 -0
- data/test/views/configviews.rb +19 -0
- data/test/views/courseshow.rb +11 -0
- data/test/views/cview.rb +22 -0
- data/test/views/login.rb +15 -0
- data/test/views/print.rb +10 -0
- 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
|