| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- define [
- "underscore",
- "libs/backbone",
- "libs/jquery-layout"
- "libs/jquery.storage"
- ], () ->
- class LayoutManager
- constructor: (@ide) ->
- _.extend @, Backbone.Events
- template = $("#editorLayoutTemplate").html()
- el = $(template)
- @ide.tabManager.addTab {
- id: "code"
- name: "Code"
- content: el
- active: true
- contract: true
- onShown: () =>
- @resizeAllSplitters()
- }
- $(window).resize () =>
- @refreshHeights()
- @refreshHeights()
- @initLayout()
-
- $(window).keypress (event)->
- if (!(event.which == 115 && event.ctrlKey) && !(event.which == 19))
- return true
- event.preventDefault()
- return false
- @refreshHeights()
- initLayout: () ->
- options =
- spacing_open: 8
- spacing_closed: 16
- onresize: () =>
- @.trigger("resize")
-
- if (state = $.localStorage("layout.main"))?
- options.west =
- state.west
- $("#mainSplitter").layout options
- $(window).unload () ->
- $.localStorage("layout.main", $("#mainSplitter").layout().readState())
- refreshHeights: ->
- @setSplitterHeight()
- @setSectionsHeight()
- @setTopOffset()
- setSplitterHeight: () ->
- $("#mainSplitter").height($(window).height() - $(".navbar").outerHeight())
- setTopOffset: () ->
- $("#toolbar").css(top: $(".navbar").outerHeight())
- $("#tab-content").css(top: $(".navbar").outerHeight())
-
- setSectionsHeight: ()->
- $sections = $('#sections')
- $chatArea = $('#chatArea')
- availableSpace = $(window).height() - 40 - 20 - 10
- if $chatArea.is(':visible')
- availableSpace -= 200
- $sections.height(availableSpace)
- resizeAllSplitters : ->
- $("#mainSplitter").layout().resizeAll()
- $("#editorSplitter").layout().resizeAll()
|