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,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
|
+
});
|