rsence-pre 2.1.0.1.pre
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.yardopts +10 -0
- data/INSTALL.rdoc +330 -0
- data/LICENSE.txt +622 -0
- data/README.rdoc +98 -0
- data/VERSION +1 -0
- data/bin/rsence +25 -0
- data/bin/rsence-pre +25 -0
- data/conf/default_conf.yaml +346 -0
- data/conf/default_strings.yaml +76 -0
- data/conf/rsence_command_strings.yaml +444 -0
- data/docs/ExampleGuiPlugin.rdoc +193 -0
- data/docs/JavascriptBundles.rdoc +0 -0
- data/docs/PluginBundleInfo.rdoc +173 -0
- data/docs/PluginBundles.rdoc +96 -0
- data/docs/Values.rdoc +163 -0
- data/js/comm/autosync/autosync.js +17 -0
- data/js/comm/autosync/js.inc +0 -0
- data/js/comm/comm.js +203 -0
- data/js/comm/js.inc +0 -0
- data/js/comm/jsloader/js.inc +0 -0
- data/js/comm/jsloader/jsloader.js +112 -0
- data/js/comm/queue/js.inc +0 -0
- data/js/comm/queue/queue.js +184 -0
- data/js/comm/session/js.inc +0 -0
- data/js/comm/session/session.js +52 -0
- data/js/comm/sessionwatcher/js.inc +0 -0
- data/js/comm/sessionwatcher/sessionwatcher.js +44 -0
- data/js/comm/transporter/js.inc +0 -0
- data/js/comm/transporter/transporter.js +261 -0
- data/js/comm/urlresponder/js.inc +0 -0
- data/js/comm/urlresponder/urlresponder.js +149 -0
- data/js/comm/values/js.inc +0 -0
- data/js/comm/values/values.js +433 -0
- data/js/controls/button/button.js +72 -0
- data/js/controls/button/js.inc +0 -0
- data/js/controls/button/themes/bright/button.css +89 -0
- data/js/controls/button/themes/bright/button.html +7 -0
- data/js/controls/button/themes/bright/button_parts1-ie6.gif +0 -0
- data/js/controls/button/themes/bright/button_parts1.png +0 -0
- data/js/controls/button/themes/default/button.css +89 -0
- data/js/controls/button/themes/default/button.html +7 -0
- data/js/controls/button/themes/default/button_parts1-ie6.gif +0 -0
- data/js/controls/button/themes/default/button_parts1.png +0 -0
- data/js/controls/checkbox/checkbox.js +49 -0
- data/js/controls/checkbox/js.inc +0 -0
- data/js/controls/checkbox/themes/default/checkbox.css +69 -0
- data/js/controls/checkbox/themes/default/checkbox.html +5 -0
- data/js/controls/checkbox/themes/default/checkbox_parts1-ie6.gif +0 -0
- data/js/controls/checkbox/themes/default/checkbox_parts1.png +0 -0
- data/js/controls/dialogs/alert_sheet/alert_sheet.js +63 -0
- data/js/controls/dialogs/alert_sheet/js.inc +0 -0
- data/js/controls/dialogs/confirm_sheet/confirm_sheet.js +37 -0
- data/js/controls/dialogs/confirm_sheet/js.inc +0 -0
- data/js/controls/dialogs/sheet/js.inc +0 -0
- data/js/controls/dialogs/sheet/sheet.js +84 -0
- data/js/controls/dialogs/sheet/themes/default/sheet.css +64 -0
- data/js/controls/dialogs/sheet/themes/default/sheet.html +14 -0
- data/js/controls/dialogs/sheet/themes/default/sheet_bg-ie6.gif +0 -0
- data/js/controls/dialogs/sheet/themes/default/sheet_bg.png +0 -0
- data/js/controls/dialogs/sheet/themes/default/sheet_dim-ie6.gif +0 -0
- data/js/controls/dialogs/sheet/themes/default/sheet_dim.png +0 -0
- data/js/controls/dialogs/sheet/themes/default/sheet_parts1-ie6.gif +0 -0
- data/js/controls/dialogs/sheet/themes/default/sheet_parts1.png +0 -0
- data/js/controls/dialogs/sheet/themes/default/sheet_parts2-ie6.gif +0 -0
- data/js/controls/dialogs/sheet/themes/default/sheet_parts2.png +0 -0
- data/js/controls/dialogs/sheet/themes/default/sheet_warning-ie6.gif +0 -0
- data/js/controls/dialogs/sheet/themes/default/sheet_warning.png +0 -0
- data/js/controls/imageview/imageview.js +109 -0
- data/js/controls/imageview/js.inc +0 -0
- data/js/controls/imageview/themes/default/blank.gif +0 -0
- data/js/controls/passwordcontrol/js.inc +0 -0
- data/js/controls/passwordcontrol/passwordcontrol.js +23 -0
- data/js/controls/passwordcontrol/themes/default/passwordcontrol.css +0 -0
- data/js/controls/passwordcontrol/themes/default/passwordcontrol.html +18 -0
- data/js/controls/progress/progressbar/js.inc +0 -0
- data/js/controls/progress/progressbar/progressbar.js +40 -0
- data/js/controls/progress/progressbar/themes/default/progressbar.css +16 -0
- data/js/controls/progress/progressbar/themes/default/progressbar.html +2 -0
- data/js/controls/progress/progressindicator/js.inc +0 -0
- data/js/controls/progress/progressindicator/progressindicator.js +44 -0
- data/js/controls/radiobutton/js.inc +0 -0
- data/js/controls/radiobutton/radiobutton.js +43 -0
- data/js/controls/radiobutton/themes/default/radiobutton.css +69 -0
- data/js/controls/radiobutton/themes/default/radiobutton.html +5 -0
- data/js/controls/radiobutton/themes/default/radiobutton_parts1-ie6.gif +0 -0
- data/js/controls/radiobutton/themes/default/radiobutton_parts1.png +0 -0
- data/js/controls/sliders/slider/js.inc +0 -0
- data/js/controls/sliders/slider/slider.js +357 -0
- data/js/controls/sliders/slider/themes/default/hslider_tracks-ie6.gif +0 -0
- data/js/controls/sliders/slider/themes/default/hslider_tracks.png +0 -0
- data/js/controls/sliders/slider/themes/default/slider.css +108 -0
- data/js/controls/sliders/slider/themes/default/slider.html +5 -0
- data/js/controls/sliders/slider/themes/default/slider_thumbs-ie6.gif +0 -0
- data/js/controls/sliders/slider/themes/default/slider_thumbs.png +0 -0
- data/js/controls/sliders/vslider/js.inc +0 -0
- data/js/controls/sliders/vslider/themes/default/vslider.css +52 -0
- data/js/controls/sliders/vslider/themes/default/vslider.html +5 -0
- data/js/controls/sliders/vslider/themes/default/vslider_tracks-ie6.gif +0 -0
- data/js/controls/sliders/vslider/themes/default/vslider_tracks.png +0 -0
- data/js/controls/sliders/vslider/vslider.js +41 -0
- data/js/controls/stepper/js.inc +0 -0
- data/js/controls/stepper/stepper.js +213 -0
- data/js/controls/stepper/themes/default/stepper-ie6.gif +0 -0
- data/js/controls/stepper/themes/default/stepper.css +14 -0
- data/js/controls/stepper/themes/default/stepper.html +2 -0
- data/js/controls/stepper/themes/default/stepper.png +0 -0
- data/js/controls/stringview/js.inc +0 -0
- data/js/controls/stringview/stringview.js +49 -0
- data/js/controls/stringview/themes/default/stringview.css +8 -0
- data/js/controls/stringview/themes/default/stringview.html +1 -0
- data/js/controls/tab/js.inc +0 -0
- data/js/controls/tab/tab.js +280 -0
- data/js/controls/tab/themes/bright/tab.css +76 -0
- data/js/controls/tab/themes/bright/tab.html +6 -0
- data/js/controls/tab/themes/bright/tab_bg_color-ie6.gif +0 -0
- data/js/controls/tab/themes/bright/tab_bg_color.png +0 -0
- data/js/controls/tab/themes/bright/tab_border_pattern-ie6.gif +0 -0
- data/js/controls/tab/themes/bright/tab_border_pattern.png +0 -0
- data/js/controls/tab/themes/bright/tab_parts1-ie6.gif +0 -0
- data/js/controls/tab/themes/bright/tab_parts1.png +0 -0
- data/js/controls/tab/themes/default/tab.css +77 -0
- data/js/controls/tab/themes/default/tab.html +6 -0
- data/js/controls/tab/themes/default/tab_bg_color-ie6.gif +0 -0
- data/js/controls/tab/themes/default/tab_bg_color.png +0 -0
- data/js/controls/tab/themes/default/tab_border_pattern-ie6.gif +0 -0
- data/js/controls/tab/themes/default/tab_border_pattern.png +0 -0
- data/js/controls/tab/themes/default/tab_parts1-ie6.gif +0 -0
- data/js/controls/tab/themes/default/tab_parts1.png +0 -0
- data/js/controls/textarea/js.inc +0 -0
- data/js/controls/textarea/textarea.js +24 -0
- data/js/controls/textarea/themes/default/textarea.css +21 -0
- data/js/controls/textarea/themes/default/textarea.html +18 -0
- data/js/controls/textcontrol/js.inc +0 -0
- data/js/controls/textcontrol/textcontrol.js +374 -0
- data/js/controls/textcontrol/themes/default/textcontrol.css +107 -0
- data/js/controls/textcontrol/themes/default/textcontrol.html +18 -0
- data/js/controls/textcontrol/themes/default/textcontrol_parts1-ie6.gif +0 -0
- data/js/controls/textcontrol/themes/default/textcontrol_parts1.png +0 -0
- data/js/controls/textcontrol/themes/default/textcontrol_parts2-ie6.gif +0 -0
- data/js/controls/textcontrol/themes/default/textcontrol_parts2.png +0 -0
- data/js/controls/textcontrol/themes/default/textcontrol_parts3-ie6.gif +0 -0
- data/js/controls/textcontrol/themes/default/textcontrol_parts3.png +0 -0
- data/js/controls/uploader/js.inc +0 -0
- data/js/controls/uploader/themes/default/upload_progress.gif +0 -0
- data/js/controls/uploader/themes/default/uploader.css +108 -0
- data/js/controls/uploader/themes/default/uploader.html +27 -0
- data/js/controls/uploader/uploader.js +154 -0
- data/js/controls/validatorview/js.inc +0 -0
- data/js/controls/validatorview/themes/default/validator-ie6.gif +0 -0
- data/js/controls/validatorview/themes/default/validator.png +0 -0
- data/js/controls/validatorview/themes/default/validatorview.css +0 -0
- data/js/controls/validatorview/themes/default/validatorview.html +0 -0
- data/js/controls/validatorview/validatorview.js +62 -0
- data/js/controls/window/js.inc +0 -0
- data/js/controls/window/themes/default/window.css +219 -0
- data/js/controls/window/themes/default/window.html +17 -0
- data/js/controls/window/themes/default/window_bg_active-ie6.gif +0 -0
- data/js/controls/window/themes/default/window_bg_active.png +0 -0
- data/js/controls/window/themes/default/window_bg_inactive-ie6.gif +0 -0
- data/js/controls/window/themes/default/window_bg_inactive.png +0 -0
- data/js/controls/window/themes/default/window_buttons-ie6.gif +0 -0
- data/js/controls/window/themes/default/window_buttons.png +0 -0
- data/js/controls/window/themes/default/window_parts1-ie6.gif +0 -0
- data/js/controls/window/themes/default/window_parts1.png +0 -0
- data/js/controls/window/themes/default/window_parts2-ie6.gif +0 -0
- data/js/controls/window/themes/default/window_parts2.png +0 -0
- data/js/controls/window/window.js +286 -0
- data/js/core/class/class.js +318 -0
- data/js/core/class/js.inc +0 -0
- data/js/core/elem/elem.js +1383 -0
- data/js/core/elem/js.inc +0 -0
- data/js/core/event/event.js +153 -0
- data/js/core/event/js.inc +0 -0
- data/js/core/iefix/ie_css_element.htc +5 -0
- data/js/core/iefix/ie_css_style.htc +5 -0
- data/js/core/iefix/iefix.js +359 -0
- data/js/core/iefix/js.inc +0 -0
- data/js/core/rsence_ns/js.inc +0 -0
- data/js/core/rsence_ns/rsence_ns.js +21 -0
- data/js/datetime/calendar/calendar.js +198 -0
- data/js/datetime/calendar/js.inc +0 -0
- data/js/datetime/calendar/themes/default/calendar.css +108 -0
- data/js/datetime/calendar/themes/default/calendar.html +9 -0
- data/js/datetime/calendar/themes/default/calendar_arrows-ie6.gif +0 -0
- data/js/datetime/calendar/themes/default/calendar_arrows.png +0 -0
- data/js/datetime/datetimevalue/datetimevalue.js +247 -0
- data/js/datetime/datetimevalue/js.inc +0 -0
- data/js/datetime/timesheet/js.inc +0 -0
- data/js/datetime/timesheet/themes/default/timesheet.css +30 -0
- data/js/datetime/timesheet/themes/default/timesheet.html +2 -0
- data/js/datetime/timesheet/timesheet.js +183 -0
- data/js/datetime/timesheet_item/js.inc +0 -0
- data/js/datetime/timesheet_item/themes/default/timesheet_item.css +42 -0
- data/js/datetime/timesheet_item/themes/default/timesheet_item.html +8 -0
- data/js/datetime/timesheet_item/timesheet_item.js +248 -0
- data/js/datetime/timesheet_item_edit/js.inc +0 -0
- data/js/datetime/timesheet_item_edit/timesheet_item_edit.js +274 -0
- data/js/foundation/application/application.js +208 -0
- data/js/foundation/application/js.inc +0 -0
- data/js/foundation/control/control.js +339 -0
- data/js/foundation/control/controldefaults/controldefaults.js +56 -0
- data/js/foundation/control/controldefaults/js.inc +0 -0
- data/js/foundation/control/dummyvalue/dummyvalue.js +51 -0
- data/js/foundation/control/dummyvalue/js.inc +0 -0
- data/js/foundation/control/dyncontrol/dyncontrol.js +500 -0
- data/js/foundation/control/dyncontrol/js.inc +0 -0
- data/js/foundation/control/dyncontrol/themes/default/dyncontrol.css +0 -0
- data/js/foundation/control/dyncontrol/themes/default/dyncontrol.html +0 -0
- data/js/foundation/control/eventresponder/eventresponder.js +750 -0
- data/js/foundation/control/eventresponder/js.inc +0 -0
- data/js/foundation/control/js.inc +0 -0
- data/js/foundation/control/valuematrix/js.inc +0 -0
- data/js/foundation/control/valuematrix/valuematrix.js +135 -0
- data/js/foundation/control/valueresponder/js.inc +0 -0
- data/js/foundation/control/valueresponder/valueresponder.js +79 -0
- data/js/foundation/eventmanager/eventmanager.js +991 -0
- data/js/foundation/eventmanager/js.inc +0 -0
- data/js/foundation/geom/point/js.inc +0 -0
- data/js/foundation/geom/point/point.js +202 -0
- data/js/foundation/geom/rect/js.inc +0 -0
- data/js/foundation/geom/rect/rect.js +651 -0
- data/js/foundation/json_renderer/js.inc +0 -0
- data/js/foundation/json_renderer/json_renderer.js +246 -0
- data/js/foundation/system/js.inc +0 -0
- data/js/foundation/system/system.js +381 -0
- data/js/foundation/thememanager/js.inc +0 -0
- data/js/foundation/thememanager/thememanager.js +393 -0
- data/js/foundation/value/js.inc +0 -0
- data/js/foundation/value/value.js +183 -0
- data/js/foundation/view/js.inc +0 -0
- data/js/foundation/view/markupview/js.inc +0 -0
- data/js/foundation/view/markupview/markupview.js +114 -0
- data/js/foundation/view/morphanimation/js.inc +0 -0
- data/js/foundation/view/morphanimation/morphanimation.js +237 -0
- data/js/foundation/view/view.js +1812 -0
- data/js/foundation/view/viewdefaults/js.inc +0 -0
- data/js/foundation/view/viewdefaults/viewdefaults.js +26 -0
- data/js/lists/checkboxlist/checkboxlist.js +171 -0
- data/js/lists/checkboxlist/js.inc +0 -0
- data/js/lists/listitems/js.inc +0 -0
- data/js/lists/listitems/listitems.js +88 -0
- data/js/lists/propertylist/js.inc +0 -0
- data/js/lists/propertylist/propertylist.js +326 -0
- data/js/lists/radiobuttonlist/js.inc +0 -0
- data/js/lists/radiobuttonlist/radiobuttonlist.js +116 -0
- data/js/util/reloadapp/js.inc +0 -0
- data/js/util/reloadapp/reloadapp.js +152 -0
- data/js/util/reloadapp/themes/default/reloadapp_warning-ie6.gif +0 -0
- data/js/util/reloadapp/themes/default/reloadapp_warning.png +0 -0
- data/js/util/sha/js.inc +0 -0
- data/js/util/sha/sha.js +426 -0
- data/js/views/centerview/centerview.js +75 -0
- data/js/views/centerview/js.inc +0 -0
- data/js/views/inlineview/inlineview.js +15 -0
- data/js/views/inlineview/js.inc +0 -0
- data/js/views/scrollview/js.inc +0 -0
- data/js/views/scrollview/scrollview.js +40 -0
- data/lib/conf/argv.rb +850 -0
- data/lib/conf/default.rb +219 -0
- data/lib/daemon/daemon.rb +387 -0
- data/lib/daemon/sigcomm.rb +64 -0
- data/lib/http/broker.rb +150 -0
- data/lib/http/rackup.rb +91 -0
- data/lib/http/request.rb +66 -0
- data/lib/http/response.rb +65 -0
- data/lib/plugins/dependencies.rb +285 -0
- data/lib/plugins/gui_plugin.rb +160 -0
- data/lib/plugins/guiparser.rb +123 -0
- data/lib/plugins/plugin.rb +438 -0
- data/lib/plugins/plugin_base.rb +162 -0
- data/lib/plugins/plugin_plugins.rb +81 -0
- data/lib/plugins/plugin_sqlite_db.rb +98 -0
- data/lib/plugins/pluginmanager.rb +635 -0
- data/lib/plugins/plugins.rb +169 -0
- data/lib/plugins/servlet.rb +108 -0
- data/lib/rsence.rb +32 -0
- data/lib/session/msg.rb +327 -0
- data/lib/session/sessionmanager.rb +522 -0
- data/lib/session/sessionstorage.rb +340 -0
- data/lib/transporter/transporter.rb +263 -0
- data/lib/util/gzstring.rb +9 -0
- data/lib/util/ruby19_fixes.rb +18 -0
- data/lib/values/hvalue.rb +378 -0
- data/lib/values/valuemanager.rb +172 -0
- data/plugins/client_pkg/client_pkg.rb +157 -0
- data/plugins/client_pkg/info.yaml +25 -0
- data/plugins/client_pkg/lib/client_pkg_build.rb +561 -0
- data/plugins/client_pkg/lib/client_pkg_cache.rb +50 -0
- data/plugins/client_pkg/lib/client_pkg_serve.rb +218 -0
- data/plugins/index_html/img/loading.gif +0 -0
- data/plugins/index_html/img/riassence.gif +0 -0
- data/plugins/index_html/index_html.rb +120 -0
- data/plugins/index_html/info.yaml +18 -0
- data/plugins/index_html/tmpl/index.html +15 -0
- data/plugins/main/info.yaml +18 -0
- data/plugins/main/js/main.js +84 -0
- data/plugins/main/main.rb +255 -0
- data/plugins/main/values.yaml +8 -0
- data/plugins/ticket/info.yaml +21 -0
- data/plugins/ticket/lib/common.rb +392 -0
- data/plugins/ticket/lib/favicon.rb +39 -0
- data/plugins/ticket/lib/file.rb +58 -0
- data/plugins/ticket/lib/img.rb +50 -0
- data/plugins/ticket/lib/objblob.rb +66 -0
- data/plugins/ticket/lib/rsrc.rb +34 -0
- data/plugins/ticket/lib/upload.rb +236 -0
- data/plugins/ticket/ticket.rb +333 -0
- data/setup/welcome/gui/welcome.yaml +92 -0
- data/setup/welcome/info.yaml +13 -0
- data/setup/welcome/text/welcome.html +9 -0
- data/setup/welcome/values.yaml +9 -0
- data/setup/welcome/welcome.rb +54 -0
- metadata +407 -0
@@ -0,0 +1,357 @@
|
|
1
|
+
/* RSence
|
2
|
+
* Copyright 2006 Riassence Inc.
|
3
|
+
* http://riassence.com/
|
4
|
+
*
|
5
|
+
* You should have received a copy of the GNU General Public License along
|
6
|
+
* with this software package. If not, contact licensing@riassence.com
|
7
|
+
*/
|
8
|
+
|
9
|
+
/*** = Description
|
10
|
+
** HSlider is a control unit that enables the user to choose a value in a range of values.
|
11
|
+
** Sliders support both dragging the handle and clicking the mouse anywhere on the slider
|
12
|
+
** to move the handle towards the mouse, as well as keyboard support
|
13
|
+
** after the handle is in active mode. There are two types of sliders: vertical and horizontal.
|
14
|
+
** Naturally, sliders are commonly used as colour mixers, volume controls,
|
15
|
+
** graphical equalizers and seekers in media applications.
|
16
|
+
** A typical slider is a drag-able thumb along vertical or horizontal line.
|
17
|
+
**
|
18
|
+
** = Instance variables
|
19
|
+
** +minValue+:: The smallest allowed value.
|
20
|
+
** +maxValue+:: The biggest allowed value.
|
21
|
+
** +repeatDelay+:: The key repetition initial delay when changing the slider
|
22
|
+
** with cursor keys. Defaults to 300 (ms)
|
23
|
+
** +repeatInterval+:: The key repetition interval when changing the slider
|
24
|
+
** with cursor keys. Defaults to 50 (ms)
|
25
|
+
** +inveseAxis+:: Inverse Scrollwheel axis.
|
26
|
+
** As there is only one scrollwheel event, sideways
|
27
|
+
** scrolling doesn't work logically for horizonal
|
28
|
+
** scrollbars by default, so set this to true to
|
29
|
+
** have horizonal sliders work logically
|
30
|
+
** with sideways scrolling, where supported.
|
31
|
+
***/
|
32
|
+
var//RSence.Controls
|
33
|
+
HSlider = HControl.extend({
|
34
|
+
|
35
|
+
componentName: "slider",
|
36
|
+
|
37
|
+
defaultEvents: {
|
38
|
+
draggable: true,
|
39
|
+
keyDown: true,
|
40
|
+
keyUp: true,
|
41
|
+
mouseWheel: true
|
42
|
+
},
|
43
|
+
|
44
|
+
controlDefaults: (HControlDefaults.extend({
|
45
|
+
minValue: 0,
|
46
|
+
maxValue: 1,
|
47
|
+
repeatDelay: 300,
|
48
|
+
repeatInterval: 50,
|
49
|
+
inverseAxis: false
|
50
|
+
})),
|
51
|
+
|
52
|
+
refreshOnValueChange: false,
|
53
|
+
|
54
|
+
_isVertical: false,
|
55
|
+
|
56
|
+
|
57
|
+
/** = Description
|
58
|
+
* Sets the current value of the object and moves the slider thumb to the correct position.
|
59
|
+
*
|
60
|
+
* = Parameters
|
61
|
+
* +_value+:: A numeric value to be set to the object.
|
62
|
+
*
|
63
|
+
**/
|
64
|
+
setValue: function(_value) {
|
65
|
+
if (_value < this.minValue) {
|
66
|
+
_value = this.minValue;
|
67
|
+
}
|
68
|
+
if (_value > this.maxValue) {
|
69
|
+
_value = this.maxValue;
|
70
|
+
}
|
71
|
+
this.base(_value);
|
72
|
+
if(this._thumbElemId){
|
73
|
+
this.drawThumbPos();
|
74
|
+
}
|
75
|
+
return this;
|
76
|
+
},
|
77
|
+
|
78
|
+
/** = Description
|
79
|
+
* Draws the rectangle and the markup of this object on the screen.
|
80
|
+
*
|
81
|
+
**/
|
82
|
+
draw: function() {
|
83
|
+
if(!this.drawn) {
|
84
|
+
this.drawRect();
|
85
|
+
this.drawMarkup();
|
86
|
+
this._initThumb();
|
87
|
+
}
|
88
|
+
this.refresh();
|
89
|
+
},
|
90
|
+
|
91
|
+
|
92
|
+
/** = Description
|
93
|
+
* This gets called automatically when the user starts to drag the slider thumb.
|
94
|
+
* Extend this method if you want something special to happen when the dragging starts.
|
95
|
+
*
|
96
|
+
* = Parameters
|
97
|
+
* +_x+:: The X coordinate of the point where the drag started.
|
98
|
+
* +_y+:: The Y coordinate of the point where the drag started.
|
99
|
+
*
|
100
|
+
**/
|
101
|
+
startDrag: function(_x,_y){
|
102
|
+
var _originalPosition = ELEM.getVisiblePosition(this.elemId, true);
|
103
|
+
this._originX = _originalPosition[0];
|
104
|
+
this._originY = _originalPosition[1];
|
105
|
+
|
106
|
+
this.drag(_x,_y);
|
107
|
+
},
|
108
|
+
|
109
|
+
|
110
|
+
/** = Description
|
111
|
+
* This gets called automatically when the user stops dragging the slider thumb.
|
112
|
+
* Extend this method if you want something special to happen when the dragging ends.
|
113
|
+
*
|
114
|
+
* = Parameters
|
115
|
+
* +_x+:: The X coordinate of the point where the drag ended.
|
116
|
+
* +_y+:: The Y coordinate of the point where the drag ended.
|
117
|
+
*
|
118
|
+
**/
|
119
|
+
endDrag: function(_x,_y){
|
120
|
+
this.drag(_x,_y);
|
121
|
+
},
|
122
|
+
|
123
|
+
|
124
|
+
/** = Description
|
125
|
+
* This gets called periodically while the user drags the slider thumb.
|
126
|
+
* Extend this method if you want something special to happen while dragging.
|
127
|
+
*
|
128
|
+
* = Parameters
|
129
|
+
* +_x+:: The X coordinate of the point where the user is currently dragging.
|
130
|
+
* +_y+:: The Y coordinate of the point where the user is currently dragging.
|
131
|
+
*
|
132
|
+
**/
|
133
|
+
drag: function(_x,_y){
|
134
|
+
_x -= this._originX;
|
135
|
+
_y -= this._originY;
|
136
|
+
|
137
|
+
var _rawVal = this._isVertical?_y:_x,
|
138
|
+
_value = this._pos2value(_rawVal);
|
139
|
+
|
140
|
+
this.setValue(_value);
|
141
|
+
},
|
142
|
+
|
143
|
+
|
144
|
+
/** = Description
|
145
|
+
* This gets called when the user presses a key down while this control is
|
146
|
+
* active. The default behaviour is to move the thumb with arrow keys, page up,
|
147
|
+
* page down, home and end.
|
148
|
+
*
|
149
|
+
* = Parameters
|
150
|
+
* +_keycode+:: The keycode of the key that was pressed down.
|
151
|
+
*
|
152
|
+
**/
|
153
|
+
keyDown: function(_keycode) {
|
154
|
+
// Arrow keys move the thumb 5% at a time.
|
155
|
+
if ( (_keycode === Event.KEY_LEFT && !this._isVertical) ||
|
156
|
+
(_keycode === Event.KEY_DOWN && this._isVertical) ) {
|
157
|
+
this._moving = true;
|
158
|
+
this._moveThumb(-0.05);
|
159
|
+
}
|
160
|
+
else if ( (_keycode === Event.KEY_RIGHT && !this._isVertical) ||
|
161
|
+
(_keycode === Event.KEY_UP && this._isVertical) ) {
|
162
|
+
this._moving = true;
|
163
|
+
this._moveThumb(0.05);
|
164
|
+
}
|
165
|
+
// Home key moves the thumb to the beginning and end key to the end.
|
166
|
+
else if (_keycode === Event.KEY_HOME) {
|
167
|
+
this.setValue(this.minValue);
|
168
|
+
}
|
169
|
+
else if (_keycode === Event.KEY_END) {
|
170
|
+
this.setValue(this.maxValue);
|
171
|
+
}
|
172
|
+
// Page up and page down keys move the thumb 25% at a time.
|
173
|
+
else if (_keycode === Event.KEY_PAGEDOWN) {
|
174
|
+
this._moving = true;
|
175
|
+
this._moveThumb(-0.25);
|
176
|
+
}
|
177
|
+
else if (_keycode === Event.KEY_PAGEUP) {
|
178
|
+
this._moving = true;
|
179
|
+
this._moveThumb(0.25);
|
180
|
+
}
|
181
|
+
|
182
|
+
|
183
|
+
},
|
184
|
+
|
185
|
+
|
186
|
+
/** = Description
|
187
|
+
* This gets called when the user releases a key while this control is active.
|
188
|
+
*
|
189
|
+
* = Parameters
|
190
|
+
* +_keycode+:: The keycode of the key that was released.
|
191
|
+
*
|
192
|
+
**/
|
193
|
+
keyUp: function(_keycode) {
|
194
|
+
this._moving = false;
|
195
|
+
},
|
196
|
+
|
197
|
+
|
198
|
+
/** = Description
|
199
|
+
* This gets called when the mouse wheel is used and the component
|
200
|
+
* instance has focus.
|
201
|
+
*
|
202
|
+
* = Parameters
|
203
|
+
* +_delta+:: Scrolling delta, the wheel angle change. If delta is positive,
|
204
|
+
* wheel was scrolled up. Otherwise, it was scrolled down.
|
205
|
+
*
|
206
|
+
**/
|
207
|
+
mouseWheel: function(_delta) {
|
208
|
+
var _valueChange;
|
209
|
+
if (_delta > 0) {
|
210
|
+
_valueChange = 0.05;
|
211
|
+
}
|
212
|
+
else {
|
213
|
+
_valueChange = -0.05;
|
214
|
+
}
|
215
|
+
if ( this.options.inverseAxis ) {
|
216
|
+
_valueChange = 0 - _valueChange;
|
217
|
+
}
|
218
|
+
|
219
|
+
var _value = (this.maxValue - this.minValue) * _valueChange;
|
220
|
+
this.setValue( this.value + _value);
|
221
|
+
},
|
222
|
+
|
223
|
+
|
224
|
+
// --private method++
|
225
|
+
_moveThumb: function(_valueChange, _rate) {
|
226
|
+
|
227
|
+
if (!_rate) {
|
228
|
+
// --If the key is held down, wait for a while before starting repeat.++
|
229
|
+
_rate = this.options.repeatDelay;
|
230
|
+
}
|
231
|
+
else if (_rate === this.options.repeatDelay) {
|
232
|
+
_rate = this.options.repeatInterval;
|
233
|
+
}
|
234
|
+
|
235
|
+
if (this._moving && this.active) {
|
236
|
+
|
237
|
+
var _value = (this.maxValue - this.minValue) * _valueChange;
|
238
|
+
|
239
|
+
this.setValue( this.value + _value);
|
240
|
+
|
241
|
+
var _that = this;
|
242
|
+
if (this._thumbMoveTimeout) {
|
243
|
+
window.clearTimeout(this._thumbMoveTimeout);
|
244
|
+
this._thumbMoveTimeout = null;
|
245
|
+
}
|
246
|
+
this._thumbMoveTimeout = window.setTimeout(function(){
|
247
|
+
_that._moveThumb(_valueChange, _rate);
|
248
|
+
}, _rate);
|
249
|
+
}
|
250
|
+
|
251
|
+
},
|
252
|
+
|
253
|
+
thumbSize: 21,
|
254
|
+
// -- private method ++
|
255
|
+
_initThumb: function() {
|
256
|
+
this._thumbElemId = this.markupElemIds.control;
|
257
|
+
this.drawThumbPos();
|
258
|
+
},
|
259
|
+
|
260
|
+
|
261
|
+
// -- private method ++
|
262
|
+
_value2px: function() {
|
263
|
+
var _pxrange;
|
264
|
+
if(this._isVertical){
|
265
|
+
_pxrange = this.rect.height - this.thumbSize;
|
266
|
+
} else {
|
267
|
+
_pxrange = this.rect.width - this.thumbSize;
|
268
|
+
}
|
269
|
+
var _intvalue = _pxrange * (
|
270
|
+
(this.value-this.minValue) / (this.maxValue - this.minValue)
|
271
|
+
);
|
272
|
+
if ( this._isVertical ) {
|
273
|
+
_intvalue = _pxrange - _intvalue;
|
274
|
+
}
|
275
|
+
_pxvalue = parseInt(_intvalue, 10)+'px';
|
276
|
+
return _pxvalue;
|
277
|
+
},
|
278
|
+
|
279
|
+
|
280
|
+
// -- private method ++
|
281
|
+
_pos2value: function(_mousePos) {
|
282
|
+
var _pxrange;
|
283
|
+
if(this._isVertical){
|
284
|
+
_pxrange = this.rect.height - this.thumbSize;
|
285
|
+
} else {
|
286
|
+
_pxrange = this.rect.width - this.thumbSize;
|
287
|
+
}
|
288
|
+
_mousePos -= (this.thumbSize/2);
|
289
|
+
if(_mousePos < 0){
|
290
|
+
_mousePos = 0;
|
291
|
+
}
|
292
|
+
if(_mousePos > _pxrange){
|
293
|
+
_mousePos = _pxrange;
|
294
|
+
}
|
295
|
+
if(this._isVertical){
|
296
|
+
return this.maxValue - ((_mousePos / _pxrange) * (this.maxValue - this.minValue));
|
297
|
+
} else {
|
298
|
+
return this.minValue + ((_mousePos / _pxrange) * (this.maxValue - this.minValue));
|
299
|
+
}
|
300
|
+
},
|
301
|
+
|
302
|
+
|
303
|
+
// -- private method ++
|
304
|
+
drawThumbPos: function() {
|
305
|
+
var _whichprop = this._isVertical?'top':'left',
|
306
|
+
_propval = this._value2px();
|
307
|
+
ELEM.setStyle(this._thumbElemId,_whichprop,_propval);
|
308
|
+
this.setOrientation(this.options['orientation']||this.prevOrientation);
|
309
|
+
},
|
310
|
+
|
311
|
+
prevOrientation: 'c',
|
312
|
+
|
313
|
+
cssClassPrefix: 'h',
|
314
|
+
|
315
|
+
/** = Description
|
316
|
+
* Changes the thumb graphic. Possible orientations by default are
|
317
|
+
* north ('n'), south ('s'), west ('w'), east('e') and center ('c').
|
318
|
+
* Defaults to 'c'. No case sensitivity.
|
319
|
+
*
|
320
|
+
* = Parameters
|
321
|
+
* +_orientation+:: The orientation of slider thumb graphic.
|
322
|
+
*
|
323
|
+
**/
|
324
|
+
setOrientation: function(_orientation) {
|
325
|
+
if(!_orientation){
|
326
|
+
_orientation = 'c';
|
327
|
+
}
|
328
|
+
_orientation = _orientation.toLowerCase();
|
329
|
+
if(_orientation === this.prevOrientation){
|
330
|
+
return;
|
331
|
+
}
|
332
|
+
if(this['markupElemIds']===undefined){
|
333
|
+
return;
|
334
|
+
}
|
335
|
+
if(this.markupElemIds['control']===undefined){
|
336
|
+
return;
|
337
|
+
}
|
338
|
+
var _toggleCSS = this.toggleCSSClass,
|
339
|
+
_ctrlId = this.markupElemIds.control,
|
340
|
+
_orientations = ['n','s','w','e','c'],
|
341
|
+
_iOrientation = '',
|
342
|
+
_cssClassName = '',
|
343
|
+
_cssClassPrefix = this.cssClassPrefix,
|
344
|
+
_cssClassVert = this._isVertical?'v':'',
|
345
|
+
_activeOrientation = false,
|
346
|
+
i = 0;
|
347
|
+
for(;i<5;i++){
|
348
|
+
_iOrientation = _orientations[i];
|
349
|
+
_activeOrientation = (_orientation===_iOrientation);
|
350
|
+
_cssClassName = (_orientation==='c')?_cssClassPrefix+_cssClassVert+'slider_thumb':_cssClassPrefix+'slider_thumb_'+_iOrientation;
|
351
|
+
_toggleCSS( _ctrlId, _cssClassName, _activeOrientation );
|
352
|
+
}
|
353
|
+
|
354
|
+
this.prevOrientation = _orientation;
|
355
|
+
}
|
356
|
+
});
|
357
|
+
|
Binary file
|
Binary file
|
@@ -0,0 +1,108 @@
|
|
1
|
+
.hslider_track_left,
|
2
|
+
.hslider_track_right,
|
3
|
+
.hslider_track {
|
4
|
+
position: absolute;
|
5
|
+
height: 7px; top: 7px;
|
6
|
+
font-size: 0px;
|
7
|
+
background-image: #{this.getCssFilePath('hslider_tracks.png')};
|
8
|
+
}
|
9
|
+
|
10
|
+
.hslider_track_left {
|
11
|
+
left: 10px; width: 4px;
|
12
|
+
background-position: 0px 0px;
|
13
|
+
}
|
14
|
+
|
15
|
+
.hslider_track_right {
|
16
|
+
right: 10px; width: 4px;
|
17
|
+
background-position: -4px 0px;
|
18
|
+
}
|
19
|
+
|
20
|
+
.hslider_track {
|
21
|
+
left: 14px; right: 14px;
|
22
|
+
background-position: 0px -14px;
|
23
|
+
}
|
24
|
+
|
25
|
+
.disabled .hslider_track_left {
|
26
|
+
background-position: 0px -7px;
|
27
|
+
}
|
28
|
+
|
29
|
+
.disabled .hslider_track_right {
|
30
|
+
background-position: -4px -7px;
|
31
|
+
}
|
32
|
+
|
33
|
+
.disabled .hslider_track {
|
34
|
+
background-position: 0px -21px;
|
35
|
+
}
|
36
|
+
|
37
|
+
.hslider_thumb {
|
38
|
+
position: absolute;
|
39
|
+
top: 0px; height: 21px; width: 21px;
|
40
|
+
font-size: 0px;
|
41
|
+
background-position: 0px 0px;
|
42
|
+
background-image: #{this.getCssFilePath('slider_thumbs.png')};
|
43
|
+
}
|
44
|
+
|
45
|
+
.hslider_thumb:active {
|
46
|
+
background-position: 0px -22px;
|
47
|
+
}
|
48
|
+
|
49
|
+
.disabled .hslider_thumb {
|
50
|
+
background-position: 0px -44px;
|
51
|
+
}
|
52
|
+
|
53
|
+
.hslider_thumb_n,
|
54
|
+
.hslider_thumb_s,
|
55
|
+
.hslider_thumb_e,
|
56
|
+
.hslider_thumb_w {
|
57
|
+
position: absolute;
|
58
|
+
top: 0px; height: 21px; width: 21px;
|
59
|
+
background-image: #{this.getCssFilePath('slider_thumbs.png')};
|
60
|
+
}
|
61
|
+
|
62
|
+
.hslider_thumb_e,
|
63
|
+
.hslider_thumb_w {
|
64
|
+
left: 0px;
|
65
|
+
}
|
66
|
+
|
67
|
+
.hslider_thumb_n {
|
68
|
+
background-position: -22px 0px;
|
69
|
+
}
|
70
|
+
.hslider_thumb_n:active {
|
71
|
+
background-position: -22px -22px;
|
72
|
+
}
|
73
|
+
.disabled .hslider_thumb_n {
|
74
|
+
background-position: -22px -44px;
|
75
|
+
}
|
76
|
+
|
77
|
+
.hslider_thumb_s {
|
78
|
+
background-position: -44px 0px;
|
79
|
+
}
|
80
|
+
.hslider_thumb_s:active {
|
81
|
+
background-position: -44px -22px;
|
82
|
+
}
|
83
|
+
.disabled .hslider_thumb_s {
|
84
|
+
background-position: -44px -44px;
|
85
|
+
}
|
86
|
+
|
87
|
+
.hslider_thumb_w {
|
88
|
+
background-position: -66px 0px;
|
89
|
+
}
|
90
|
+
.hslider_thumb_w:active {
|
91
|
+
background-position: -66px -22px;
|
92
|
+
}
|
93
|
+
.disabled .hslider_thumb_w {
|
94
|
+
background-position: -66px -44px;
|
95
|
+
}
|
96
|
+
|
97
|
+
.hslider_thumb_e {
|
98
|
+
background-position: -88px 0px;
|
99
|
+
}
|
100
|
+
.hslider_thumb_e:active {
|
101
|
+
background-position: -88px -22px;
|
102
|
+
}
|
103
|
+
.disabled .hslider_thumb_e {
|
104
|
+
background-position: -88px -44px;
|
105
|
+
}
|
106
|
+
|
107
|
+
|
108
|
+
|
Binary file
|
Binary file
|
File without changes
|
@@ -0,0 +1,52 @@
|
|
1
|
+
.vslider_track_top,
|
2
|
+
.vslider_track_bottom,
|
3
|
+
.vslider_track {
|
4
|
+
position: absolute;
|
5
|
+
width: 7px; left: 7px;
|
6
|
+
font-size: 0px;
|
7
|
+
background-image: #{this.getCssFilePath('vslider_tracks.png')};
|
8
|
+
}
|
9
|
+
|
10
|
+
.vslider_track_top {
|
11
|
+
top: 10px; height: 4px;
|
12
|
+
background-position: 0px 0px;
|
13
|
+
}
|
14
|
+
|
15
|
+
.vslider_track_bottom {
|
16
|
+
bottom: 10px; height: 4px;
|
17
|
+
background-position: 0px -4px;
|
18
|
+
}
|
19
|
+
|
20
|
+
.vslider_track {
|
21
|
+
top: 14px; bottom: 14px;
|
22
|
+
background-position: -14px 0px;
|
23
|
+
}
|
24
|
+
|
25
|
+
.disabled .vslider_track_top {
|
26
|
+
background-position: -7px 0px;
|
27
|
+
}
|
28
|
+
|
29
|
+
.disabled .vslider_track_bottom {
|
30
|
+
background-position: -7px -4px;
|
31
|
+
}
|
32
|
+
|
33
|
+
.disabled .vslider_track {
|
34
|
+
background-position: -21px 0px;
|
35
|
+
}
|
36
|
+
|
37
|
+
.vslider_thumb {
|
38
|
+
position: absolute;
|
39
|
+
font-size: 0px;
|
40
|
+
left: 0px; width: 21px; height: 21px;
|
41
|
+
background-position: 0px 0px;
|
42
|
+
background-image: #{this.getCssFilePath('slider_thumbs.png')};
|
43
|
+
}
|
44
|
+
|
45
|
+
.vslider_thumb:active {
|
46
|
+
background-position: 0px -22px;
|
47
|
+
}
|
48
|
+
|
49
|
+
.disabled .vslider_thumb {
|
50
|
+
background-position: 0px -44px;
|
51
|
+
}
|
52
|
+
|
Binary file
|
Binary file
|
@@ -0,0 +1,41 @@
|
|
1
|
+
/* RSence
|
2
|
+
* Copyright 2006 Riassence Inc.
|
3
|
+
* http://riassence.com/
|
4
|
+
*
|
5
|
+
* You should have received a copy of the GNU General Public License along
|
6
|
+
* with this software package. If not, contact licensing@riassence.com
|
7
|
+
*/
|
8
|
+
|
9
|
+
/*** = Description
|
10
|
+
** HVSlider (vertical version of the slider control) is a control unit that enables the user
|
11
|
+
** to choose a value in a range of values. Sliders support both dragging the handle and
|
12
|
+
** clicking the mouse anywhere on the slider to move the handle towards the mouse,
|
13
|
+
** as well as keyboard support after the handle is in active mode.
|
14
|
+
** Naturally, sliders are commonly used as colour mixers, volume controls,
|
15
|
+
** graphical equalizers and seekers in media applications.
|
16
|
+
** A typical slider is a drag-able knob along vertical or horizontal line.
|
17
|
+
**
|
18
|
+
** = Instance variables
|
19
|
+
** +minValue+:: The smallest allowed value.
|
20
|
+
** +maxValue+:: The biggest allowed value.
|
21
|
+
** +repeatDelay+:: The key repetition initial delay when changing the slider
|
22
|
+
** with cursor keys. Defaults to 300 (ms)
|
23
|
+
** +repeatInterval+:: The key repetition interval when changing the slider
|
24
|
+
** with cursor keys. Defaults to 50 (ms)
|
25
|
+
** +inveseAxis+:: Inverse Scrollwheel axis.
|
26
|
+
** As there is only one scrollwheel event, sideways
|
27
|
+
** scrolling doesn't work logically for horizonal
|
28
|
+
** scrollbars by default, so set this to true to
|
29
|
+
** have horizonal sliders work logically
|
30
|
+
** with sideways scrolling, where supported.
|
31
|
+
***/
|
32
|
+
var//RSence.Controls
|
33
|
+
HVSlider = HSlider.extend({
|
34
|
+
|
35
|
+
componentName: "vslider",
|
36
|
+
|
37
|
+
// This overrides the HSlider property.
|
38
|
+
_isVertical: true
|
39
|
+
|
40
|
+
});
|
41
|
+
|
File without changes
|