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,500 @@
|
|
1
|
+
/* RSence
|
2
|
+
* Copyright 2008 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
|
+
** The +HControl+ extension that defines a draggable and
|
11
|
+
** resizable foundation container view.
|
12
|
+
**
|
13
|
+
** It's used like a HControl, but contains pre-defined active areas
|
14
|
+
** for resizing and moving its view. The resizable areas are defined
|
15
|
+
** by the edges (only horizontal or vertical resizability) and corners
|
16
|
+
** (both horizontal and vertical resizability). The rest triggers
|
17
|
+
** the movable area.
|
18
|
+
**
|
19
|
+
** The droppable events are enabled by default and
|
20
|
+
** a lot more constructor options can be defined: see +controlDefaults+
|
21
|
+
**
|
22
|
+
**
|
23
|
+
***/
|
24
|
+
var//RSence.Foundation
|
25
|
+
HDynControl = HControl.extend({
|
26
|
+
|
27
|
+
preserveTheme: true,
|
28
|
+
|
29
|
+
defaultEvents: {
|
30
|
+
draggable: true
|
31
|
+
},
|
32
|
+
|
33
|
+
/** = Description
|
34
|
+
* In addition to the standard HControl#constructor options,
|
35
|
+
* the following properties can be set:
|
36
|
+
*
|
37
|
+
* Key:: Description
|
38
|
+
* +minX+:: The minimum X-coordinate allowed to be dragged or resized to.
|
39
|
+
* Defaults to +0+.
|
40
|
+
* +minY+:: The minimum Y-coordinate allowed to be dragged or resized to.
|
41
|
+
* Defaults to +0+.
|
42
|
+
* +maxX+:: The maximum X-coordinate allowed to be dragged or resized to.
|
43
|
+
* Defaults to the browser window width.
|
44
|
+
* +maxY+:: The maximum Y-coordinate allowed to be dragged or resized to.
|
45
|
+
* Defaults to the browser window height.
|
46
|
+
* +minSize+:: An array containing exactly two values: +[ width, height ]+.
|
47
|
+
* Defines the minimum size allowed for resizing.
|
48
|
+
* Defaults to +[ 24, 54 ]+
|
49
|
+
* +maxSize+:: An array containing exactly two values: +[ width, height ]+.
|
50
|
+
* Defines the maximum size allowed for resizing.
|
51
|
+
* Defaults to the browser window size.
|
52
|
+
* +resizeW+:: The size of the west (left) resizable edge. Defaults to +1+.
|
53
|
+
* +resizeE+:: The size of the east (right) resizable edge. Defaults to +1+.
|
54
|
+
* +resizeN+:: The size of the north (top) resizable edge. Defaults to +1+.
|
55
|
+
* +resizeS+:: The size of the south (bottom) resizable edge. Default to +1+.
|
56
|
+
* +resizeNW+:: The size of the north-west (left top) resizable corner.
|
57
|
+
* Defaults to +[ 1, 1 ]+
|
58
|
+
* +resizeNE+:: The size of the north-east (right top) resizable corner.
|
59
|
+
* Defaults to +[ 1, 1 ]+
|
60
|
+
* +resizeSW+:: The size of the south-west (left bottom) resizable corner.
|
61
|
+
* Defaults to +[ 1, 1 ]+
|
62
|
+
* +resizeSE+:: The size of the south-east (right bottom) resizable corner.
|
63
|
+
* Defaults to +[ 1, 1 ]+
|
64
|
+
* +noResize+:: A flag (when true) disables all resizing and only allows
|
65
|
+
* moving.
|
66
|
+
*
|
67
|
+
**/
|
68
|
+
controlDefaults: (HControlDefaults.extend({
|
69
|
+
constructor: function(_ctrl){
|
70
|
+
var _winSize = ELEM.windowSize(),
|
71
|
+
_winWidth = _winSize[0],
|
72
|
+
_winHeight = _winSize[1];
|
73
|
+
if(!this.minSize){
|
74
|
+
this.minSize = [24,54];
|
75
|
+
}
|
76
|
+
if(!this.maxSize){
|
77
|
+
this.maxSize = _winSize;
|
78
|
+
}
|
79
|
+
if(!this.maxX){
|
80
|
+
this.maxX = _winWidth-this.minSize[0];
|
81
|
+
}
|
82
|
+
if(!this.maxY){
|
83
|
+
this.maxY = _winHeight-this.minSize[1];
|
84
|
+
}
|
85
|
+
if(!this.resizeNW){
|
86
|
+
this.resizeNW = [ 1, 1 ];
|
87
|
+
}
|
88
|
+
if(!this.resizeNE){
|
89
|
+
this.resizeNE = [ 1, 1 ];
|
90
|
+
}
|
91
|
+
if(!this.resizeSW){
|
92
|
+
this.resizeSW = [ 1, 1 ];
|
93
|
+
}
|
94
|
+
if(!this.resizeSE){
|
95
|
+
this.resizeSE = [ 1, 1 ];
|
96
|
+
}
|
97
|
+
},
|
98
|
+
minX: 0,
|
99
|
+
minY: 0,
|
100
|
+
maxX: null,
|
101
|
+
maxY: null,
|
102
|
+
minSize: null,
|
103
|
+
maxSize: null,
|
104
|
+
resizeW: 1,
|
105
|
+
resizeE: 1,
|
106
|
+
resizeN: 1,
|
107
|
+
resizeS: 1,
|
108
|
+
resizeNW: null,
|
109
|
+
resizeNE: null,
|
110
|
+
resizeSW: null,
|
111
|
+
resizeSE: null,
|
112
|
+
noResize: false
|
113
|
+
})),
|
114
|
+
|
115
|
+
draw: function(){
|
116
|
+
this.base();
|
117
|
+
this._initActionFns();
|
118
|
+
this._initActionFlag();
|
119
|
+
},
|
120
|
+
|
121
|
+
/* Method for checking the change is within the limits */
|
122
|
+
_checkConstraints: function(_leftChange,_topChange){
|
123
|
+
var _this = this, _rect = _this.rect,
|
124
|
+
_options = _this.options,
|
125
|
+
_dw, _dh;
|
126
|
+
if(_rect.width < _options.minSize[0]){
|
127
|
+
_dw=0-(_options.minSize[0]-_rect.width);
|
128
|
+
_rect.setWidth( _options.minSize[0]);
|
129
|
+
if(_leftChange){
|
130
|
+
_rect.offsetBy( _dw, 0 );
|
131
|
+
}
|
132
|
+
}
|
133
|
+
else if(_rect.width > _options.maxSize[0]){
|
134
|
+
_dw=0-(_options.maxSize[0]-_rect.width);
|
135
|
+
_rect.setWidth( _options.maxSize[0]);
|
136
|
+
if(_leftChange){
|
137
|
+
_rect.offsetBy( _dw, 0 );
|
138
|
+
}
|
139
|
+
}
|
140
|
+
if(_rect.height < _options.minSize[1]){
|
141
|
+
_dh=0-(_options.minSize[1]-_rect.height);
|
142
|
+
_rect.setHeight(_options.minSize[1]);
|
143
|
+
if(_topChange){
|
144
|
+
_rect.offsetBy( 0, _dh );
|
145
|
+
}
|
146
|
+
}
|
147
|
+
else if(_rect.height > _options.maxSize[1]){
|
148
|
+
_dh=0-(_options.maxSize[1]-_rect.height);
|
149
|
+
_rect.setHeight(_options.maxSize[1]);
|
150
|
+
if(_topChange){
|
151
|
+
_rect.offsetBy( 0, _dh );
|
152
|
+
}
|
153
|
+
}
|
154
|
+
if(_rect.left < _options.minX){
|
155
|
+
_rect.offsetTo( _options.minX, _rect.top );
|
156
|
+
}
|
157
|
+
else if(_rect.left > _options.maxX){
|
158
|
+
_rect.offsetTo( _options.maxX, _rect.top );
|
159
|
+
}
|
160
|
+
if(_rect.top < _options.minY){
|
161
|
+
_rect.offsetTo( _rect.left, _options.minY );
|
162
|
+
}
|
163
|
+
else if(_rect.top > _options.maxY){
|
164
|
+
_rect.offsetTo( _rect.left, _options.maxY );
|
165
|
+
}
|
166
|
+
_this.drawRect();
|
167
|
+
},
|
168
|
+
|
169
|
+
/* Method for returning the coordinate difference as a HPoint instance */
|
170
|
+
_diffPoint: function(x,y){
|
171
|
+
return this._startPoint.subtract(x,y);
|
172
|
+
},
|
173
|
+
|
174
|
+
/** = Description
|
175
|
+
* Sub-event method responder when the north-west (left-top) corner is being
|
176
|
+
* moved to resize the view.
|
177
|
+
*
|
178
|
+
* By default calculates the dimensions and checks the constraints.
|
179
|
+
*
|
180
|
+
* = Parameters
|
181
|
+
* +_this+:: The instance of the class it belongs to (+self+).
|
182
|
+
* +x+:: The current x coordinate of the mouse cursor.
|
183
|
+
* +y+:: The current y coordinate of the mouse cursor.
|
184
|
+
*
|
185
|
+
**/
|
186
|
+
dynResizeNW: function(_this,x,y){
|
187
|
+
var _dp = _this._diffPoint(x,y);
|
188
|
+
_this.rect.setLeftTop(_this._startRect.leftTop.subtract(_dp));
|
189
|
+
_this._checkConstraints(1,1);
|
190
|
+
},
|
191
|
+
|
192
|
+
/** = Description
|
193
|
+
* Sub-event method responder when the north-east (right-top) corner is being
|
194
|
+
* moved to resize the view.
|
195
|
+
*
|
196
|
+
* By default calculates the dimensions and checks the constraints.
|
197
|
+
*
|
198
|
+
* = Parameters
|
199
|
+
* +_this+:: The instance of the class it belongs to (+self+).
|
200
|
+
* +x+:: The current x coordinate of the mouse cursor.
|
201
|
+
* +y+:: The current y coordinate of the mouse cursor.
|
202
|
+
*
|
203
|
+
**/
|
204
|
+
dynResizeNE: function(_this,x,y){
|
205
|
+
var _dp = _this._diffPoint(x,y);
|
206
|
+
_this.rect.setRightTop(_this._startRect.rightTop.subtract(_dp));
|
207
|
+
_this._checkConstraints(0,1);
|
208
|
+
},
|
209
|
+
|
210
|
+
/** = Description
|
211
|
+
* Sub-event method responder when the south-west (left-bottom) corner is being
|
212
|
+
* moved to resize the view.
|
213
|
+
*
|
214
|
+
* By default calculates the dimensions and checks the constraints.
|
215
|
+
*
|
216
|
+
* = Parameters
|
217
|
+
* +_this+:: The instance of the class it belongs to (+self+).
|
218
|
+
* +x+:: The current x coordinate of the mouse cursor.
|
219
|
+
* +y+:: The current y coordinate of the mouse cursor.
|
220
|
+
*
|
221
|
+
**/
|
222
|
+
dynResizeSW: function(_this,x,y){
|
223
|
+
var _dp = _this._diffPoint(x,y);
|
224
|
+
_this.rect.setLeftBottom(_this._startRect.leftBottom.subtract(_dp));
|
225
|
+
_this._checkConstraints(1,0);
|
226
|
+
},
|
227
|
+
|
228
|
+
/** = Description
|
229
|
+
* Sub-event method responder when the south-east (right-bottom) corner is being
|
230
|
+
* moved to resize the view.
|
231
|
+
*
|
232
|
+
* By default calculates the dimensions and checks the constraints.
|
233
|
+
*
|
234
|
+
* = Parameters
|
235
|
+
* +_this+:: The instance of the class it belongs to (+self+).
|
236
|
+
* +x+:: The current x coordinate of the mouse cursor.
|
237
|
+
* +y+:: The current y coordinate of the mouse cursor.
|
238
|
+
*
|
239
|
+
**/
|
240
|
+
dynResizeSE: function(_this,x,y){
|
241
|
+
var _dp = _this._diffPoint(x,y);
|
242
|
+
_this.rect.setRightBottom(_this._startRect.rightBottom.subtract(_dp));
|
243
|
+
_this._checkConstraints(0,0);
|
244
|
+
},
|
245
|
+
|
246
|
+
/** = Description
|
247
|
+
* Sub-event method responder when the west (left) edge is being
|
248
|
+
* moved to resize the view.
|
249
|
+
*
|
250
|
+
* By default calculates the dimensions and checks the constraints.
|
251
|
+
*
|
252
|
+
* = Parameters
|
253
|
+
* +_this+:: The instance of the class it belongs to (+self+).
|
254
|
+
* +x+:: The current x coordinate of the mouse cursor.
|
255
|
+
* +y+:: The current y coordinate of the mouse cursor.
|
256
|
+
*
|
257
|
+
**/
|
258
|
+
dynResizeW: function(_this,x,y){
|
259
|
+
var _dp = _this._diffPoint(x,y);
|
260
|
+
_this.rect.setLeft(_this._startRect.left-_dp.x);
|
261
|
+
_this._checkConstraints(1,0);
|
262
|
+
},
|
263
|
+
|
264
|
+
/** = Description
|
265
|
+
* Sub-event method responder when the east (right) edge is being
|
266
|
+
* moved to resize the view.
|
267
|
+
*
|
268
|
+
* By default calculates the dimensions and checks the constraints.
|
269
|
+
*
|
270
|
+
* = Parameters
|
271
|
+
* +_this+:: The instance of the class it belongs to (+self+).
|
272
|
+
* +x+:: The current x coordinate of the mouse cursor.
|
273
|
+
* +y+:: The current y coordinate of the mouse cursor.
|
274
|
+
*
|
275
|
+
**/
|
276
|
+
dynResizeE: function(_this,x,y){
|
277
|
+
var _dp = _this._diffPoint(x,y);
|
278
|
+
_this.rect.setRight(_this._startRect.right-_dp.x);
|
279
|
+
_this._checkConstraints(0,0);
|
280
|
+
},
|
281
|
+
|
282
|
+
/** = Description
|
283
|
+
* Sub-event method responder when the north (top) edge is being
|
284
|
+
* moved to resize the view.
|
285
|
+
*
|
286
|
+
* By default calculates the dimensions and checks the constraints.
|
287
|
+
*
|
288
|
+
* = Parameters
|
289
|
+
* +_this+:: The instance of the class it belongs to (+self+).
|
290
|
+
* +x+:: The current x coordinate of the mouse cursor.
|
291
|
+
* +y+:: The current y coordinate of the mouse cursor.
|
292
|
+
*
|
293
|
+
**/
|
294
|
+
dynResizeN: function(_this,x,y){
|
295
|
+
var _dp = _this._diffPoint(x,y);
|
296
|
+
_this.rect.setTop(_this._startRect.top-_dp.y);
|
297
|
+
_this._checkConstraints(0,1);
|
298
|
+
},
|
299
|
+
|
300
|
+
/** = Description
|
301
|
+
* Sub-event method responder when the south (bottom) edge is being
|
302
|
+
* moved to resize the view.
|
303
|
+
*
|
304
|
+
* By default calculates the dimensions and checks the constraints.
|
305
|
+
*
|
306
|
+
* = Parameters
|
307
|
+
* +_this+:: The instance of the class it belongs to (+self+).
|
308
|
+
* +x+:: The current x coordinate of the mouse cursor.
|
309
|
+
* +y+:: The current y coordinate of the mouse cursor.
|
310
|
+
*
|
311
|
+
**/
|
312
|
+
dynResizeS: function(_this,x,y){
|
313
|
+
var _dp = _this._diffPoint(x,y);
|
314
|
+
_this.rect.setBottom(_this._startRect.bottom-_dp.y);
|
315
|
+
_this._checkConstraints(0,0);
|
316
|
+
},
|
317
|
+
|
318
|
+
/** = Description
|
319
|
+
* Sub-event method responder when moving the offset of the view.
|
320
|
+
* This is called when no resize areas are triggered.
|
321
|
+
*
|
322
|
+
* By default calculates the dimensions and checks the constraints.
|
323
|
+
*
|
324
|
+
* = Parameters
|
325
|
+
* +_this+:: The instance of the class it belongs to (+self+).
|
326
|
+
* +x+:: The current x coordinate of the mouse cursor.
|
327
|
+
* +y+:: The current y coordinate of the mouse cursor.
|
328
|
+
*
|
329
|
+
**/
|
330
|
+
dynDrag: function(_this,x,y){
|
331
|
+
var _dp = _this._diffPoint(x,y);
|
332
|
+
_this.rect.offsetTo(_this._startRect.leftTop.subtract(_dp));
|
333
|
+
_this._checkConstraints(1,1);
|
334
|
+
},
|
335
|
+
|
336
|
+
/* Method to initialize the rules */
|
337
|
+
_initActionFns: function(){
|
338
|
+
this._actionFns = [];
|
339
|
+
this._actionCrsr = [
|
340
|
+
'nw-resize', 'ne-resize', 'sw-resize', 'se-resize',
|
341
|
+
'w-resize', 'e-resize', 'n-resize', 's-resize', 'move'
|
342
|
+
];
|
343
|
+
var i, _this = this,
|
344
|
+
_resizeNW=0,_resizeNE=1,_resizeSW=2,_resizeSE=3,
|
345
|
+
_resizeW =4, _resizeE=5, _resizeN=6, _resizeS=7, _drag=8,
|
346
|
+
_actionFns=this._actionFns;
|
347
|
+
_actionFns[_resizeNW] = _this.dynResizeNW;
|
348
|
+
_actionFns[_resizeNE] = _this.dynResizeNE;
|
349
|
+
_actionFns[_resizeSW] = _this.dynResizeSW;
|
350
|
+
_actionFns[_resizeSE] = _this.dynResizeSE;
|
351
|
+
|
352
|
+
_actionFns[_resizeW] = _this.dynResizeW;
|
353
|
+
_actionFns[_resizeE] = _this.dynResizeE;
|
354
|
+
_actionFns[_resizeN] = _this.dynResizeN;
|
355
|
+
_actionFns[_resizeS] = _this.dynResizeS;
|
356
|
+
|
357
|
+
_actionFns[_drag] = _this.dynDrag;
|
358
|
+
|
359
|
+
},
|
360
|
+
|
361
|
+
|
362
|
+
/** Calculates the rectangles for all the active areas.
|
363
|
+
**/
|
364
|
+
makeRectRules: function(){
|
365
|
+
var _opts=this.options, _rect=this.rect;
|
366
|
+
return [
|
367
|
+
// corners:
|
368
|
+
[0,0,_opts.resizeNW[0],_opts.resizeNW[1]], // NW
|
369
|
+
[_rect.width-_opts.resizeNE[0],0,_rect.width,_opts.resizeNE[1]], // NE
|
370
|
+
[0,_rect.height-_opts.resizeSW[1],_opts.resizeSW[0],_rect.height], // SW
|
371
|
+
[_rect.width-_opts.resizeSE[0],_rect.height-_opts.resizeSE[1],_rect.width,_rect.height], // SE
|
372
|
+
// borders:
|
373
|
+
[0,_opts.resizeN,_opts.resizeW,_rect.height-_opts.resizeS], // W
|
374
|
+
[_rect.width-_opts.resizeE,_opts.resizeN,_rect.width,_rect.height-_opts.resizeS], // E
|
375
|
+
[_opts.resizeW,0,_rect.width-_opts.resizeE,_opts.resizeN], // N
|
376
|
+
[_opts.resizeW,_rect.height-_opts.resizeS,_rect.width-_opts.resizeE,_rect.height], // S
|
377
|
+
// drag-area:
|
378
|
+
[_opts.resizeW,_opts.resizeN,_rect.width-_opts.resizeE,_rect.height-_opts.resizeS]
|
379
|
+
];
|
380
|
+
},
|
381
|
+
|
382
|
+
/* Method used for initializing the action flags. */
|
383
|
+
_initActionFlag: function(){
|
384
|
+
this._actionFlag = -1;
|
385
|
+
this._actionRects = [];
|
386
|
+
var i=0,_rr,_rectRules = this.makeRectRules();
|
387
|
+
for(;i<9;i++){
|
388
|
+
_rr = _rectRules[i];
|
389
|
+
this._actionRects.push( HRect.nu(_rr[0],_rr[1],_rr[2],_rr[3]) );
|
390
|
+
}
|
391
|
+
},
|
392
|
+
|
393
|
+
/* Method used to detect the action flags. Also sets the cursor. */
|
394
|
+
_detectActionFlag: function(){
|
395
|
+
var i,
|
396
|
+
_actionPoint = this._startPoint.subtract(this.rect.left,this.rect.top),
|
397
|
+
_actionRects = this._actionRects;
|
398
|
+
if(this.options.noResize){
|
399
|
+
if(_actionRects[8].contains(_actionPoint)){
|
400
|
+
this._actionFlag = 8;
|
401
|
+
this.setStyle('cursor',this._actionCrsr[8]);
|
402
|
+
return;
|
403
|
+
}
|
404
|
+
else {
|
405
|
+
this._actionFlag = -1;
|
406
|
+
}
|
407
|
+
}
|
408
|
+
else{
|
409
|
+
for(i=0;i!==9;i++){
|
410
|
+
if(_actionRects[i].contains(_actionPoint)){
|
411
|
+
this._actionFlag=i;
|
412
|
+
this.setStyle('cursor',this._actionCrsr[i]);
|
413
|
+
return;
|
414
|
+
}
|
415
|
+
}
|
416
|
+
}
|
417
|
+
},
|
418
|
+
|
419
|
+
/** = Description
|
420
|
+
* Event method responder that decides and initializes
|
421
|
+
* a resize or move operation on the drag events.
|
422
|
+
*
|
423
|
+
* = Parameters
|
424
|
+
* +x+:: The current x coordinate of the mouse cursor.
|
425
|
+
* +y+:: The current y coordinate of the mouse cursor.
|
426
|
+
* +_isRightButton+:: A flag that is true when right (or context) clicking.
|
427
|
+
*
|
428
|
+
* = Returns
|
429
|
+
* +true+
|
430
|
+
*
|
431
|
+
**/
|
432
|
+
startDrag: function(x,y,_isRightButton){
|
433
|
+
var _parent = this.parent;
|
434
|
+
if(_parent.elemId){
|
435
|
+
x-=_parent.pageX();
|
436
|
+
y-=_parent.pageY();
|
437
|
+
}
|
438
|
+
this._startPoint = new HPoint(x,y);
|
439
|
+
this._startRect = new HRect( this.rect );
|
440
|
+
this._detectActionFlag();
|
441
|
+
if(this._actionFlag!==-1){
|
442
|
+
this._actionFns[this._actionFlag](this,x,y);
|
443
|
+
}
|
444
|
+
return true; // prevents text selection
|
445
|
+
},
|
446
|
+
|
447
|
+
/** = Description
|
448
|
+
* Event method responder that performs a resize or move recalculation
|
449
|
+
* and redraw call when dragging one of the corners or edges to resize or
|
450
|
+
* any other area to move.
|
451
|
+
*
|
452
|
+
* = Parameters
|
453
|
+
* +x+:: The current x coordinate of the mouse cursor.
|
454
|
+
* +y+:: The current y coordinate of the mouse cursor.
|
455
|
+
*
|
456
|
+
* = Returns
|
457
|
+
* +true+
|
458
|
+
*
|
459
|
+
**/
|
460
|
+
drag: function(x,y){
|
461
|
+
var _parent = this.parent;
|
462
|
+
if(_parent.elemId){
|
463
|
+
x-=_parent.pageX();
|
464
|
+
y-=_parent.pageY();
|
465
|
+
}
|
466
|
+
if(this._actionFlag!==-1){
|
467
|
+
this._actionFns[this._actionFlag](this,x,y);
|
468
|
+
}
|
469
|
+
return true; // prevents text selection
|
470
|
+
},
|
471
|
+
|
472
|
+
/** = Description
|
473
|
+
* Event method responder that ends a resize or move operation.
|
474
|
+
* Also restores the mouse cursor.
|
475
|
+
*
|
476
|
+
* = Parameters
|
477
|
+
* +x+:: The current x coordinate of the mouse cursor.
|
478
|
+
* +y+:: The current y coordinate of the mouse cursor.
|
479
|
+
* +_isRightButton+:: A flag that is true when right (or context) clicking.
|
480
|
+
*
|
481
|
+
* = Returns
|
482
|
+
* +true+
|
483
|
+
*
|
484
|
+
**/
|
485
|
+
endDrag: function(x,y,_isRightButton){
|
486
|
+
this.base();
|
487
|
+
var _parent = this.parent;
|
488
|
+
if(_parent.elemId){
|
489
|
+
x-=_parent.pageX();
|
490
|
+
y-=_parent.pageY();
|
491
|
+
}
|
492
|
+
if(this._actionFlag!==-1){
|
493
|
+
this._actionFns[this._actionFlag](this,x,y);
|
494
|
+
}
|
495
|
+
this.setStyle('cursor','default');
|
496
|
+
this._initActionFlag();
|
497
|
+
EVENT.resize(); // Triggers the window resize event (automatic event for the browser's window).
|
498
|
+
return true; // prevents text selection
|
499
|
+
}
|
500
|
+
});
|
File without changes
|
File without changes
|
File without changes
|