Sha256: 6fbdd0b78ca42957d049f38c1d22fabdb8ed56785ed8696a345a7904311f932f

Contents?: true

Size: 1.5 KB

Versions: 11

Compression:

Stored size: 1.5 KB

Contents

# Tweaks to the global module functions

module Wx
  class << self
    # Allow this to be called with keyword parameters, and avoid
    # segfaults on OS X with bad params
    wx_about_box = self.instance_method(:about_box)
    define_method(:about_box) do | info |
      # If AboutDialogInfo has no version, it segfaults on OS X 10.5
      no_version = ArgumentError.new("Must supply a version for AboutDialog")
      case info
      when Wx::AboutDialogInfo
        unless info.has_version
          Kernel.raise no_version 
        end

        ab_info = info
      when Hash
        ab_info = Wx::AboutDialogInfo.new
        ab_info.name    = info[:name] || 'wxRuby application'
        ab_info.version = info[:version] || Kernel.raise(no_version)
        
        ab_info.description = info[:description] || ''
        ab_info.copyright   = info[:copyright] || ''
        ab_info.licence     = info[:licence] || ''
        ab_info.developers  = info[:developers] || []
        ab_info.doc_writers = info[:doc_writers] || []
        ab_info.artists     = info[:artists] || []
        ab_info.translators = info[:translators] || []
        if info.key?(:website)
          ab_info.set_website(*info[:website])
        end
        if info.key?(:icon)
          ab_info.icon = info[:icon]
        end

      else
        Kernel.raise ArgumentError,
                     "Can't use #{info.inspect} for AboutDialogInfo"
      end
      wx_about_box.bind(self).call(ab_info)
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
wxruby3-0.9.0.pre.rc.3-x64-mingw-ucrt lib/wx/core/functions.rb
wxruby3-0.9.0.pre.rc.2-x64-mingw-ucrt lib/wx/core/functions.rb
wxruby3-0.9.0.pre.rc.1-x64-mingw-ucrt lib/wx/core/functions.rb
wxruby3-0.9.0.pre.beta.14-x64-mingw-ucrt lib/wx/core/functions.rb
wxruby3-0.9.0.pre.beta.13-x64-mingw-ucrt lib/wx/core/functions.rb
wxruby3-0.9.0.pre.beta.11-x64-mingw-ucrt lib/wx/core/functions.rb
wxruby3-0.9.0.pre.beta.10-x64-mingw-ucrt lib/wx/core/functions.rb
wxruby3-0.9.0.pre.beta.9-x64-mingw-ucrt lib/wx/core/functions.rb
wxruby3-0.9.0.pre.beta.8-x64-mingw-ucrt lib/wx/core/functions.rb
wxruby3-0.9.0.pre.beta.2-x64-mingw-ucrt-3.2-3.2.2 lib/wx/core/functions.rb
wxruby3-0.9.0.pre.beta.1-x64-mingw-ucrt-3.2 lib/wx/core/functions.rb