rsence-pre 3.0.0.0 → 3.0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2ebc985858d1e43617fe35f5d7e35f8fbd344e1e
4
- data.tar.gz: ce7d9178a192d06692d18de0dd13976d5b87a969
3
+ metadata.gz: 15c35ff7feb4abe831f8b8ceefd7c1e758e2e5ec
4
+ data.tar.gz: c473028fd6ebac368aa66911c1cade5e32efb57c
5
5
  SHA512:
6
- metadata.gz: 6c6f43fa544d16ce40d0f944076366268ec15921be4f2a94ed537726e3d02aee98a10f5a35ee09f94f6b39bfceb46c827ee05f9c2c6cf35643a3052b10d893db
7
- data.tar.gz: 71e618b84f581b2837b87f39b62b574cd7de34b4f460346cef4a82c25f08118423b5d8786b176e93c265df8c98cc4e445d9222c26f717e68f806ff85e78d2c50
6
+ metadata.gz: 9e9f754d1a97046fadc0b71fc1b76970adbbb102c28ed38818e947098e3d740a254d904be5178ebe9f76c846f04aca87a28aa8e628293ffa028880f3ef990163
7
+ data.tar.gz: bb87cf8fb7a624ebdf7a5efde5c4fdf26febe5d0059ded0534296ed578347598e10b3d438bd1527c7b397e9fc9ea9412963f064e39f3158590f073a37b95b805
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.0.0.0.pre
1
+ 3.0.0.1.pre
@@ -742,15 +742,11 @@ HEventResponder = HClass.extend({
742
742
  **/
743
743
  textEnter: function() {},
744
744
 
745
- /** Selection handling; currently under construction
745
+ /** Selection handling. Preferably extend #select and #deSelect.
746
746
  **/
747
747
  selected: false,
748
- select: function(){
749
- // console.warn("HControl#select not supported yet.");
750
- },
751
- deSelect: function(){
752
- // console.warn("HControl#deSelect not supported yet.");
753
- },
748
+ select: function(){},
749
+ deSelect: function(){},
754
750
  setSelected: function(_state){
755
751
  this.toggleCSSClass(this.elemId, HControl.CSS_SELECTED, _state);
756
752
  if( _state ){
@@ -261,6 +261,7 @@ EventManagerApp = HApplication.extend
261
261
  droppable: [] # viewIds
262
262
  rectHover: [] # viewIds
263
263
  multiDrop: [] # viewIds
264
+ keyRepeat: [] # viewIds
264
265
  keyDown: [] # viewIds
265
266
  keyUp: [] # viewIds
266
267
  mouseWheel: [] # viewIds
@@ -350,12 +351,24 @@ EventManagerApp = HApplication.extend
350
351
  _value = _eventOptions[_key]
351
352
  if _value
352
353
  _eventsOn.push( _key )
353
- @_listeners.byEvent[_key].unshift( _viewId ) unless ~@_listeners.byEvent[_key].indexOf(_viewId)
354
- if _key == 'rectHover' and _value == 'intersects' and not ~@_listeners._rectHoverIntersectMode.indexOf( _viewId )
354
+ if _key == 'keyDown'
355
+ if _value == 'repeat'
356
+ unless ~@_listeners.byEvent['keyRepeat'].indexOf(_viewId)
357
+ @_listeners.byEvent['keyRepeat'].unshift( _viewId )
358
+ else
359
+ _idx = @_listeners.byEvent['keyRepeat'].indexOf(_viewId)
360
+ @_listeners.byEvent['keyRepeat'].splice( _idx, 1 ) if ~_idx
361
+ unless ~@_listeners.byEvent[_key].indexOf(_viewId)
362
+ @_listeners.byEvent[_key].unshift( _viewId )
363
+ if _key == 'rectHover' and _value == 'intersects' and
364
+ not ~@_listeners._rectHoverIntersectMode.indexOf( _viewId )
355
365
  @_listeners._rectHoverIntersectMode.unshift( _viewId )
356
- else
357
- _idx = @_listeners.byEvent[_key].indexOf(_viewId)
358
- @_listeners.byEvent[_key].splice( _idx, 1 ) if ~_idx
366
+ else # not _value
367
+ _keys = [_key]
368
+ _keys.push('keyRepeat') if _key == 'keyDown'
369
+ for _key in _keys
370
+ _idx = @_listeners.byEvent[_key].indexOf(_viewId)
371
+ @_listeners.byEvent[_key].splice( _idx, 1 ) if ~_idx
359
372
  else
360
373
  @warn( "EventManager##{_warnMethodName} => Invalid event type: #{_key}" )
361
374
  _this = @
@@ -445,12 +458,12 @@ EventManagerApp = HApplication.extend
445
458
  # both before and after in all circumstances, but better be safe than sure.
446
459
  resize: (e)->
447
460
  HSystem._updateFlexibleRects()
461
+ ELEM.flush()
448
462
  for _viewId in @_listeners.byEvent.resize
449
463
  _ctrl = @_views[_viewId]
450
464
  _ctrl.resize() if _ctrl.resize?
451
- setTimeout(->
452
- HSystem._updateFlexibleRects()
453
- , 100 )
465
+ ELEM.flush()
466
+ HSystem._updateFlexibleRects()
454
467
  #
455
468
  # Finds the next elem with a view_id attribute
456
469
  _findViewId: (_elem)->
@@ -561,9 +574,7 @@ EventManagerApp = HApplication.extend
561
574
  # mouse has been moved (replacement of mouseover/mouseout)
562
575
  _findNewFocus: (x,y)->
563
576
  _dragged = @_listeners.dragged
564
- if _dragged.length != 0
565
- console.log('dragged:',_dragged)
566
- return
577
+ # return if _dragged.length != 0
567
578
  _matchIds = @_findTopmostEnabled( HPoint.new( x, y ), 'contains', null )
568
579
  _focused = @_listeners.focused
569
580
  if _matchIds.length == 0
@@ -572,10 +583,10 @@ EventManagerApp = HApplication.extend
572
583
  for _viewId in _matchIds
573
584
  continue if ~_focused.indexOf(_viewId)
574
585
  _ctrl = @_views[_viewId]
575
- @_debugHighlight(_ctrl)
576
586
  for _focusId in _focused
577
587
  @blur( @_views[_focusId] )
578
588
  _focused.splice( _focused.indexOf(_focusId), 1 )
589
+ # @_debugHighlight(_ctrl)
579
590
  @focus( _ctrl )
580
591
  #
581
592
  # Just split to gain namespace:
@@ -665,20 +676,23 @@ EventManagerApp = HApplication.extend
665
676
  _area.x-_parent.pageX()-_subX,
666
677
  _area.y-_parent.pageY()-_subY
667
678
  )
668
- else
679
+ else if _view.parent.hasAncestor( HApplication )
669
680
  _searchArea = _area
681
+ else
682
+ console.warn('invalid view parent:',_view.parent)
683
+ continue
670
684
  if _view.hasAncestor? and _view.hasAncestor( HView )
671
685
  if _view.rect[_matchMethod](_searchArea) and !_view.isHidden
672
686
  if ~_arrOfIds.indexOf( _viewId )
673
687
  _foundId = _search( _view.viewsZOrder.slice().reverse() )
674
- return _foundId if _foundId
688
+ return _foundId unless _foundId == false
675
689
  return _viewId
676
690
  else
677
691
  _result = _search( _view.viewsZOrder.slice().reverse() )
678
- return _result if _result
692
+ return _result unless _result == false
679
693
  return false
680
694
  _foundId = _search( HSystem.viewsZOrder.slice().reverse() )
681
- return [ _foundId ] if _foundId
695
+ return [ _foundId ] unless _foundId == false
682
696
  return []
683
697
  #
684
698
  # Finds the topmost drop/hover target within the area specified by rectHover
@@ -868,7 +882,8 @@ EventManagerApp = HApplication.extend
868
882
  @status.setButton1( false )
869
883
  else
870
884
  # there is a separate event for context menu, and only
871
- # Firefox fires click separately
885
+ # Firefox fires click separately.
886
+ # the handler is contextMenu
872
887
  return true
873
888
  #
874
889
  # Focus check here
@@ -964,7 +979,7 @@ EventManagerApp = HApplication.extend
964
979
  @_modifiers(e)
965
980
  _stop = true
966
981
  @status.setButton1( false )
967
- @status.setButton2( false )
982
+ @status.setButton2( true )
968
983
  _focused = @_listeners.focused
969
984
  _contextMenuable = @_listeners.byEvent.contextMenu
970
985
  for _viewId in _focused
@@ -1054,12 +1069,14 @@ EventManagerApp = HApplication.extend
1054
1069
  _stop = true
1055
1070
  _active = @_listeners.active
1056
1071
  _keyDowners = @_listeners.byEvent.keyDown
1072
+ _keyRepeaters = @_listeners.byEvent.keyRepeat
1057
1073
  _keyDowns = []
1058
- unless @status.hasKeyDown( _keyCode ) and @_lastKeyDown != _keyCode
1059
- for _viewId in _active
1060
- _keyDowns.push( _viewId ) if ~_keyDowners.indexOf( _viewId )
1074
+ _repeating = ( @_lastKeyDown == _keyCode ) and @status.hasKeyDown( _keyCode )
1075
+ # unless @status.hasKeyDown( _keyCode )
1076
+ for _viewId in _keyDowners
1077
+ if !_repeating or ~_keyRepeaters.indexOf( _viewId )
1078
+ _keyDowns.push( _viewId ) if ~_active.indexOf( _viewId )
1061
1079
  @status.addKeyDown( _keyCode )
1062
- # repeat not implemented yet
1063
1080
  for _viewId in _keyDowns
1064
1081
  _ctrl = @_views[_viewId]
1065
1082
  if _ctrl.keyDown?
@@ -1091,11 +1108,11 @@ EventManagerApp = HApplication.extend
1091
1108
  @status.delKeyDown( _keyCode )
1092
1109
  for _viewId in _keyUppers
1093
1110
  _ctrl = @_views[_viewId]
1094
- if _ctrl.keyUp?
1111
+ if _ctrl.keyUp? and ~_active.indexOf( _viewId )
1095
1112
  _stop = true if _ctrl.keyUp( _keyCode )
1096
1113
  Event.stop(e) if _stop
1097
1114
  keyPress: (e)->
1098
- @warn('EventManager#keyPress not implemented')
1115
+ # @warn('EventManager#keyPress not implemented')
1099
1116
  isKeyDown: (_keyCode)->
1100
1117
  @warn('EventManager#isKeyDown() is deprecated, use #status.hasKeyDown() instead')
1101
1118
  @status.hasKeyDown( _keyCode )
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rsence-pre
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0.0
4
+ version: 3.0.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Riassence Inc.