class Tomago::Models::Window

Attributes

index[R]
panes[R]
primary_pane[R]
secondary_panes[R]
window_config[R]

Public Class Methods

new(index, window_config) click to toggle source
# File lib/tomago/models/window.rb, line 6
def initialize(index, window_config)
  @index = index
  @window_config = window_config  #["layout"] || "even-horizontal"
  load_panes
end

Public Instance Methods

layout() click to toggle source
# File lib/tomago/models/window.rb, line 16
def layout
  window_config.values[0]["layout"] || "even-horizontal"
end
name() click to toggle source
# File lib/tomago/models/window.rb, line 12
def name
  window_config.keys[0]
end
single_pane?() click to toggle source
# File lib/tomago/models/window.rb, line 20
def single_pane?
  panes.length == 1
end

Private Instance Methods

default_panes() click to toggle source
# File lib/tomago/models/window.rb, line 33
def default_panes
  [ window_config.values[0] ]
end
load_panes() click to toggle source
# File lib/tomago/models/window.rb, line 26
def load_panes
  temp_panes = (window_config.values[0]["panes"] || default_panes).clone
  @primary_pane = Tomago::Models::Pane.new(temp_panes.shift)
  @secondary_panes = (temp_panes || []).map{ |p| Tomago::Models::Pane.new(p) }
  @panes = [@primary_pane] + @secondary_panes
end