Sha256: 3a57a53545586d6659415556a5bbfd80a3057d99110eb90d60949b200c488339

Contents?: true

Size: 1.64 KB

Versions: 1

Compression:

Stored size: 1.64 KB

Contents

# The methods defined in this module/file are also available outside of the
# Shoes.app block. So they are monkey patched onto the main object.
# However they can also be used from the normal Shoes.app block.
class Shoes
  def self.p(message)
    Shoes::LOG << ['debug', message.inspect]
  end

  module BuiltinMethods
    def alert(message = '')
      Shoes::Dialog.new.alert message
    end

    def confirm(message = '')
      Shoes::Dialog.new.confirm(message)
    end

    def info(message = '')
      Shoes::LOG << ['info', message]
      Shoes.logger.info message
    end

    def debug(message = '')
      Shoes::LOG << ['debug', message]
      Shoes.logger.debug message
    end

    def warn(message = '')
      Shoes::LOG << ['warn', message]
      Shoes.logger.warn message
    end

    def error(message = '')
      Shoes::LOG << ['error', message]
      Shoes.logger.error message
    end

    alias_method :confirm?, :confirm

    def ask_open_file
      Shoes::Dialog.new.dialog_chooser 'Open File...'
    end

    def ask_save_file
      Shoes::Dialog.new.dialog_chooser 'Save File...'
    end

    def ask_open_folder
      Shoes::Dialog.new.dialog_chooser 'Open Folder...', :folder
    end

    def ask_save_folder
      Shoes::Dialog.new.dialog_chooser 'Save Folder...', :folder
    end

    def ask msg, args={}
      Shoes::Dialog.new.ask msg, args
    end

    def ask_color title = 'Pick a color...'
      Shoes::Dialog.new.ask_color title
    end

    def font(path = DEFAULT_TEXTBLOCK_FONT)
      Shoes::Font.add_font(path)
    end
  end
end

# including the module into the main object (monkey patch)
class << self
  include Shoes::BuiltinMethods
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
shoes-4.0.0.pre1 lib/shoes/builtin_methods.rb