Sha256: e543903bee2a8e587931d5fab31690dc372ec7b68bcb1ba799410163ed678dbc
Contents?: true
Size: 1.68 KB
Versions: 1
Compression:
Stored size: 1.68 KB
Contents
# frozen_string_literal: true module RubyJard module Screens class MenuScreen < RubyJard::Screen def draw @output.print TTY::Cursor.move_to(@col, @row) frame = TTY::Box.frame( **default_frame_styles.merge( top: @row, left: @col, width: @layout.width, height: @layout.height, border: { left: false, top: :line, right: false, bottom: false }, style: { fg: :white } ) ) @output.print frame margin = 0 left_menu = generate_left_menu left_menu.each do |item| @output.print TTY::Cursor.move_to(@col + 1 + margin, @row + 1) @output.print item.content margin += item.length + 3 end margin = 0 right_menu = generate_right_menu right_menu.reverse.each do |item| @output.print TTY::Cursor.move_to(@col + @layout.width - margin - item.length - 1, @row + 1) @output.print item.content margin += item.length + 3 end end private def generate_left_menu [ decorate_text.with_highlight(true).text('Debug console (F5)', :bright_yellow), decorate_text.text('Program output (F6)', :white) ] end def generate_right_menu [ decorate_text.text('Step (F7)', :white), decorate_text.text('Next (F8)', :white), decorate_text.text('Step out (Shift+F8)', :white), decorate_text.text('Continue (F9)', :white) ] end end end end RubyJard::Screens.add_screen(:menu, RubyJard::Screens::MenuScreen)
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ruby_jard-0.1.0 | lib/ruby_jard/screens/menu_screen.rb |