class Rurses::PanelStack

Attributes

window_to_panel_map[R]

Public Class Methods

new() click to toggle source
# File lib/terminal-notes/rurses/panel_stack.rb, line 3
def initialize
  @window_to_panel_map = { }
end

Public Instance Methods

<<(window, add_subwindows: true)
Alias for: add
add(window, add_subwindows: true) click to toggle source
# File lib/terminal-notes/rurses/panel_stack.rb, line 10
def add(window, add_subwindows: true)
  window_to_panel_map[window] = Rurses.curses.new_panel(window.curses_ref)
  if add_subwindows
    window.subwindows.each_value do |subwindow|
      add(subwindow, add_subwindows: add_subwindows)
    end
  end
end
Also aliased as: <<
refresh_in_memory() click to toggle source
# File lib/terminal-notes/rurses/panel_stack.rb, line 31
def refresh_in_memory
  Rurses.curses.update_panels
end
remove(window, remove_subwindows: true) click to toggle source
# File lib/terminal-notes/rurses/panel_stack.rb, line 20
def remove(window, remove_subwindows: true)
  if remove_subwindows
    window.subwindows.each_value do |subwindow|
      remove(subwindow, remove_subwindows: remove_subwindows)
    end
  end
  window.clear
  Rurses.curses.del_panel(window_to_panel_map[window])
  Rurses.curses.delwin(window.curses_ref)
end