class Denrei::Core

Denrei Core

Constants

DENREI_TEMPLATE

Attributes

message[RW]
title[RW]

Public Instance Methods

do_denrei() click to toggle source
# File lib/denrei.rb, line 20
def do_denrei
  denrei = Denrei::Core.new

  if $*[0] == "init"
    denrei.init
  else
    denrei.read_denreifile
    denrei.open
    denrei.keep_tk
  end
end
init() click to toggle source

generate denreifile template

# File lib/denrei.rb, line 33
def init
  File.open("./Denreifile", "w") {|f|f.puts DENREI_TEMPLATE}
end
keep_tk() click to toggle source

keep display GUI

# File lib/denrei.rb, line 55
def keep_tk
  Tk.mainloop
end
open() click to toggle source

OpenMessageDialog

# File lib/denrei.rb, line 48
def open
  set_title_label
  set_message_label
  set_close_button get_tk_root
end
read_denreifile() click to toggle source

read Denreifile

read current directory's Denreifile file.
if Denreifile is not exists, do nothing.
if Denreifile is exists, set gui parameters by DenreiDSL.
# File lib/denrei.rb, line 41
def read_denreifile
  set_default
  return unless File.exists? "./Denreifile"
  execute_denrei_dsl read_denreifile_source
end

Private Instance Methods

execute_denrei_dsl(source) click to toggle source
# File lib/denrei.rb, line 121
    def execute_denrei_dsl(source)
      source.each_line do |line|
        begin
          eval line, binding
        rescue => e
          puts "invalid dsl = #{line}"
          puts <<-EOS
  you can use only these dsl

  # this set dialog title
  title_text "value"
  # this set dialog message
  message_text "value"
          EOS
          raise Denrei::DenreiDslError.new
          exit
        end
      end
    end
get_tk_root() click to toggle source
# File lib/denrei.rb, line 95
def get_tk_root
  TkRoot.new
end
message_text(message) click to toggle source
# File lib/denrei.rb, line 150
def message_text(message)
  @message = message
end
read_denreifile_source() click to toggle source
# File lib/denrei.rb, line 117
def read_denreifile_source
  File.open("./Denreifile") {|f|f.read}
end
set_close_button(tk_root) click to toggle source
# File lib/denrei.rb, line 99
def set_close_button(tk_root)
  btn_OK = TkButton.new(tk_root) do
    text "close"
    width 10
    focus
    borderwidth 5
    underline 0
    state "normal"
    cursor "hand2"
    font TkFont.new('times 20 bold')
    foreground  "red"
    activebackground "blue"
    relief      "raised"
    command {exit}
    pack("side" => "right",  "padx"=> "50", "pady"=> "10")
  end
end
set_default() click to toggle source
# File lib/denrei.rb, line 141
def set_default
  @title = "Denrei"
  @message = "Finish!!"
end
set_message_label() click to toggle source
# File lib/denrei.rb, line 78
def set_message_label
  message = @message
  TkLabel.new do
    text message
    font TkFont.new({
                'family' => 'times',
                'weight' => 'bold',
                'size' => 20,
                })
    width 20
    height 4
    bd 5
    relief "groove"
    pack
  end
end
set_title_label() click to toggle source
# File lib/denrei.rb, line 60
def set_title_label
  title = @title
  TkLabel.new do
    text title
    font TkFont.new({
                'family' => 'times',
                'weight' => 'bold',
                'size' => 20,
                'slant' => 'italic'
                })
    width 20
    height 2
    bd 5
    relief "groove"
    pack
  end
end
title_text(title) click to toggle source
# File lib/denrei.rb, line 146
def title_text(title)
  @title = title
end