Sha256: c90b39594b16856fbda40280432ec9d4f077396f97846c0ca751b2577d46afac

Contents?: true

Size: 1.58 KB

Versions: 3

Compression:

Stored size: 1.58 KB

Contents

#!/usr/bin/env ruby

lib_dir = File.dirname(__FILE__) + '/../lib'
$LOAD_PATH.unshift(lib_dir) unless $LOAD_PATH.include?(lib_dir)

require 'vedeu'

# An example application to demonstrate interface lines.
#
class VedeuLinesApp

  include Vedeu

  configure do
    debug!
    log '/tmp/vedeu_lines_app.log'
  end

  interface 'ruthenium' do
    geometry do
      centred true
      height  5
      width   40
    end
    colour  foreground: '#ffffff', background: '#000000'
  end

  interface 'tantalum' do
    colour  foreground: '#00aadd', background: '#000000'
    geometry do
      height  1
      width   40
      x       Vedeu.use('ruthenium').left
      y       Vedeu.use('ruthenium').south
    end
  end

  keymap('_global_') do
    key(:up)    { Vedeu.trigger(:_cursor_up_)    }
    key(:right) { Vedeu.trigger(:_cursor_right_) }
    key(:down)  { Vedeu.trigger(:_cursor_down_)  }
    key(:left)  { Vedeu.trigger(:_cursor_left_)  }
  end

  renders do
    view 'ruthenium' do
      lines do
        line 'Ruthenium is a chemical element with'
        line 'symbol Ru and atomic number 44. It is a'
        line 'rare transition metal belonging to the'
        line 'platinum group of the periodic table.'
        line 'Like the other metals of the platinum'
        line 'group, ruthenium is inert to most other'
        line 'chemicals.'
      end
    end
    view 'tantalum' do
      lines do
        line 'Use cursor keys to navigate, Q to quit.'
      end
    end
  end

  focus_by_name 'ruthenium'

  def self.start(argv = ARGV)
    Vedeu::Launcher.execute!(argv)
  end

end

VedeuLinesApp.start(ARGV)

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
vedeu-0.4.18 examples/lines_app.rb
vedeu-0.4.17 examples/lines_app.rb
vedeu-0.4.16 examples/lines_app.rb