rsence-pre 2.1.0.1.pre
Sign up to get free protection for your applications and to get access to all the features.
- 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,750 @@
|
|
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
|
+
** Automatic event responder. Defines what events HControl listens to
|
11
|
+
** and actions to be taken.
|
12
|
+
**
|
13
|
+
** = Event handler methods
|
14
|
+
** Pre-defined event handler methods, extend these in your subclass.
|
15
|
+
**
|
16
|
+
** +focus+:: Called when the component gets focus
|
17
|
+
** +blur+:: Called when the component loses focus
|
18
|
+
** +mouseDown+:: Called when the mouse button is pushed down
|
19
|
+
** +mouseUp+:: Called when the mouse button is released
|
20
|
+
** +mouseWheel+:: Called when the mouse wheel is used
|
21
|
+
** +startDrag+:: Called when the mouse button
|
22
|
+
** is pressed (and item is draggable).
|
23
|
+
** +endDrag+:: Called when the mouse button
|
24
|
+
** is released (and item is draggable).
|
25
|
+
** +drag+:: Called when the mouse is moved and mouse button
|
26
|
+
** is down (and item is draggable).
|
27
|
+
** +drop+:: Called when a draggable item is released
|
28
|
+
** on the droppable.
|
29
|
+
** +startHover+:: Called when a draggable item is moved
|
30
|
+
** over the droppable.
|
31
|
+
** +endHover+:: Called when a draggable item is moved out
|
32
|
+
** of the droppable.
|
33
|
+
** +keyDown+:: Called when the user presses a key, and
|
34
|
+
** the control is active.
|
35
|
+
** +keyUp+:: Called when the user releases a key, and
|
36
|
+
** the control is active.
|
37
|
+
** +textEnter+:: Called when the user releases a key regardless
|
38
|
+
** if the control is active or not.
|
39
|
+
** +gainedActiveStatus+:: Called when the component gets activated.
|
40
|
+
** +lostActiveStatus+:: Called when the component gets deactivated.
|
41
|
+
***/
|
42
|
+
var//RSence.Foundation
|
43
|
+
HEventResponder = HClass.extend({
|
44
|
+
|
45
|
+
/** Default event listeners.
|
46
|
+
**/
|
47
|
+
defaultEvents: {
|
48
|
+
},
|
49
|
+
|
50
|
+
/** = Description
|
51
|
+
* The event responder interface for +HControl+.
|
52
|
+
* Registers the events defined by boolean properties of
|
53
|
+
* the events object to the control instance. The event manager
|
54
|
+
* handles the event mapping and abstraction itself.
|
55
|
+
* NOTE startDrag vs mouseDown and endDrag vs mouseUp events
|
56
|
+
* conflict, if both are set simultaneously.
|
57
|
+
*
|
58
|
+
* = Parameters
|
59
|
+
* +_events+:: A +{ event: state }+ Object structure, sets events based on the
|
60
|
+
* keys and the flag. All states are Booleans (true or false).
|
61
|
+
* A true state means the event listening for the event is
|
62
|
+
* enabled and a false state means the event listening is disabled.
|
63
|
+
* See the Event Types below:
|
64
|
+
*
|
65
|
+
* == Event States
|
66
|
+
* Event State:: Description
|
67
|
+
* +mouseMove+:: The global +mouseMove+ event state. The component receives
|
68
|
+
* this event regardless if it's focused or not. The event
|
69
|
+
* responder method for it is +mouseMove+ and it receives the
|
70
|
+
* absolute x and y coordinates of the mouse pointer when the
|
71
|
+
* mouse cursor position changes. Can also be toggled
|
72
|
+
* separately by using the +setMouseMove+ method.
|
73
|
+
* +textEnter+:: The global +textEnter+ event state. The component receives
|
74
|
+
* this event regardless if it's focused or not. The event
|
75
|
+
* responder method for it is +textEnter+ and it receives a
|
76
|
+
* every time a key on the keyboard is pressed. Can also
|
77
|
+
* be toggled separately by using the +setTextEnter+ method.
|
78
|
+
* +click+:: The local +click+ event state. The component receives
|
79
|
+
* this event only if it's focused. The event responder
|
80
|
+
* method for it is +click+ and it receives the absolute x
|
81
|
+
* and y coordinates of the mouse pointer as well as which
|
82
|
+
* mouse button was used to trigger the event. Can also be
|
83
|
+
* toggled separately by using the +setClickable+ method.
|
84
|
+
* +mouseDown+:: The local +mouseDown+ event state. The component receives
|
85
|
+
* this event only if it's focused. The event responder
|
86
|
+
* method for it is +mouseDown+ and it receives the absolute x
|
87
|
+
* and y coordinates of the mouse pointer as well as which
|
88
|
+
* mouse button was used to trigger the event. Can also be
|
89
|
+
* toggled separately by using the +setMouseDown+ method.
|
90
|
+
* +mouseUp+:: The local +mouseUp+ event state. The component receives
|
91
|
+
* this event only if it's focused. The event responder
|
92
|
+
* method for it is +mouseUp+ and it receives the absolute x
|
93
|
+
* and y coordinates of the mouse pointer as well as which
|
94
|
+
* mouse button was used to trigger the event. Can also be
|
95
|
+
* toggled separately by using the +setMouseUp+ method.
|
96
|
+
* +mouseWheel+:: The local +mouseWheel+ event state. The component receives
|
97
|
+
* this event only if it's focused. The event responder
|
98
|
+
* method for it is +mouseWheel+ and it receives the delta of
|
99
|
+
* the amount of the mouse scroll wheel was rolled: a floating
|
100
|
+
* point number, larger or smaller than 0, depending on the
|
101
|
+
* direction the scroll wheel was rolled. Can also be
|
102
|
+
* toggled separately by using the +setMouseWheel+ method.
|
103
|
+
* +draggable+:: The local +draggable+ event states. The component receives
|
104
|
+
* these events only if it's focused. The event responders
|
105
|
+
* methods are +startDrag+, +drag+ and +endDrag+. The events
|
106
|
+
* receive the mouse cursor coordinates.
|
107
|
+
* Can also be toggled separately by using the +setDraggable+
|
108
|
+
* method.
|
109
|
+
* +droppable+:: The local +droppable+ event states. The component receives
|
110
|
+
* this event only if another component is dragged (hovered)
|
111
|
+
* or dropped with the area of this component as the target.
|
112
|
+
* The event responders method for it are +hoverStart+,
|
113
|
+
* +drop+ and +hoverEnd+.
|
114
|
+
* Can also be toggled separately by using the
|
115
|
+
* +setDroppable+ method.
|
116
|
+
* +keyDown+:: The local +keyDown+ event state. The component receives
|
117
|
+
* this event only if it's focused. The event responder
|
118
|
+
* method for it is +keyDown+ and it receives the ascii key
|
119
|
+
* code whenever a keyboard key is pressed. Can also be
|
120
|
+
* toggled separately by using the +setKeyDown+ method.
|
121
|
+
* +keyUp+:: The local +keyUp+ event state. The component receives
|
122
|
+
* this event only if it's focused. The event responder
|
123
|
+
* method for it is +keyUp+ and it receives the ascii key
|
124
|
+
* code whenever a keyboard key is released. Can also be
|
125
|
+
* toggled separately by using the +setKeyUp+ method.
|
126
|
+
*
|
127
|
+
* = Usage
|
128
|
+
* HControl.new(
|
129
|
+
* [0,0,100,20],
|
130
|
+
* HApplication.nu()
|
131
|
+
* ).setEvents({
|
132
|
+
* mouseUp: true,
|
133
|
+
* mouseDown: true
|
134
|
+
* });
|
135
|
+
*
|
136
|
+
* = Returns
|
137
|
+
* +self+
|
138
|
+
*
|
139
|
+
**/
|
140
|
+
setEvents: function(_events) {
|
141
|
+
if(!this.events) {
|
142
|
+
this.events = HClass.extend( {
|
143
|
+
mouseMove: false,
|
144
|
+
mouseDown: false,
|
145
|
+
mouseUp: false,
|
146
|
+
draggable: false,
|
147
|
+
droppable: false,
|
148
|
+
keyDown: false,
|
149
|
+
keyUp: false,
|
150
|
+
mouseWheel: false,
|
151
|
+
textEnter: false,
|
152
|
+
click: false,
|
153
|
+
resize: false,
|
154
|
+
doubleClick: false
|
155
|
+
} ).extend( this.defaultEvents ).extend( _events?_events:{} ).nu();
|
156
|
+
}
|
157
|
+
this.events.ctrl = this;
|
158
|
+
EVENT.reg( this, this.events );
|
159
|
+
return this;
|
160
|
+
},
|
161
|
+
|
162
|
+
/** = Description
|
163
|
+
* Enables the HControl instance, if the enabled flag is true, and disables
|
164
|
+
* it if enabled is false. A disabled HControl won't respond events.
|
165
|
+
* Component themes reflect the disabled state typically with
|
166
|
+
* a dimmer appearance.
|
167
|
+
*
|
168
|
+
* = Parameters
|
169
|
+
* +_flag+:: Boolean; true enables, false disables.
|
170
|
+
*
|
171
|
+
* = Returns
|
172
|
+
* +this+
|
173
|
+
*
|
174
|
+
**/
|
175
|
+
setEnabled: function(_flag) {
|
176
|
+
|
177
|
+
var _this = this,
|
178
|
+
_elemId = this.elemId,
|
179
|
+
_sysViews = HSystem.views,
|
180
|
+
i = 0,
|
181
|
+
_views = _this.views,
|
182
|
+
_view,
|
183
|
+
_viewsLen = _views.length;
|
184
|
+
|
185
|
+
// Enable/disable the children first.
|
186
|
+
for (; i < _viewsLen; i++) {
|
187
|
+
_view = _sysViews[_views[i]];
|
188
|
+
_view['setEnabled'] && _view.setEnabled(_flag);
|
189
|
+
}
|
190
|
+
|
191
|
+
if (_this.enabled === _flag) {
|
192
|
+
// No change in enabled status, do nothing.
|
193
|
+
return this;
|
194
|
+
}
|
195
|
+
|
196
|
+
_this.enabled = _flag;
|
197
|
+
|
198
|
+
if(_flag) {
|
199
|
+
EVENT.reg(_this, _this.events);
|
200
|
+
}
|
201
|
+
else {
|
202
|
+
EVENT.unreg(_this);
|
203
|
+
}
|
204
|
+
|
205
|
+
// Toggle the CSS class: enabled/disabled
|
206
|
+
_this.toggleCSSClass(_elemId, HControl.CSS_ENABLED, _flag);
|
207
|
+
_this.toggleCSSClass(_elemId, HControl.CSS_DISABLED, !_flag);
|
208
|
+
return this;
|
209
|
+
},
|
210
|
+
|
211
|
+
|
212
|
+
/** = Description
|
213
|
+
* Alternative flag setter for the mouseMove event type. If set to true,
|
214
|
+
* starts listening to mouseDown events when the component has focus.
|
215
|
+
*
|
216
|
+
* = Parameters
|
217
|
+
* +_flag+:: Set the mouseDown event listening on/off (true/false) for
|
218
|
+
* the component instance.
|
219
|
+
*
|
220
|
+
* = Returns
|
221
|
+
* +self+
|
222
|
+
*
|
223
|
+
**/
|
224
|
+
setMouseMove: function(_flag) {
|
225
|
+
this.events.mouseMove = _flag;
|
226
|
+
this.setEvents();
|
227
|
+
return this;
|
228
|
+
},
|
229
|
+
|
230
|
+
/** = Description
|
231
|
+
* Alternative flag setter for the click event type. If set to true,
|
232
|
+
* starts listening to click events when the component has focus.
|
233
|
+
*
|
234
|
+
* = Parameters
|
235
|
+
* +_flag+:: Set the click event listening on/off (true/false) for
|
236
|
+
* the component instance.
|
237
|
+
*
|
238
|
+
* = Returns
|
239
|
+
* +self+
|
240
|
+
*
|
241
|
+
**/
|
242
|
+
setClickable: function(_flag) {
|
243
|
+
this.events.click = _flag;
|
244
|
+
this.setEvents();
|
245
|
+
return this;
|
246
|
+
},
|
247
|
+
|
248
|
+
/** = Description
|
249
|
+
* Registers or releases event listening for mouseDown events depending on
|
250
|
+
* the value of the flag argument.
|
251
|
+
*
|
252
|
+
* = Parameters
|
253
|
+
* +_flag+:: Set the mouseDown event listening on/off (true/false) for
|
254
|
+
* the component instance.
|
255
|
+
*
|
256
|
+
* = Returns
|
257
|
+
* +self+
|
258
|
+
*
|
259
|
+
**/
|
260
|
+
setMouseDown: function(_flag) {
|
261
|
+
this.events.mouseDown = _flag;
|
262
|
+
this.setEvents();
|
263
|
+
return this;
|
264
|
+
},
|
265
|
+
|
266
|
+
/** = Description
|
267
|
+
* Registers or releases event listening for doubleClick events depending on
|
268
|
+
* the value of the flag argument.
|
269
|
+
*
|
270
|
+
* = Parameters
|
271
|
+
* +_flag+:: Set the doubleClick event listening on/off (true/false) for
|
272
|
+
* the component instance.
|
273
|
+
*
|
274
|
+
* = Returns
|
275
|
+
* +self+
|
276
|
+
*
|
277
|
+
**/
|
278
|
+
setDoubleClickable: function(_flag) {
|
279
|
+
this.events.doubleClick = _flag;
|
280
|
+
this.setEvents();
|
281
|
+
return this;
|
282
|
+
},
|
283
|
+
|
284
|
+
/** = Description
|
285
|
+
* Registers or releases event listening for mouseUp events depending on the
|
286
|
+
* value of the flag argument.
|
287
|
+
*
|
288
|
+
* = Parameters
|
289
|
+
* +_flag+:: Set the mouseUp event listening on/off (true/false) for
|
290
|
+
* the component instance.
|
291
|
+
*
|
292
|
+
* = Returns
|
293
|
+
* +self+
|
294
|
+
*
|
295
|
+
**/
|
296
|
+
setMouseUp: function(_flag) {
|
297
|
+
this.events.mouseUp = _flag;
|
298
|
+
this.setEvents();
|
299
|
+
return this;
|
300
|
+
},
|
301
|
+
|
302
|
+
/** = Description
|
303
|
+
* Alternative flag setter for the mouseWheel event type. If set to true,
|
304
|
+
* starts listening to mouseWheel events when the component has focus.
|
305
|
+
*
|
306
|
+
* = Parameters
|
307
|
+
* +_flag+:: Set the mouseWheel event listening on/off (true/false) for
|
308
|
+
* the component instance.
|
309
|
+
*
|
310
|
+
* = Returns
|
311
|
+
* +self+
|
312
|
+
*
|
313
|
+
**/
|
314
|
+
setMouseWheel: function(_flag) {
|
315
|
+
this.events.mouseWheel = _flag;
|
316
|
+
this.setEvents();
|
317
|
+
return this;
|
318
|
+
},
|
319
|
+
|
320
|
+
/** = Description
|
321
|
+
* Registers or releases event listening for startDrag, drag and
|
322
|
+
* endDrag -events depending on the value of the flag argument.
|
323
|
+
*
|
324
|
+
* = Parameters
|
325
|
+
* +_flag+:: Set the startDrag, drag and endDrag event listening
|
326
|
+
* on/off (true/false) for the component instance.
|
327
|
+
*
|
328
|
+
* = Returns
|
329
|
+
* +self+
|
330
|
+
*
|
331
|
+
**/
|
332
|
+
setDraggable: function(_flag) {
|
333
|
+
this.events.draggable = _flag;
|
334
|
+
this.setEvents();
|
335
|
+
return this;
|
336
|
+
},
|
337
|
+
|
338
|
+
/** = Description
|
339
|
+
* Registers or releases event listening for startHover, drop and
|
340
|
+
* endHover -events depending on the value of the flag argument.
|
341
|
+
*
|
342
|
+
* = Parameters
|
343
|
+
* +_flag+:: Set the startHover, drop and endHover event listening
|
344
|
+
* on/off (true/false) for the component instance.
|
345
|
+
*
|
346
|
+
* = Returns
|
347
|
+
* +self+
|
348
|
+
*
|
349
|
+
**/
|
350
|
+
setDroppable: function(_flag) {
|
351
|
+
this.events.droppable = _flag;
|
352
|
+
this.setEvents();
|
353
|
+
return this;
|
354
|
+
},
|
355
|
+
|
356
|
+
|
357
|
+
/** = Description
|
358
|
+
* Registers or releases event listening for keyDown events depending on the
|
359
|
+
* value of the flag argument.
|
360
|
+
*
|
361
|
+
* = Parameters
|
362
|
+
* +_flag+:: Set the keyDown event listening on/off (true/false) for
|
363
|
+
* the component instance.
|
364
|
+
*
|
365
|
+
* = Returns
|
366
|
+
* +self+
|
367
|
+
*
|
368
|
+
**/
|
369
|
+
setKeyDown: function(_flag) {
|
370
|
+
this.events.keyDown = _flag;
|
371
|
+
this.setEvents();
|
372
|
+
return this;
|
373
|
+
},
|
374
|
+
|
375
|
+
|
376
|
+
/** = Description
|
377
|
+
* Registers or releases event listening for keyUp events depending on
|
378
|
+
* the value of the flag argument.
|
379
|
+
*
|
380
|
+
* = Parameters
|
381
|
+
* +_flag+:: Set the keyUp event listening on/off (true/false) for
|
382
|
+
* the component instance.
|
383
|
+
*
|
384
|
+
* = Returns
|
385
|
+
* +self+
|
386
|
+
*
|
387
|
+
**/
|
388
|
+
setKeyUp: function(_flag) {
|
389
|
+
this.events.keyUp = _flag;
|
390
|
+
this.setEvents();
|
391
|
+
return this;
|
392
|
+
},
|
393
|
+
|
394
|
+
/** = Description
|
395
|
+
* Registers or releases event listening for textEnter events
|
396
|
+
* depending on the value of the flag argument.
|
397
|
+
*
|
398
|
+
* = Returns
|
399
|
+
* +self+
|
400
|
+
*
|
401
|
+
**/
|
402
|
+
setTextEnter: function(_flag) {
|
403
|
+
this.events.textEnter = _flag;
|
404
|
+
this.setEvents();
|
405
|
+
return this;
|
406
|
+
},
|
407
|
+
|
408
|
+
/** Same as +setClickable+
|
409
|
+
**/
|
410
|
+
setClick: function(_flag) {
|
411
|
+
return this.setClickable(_flag);
|
412
|
+
},
|
413
|
+
|
414
|
+
/** Same as +setDoubleClickable+
|
415
|
+
**/
|
416
|
+
setDoubleClick: function(_flag) {
|
417
|
+
return this.setDoubleClickable(_flag);
|
418
|
+
},
|
419
|
+
|
420
|
+
/** = Description
|
421
|
+
* Default focus event responder method. Does nothing by default.
|
422
|
+
* Called when the component gets focus.
|
423
|
+
*
|
424
|
+
**/
|
425
|
+
focus: function() {},
|
426
|
+
|
427
|
+
/** = Description
|
428
|
+
* Default blur event responder method. Does nothing by default.
|
429
|
+
* Called when the component loses focus.
|
430
|
+
*
|
431
|
+
**/
|
432
|
+
blur: function() {},
|
433
|
+
|
434
|
+
|
435
|
+
/** = Description
|
436
|
+
* Default gainedActiveStatus event responder method. Does nothing by default.
|
437
|
+
* Called when the component gains active status; both focused and clicked.
|
438
|
+
*
|
439
|
+
* = Parameters
|
440
|
+
* +_lastActiveControl+:: A reference to the control that was active
|
441
|
+
* before this control became active. Can
|
442
|
+
* be null if there was no active control.
|
443
|
+
*
|
444
|
+
**/
|
445
|
+
gainedActiveStatus: function(_lastActiveControl) {
|
446
|
+
|
447
|
+
var
|
448
|
+
_parents = this.parents,
|
449
|
+
_parentIdx = _parents.length-1;
|
450
|
+
|
451
|
+
if ( (HSystem.windowFocusMode === 1) && ( _parentIdx > 1 ) ) {
|
452
|
+
for( ; _parentIdx > 0; _parentIdx-- ){
|
453
|
+
// Send gainedActiveStatus to HWindow parent(s)
|
454
|
+
if(_parents[_parentIdx]['windowFocus']!==undefined){
|
455
|
+
_parents[_parentIdx].gainedActiveStatus();
|
456
|
+
}
|
457
|
+
}
|
458
|
+
}
|
459
|
+
|
460
|
+
},
|
461
|
+
|
462
|
+
// A low-level handler for active status, don't extend this.
|
463
|
+
_gainedActiveStatus: function(_lastActiveControl) {
|
464
|
+
if(this.enabled) {
|
465
|
+
this.toggleCSSClass(this.elemId, HControl.CSS_ACTIVE, true);
|
466
|
+
}
|
467
|
+
this.gainedActiveStatus(_lastActiveControl);
|
468
|
+
},
|
469
|
+
|
470
|
+
|
471
|
+
/** = Description
|
472
|
+
* Default lostActiveStatus event responder method. Does nothing by default.
|
473
|
+
* Called when the component loses active status; another component was
|
474
|
+
* focused and clicked.
|
475
|
+
*
|
476
|
+
* = Parameters
|
477
|
+
* +_newActiveControl+:: A reference to the control that became the currently
|
478
|
+
* active control. Can be null if there is no active
|
479
|
+
* control.
|
480
|
+
*
|
481
|
+
**/
|
482
|
+
lostActiveStatus: function(_newActiveControl) {
|
483
|
+
|
484
|
+
},
|
485
|
+
|
486
|
+
// --A low-level handler for lost active status, don't extend this.++
|
487
|
+
_lostActiveStatus: function(_newActiveControl) {
|
488
|
+
if(this.enabled) {
|
489
|
+
this.toggleCSSClass(this.elemId, HControl.CSS_ACTIVE, false);
|
490
|
+
}
|
491
|
+
this.lostActiveStatus(_newActiveControl);
|
492
|
+
},
|
493
|
+
|
494
|
+
|
495
|
+
/** = Description
|
496
|
+
* Default mouseMove event responder method. Does nothing by default.
|
497
|
+
* Called whenever the mouse cursor is moved regardless if the
|
498
|
+
* component is active or has focus.
|
499
|
+
*
|
500
|
+
* = Parameters
|
501
|
+
* +x+:: The horizontal coordinate units (px) of the mouse cursor position.
|
502
|
+
* +y+:: The vertical coordinate units (px) of the mouse cursor position.
|
503
|
+
*
|
504
|
+
**/
|
505
|
+
mouseMove: function(x,y) {},
|
506
|
+
|
507
|
+
|
508
|
+
/** = Description
|
509
|
+
* Default click event responder method. Does nothing by default.
|
510
|
+
*
|
511
|
+
* = Parameters
|
512
|
+
* +x+:: The horizontal coordinate units (px) of the
|
513
|
+
* mouse cursor position.
|
514
|
+
* +y+:: The vertical coordinate units (px) of the
|
515
|
+
* mouse cursor position.
|
516
|
+
* +_isLeftButton+:: Boolean flag; false if the right(context) mouse
|
517
|
+
* button is pressed.
|
518
|
+
*
|
519
|
+
**/
|
520
|
+
click: function(x,y,_isLeftButton){},
|
521
|
+
|
522
|
+
/** = Description
|
523
|
+
* Default click event responder method. Does nothing by default.
|
524
|
+
*
|
525
|
+
* = Parameters
|
526
|
+
* +x+:: The horizontal coordinate units (px) of the
|
527
|
+
* mouse cursor position.
|
528
|
+
* +y+:: The vertical coordinate units (px) of the
|
529
|
+
* mouse cursor position.
|
530
|
+
* +_isLeftButton+:: Boolean flag; false if the right(context) mouse
|
531
|
+
* button is pressed.
|
532
|
+
*
|
533
|
+
**/
|
534
|
+
doubleClick: function(x,y,_isLeftButton){},
|
535
|
+
|
536
|
+
/** = Description
|
537
|
+
* Default mouseDown event responder method. Does nothing by default.
|
538
|
+
*
|
539
|
+
* = Parameters
|
540
|
+
* +x+:: The horizontal coordinate units (px) of the
|
541
|
+
* mouse cursor position.
|
542
|
+
* +y+:: The vertical coordinate units (px) of the
|
543
|
+
* mouse cursor position.
|
544
|
+
* +_isLeftButton+:: Boolean flag; false if the right(context) mouse
|
545
|
+
* button is pressed.
|
546
|
+
*
|
547
|
+
**/
|
548
|
+
mouseDown: function(x,y,_isLeftButton) {},
|
549
|
+
|
550
|
+
|
551
|
+
/** = Description
|
552
|
+
* Default mouseDown event responder method. Does nothing by default.
|
553
|
+
*
|
554
|
+
* = Parameters
|
555
|
+
* +x+:: The horizontal coordinate units (px) of the
|
556
|
+
* mouse cursor position.
|
557
|
+
* +y+:: The vertical coordinate units (px) of the
|
558
|
+
* mouse cursor position.
|
559
|
+
* +_isLeftButton+:: Boolean flag; false if the right(context) mouse
|
560
|
+
* button is pressed.
|
561
|
+
*
|
562
|
+
**/
|
563
|
+
mouseUp: function(x,y,_isLeftButton) {},
|
564
|
+
|
565
|
+
/** = Description
|
566
|
+
* Default mouseWheel event responder method. Does nothing by default.
|
567
|
+
*
|
568
|
+
* = Parameters
|
569
|
+
* +_delta+:: Scrolling delta, the wheel angle change. If delta is positive,
|
570
|
+
* wheel was scrolled up. Otherwise, it was scrolled down.
|
571
|
+
*
|
572
|
+
**/
|
573
|
+
mouseWheel: function(_delta) {},
|
574
|
+
|
575
|
+
/** = Description
|
576
|
+
* Default startDrag event responder method. Sets internal flags by default.
|
577
|
+
* This is the preferred method to extend if you want to do something
|
578
|
+
* when a drag event starts. If you extend, remember to call +this.base();+
|
579
|
+
*
|
580
|
+
* = Parameters
|
581
|
+
* +x+:: The horizontal coordinate units (px) of the mouse cursor position.
|
582
|
+
* +y+:: The vertical coordinate units (px) of the mouse cursor position.
|
583
|
+
*
|
584
|
+
**/
|
585
|
+
startDrag: function(x, y) {},
|
586
|
+
|
587
|
+
/** = Description
|
588
|
+
* Default drag event responder method. Does nothing by default.
|
589
|
+
* This is the preferred method to extend while a drag method is ongoing.
|
590
|
+
* Called whenever the mouse cursor moves and a drag event has been started.
|
591
|
+
*
|
592
|
+
* = Parameters
|
593
|
+
* +x+:: The horizontal coordinate units (px) of the mouse cursor position.
|
594
|
+
* +y+:: The vertical coordinate units (px) of the mouse cursor position.
|
595
|
+
*
|
596
|
+
**/
|
597
|
+
drag: function(x,y){
|
598
|
+
this.doDrag(x,y);
|
599
|
+
},
|
600
|
+
doDrag: function(x, y) {},
|
601
|
+
|
602
|
+
|
603
|
+
/** = Description
|
604
|
+
* Default endDrag event responder method. Sets internal flags by default.
|
605
|
+
* This is the preferred method to extend if you want to do something
|
606
|
+
* when a drag event ends. If you extend, remember to call +this.base();+
|
607
|
+
*
|
608
|
+
* = Parameters
|
609
|
+
* +x+:: The horizontal coordinate units (px) of the mouse cursor position.
|
610
|
+
* +y+:: The vertical coordinate units (px) of the mouse cursor position.
|
611
|
+
*
|
612
|
+
**/
|
613
|
+
endDrag: function(x, y) {
|
614
|
+
this.invalidatePositionCache();
|
615
|
+
},
|
616
|
+
|
617
|
+
/** = Description
|
618
|
+
* Default drop event responder method. Does nothing by default.
|
619
|
+
* Extend the drop method, if you want to do something
|
620
|
+
* when this instance is the target of another instance's endDrag event.
|
621
|
+
* Called when a dragged component instance is dropped on the target instance.
|
622
|
+
*
|
623
|
+
* = Parameters
|
624
|
+
* +obj+:: The dragged component object.
|
625
|
+
*
|
626
|
+
**/
|
627
|
+
drop: function(obj) {
|
628
|
+
this.onDrop(obj);
|
629
|
+
},
|
630
|
+
onDrop: function(obj) {},
|
631
|
+
|
632
|
+
/** = Description
|
633
|
+
* Default startHover event responder method. Does nothing by default.
|
634
|
+
* Extend the startHover method, if you want to do something
|
635
|
+
* when this instance is the target of another instance's drag event.
|
636
|
+
* Called when a dragged component instance is dragged over
|
637
|
+
* the target instance.
|
638
|
+
*
|
639
|
+
* = Parameters
|
640
|
+
* +obj+:: The dragged component object.
|
641
|
+
*
|
642
|
+
**/
|
643
|
+
startHover: function(obj) {
|
644
|
+
this.onHoverStart(obj);
|
645
|
+
},
|
646
|
+
onHoverStart: function(obj) {},
|
647
|
+
|
648
|
+
/** = Description
|
649
|
+
* Default endHover event responder method. Does nothing by default.
|
650
|
+
* Extend the endHover method, if you want to do something
|
651
|
+
* when this instance is no longer the target of another instance's
|
652
|
+
* drag event. Called when a dragged component instance is dragged
|
653
|
+
* away from the target instance.
|
654
|
+
*
|
655
|
+
* = Parameters
|
656
|
+
* +obj+:: The dragged component object.
|
657
|
+
*
|
658
|
+
**/
|
659
|
+
endHover: function(obj) {
|
660
|
+
this.onHoverEnd(obj);
|
661
|
+
},
|
662
|
+
onHoverEnd: function(obj) {},
|
663
|
+
|
664
|
+
/** = Description
|
665
|
+
* Default keyDown event responder method. Does nothing by default.
|
666
|
+
* Extend the keyDown method, if you want to do something
|
667
|
+
* when a key is pressed and the component is active.
|
668
|
+
*
|
669
|
+
* = Parameters
|
670
|
+
* +_keycode+:: The ascii key code of the key that was pressed.
|
671
|
+
*
|
672
|
+
**/
|
673
|
+
keyDown: function(_keycode) {},
|
674
|
+
|
675
|
+
/** = Description
|
676
|
+
* Default keyUp event responder method. Does nothing by default.
|
677
|
+
* Extend the keyUp method, if you want to do something
|
678
|
+
* when a key is released and the component is active.
|
679
|
+
*
|
680
|
+
* = Parameters
|
681
|
+
* +_keycode+:: The ascii key code of the key that was released.
|
682
|
+
*
|
683
|
+
**/
|
684
|
+
keyUp: function(_keycode) {},
|
685
|
+
|
686
|
+
/** = Description
|
687
|
+
* Default textEnter event responder method. Does nothing by default.
|
688
|
+
* Extend the textEnter method, if you want to do something
|
689
|
+
* when a key is released regardless if the component is active,
|
690
|
+
* has focus or not.
|
691
|
+
*
|
692
|
+
* = Parameters
|
693
|
+
* +_keycode+:: The ascii key code of the key that was released.
|
694
|
+
*
|
695
|
+
**/
|
696
|
+
textEnter: function() {},
|
697
|
+
|
698
|
+
/** -- DON'T TOUCH _mouseOver, IT IS A LOW-LEVEL HANDLER, use focus() instead ++ **/
|
699
|
+
_mouseOver: function(e) {
|
700
|
+
if (!Event.element) {
|
701
|
+
return;
|
702
|
+
}
|
703
|
+
var _that = Event.element(e);
|
704
|
+
while(_that && _that.ctrl === undefined) {
|
705
|
+
_that = _that.parentNode;
|
706
|
+
}
|
707
|
+
if (!_that) {
|
708
|
+
return;
|
709
|
+
}
|
710
|
+
var _this = _that.ctrl;
|
711
|
+
|
712
|
+
EVENT.focus(_this);
|
713
|
+
Event.stop(e);
|
714
|
+
},
|
715
|
+
|
716
|
+
/** -- DON'T TOUCH _mouseOut, IT IS A LOW-LEVEL HANDLER, use blur() instead ++ **/
|
717
|
+
_mouseOut: function(e) {
|
718
|
+
if (!Event.element) {
|
719
|
+
return;
|
720
|
+
}
|
721
|
+
var _that = Event.element(e);
|
722
|
+
while(_that && _that.ctrl === undefined) {
|
723
|
+
_that = _that.parentNode;
|
724
|
+
}
|
725
|
+
if (!_that) {
|
726
|
+
return;
|
727
|
+
}
|
728
|
+
var _this = _that.owner;
|
729
|
+
|
730
|
+
EVENT.blur(_this);
|
731
|
+
Event.stop(e);
|
732
|
+
},
|
733
|
+
|
734
|
+
|
735
|
+
/** = Description
|
736
|
+
* Forces retrieving this control's DOM element position directly rather than
|
737
|
+
* using the cached version when the position is needed by +EVENT+.
|
738
|
+
* Child controls are invalidated recursively by +HView+.
|
739
|
+
*
|
740
|
+
* = Returns
|
741
|
+
* +self+
|
742
|
+
*
|
743
|
+
**/
|
744
|
+
invalidatePositionCache: function() {
|
745
|
+
this.base();
|
746
|
+
EVENT.coordCacheFlush(this.elemId);
|
747
|
+
return this;
|
748
|
+
}
|
749
|
+
|
750
|
+
});
|