diff --git a/src/text-editor-component.coffee b/src/text-editor-component.coffee index 747396c0f..715e053d1 100644 --- a/src/text-editor-component.coffee +++ b/src/text-editor-component.coffee @@ -856,6 +856,13 @@ class TextEditorComponent {top, left, bottom, right} + setWidth: (width) -> + @domNode.style.width = (width + @presenter.getGutterWidth()) + "px" + @measureDimensions() + + getWidth: -> + @domNode.offsetWidth - @presenter.getGutterWidth() + getModel: -> @editor diff --git a/src/text-editor-element.coffee b/src/text-editor-element.coffee index cfa7d226c..b0b9a2f88 100644 --- a/src/text-editor-element.coffee +++ b/src/text-editor-element.coffee @@ -286,6 +286,12 @@ class TextEditorElement extends HTMLElement pixelRangeForScreenRange: (screenRange) -> @component.pixelRangeForScreenRange(screenRange) + setWidth: (width) -> + @component.setWidth(width) + + getWidth: -> + @component.getWidth() + stopEventPropagation = (commandListeners) -> newCommandListeners = {} for commandName, commandListener of commandListeners diff --git a/src/text-editor-presenter.coffee b/src/text-editor-presenter.coffee index ac9ef8242..85bd32886 100644 --- a/src/text-editor-presenter.coffee +++ b/src/text-editor-presenter.coffee @@ -1015,6 +1015,9 @@ class TextEditorPresenter @gutterWidth = gutterWidth @updateOverlaysState() + getGutterWidth: -> + @gutterWidth + setLineHeight: (lineHeight) -> unless @lineHeight is lineHeight @lineHeight = lineHeight diff --git a/src/text-editor.coffee b/src/text-editor.coffee index 2c39431a5..44446b010 100644 --- a/src/text-editor.coffee +++ b/src/text-editor.coffee @@ -2987,8 +2987,16 @@ class TextEditor extends Model getClientHeight: -> @displayBuffer.getClientHeight() - setWidth: (width) -> @displayBuffer.setWidth(width) - getWidth: -> @displayBuffer.getWidth() + setWidth: (width, reentrant=false) -> + if reentrant + @displayBuffer.setWidth(width) + else + Grim.deprecate("This is now a view method. Call TextEditorElement::setWidth instead.") + atom.views.getView(this).setWidth(width) + + getWidth: -> + Grim.deprecate("This is now a view method. Call TextEditorElement::getWidth instead.") + atom.views.getView(this).getWidth() getScrollRow: -> @scrollRow setScrollRow: (@scrollRow) ->