StatusBar.initialize appends a status bar view to every current and future editor pane

This commit is contained in:
Nathan Sobo
2012-04-17 11:37:01 -06:00
parent 5b67feff54
commit a5a573d732
4 changed files with 46 additions and 1 deletions

View File

@@ -39,6 +39,7 @@ class Editor extends View
softTabs: true
tabText: ' '
editSessions: null
attached: false
@deserialize: (viewState) ->
new Editor(viewState)
@@ -188,11 +189,14 @@ class Editor extends View
else
@gutter.addClass('drop-shadow')
@on 'attach', =>
@on 'attach', (e) =>
return if @attached or e.target != this[0]
@attached = true
@calculateDimensions()
@hiddenInput.width(@charWidth)
@setMaxLineLength() if @softWrap
@focus() if @isFocused
@trigger 'editor-open', [this]
rootView: ->
@parents('#root-view').view()

19
src/app/status-bar.coffee Normal file
View File

@@ -0,0 +1,19 @@
{View} = require 'space-pen'
module.exports =
class StatusBar extends View
@initialize: (rootView) ->
for editor in rootView.editors()
@appendToEditorPane(editor)
rootView.on 'editor-open', (e, editor) =>
@appendToEditorPane(editor)
@appendToEditorPane: (editor) ->
if pane = editor.pane()
pane.append(new StatusBar(editor))
@content: ->
@div class: 'status-bar'
initialize: (@editor) ->