Defer state building in TextEditorPresenter

This commit is contained in:
Antonio Scandurra
2015-09-15 17:44:31 +02:00
parent 1cdc7ae5a0
commit 346c7d9b37

View File

@@ -34,6 +34,7 @@ class TextEditorPresenter
@observeModel()
@observeConfig()
@buildState()
@invalidate()
@startBlinkingCursors() if @focused
@updating = false
@@ -112,6 +113,23 @@ class TextEditorPresenter
@shouldUpdateGutterOrderState = false
@shouldUpdateCustomGutterDecorationState = false
invalidate: ->
@shouldUpdateFocusedState = true
@shouldUpdateHeightState = true
@shouldUpdateVerticalScrollState = true
@shouldUpdateHorizontalScrollState = true
@shouldUpdateScrollbarsState = true
@shouldUpdateHiddenInputState = true
@shouldUpdateContentState = true
@shouldUpdateDecorations = true
@shouldUpdateLinesState = true
@shouldUpdateCursorsState = true
@shouldUpdateOverlaysState = true
@shouldUpdateLineNumberGutterState = true
@shouldUpdateLineNumbersState = true
@shouldUpdateGutterOrderState = true
@shouldUpdateCustomGutterDecorationState = true
observeModel: ->
@disposables.add @model.onDidChange =>
@updateVerticalDimensions()
@@ -227,35 +245,6 @@ class TextEditorPresenter
@lineNumberGutter =
tiles: {}
@updateState()
updateState: ->
@shouldUpdateLinesState = true
@shouldUpdateLineNumbersState = true
@updateContentDimensions()
@updateScrollbarDimensions()
@updateStartRow()
@updateEndRow()
@updateFocusedState()
@updateHeightState()
@updateVerticalScrollState()
@updateHorizontalScrollState()
@updateScrollbarsState()
@updateHiddenInputState()
@updateContentState()
@updateDecorations()
@updateTilesState()
@updateCursorsState()
@updateOverlaysState()
@updateLineNumberGutterState()
@updateCommonGutterState()
@updateGutterOrderState()
@updateCustomGutterDecorationState()
@resetTrackedUpdates()
updateFocusedState: ->
@state.focused = @focused