rsence 2.0.8.19 → 2.0.9.20.pre
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/js/foundation/control/dyncontrol/dyncontrol.js +16 -9
- data/js/foundation/eventmanager/eventmanager.js +1 -0
- data/js/foundation/geom/rect/rect.js +43 -3
- data/js/foundation/system/system.js +11 -0
- data/js/foundation/view/view.js +61 -47
- data/lib/plugins/plugins.rb +15 -4
- metadata +14 -11
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.0.
|
1
|
+
2.0.9.20.pre
|
@@ -395,17 +395,24 @@ HDynControl = HControl.extend({
|
|
395
395
|
var i,
|
396
396
|
_actionPoint = this._startPoint.subtract(this.rect.left,this.rect.top),
|
397
397
|
_actionRects = this._actionRects;
|
398
|
-
if(this.options.noResize
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
}
|
403
|
-
for(i=0;i!==9;i++){
|
404
|
-
if(_actionRects[i].contains(_actionPoint)){
|
405
|
-
this._actionFlag=i;
|
406
|
-
this.setStyle('cursor',this._actionCrsr[i]);
|
398
|
+
if(this.options.noResize){
|
399
|
+
if(_actionRects[8].contains(_actionPoint)){
|
400
|
+
this._actionFlag = 8;
|
401
|
+
this.setStyle('cursor',this._actionCrsr[8]);
|
407
402
|
return;
|
408
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
|
+
}
|
409
416
|
}
|
410
417
|
},
|
411
418
|
|
@@ -58,7 +58,7 @@ HRect = HClass.extend({
|
|
58
58
|
*
|
59
59
|
**/
|
60
60
|
constructor: function() {
|
61
|
-
this.
|
61
|
+
this.viewIds = [];
|
62
62
|
var _args=arguments;
|
63
63
|
|
64
64
|
if (_args.length === 0) {
|
@@ -106,6 +106,43 @@ HRect = HClass.extend({
|
|
106
106
|
this.bottom = _rect.bottom;
|
107
107
|
this.right = _rect.right;
|
108
108
|
},
|
109
|
+
|
110
|
+
_updateFlexibleDimensions: function(){
|
111
|
+
var
|
112
|
+
_this = this,
|
113
|
+
_viewIds = _this.viewIds,
|
114
|
+
_parentElemId,
|
115
|
+
_parentSize,
|
116
|
+
_parentWidth,
|
117
|
+
_parentHeight,
|
118
|
+
_viewId,
|
119
|
+
_view,
|
120
|
+
i = 0;
|
121
|
+
for(;i<_viewIds.length;i++){
|
122
|
+
_viewId = _viewIds[i];
|
123
|
+
_view = HSystem.views[_viewId];
|
124
|
+
if(_view.flexRight || _view.flexBottom){
|
125
|
+
ELEM.flushLoop();
|
126
|
+
_parentElemId = _view.parent.elemId;
|
127
|
+
_parentSize = _view.parentSize();
|
128
|
+
_parentWidth = _parentSize[0];
|
129
|
+
if(_view.flexRight){
|
130
|
+
_this.right = _parentWidth - _view.flexRightOffset;
|
131
|
+
}
|
132
|
+
if(!_view.flexLeft){
|
133
|
+
_this.left = _this.right - _this.width;
|
134
|
+
}
|
135
|
+
_parentHeight = _parentSize[1];
|
136
|
+
if(_view.flexBottom){
|
137
|
+
_this.bottom = _parentWidth - _view.flexBottomOffset - _this.top;
|
138
|
+
}
|
139
|
+
if(!_view.flexTop){
|
140
|
+
_this.top = _this.bottom - _this.height;
|
141
|
+
}
|
142
|
+
_this.updateSecondaryValues();
|
143
|
+
}
|
144
|
+
}
|
145
|
+
},
|
109
146
|
|
110
147
|
/** = Description
|
111
148
|
* You should call this on the instance to update secondary values, like
|
@@ -118,6 +155,9 @@ HRect = HClass.extend({
|
|
118
155
|
*
|
119
156
|
**/
|
120
157
|
updateSecondaryValues: function() {
|
158
|
+
|
159
|
+
// this._updateFlexibleDimensions();
|
160
|
+
|
121
161
|
/**
|
122
162
|
* isValid is true if the Rect's right side is greater than or equal to its left
|
123
163
|
* and its bottom is greater than or equal to its top, and false otherwise.
|
@@ -550,7 +590,6 @@ HRect = HClass.extend({
|
|
550
590
|
|
551
591
|
// HValue and HView support
|
552
592
|
valueObj: null,
|
553
|
-
viewIds: [],
|
554
593
|
|
555
594
|
/** = Description
|
556
595
|
* Bind function
|
@@ -560,9 +599,10 @@ HRect = HClass.extend({
|
|
560
599
|
*
|
561
600
|
**/
|
562
601
|
bind: function(_view){
|
563
|
-
if(this.viewIds.indexOf(_view.viewId)
|
602
|
+
if(this.viewIds.indexOf( _view.viewId ) === -1){
|
564
603
|
this.viewIds.push( _view.viewId );
|
565
604
|
}
|
605
|
+
this._updateFlexibleDimensions();
|
566
606
|
},
|
567
607
|
|
568
608
|
/** = Description
|
@@ -91,6 +91,17 @@ HSystem = {
|
|
91
91
|
|
92
92
|
},
|
93
93
|
|
94
|
+
_updateFlexibleRects: function(){
|
95
|
+
var
|
96
|
+
_view,
|
97
|
+
i = 0;
|
98
|
+
for( ; i < this.views.length; i++ ){
|
99
|
+
_view = this.views[i];
|
100
|
+
if(_view.flexRight || _view.flexBottom){
|
101
|
+
_view.rect._updateFlexibleDimensions();
|
102
|
+
}
|
103
|
+
}
|
104
|
+
},
|
94
105
|
|
95
106
|
/** Calls the scheduler and then calls itself after a timeout to keep
|
96
107
|
* the loop going on.
|
data/js/foundation/view/view.js
CHANGED
@@ -628,14 +628,7 @@ HView = HClass.extend({
|
|
628
628
|
_styl( _elemId, 'bottom', _this.flexBottom?(_this.flexBottomOffset+'px'):'auto', true);
|
629
629
|
_styl( _elemId, 'width', (_this.flexLeft&&_this.flexRight)?'auto':(_rect.width+'px'), true);
|
630
630
|
_styl( _elemId, 'height', (_this.flexTop&&_this.flexBottom)?'auto':(_rect.height+'px'), true);
|
631
|
-
|
632
|
-
if(_this.flexLeft&&_this.flexRight){
|
633
|
-
_styl( _elemId, 'min-width', _rect.width+'px', true);
|
634
|
-
}
|
635
|
-
if(_this.flexTop&&_this.flexBottom){
|
636
|
-
_styl( _elemId, 'min-height', _rect.height+'px', true);
|
637
|
-
}
|
638
|
-
|
631
|
+
|
639
632
|
// Show the rectangle once it gets created, unless visibility was set to
|
640
633
|
// hidden in the constructor.
|
641
634
|
if(_this.isHidden === undefined || _this.isHidden === false) {
|
@@ -873,6 +866,28 @@ HView = HClass.extend({
|
|
873
866
|
return [ 0, 0, _parentSize[0], _parentSize[1] ];
|
874
867
|
},
|
875
868
|
|
869
|
+
parentSize: function(){
|
870
|
+
var _parentElemId = this.parent.elemId;
|
871
|
+
if ( _parentElemId === 0 ) {
|
872
|
+
return ELEM.windowSize();
|
873
|
+
}
|
874
|
+
else {
|
875
|
+
ELEM.flushLoop();
|
876
|
+
return ELEM.getSize( _parentElemId );
|
877
|
+
}
|
878
|
+
},
|
879
|
+
|
880
|
+
minWidth: 0,
|
881
|
+
setMinWidth: function(_minWidth){
|
882
|
+
this.minWidth = _minWidth;
|
883
|
+
ELEM.setStyle( this.elemId, 'min-width', this.minWidth+'px', true);
|
884
|
+
},
|
885
|
+
minHeight: 0,
|
886
|
+
setMinHeight: function(_minHeight){
|
887
|
+
this.minHeight = _minHeight;
|
888
|
+
ELEM.setStyle( this.elemId, 'min-height', this.minHeight+'px', true);
|
889
|
+
},
|
890
|
+
|
876
891
|
/** = Description
|
877
892
|
* Replaces the rect of the component with a new HRect instance and
|
878
893
|
* then refreshes the display.
|
@@ -896,20 +911,28 @@ HView = HClass.extend({
|
|
896
911
|
var _arrLen = _rect.length,
|
897
912
|
_throwPrefix = 'HView.setRect: If the HRect instance is replaced by an array, ';
|
898
913
|
if((_arrLen === 4) || (_arrLen === 6)){
|
899
|
-
var
|
900
|
-
|
901
|
-
|
902
|
-
|
903
|
-
|
904
|
-
|
905
|
-
|
906
|
-
|
907
|
-
|
908
|
-
|
909
|
-
|
910
|
-
|
911
|
-
|
912
|
-
|
914
|
+
var
|
915
|
+
_leftOffset = _rect[0],
|
916
|
+
_topOffset = _rect[1],
|
917
|
+
_width = _rect[2],
|
918
|
+
_height = _rect[3],
|
919
|
+
_rightOffset = ((_arrLen === 6)?_rect[4]:null),
|
920
|
+
_bottomOffset = ((_arrLen === 6)?_rect[5]:null),
|
921
|
+
_validLeftOffset = (typeof _leftOffset === 'number'),
|
922
|
+
_validTopOffset = (typeof _topOffset === 'number'),
|
923
|
+
_validRightOffset = (typeof _rightOffset === 'number'),
|
924
|
+
_validBottomOffset = (typeof _bottomOffset === 'number'),
|
925
|
+
_validWidth = (typeof _width === 'number'),
|
926
|
+
_validHeight = (typeof _height === 'number'),
|
927
|
+
_right,
|
928
|
+
_bottom;
|
929
|
+
|
930
|
+
if(_arrLen === 6){
|
931
|
+
var
|
932
|
+
_parentSize = this.parentSize(),
|
933
|
+
_parentWidth = _parentSize[0],
|
934
|
+
_parentHeight = _parentSize[1];
|
935
|
+
}
|
913
936
|
|
914
937
|
if( (!_validLeftOffset && !_validRightOffset) ||
|
915
938
|
(!_validTopOffset && !_validBottomOffset) ){
|
@@ -925,42 +948,30 @@ HView = HClass.extend({
|
|
925
948
|
this.setFlexRight(_validRightOffset,_rightOffset);
|
926
949
|
this.setFlexBottom(_validBottomOffset,_bottomOffset);
|
927
950
|
|
928
|
-
// default, makes a correct rect
|
929
951
|
if(_validLeftOffset && _validWidth && !_validRightOffset){
|
930
952
|
_right = _leftOffset + _width;
|
931
953
|
}
|
932
|
-
// can't be entirely correct rect unless parent size is calculated
|
933
954
|
else if(!_validLeftOffset && _validWidth && _validRightOffset){
|
934
|
-
|
935
|
-
|
955
|
+
_right = _parentWidth-_validRightOffset;
|
956
|
+
_leftOffset = _right-_width;
|
936
957
|
}
|
937
|
-
|
938
|
-
|
939
|
-
|
958
|
+
else if(_validLeftOffset && _validRightOffset){
|
959
|
+
_right = _parentWidth - _rightOffset;
|
960
|
+
_validWidth && this.setMinWidth( _width );
|
961
|
+
_right = _parentWidth - _rightOffset;
|
940
962
|
}
|
941
963
|
|
942
|
-
// use minimum width based on the height information given
|
943
|
-
else if(_validLeftOffset && _validWidth && _validRightOffset){
|
944
|
-
_right = _leftOffset + _width;
|
945
|
-
}
|
946
|
-
|
947
|
-
// default, makes a correct rect
|
948
964
|
if(_validTopOffset && _validHeight && !_validBottomOffset){
|
949
965
|
_bottom = _topOffset + _height;
|
950
966
|
}
|
951
|
-
// can't be entirely correct rect unless parent size is calculated
|
952
967
|
else if(!_validTopOffset && _validHeight && _validBottomOffset){
|
953
|
-
|
954
|
-
|
955
|
-
}
|
956
|
-
// can't be entirely correct rect unless parent size is calculated
|
957
|
-
else if(_validTopOffset && !_validHeight && _validBottomOffset){
|
958
|
-
_bottom = _topOffset + _bottomOffset;
|
968
|
+
_bottom = _parentHeight-_validBottomOffset;
|
969
|
+
_topOffset = _bottom-_height;
|
959
970
|
}
|
960
|
-
|
961
|
-
|
962
|
-
|
963
|
-
_bottom =
|
971
|
+
else if(_validTopOffset && _validBottomOffset){
|
972
|
+
_bottom = _parentHeight - _bottomOffset;
|
973
|
+
_validHeight && this.setMinHeight( _height );
|
974
|
+
_bottom = _parentHeight - _bottomOffset;
|
964
975
|
}
|
965
976
|
|
966
977
|
this.rect = HRect.nu(_leftOffset,_topOffset,_right,_bottom);
|
@@ -1114,7 +1125,10 @@ HView = HClass.extend({
|
|
1114
1125
|
var _setStyl = ELEM.setStyle,
|
1115
1126
|
_elemId = this.elemId;
|
1116
1127
|
_setStyl(_elemId,'visibility', 'hidden');
|
1117
|
-
|
1128
|
+
// Required for the old, buggy Mozilla engines ( Firefox versions below 3.0 )
|
1129
|
+
// At least text fields would show through from hidden parent elements.
|
1130
|
+
// Disabled, because keeping the display as none causes hidden views to have no dimensions at all.
|
1131
|
+
// _setStyl(_elemId,'display', 'none');
|
1118
1132
|
this.isHidden = true;
|
1119
1133
|
}
|
1120
1134
|
return this;
|
data/lib/plugins/plugins.rb
CHANGED
@@ -136,11 +136,22 @@ module RSence
|
|
136
136
|
super
|
137
137
|
end
|
138
138
|
end
|
139
|
-
|
140
|
-
|
141
|
-
|
139
|
+
begin
|
140
|
+
plugin_src = params[:src]
|
141
|
+
unless RUBY_VERSION.to_f >= 1.9
|
142
|
+
plugin_src = "_bundle_path = #{params[:bundle_path].inspect};" + plugin_src
|
143
|
+
end
|
144
|
+
m.module_eval( plugin_src )
|
145
|
+
rescue => e
|
146
|
+
src_path = params[:src_path]
|
147
|
+
src_path = "<undefined src_path>" if src_path == nil
|
148
|
+
params[:plugin_manager].plugin_error(
|
149
|
+
e,
|
150
|
+
'BundleLoaderEvalError',
|
151
|
+
"An error occurred while evaluating the plugin bundle #{params[:bundle_name]}.",
|
152
|
+
src_path
|
153
|
+
)
|
142
154
|
end
|
143
|
-
m.module_eval( plugin_src )
|
144
155
|
end
|
145
156
|
return mod
|
146
157
|
rescue => e
|
metadata
CHANGED
@@ -1,14 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rsence
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 961916140
|
5
|
+
prerelease: true
|
6
6
|
segments:
|
7
7
|
- 2
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
-
|
11
|
-
|
9
|
+
- 9
|
10
|
+
- 20
|
11
|
+
- pre
|
12
|
+
version: 2.0.9.20.pre
|
12
13
|
platform: ruby
|
13
14
|
authors:
|
14
15
|
- Riassence Inc.
|
@@ -16,7 +17,7 @@ autorequire:
|
|
16
17
|
bindir: bin
|
17
18
|
cert_chain: []
|
18
19
|
|
19
|
-
date: 2010-
|
20
|
+
date: 2010-08-15 00:00:00 +03:00
|
20
21
|
default_executable: rsence
|
21
22
|
dependencies:
|
22
23
|
- !ruby/object:Gem::Dependency
|
@@ -384,18 +385,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
384
385
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
385
386
|
none: false
|
386
387
|
requirements:
|
387
|
-
- - "
|
388
|
+
- - ">"
|
388
389
|
- !ruby/object:Gem::Version
|
389
|
-
hash:
|
390
|
+
hash: 25
|
390
391
|
segments:
|
391
|
-
-
|
392
|
-
|
392
|
+
- 1
|
393
|
+
- 3
|
394
|
+
- 1
|
395
|
+
version: 1.3.1
|
393
396
|
requirements: []
|
394
397
|
|
395
398
|
rubyforge_project:
|
396
399
|
rubygems_version: 1.3.7
|
397
400
|
signing_key:
|
398
401
|
specification_version: 3
|
399
|
-
summary: Release 2.0 version of the RSence framework.
|
402
|
+
summary: Pre-Release 2.0 version of the RSence framework.
|
400
403
|
test_files: []
|
401
404
|
|