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,42 @@
|
|
1
|
+
/* ************************************************************************
|
2
|
+
|
3
|
+
Copyright:
|
4
|
+
|
5
|
+
License:
|
6
|
+
|
7
|
+
Authors:
|
8
|
+
|
9
|
+
************************************************************************ */
|
10
|
+
|
11
|
+
/**
|
12
|
+
* This class demonstrates how to define simulated interaction tests for your
|
13
|
+
* application. See the manual for details:
|
14
|
+
* {@link http://manual.qooxdoo.org/3.0.1/pages/development/simulator.html}
|
15
|
+
*/
|
16
|
+
qx.Class.define("frontend.simulation.DemoSimulation", {
|
17
|
+
|
18
|
+
extend : simulator.unit.TestCase,
|
19
|
+
|
20
|
+
members :
|
21
|
+
{
|
22
|
+
/*
|
23
|
+
---------------------------------------------------------------------------
|
24
|
+
TESTS
|
25
|
+
---------------------------------------------------------------------------
|
26
|
+
*/
|
27
|
+
|
28
|
+
/** Check if a widget is present (part of the DOM) */
|
29
|
+
testButtonPresent : function()
|
30
|
+
{
|
31
|
+
this.assertNotNull(this.getSimulation().getWidgetOrNull("qxh=qx.ui.form.Button"), "Button widget not present!");
|
32
|
+
},
|
33
|
+
|
34
|
+
/** Click a button and check if an alert box pops up */
|
35
|
+
testButtonClick : function()
|
36
|
+
{
|
37
|
+
this.getQxSelenium().qxClick("qxh=qx.ui.form.Button");
|
38
|
+
this.assertEquals("true", String(this.getQxSelenium().isAlertPresent()));
|
39
|
+
}
|
40
|
+
}
|
41
|
+
|
42
|
+
});
|
@@ -0,0 +1,55 @@
|
|
1
|
+
/* ************************************************************************
|
2
|
+
|
3
|
+
Copyright:
|
4
|
+
|
5
|
+
License:
|
6
|
+
|
7
|
+
Authors:
|
8
|
+
|
9
|
+
************************************************************************ */
|
10
|
+
|
11
|
+
/**
|
12
|
+
* This class demonstrates how to define unit tests for your application.
|
13
|
+
*
|
14
|
+
* Execute <code>generate.py test</code> to generate a testrunner application
|
15
|
+
* and open it from <tt>test/index.html</tt>
|
16
|
+
*
|
17
|
+
* The methods that contain the tests are instance methods with a
|
18
|
+
* <code>test</code> prefix. You can create an arbitrary number of test
|
19
|
+
* classes like this one. They can be organized in a regular class hierarchy,
|
20
|
+
* i.e. using deeper namespaces and a corresponding file structure within the
|
21
|
+
* <tt>test</tt> folder.
|
22
|
+
*/
|
23
|
+
qx.Class.define("frontend.test.DemoTest",
|
24
|
+
{
|
25
|
+
extend : qx.dev.unit.TestCase,
|
26
|
+
|
27
|
+
members :
|
28
|
+
{
|
29
|
+
/*
|
30
|
+
---------------------------------------------------------------------------
|
31
|
+
TESTS
|
32
|
+
---------------------------------------------------------------------------
|
33
|
+
*/
|
34
|
+
|
35
|
+
/**
|
36
|
+
* Here are some simple tests
|
37
|
+
*/
|
38
|
+
testSimple : function()
|
39
|
+
{
|
40
|
+
this.assertEquals(4, 3+1, "This should never fail!");
|
41
|
+
this.assertFalse(false, "Can false be true?!");
|
42
|
+
},
|
43
|
+
|
44
|
+
/**
|
45
|
+
* Here are some more advanced tests
|
46
|
+
*/
|
47
|
+
testAdvanced: function ()
|
48
|
+
{
|
49
|
+
var a = 3;
|
50
|
+
var b = a;
|
51
|
+
this.assertIdentical(a, b, "A rose by any other name is still a rose");
|
52
|
+
this.assertInRange(3, 1, 10, "You must be kidding, 3 can never be outside [1,10]!");
|
53
|
+
}
|
54
|
+
}
|
55
|
+
});
|
@@ -0,0 +1,18 @@
|
|
1
|
+
/* ************************************************************************
|
2
|
+
|
3
|
+
Copyright:
|
4
|
+
|
5
|
+
License:
|
6
|
+
|
7
|
+
Authors:
|
8
|
+
|
9
|
+
************************************************************************ */
|
10
|
+
|
11
|
+
qx.Theme.define("frontend.theme.Appearance",
|
12
|
+
{
|
13
|
+
extend : qx.theme.modern.Appearance,
|
14
|
+
|
15
|
+
appearances :
|
16
|
+
{
|
17
|
+
}
|
18
|
+
});
|
@@ -0,0 +1,18 @@
|
|
1
|
+
/* ************************************************************************
|
2
|
+
|
3
|
+
Copyright:
|
4
|
+
|
5
|
+
License:
|
6
|
+
|
7
|
+
Authors:
|
8
|
+
|
9
|
+
************************************************************************ */
|
10
|
+
|
11
|
+
qx.Theme.define("frontend.theme.Color",
|
12
|
+
{
|
13
|
+
extend : qx.theme.modern.Color,
|
14
|
+
|
15
|
+
colors :
|
16
|
+
{
|
17
|
+
}
|
18
|
+
});
|
@@ -0,0 +1,18 @@
|
|
1
|
+
/* ************************************************************************
|
2
|
+
|
3
|
+
Copyright:
|
4
|
+
|
5
|
+
License:
|
6
|
+
|
7
|
+
Authors:
|
8
|
+
|
9
|
+
************************************************************************ */
|
10
|
+
|
11
|
+
qx.Theme.define("frontend.theme.Decoration",
|
12
|
+
{
|
13
|
+
extend : qx.theme.modern.Decoration,
|
14
|
+
|
15
|
+
decorations :
|
16
|
+
{
|
17
|
+
}
|
18
|
+
});
|
@@ -0,0 +1,18 @@
|
|
1
|
+
/* ************************************************************************
|
2
|
+
|
3
|
+
Copyright:
|
4
|
+
|
5
|
+
License:
|
6
|
+
|
7
|
+
Authors:
|
8
|
+
|
9
|
+
************************************************************************ */
|
10
|
+
|
11
|
+
qx.Theme.define("frontend.theme.Font",
|
12
|
+
{
|
13
|
+
extend : qx.theme.modern.Font,
|
14
|
+
|
15
|
+
fonts :
|
16
|
+
{
|
17
|
+
}
|
18
|
+
});
|
@@ -0,0 +1,21 @@
|
|
1
|
+
/* ************************************************************************
|
2
|
+
|
3
|
+
Copyright:
|
4
|
+
|
5
|
+
License:
|
6
|
+
|
7
|
+
Authors:
|
8
|
+
|
9
|
+
************************************************************************ */
|
10
|
+
|
11
|
+
qx.Theme.define("frontend.theme.Theme",
|
12
|
+
{
|
13
|
+
meta :
|
14
|
+
{
|
15
|
+
color : frontend.theme.Color,
|
16
|
+
decoration : frontend.theme.Decoration,
|
17
|
+
font : frontend.theme.Font,
|
18
|
+
icon : qx.theme.icon.Tango,
|
19
|
+
appearance : frontend.theme.Appearance
|
20
|
+
}
|
21
|
+
});
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=4.0; user-scalable=1;"/>
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
6
|
+
<title>Frontend</title>
|
7
|
+
<script type="text/javascript" src="/source/class/frontend/globals.js"></script>
|
8
|
+
<script type="text/javascript" src="script/frontend.js?md5sum_frontend"></script>
|
9
|
+
</head>
|
10
|
+
<body></body>
|
11
|
+
</html>
|
Binary file
|
@@ -0,0 +1,264 @@
|
|
1
|
+
# To change this template, choose Tools | Templates
|
2
|
+
# and open the template in the editor.
|
3
|
+
require 'observer'
|
4
|
+
|
5
|
+
class ConfigBases < Entities
|
6
|
+
include Observable
|
7
|
+
|
8
|
+
def setup_data
|
9
|
+
value_block :wide
|
10
|
+
value_list :functions, 'ConfigBases.list_functions'
|
11
|
+
value_str :dputs_logfile
|
12
|
+
value_text :welcome_text
|
13
|
+
|
14
|
+
value_block :narrow
|
15
|
+
value_str :locale_force
|
16
|
+
value_str :version_local
|
17
|
+
value_str :use_printing
|
18
|
+
value_list_drop :openprint_simul, '%w(true false)'
|
19
|
+
value_str :openprint_search
|
20
|
+
value_int :debug_lvl
|
21
|
+
value_list_drop :dputs_show_time, '%w(false min sec)'
|
22
|
+
value_list_drop :dputs_silent, '%w(false true)'
|
23
|
+
value_int :dputs_terminal_width
|
24
|
+
value_int :block_size
|
25
|
+
value_int :max_upload_size
|
26
|
+
|
27
|
+
@@functions = []
|
28
|
+
@@functions_base = {}
|
29
|
+
@@functions_conflict = []
|
30
|
+
|
31
|
+
respond_to? :add_config and add_config
|
32
|
+
|
33
|
+
return true
|
34
|
+
end
|
35
|
+
|
36
|
+
def migration_1(c)
|
37
|
+
c._debug_lvl = DEBUG_LVL
|
38
|
+
c._locale_force = 'fr'
|
39
|
+
c._version_local = 'orig'
|
40
|
+
c._welcome_text = 'Welcome to Profeda'
|
41
|
+
# Values for slow, buggy lines. For a good transfer-rate, choose 16x more
|
42
|
+
c._block_size = 4096
|
43
|
+
c._max_upload_size = 65_536
|
44
|
+
c.dputs_logfile = '/var/log/gestion/events.log'
|
45
|
+
c.dputs_show_time = %w(min)
|
46
|
+
c.dputs_silent = %w(false)
|
47
|
+
c.dputs_terminal_width = 160
|
48
|
+
c.openprint_simul = %w(false)
|
49
|
+
c.openprint_search = '.*'
|
50
|
+
|
51
|
+
dputs(3) { "Migrating out: #{c.inspect}" }
|
52
|
+
end
|
53
|
+
|
54
|
+
def call_changed(action, value, old)
|
55
|
+
ConfigBases.singleton.update(action, value, old)
|
56
|
+
changed
|
57
|
+
notify_observers(action, value, old)
|
58
|
+
end
|
59
|
+
|
60
|
+
def functions
|
61
|
+
@@functions
|
62
|
+
end
|
63
|
+
|
64
|
+
def functions_base
|
65
|
+
@@functions_base
|
66
|
+
end
|
67
|
+
|
68
|
+
def functions_conflict
|
69
|
+
@@functions_conflict
|
70
|
+
end
|
71
|
+
|
72
|
+
def list_functions
|
73
|
+
self.list_functions
|
74
|
+
end
|
75
|
+
|
76
|
+
def init
|
77
|
+
Entities.ConfigBases.load
|
78
|
+
ConfigBases.singleton
|
79
|
+
ConfigBases.migrate
|
80
|
+
end
|
81
|
+
|
82
|
+
def self.singleton
|
83
|
+
first or
|
84
|
+
self.create({:functions => [], :locale_force => nil, :welcome_msg => ''})
|
85
|
+
end
|
86
|
+
|
87
|
+
def self.list_functions
|
88
|
+
index = 0
|
89
|
+
@@functions.collect { |f|
|
90
|
+
index += 1
|
91
|
+
[index, f.to_sym]
|
92
|
+
}
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
|
97
|
+
class ConfigBase < Entity
|
98
|
+
def setup_instance
|
99
|
+
dputs(4) { "Setting up ConfigBase with debug_lvl = #{debug_lvl}" }
|
100
|
+
if !Object.const_defined? :DEBUG_LVL
|
101
|
+
self.debug_lvl = debug_lvl
|
102
|
+
end
|
103
|
+
DPuts.silent = dputs_silent == %w(true)
|
104
|
+
DPuts.show_time = (dputs_show_time || %w(min)).first
|
105
|
+
DPuts.terminal_width = (dputs_terminal_width || 160).to_i
|
106
|
+
is_loading { setup_defaults }
|
107
|
+
end
|
108
|
+
|
109
|
+
def setup_defaults
|
110
|
+
end
|
111
|
+
|
112
|
+
def is_loading
|
113
|
+
oldloading = @loading
|
114
|
+
@loading = true
|
115
|
+
yield
|
116
|
+
@loading = oldloading
|
117
|
+
end
|
118
|
+
|
119
|
+
def data_set(field, value)
|
120
|
+
old = data_get(field)
|
121
|
+
ret = super(field, value)
|
122
|
+
if !@loading
|
123
|
+
return if old == value
|
124
|
+
dputs(3) { "Updating #{field} to #{value.inspect}, #{old.inspect}" }
|
125
|
+
if field == :functions
|
126
|
+
if (del = old - value).length > 0
|
127
|
+
@proxy.call_changed(:function_del, del, nil)
|
128
|
+
end
|
129
|
+
if (add = value - old).length > 0
|
130
|
+
@proxy.call_changed(:function_add, add, nil)
|
131
|
+
end
|
132
|
+
else
|
133
|
+
@proxy.call_changed(field, value, old)
|
134
|
+
end
|
135
|
+
end
|
136
|
+
ret
|
137
|
+
end
|
138
|
+
|
139
|
+
def update(action, value, old = nil)
|
140
|
+
dputs(3) { "No action #{action.inspect} changed to #{value.inspect} from #{old.inspect}" }
|
141
|
+
#super(action, value, old)
|
142
|
+
end
|
143
|
+
|
144
|
+
def save_block_to_object(block, obj)
|
145
|
+
dputs(3) { "Pushing block #{block} to object #{obj.name}" }
|
146
|
+
ConfigBases.get_block_fields(block).each { |f|
|
147
|
+
value = data_get(f)
|
148
|
+
dputs(3) { "Setting #{f} in #{block} to #{value}" }
|
149
|
+
obj.send("#{f}=", value)
|
150
|
+
}
|
151
|
+
end
|
152
|
+
|
153
|
+
def debug_lvl=(lvl)
|
154
|
+
dputs(4) { "Setting debug-lvl to #{lvl}" }
|
155
|
+
data_set(:_debug_lvl, lvl.to_i)
|
156
|
+
Object.const_defined?(:DEBUG_LVL) and Object.send(:remove_const, :DEBUG_LVL)
|
157
|
+
Object.const_set(:DEBUG_LVL, lvl.to_i)
|
158
|
+
end
|
159
|
+
|
160
|
+
def dputs_show_time=(t)
|
161
|
+
DPuts.show_time = (self._dputs_show_time = t).first
|
162
|
+
end
|
163
|
+
|
164
|
+
def dputs_silent=(s)
|
165
|
+
DPuts.silent = (self._dputs_silent = s) == %w(true)
|
166
|
+
end
|
167
|
+
|
168
|
+
def dputs_terminal_width=(w)
|
169
|
+
DPuts.terminal_width = (self._dputs_terminal_width = w).to_i
|
170
|
+
end
|
171
|
+
|
172
|
+
def to_hash
|
173
|
+
super.merge(:functions => get_functions_numeric)
|
174
|
+
end
|
175
|
+
|
176
|
+
def get_functions
|
177
|
+
functions.to_sym
|
178
|
+
end
|
179
|
+
|
180
|
+
def get_functions_numeric
|
181
|
+
functions.collect { |f|
|
182
|
+
@proxy.functions.index(f.to_sym) + 1
|
183
|
+
}
|
184
|
+
end
|
185
|
+
|
186
|
+
def self.get_functions
|
187
|
+
ConfigBases.singleton.get_functions
|
188
|
+
end
|
189
|
+
|
190
|
+
def self.get_functions_numeric
|
191
|
+
ConfigBases.singleton.get_functions_numeric
|
192
|
+
end
|
193
|
+
|
194
|
+
def self.store(c = {})
|
195
|
+
#dputs_func
|
196
|
+
if c.has_key? :functions
|
197
|
+
funcs = c._functions
|
198
|
+
dputs(4) { "Storing functions: #{funcs.inspect}" }
|
199
|
+
if funcs.index { |i| i.to_s.to_i.to_s == i.to_s }
|
200
|
+
dputs(3) { 'Converting numeric to names' }
|
201
|
+
funcs = funcs.collect { |d|
|
202
|
+
ConfigBases.functions[d-1].to_sym
|
203
|
+
}
|
204
|
+
else
|
205
|
+
funcs.to_sym!
|
206
|
+
end
|
207
|
+
funcs.each { |f|
|
208
|
+
ConfigBases.functions_base.each { |k, v|
|
209
|
+
if v.index(f)
|
210
|
+
dputs(2) { "Adding #{k.inspect} to #{f}" }
|
211
|
+
funcs.push k.to_sym
|
212
|
+
end
|
213
|
+
}
|
214
|
+
}
|
215
|
+
funcs.flatten!
|
216
|
+
ConfigBases.functions_conflict.each { |f|
|
217
|
+
dputs(4) { "Testing conflict of #{f}" }
|
218
|
+
list = f.collect { |g|
|
219
|
+
funcs.index(g)
|
220
|
+
}.select { |l| l }.sort
|
221
|
+
dputs(4) { "List is #{list.inspect}" }
|
222
|
+
if list.length > 1
|
223
|
+
list.pop
|
224
|
+
dputs(4) { "Deleting #{list.inspect}" }
|
225
|
+
list.each { |l| funcs.delete_at(l) }
|
226
|
+
end
|
227
|
+
}
|
228
|
+
c[:functions] = funcs
|
229
|
+
end
|
230
|
+
dputs(4) { "Storing #{c.inspect}" }
|
231
|
+
ConfigBases.singleton.data_set_hash(c)
|
232
|
+
ConfigBase.setup_defaults
|
233
|
+
View.update_configured_all
|
234
|
+
end
|
235
|
+
|
236
|
+
def self.method_missing(m, *args)
|
237
|
+
dputs(4) { "#{m} - #{args.inspect} - #{ConfigBases.singleton.inspect}" }
|
238
|
+
if args.length > 0
|
239
|
+
ConfigBases.singleton.send(m, *args)
|
240
|
+
else
|
241
|
+
ConfigBases.singleton.send(m)
|
242
|
+
end
|
243
|
+
end
|
244
|
+
|
245
|
+
def self.respond_to?(cmd)
|
246
|
+
ConfigBases.singleton.respond_to?(cmd)
|
247
|
+
end
|
248
|
+
|
249
|
+
def self.has_function?(func)
|
250
|
+
ConfigBase.get_functions.index(func.to_sym) != nil
|
251
|
+
end
|
252
|
+
|
253
|
+
def self.set_functions(func)
|
254
|
+
self.store({:functions => func.collect{|f| f.to_sym}})
|
255
|
+
end
|
256
|
+
|
257
|
+
def self.add_function(func)
|
258
|
+
self.store({:functions => self.get_functions.push(func.to_sym)})
|
259
|
+
end
|
260
|
+
|
261
|
+
def self.del_function(func)
|
262
|
+
self.store({:functions => self.get_functions.reject { |f| f == func.to_sym }})
|
263
|
+
end
|
264
|
+
end
|
@@ -0,0 +1,222 @@
|
|
1
|
+
# This will be the only InterCenterCommunication-point to "Gestion"
|
2
|
+
# TODO
|
3
|
+
# - secure connection
|
4
|
+
# Implemented:
|
5
|
+
# - simple get-function
|
6
|
+
# - longer post-function
|
7
|
+
# - put json around everything
|
8
|
+
require 'cgi'
|
9
|
+
require 'net/http'
|
10
|
+
#require 'helper_classes/hashaccessor'
|
11
|
+
|
12
|
+
class ICC < RPCQooxdooPath
|
13
|
+
@@transfers = {}
|
14
|
+
|
15
|
+
def self.response(code, msg, json: true)
|
16
|
+
if json
|
17
|
+
{code: code, msg: msg}.to_json
|
18
|
+
else
|
19
|
+
{code: code, msg: msg}
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.parse_req(req)
|
24
|
+
#dputs(4) { "Request: #{req.inspect}" }
|
25
|
+
#dputs_func
|
26
|
+
if req.request_method == 'POST'
|
27
|
+
path, query, addr = req.path, req.query.to_sym, RPCQooxdooHandler.get_ip(req)
|
28
|
+
dputs(4) { "Got query: #{path} - #{query.inspect} - #{addr}" }
|
29
|
+
|
30
|
+
if query._cmdkey == 'start'
|
31
|
+
log_msg :ICC, "Got start-query: #{path} - #{query.inspect} - #{addr}"
|
32
|
+
d = JSON.parse(query._data).to_sym
|
33
|
+
dputs(3) { "d is #{d.inspect}" }
|
34
|
+
if (user = Persons.match_by_login_name(d._user)) and
|
35
|
+
(user.check_pass(d._pass))
|
36
|
+
@@transfers[d._tid] = d.merge(:data => [])
|
37
|
+
d._chunks > 0 and return self.response('OK', 'send data')
|
38
|
+
query._cmdkey = d._tid
|
39
|
+
query._data = []
|
40
|
+
else
|
41
|
+
dputs(3) { "User #{d._user.inspect} with pass #{d._pass.inspect} unknown" }
|
42
|
+
return self.response('Error', 'authentication')
|
43
|
+
end
|
44
|
+
end
|
45
|
+
if tr = @@transfers[query._cmdkey]
|
46
|
+
counter = query._counter.to_i
|
47
|
+
dputs(2) { "Found transfer-id #{query._cmdkey}/"+
|
48
|
+
"#{counter+1}/#{tr._chunks} - #{tr._method}" }
|
49
|
+
if tr._data[counter]
|
50
|
+
dputs(1) { "Received block #{counter} double - discarding" }
|
51
|
+
else
|
52
|
+
tr._data[counter] = query._data
|
53
|
+
if counter == tr._chunks - 1
|
54
|
+
tr._data = tr._data.join
|
55
|
+
if Digest::MD5.hexdigest(tr._data) == tr._md5
|
56
|
+
dputs(1) { "Successfully received cmdkey #{query._cmdkey}" }
|
57
|
+
ret = self.response('OK', self.data_received(tr))
|
58
|
+
else
|
59
|
+
dputs(1) { "cmdkey #{tr._cmdkey} transmitted with errors, " +
|
60
|
+
"#{Digest::MD5.hexdigest(tr._data)} instead of #{tr._md5}" }
|
61
|
+
ret = self.response('Error', 'wrong MD5')
|
62
|
+
end
|
63
|
+
@@transfers.delete query._cmdkey
|
64
|
+
return ret
|
65
|
+
else
|
66
|
+
return self.response('OK', "send #{tr._chunks - counter - 1} more chunks")
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
return self.response('Error', 'must start or use existing cmdkey')
|
71
|
+
else # GET-request
|
72
|
+
path = /.*\/([^\/]*)\/([^\/]*)$/.match(req.path)
|
73
|
+
dputs(3) { "Path #{req.path} is #{path.inspect}" }
|
74
|
+
query = CGI.parse(req.query_string)
|
75
|
+
log_msg :ICC, "Got query: #{path.inspect} - #{query}"
|
76
|
+
ret = ICC.request(path[1], path[2], query)
|
77
|
+
if ret.to_s.length < 512
|
78
|
+
log_msg :ICC, "Returning #{ret}"
|
79
|
+
else
|
80
|
+
log_msg :ICC, "Returning #{JSON.parse(ret)._code}: #{ret.to_s.length} bytes"
|
81
|
+
end
|
82
|
+
ret
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
def self.request(entity_name, m, query_json)
|
87
|
+
m =~ /^icc_/ and log_msg :ICC, "Method #{m} includes 'icc_' - probably not what you want"
|
88
|
+
binary = m[0] == '_'
|
89
|
+
method = "icc_#{m.sub(/^_/, '')}"
|
90
|
+
if en = Object.const_get(entity_name)
|
91
|
+
dputs(3) { "Sending #{method} to #{entity_name}" }
|
92
|
+
query={}
|
93
|
+
begin
|
94
|
+
query_json.each_pair { |k, v| query[k] = JSON.parse(v.first) }
|
95
|
+
rescue JSON::ParserError => e
|
96
|
+
dputs(0) { "Error parsing #{query_json}" }
|
97
|
+
dputs(0) { "#{e.inspect}" }
|
98
|
+
dputs(0) { "#{caller.inspect}" }
|
99
|
+
return self.response('Error', log_msg(:ICC, "Object couldn't be parsed"))
|
100
|
+
end
|
101
|
+
dputs(3) { "Found query #{query.inspect}" }
|
102
|
+
if query.has_key?('icc_data')
|
103
|
+
query = query._icc_data
|
104
|
+
dputs(3) { "Found icc_data in query, is now: #{query.inspect}" }
|
105
|
+
end
|
106
|
+
msg = en.send(method, query)
|
107
|
+
if msg =~ /^Error:/
|
108
|
+
self.response('Error', msg)
|
109
|
+
else
|
110
|
+
self.response('OK', binary ? Base64::encode64(msg.force_encoding(Encoding::ASCII_8BIT)) :
|
111
|
+
msg)
|
112
|
+
end
|
113
|
+
else
|
114
|
+
self.response('Error', log_msg(:ICC, "Object #{entity_name} doesn't exist"))
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
118
|
+
def self.data_received(tr)
|
119
|
+
if tr._method.sub!(/^json@/, '')
|
120
|
+
tr._data = JSON.parse(tr._data).first
|
121
|
+
end
|
122
|
+
entity_name, m = tr._method.split('.')
|
123
|
+
method = "icc_#{m}"
|
124
|
+
Object.const_get(entity_name)
|
125
|
+
if en = Object.const_get(entity_name) # and en.respond_to? method
|
126
|
+
dputs(3) { "Sending #{method} to #{entity_name}" }
|
127
|
+
en.send(method, tr)
|
128
|
+
else
|
129
|
+
log_msg :ICC, "Error: Object #{entity_name} has no method #{method}"
|
130
|
+
end
|
131
|
+
end
|
132
|
+
|
133
|
+
def self.send_post(url, cmdkey, data, counter: 0, retries: 4)
|
134
|
+
path = URI.parse(url)
|
135
|
+
post = {:cmdkey => cmdkey, :data => data, :counter => counter}
|
136
|
+
dputs(3) { "Sending to #{path.inspect}: #{cmdkey}/#{count}" }
|
137
|
+
err = self.response('Error', 'Unknown', json: false)
|
138
|
+
(1..retries).each { |i|
|
139
|
+
begin
|
140
|
+
ret = Net::HTTP.post_form(path, post)
|
141
|
+
dputs(2) { "Return-value is #{ret.inspect}, #{ret.message}, #{ret.code}, body is #{ret.body}" }
|
142
|
+
if ret.code.to_i == 200
|
143
|
+
begin
|
144
|
+
return JSON.parse(ret.body)
|
145
|
+
rescue JSON::ParserError
|
146
|
+
dputs(1) { "Couldn't parse #{ret.body}" }
|
147
|
+
err._msg = 'Reply parse-error'
|
148
|
+
sleep 5
|
149
|
+
end
|
150
|
+
else
|
151
|
+
dputs(1) { "Error-reply was #{ret.inspect}" }
|
152
|
+
err._msg = "Error: #{ret.code}:#{ret.message}"
|
153
|
+
sleep 5
|
154
|
+
end
|
155
|
+
rescue Timeout::Error
|
156
|
+
dputs(1) { 'Timeout occured' }
|
157
|
+
err._msg = 'Timeout occured'
|
158
|
+
rescue Errno::ECONNRESET
|
159
|
+
dputs(1) { 'Connection reset' }
|
160
|
+
err._msg = 'Connection reset'
|
161
|
+
end
|
162
|
+
}
|
163
|
+
return err
|
164
|
+
end
|
165
|
+
|
166
|
+
def self.transfer(login, method, transfer = '', url: ConfigBase.server_uri, json: true,
|
167
|
+
&percent)
|
168
|
+
block_size = ConfigBase.block_size.to_i
|
169
|
+
if block_size < 128
|
170
|
+
dputs(0) { "Unacceptable block-size of #{block_size}" }
|
171
|
+
return self.response('Error', 'No block-size', json: false)
|
172
|
+
end
|
173
|
+
if json
|
174
|
+
method.prepend 'json@'
|
175
|
+
transfer = [transfer].to_json
|
176
|
+
end
|
177
|
+
|
178
|
+
transfer_md5 = Digest::MD5.hexdigest(transfer)
|
179
|
+
t_array = []
|
180
|
+
while t_array.length * block_size < transfer.length
|
181
|
+
start = (block_size * t_array.length)
|
182
|
+
t_array.push transfer[start..(start+block_size -1)]
|
183
|
+
end
|
184
|
+
dputs(2) { "Transfer-size is #{transfer.size} and cut up in "+
|
185
|
+
"#{t_array.size} pieces of #{block_size} length" }
|
186
|
+
|
187
|
+
dputs(3) { "Going to transfer: #{t_array.inspect}" }
|
188
|
+
percent and percent.call('0%')
|
189
|
+
tid = Digest::MD5.hexdigest(rand.to_s)
|
190
|
+
ret = ICC.send_post(url, :start,
|
191
|
+
{:method => method, :chunks => t_array.length,
|
192
|
+
:md5 => transfer_md5, :tid => tid,
|
193
|
+
:user => login.login_name, :pass => login.password_plain}.to_json)
|
194
|
+
return ret if ret._code == 'Error'
|
195
|
+
t_array.each_index { |i|
|
196
|
+
if percent
|
197
|
+
p = "#{((i+1) * 100 / t_array.length).floor}%"
|
198
|
+
percent.call p
|
199
|
+
dputs(3) { "Percentage done: #{p}" }
|
200
|
+
end
|
201
|
+
dputs(2) { "Sending id #{tid}/#{i+1}" }
|
202
|
+
ret = ICC.send_post(url, tid, t_array[i], counter: i)
|
203
|
+
return ret if ret =~ /^Error:/
|
204
|
+
}
|
205
|
+
return ret
|
206
|
+
end
|
207
|
+
|
208
|
+
def self.get(entity_name, method, args: {}, url: ConfigBase.server_uri)
|
209
|
+
args_json = {icc_data: args.to_json}
|
210
|
+
path = URI.parse("#{url}/#{entity_name}/#{method}?#{URI.encode_www_form(args_json)}")
|
211
|
+
begin
|
212
|
+
ret = JSON::parse(Net::HTTP.get(path))
|
213
|
+
method[0] == '_' and ret._msg = Base64::decode64(ret._msg)
|
214
|
+
ret
|
215
|
+
rescue JSON::ParserError => e
|
216
|
+
{code: 'error', msg: "error: #{e}"}
|
217
|
+
rescue SocketError => e
|
218
|
+
{code: 'error', msg: "Error: timeout #{e}"}
|
219
|
+
end
|
220
|
+
end
|
221
|
+
|
222
|
+
end
|