Merge pull request #5994 from atom/ks-deprecate-all-on-calls

Deprecate all on-based event registration
This commit is contained in:
Kevin Sawicki
2015-03-16 17:42:05 -07:00
7 changed files with 29 additions and 3 deletions

View File

@@ -87,7 +87,7 @@
"autosave": "0.20.0",
"background-tips": "0.23.0",
"bookmarks": "0.35.0",
"bracket-matcher": "0.71.0",
"bracket-matcher": "0.72.0",
"command-palette": "0.34.0",
"deprecation-cop": "0.37.0",
"dev-live-reload": "0.44.0",

View File

@@ -96,7 +96,8 @@ class GitRepository
@subscriptions.add new Disposable(-> window.removeEventListener 'focus', onWindowFocus)
if @project?
@subscriptions.add @project.eachBuffer (buffer) => @subscribeToBuffer(buffer)
@project.getBuffers().forEach (buffer) => @subscribeToBuffer(buffer)
@subscriptions.add @project.onDidAddBuffer (buffer) => @subscribeToBuffer(buffer)
# Public: Destroy this {GitRepository} object.
#

View File

@@ -124,6 +124,8 @@ class Marker
Grim.deprecate("Use Marker::onDidChange instead")
when 'destroyed'
Grim.deprecate("Use Marker::onDidDestroy instead")
else
Grim.deprecate("Marker::on is deprecated. Use documented event subscription methods instead.")
EmitterMixin::on.apply(this, arguments)

View File

@@ -34,6 +34,7 @@ class Pane extends Model
super
@emitter = new Emitter
@itemSubscriptions = new WeakMap
@items = []
@addItems(compact(params?.items ? []))
@@ -249,6 +250,10 @@ class Pane extends Model
getPanes: -> [this]
unsubscribeFromItem: (item) ->
@itemSubscriptions.get(item)?.dispose()
@itemSubscriptions.delete(item)
###
Section: Items
###
@@ -340,7 +345,9 @@ class Pane extends Model
addItem: (item, index=@getActiveItemIndex() + 1) ->
return if item in @items
if typeof item.on is 'function'
if typeof item.onDidDestroy is 'function'
@itemSubscriptions.set item, item.onDidDestroy => @removeItem(item, true)
else if typeof item.on is 'function'
@subscribe item, 'destroyed', => @removeItem(item, true)
@items.splice(index, 0, item)
@@ -369,6 +376,7 @@ class Pane extends Model
if typeof item.on is 'function'
@unsubscribe item
@unsubscribeFromItem(item)
if item is @activeItem
if @items.length is 1

View File

@@ -118,9 +118,14 @@ class Project extends Model
onDidChangePaths: (callback) ->
@emitter.on 'did-change-paths', callback
onDidAddBuffer: (callback) ->
@emitter.on 'did-add-buffer', callback
on: (eventName) ->
if eventName is 'path-changed'
Grim.deprecate("Use Project::onDidChangePaths instead")
else
Grim.deprecate("Project::on is deprecated. Use documented event subscription methods instead.")
super
###
@@ -434,6 +439,7 @@ class Project extends Model
@buffers.splice(index, 0, buffer)
@subscribeToBuffer(buffer)
@emit 'buffer-created', buffer
@emitter.emit 'did-add-buffer', buffer
buffer
# Removes a {TextBuffer} association from the project.

View File

@@ -67,6 +67,8 @@ class Selection extends Model
Grim.deprecate("Use Selection::onDidChangeRange instead. Call ::getScreenRange() yourself in your callback if you need the range.")
when 'destroyed'
Grim.deprecate("Use Selection::onDidDestroy instead.")
else
Grim.deprecate("Selection::on is deprecated. Use documented event subscription methods instead.")
super

View File

@@ -457,6 +457,10 @@ class TextEditor extends Model
onDidChangeScrollLeft: (callback) ->
@emitter.on 'did-change-scroll-left', callback
# TODO Remove once the tabs package no longer uses .on subscriptions
onDidChangeIcon: (callback) ->
@emitter.on 'did-change-icon', callback
on: (eventName) ->
switch eventName
when 'title-changed'
@@ -512,6 +516,9 @@ class TextEditor extends Model
when 'scroll-left-changed'
deprecate("Use TextEditor::onDidChangeScrollLeft instead")
else
deprecate("TextEditor::on is deprecated. Use documented event subscription methods instead.")
EmitterMixin::on.apply(this, arguments)
# Retrieves the current {TextBuffer}.