mirror of
https://github.com/atom/atom.git
synced 2026-02-16 09:35:54 -05:00
Replace marker 'observe' methods w/ ordinary 'changed' event
This commit is contained in:
@@ -153,15 +153,6 @@ class BufferMarker
|
||||
containsPoint: (point) ->
|
||||
@getRange().containsPoint(point)
|
||||
|
||||
# Public: Sets a callback to be fired whenever a marker is changed.
|
||||
observe: (callback) ->
|
||||
@on 'changed', callback
|
||||
cancel: => @unobserve(callback)
|
||||
|
||||
# Public: Removes the fired callback whenever a marker changes.
|
||||
unobserve: (callback) ->
|
||||
@off 'changed', callback
|
||||
|
||||
# Destroys the marker
|
||||
destroy: ->
|
||||
@buffer.destroyMarker(@id)
|
||||
|
||||
@@ -20,7 +20,7 @@ class Cursor
|
||||
|
||||
constructor: ({@editSession, @marker}) ->
|
||||
@updateVisibility()
|
||||
@marker.observe (e) =>
|
||||
@marker.on 'changed', (e) =>
|
||||
@updateVisibility()
|
||||
{oldHeadScreenPosition, newHeadScreenPosition} = e
|
||||
{oldHeadBufferPosition, newHeadBufferPosition} = e
|
||||
|
||||
@@ -15,7 +15,7 @@ class DisplayBufferMarker
|
||||
|
||||
constructor: ({@bufferMarker, @displayBuffer}) ->
|
||||
@id = @bufferMarker.id
|
||||
@bufferMarker.on 'destroyed', => @destroyed()
|
||||
@observeBufferMarker()
|
||||
|
||||
###
|
||||
# Public #
|
||||
@@ -113,21 +113,6 @@ class DisplayBufferMarker
|
||||
clearTail: ->
|
||||
@bufferMarker.clearTail()
|
||||
|
||||
# Public: Sets a callback to be fired whenever the marker is changed.
|
||||
#
|
||||
# callback - A {Function} to execute
|
||||
observe: (callback) ->
|
||||
@observeBufferMarkerIfNeeded()
|
||||
@on 'changed', callback
|
||||
cancel: => @unobserve(callback)
|
||||
|
||||
# Public: Removes the callback that's fired whenever the marker changes.
|
||||
#
|
||||
# callback - A {Function} to remove
|
||||
unobserve: (callback) ->
|
||||
@off 'changed', callback
|
||||
@unobserveBufferMarkerIfNeeded()
|
||||
|
||||
# Returns whether the head precedes the tail in the buffer
|
||||
isReversed: ->
|
||||
@bufferMarker.isReversed()
|
||||
@@ -159,23 +144,19 @@ class DisplayBufferMarker
|
||||
destroyed: ->
|
||||
delete @displayBuffer.markers[@id]
|
||||
|
||||
observeBufferMarkerIfNeeded: ->
|
||||
return if @subscriptionCount()
|
||||
observeBufferMarker: ->
|
||||
@bufferMarker.on 'destroyed', => @destroyed()
|
||||
|
||||
@getHeadScreenPosition() # memoize current value
|
||||
@getTailScreenPosition() # memoize current value
|
||||
@bufferMarkerSubscription =
|
||||
@bufferMarker.observe ({oldHeadPosition, newHeadPosition, oldTailPosition, newTailPosition, bufferChanged, valid}) =>
|
||||
@notifyObservers
|
||||
oldHeadBufferPosition: oldHeadPosition
|
||||
newHeadBufferPosition: newHeadPosition
|
||||
oldTailBufferPosition: oldTailPosition
|
||||
newTailBufferPosition: newTailPosition
|
||||
bufferChanged: bufferChanged
|
||||
valid: valid
|
||||
|
||||
unobserveBufferMarkerIfNeeded: ->
|
||||
return if @subscriptionCount()
|
||||
@bufferMarkerSubscription.cancel()
|
||||
@bufferMarker.on 'changed', ({oldHeadPosition, newHeadPosition, oldTailPosition, newTailPosition, bufferChanged, valid}) =>
|
||||
@notifyObservers
|
||||
oldHeadBufferPosition: oldHeadPosition
|
||||
newHeadBufferPosition: newHeadPosition
|
||||
oldTailBufferPosition: oldTailPosition
|
||||
newTailBufferPosition: newTailPosition
|
||||
bufferChanged: bufferChanged
|
||||
valid: valid
|
||||
|
||||
notifyObservers: ({oldHeadBufferPosition, oldTailBufferPosition, bufferChanged, valid} = {}) ->
|
||||
oldHeadScreenPosition = @getHeadScreenPosition()
|
||||
|
||||
@@ -19,7 +19,7 @@ class Selection
|
||||
|
||||
constructor: ({@cursor, @marker, @editSession, @goalBufferRange}) ->
|
||||
@cursor.selection = this
|
||||
@marker.observe => @screenRangeChanged()
|
||||
@marker.on 'changed', => @screenRangeChanged()
|
||||
@cursor.on 'destroyed.selection', =>
|
||||
@cursor = null
|
||||
@destroy()
|
||||
|
||||
@@ -15,7 +15,7 @@ class MisspellingView extends View
|
||||
@misspellingValid = true
|
||||
|
||||
@marker = @editSession.markScreenRange(range, invalidationStrategy: 'between')
|
||||
@marker.observe ({newHeadScreenPosition, newTailScreenPosition, valid}) =>
|
||||
@marker.on 'changed', ({newHeadScreenPosition, newTailScreenPosition, valid}) =>
|
||||
@startPosition = newTailScreenPosition
|
||||
@endPosition = newHeadScreenPosition
|
||||
@updateDisplayPosition = valid
|
||||
|
||||
Reference in New Issue
Block a user