Sha256: a3924a8e09e4c9d32e5f942502769a6f6bfafef1a084f7a1dd8085dd60dcd8ff

Contents?: true

Size: 1.26 KB

Versions: 18

Compression:

Stored size: 1.26 KB

Contents

class Wx::XmlResource
  # XRC_NO_SUBCLASSING should always be in place in wxRuby - we can't
  # currently link directly to wxRuby subclasses.
  class << self
    wx_get = self.instance_method(:get)
    define_method(:get) do 
      res = wx_get.bind(self).call
      res.flags |= Wx::XRC_NO_SUBCLASSING
      res
    end
  end

  # WxRuby already has all XRC handlers built in so there's no way to
  # control init_all_handlers to reduce binary size. So save users
  # having to call it.
  wx_init = self.instance_method(:initialize)
  define_method(:initialize) do | *args |
    result = wx_init.bind(self).call(*args)
    result.flags |= Wx::XRC_NO_SUBCLASSING
    result.init_all_handlers
  end

  # The standard .load method returns a boolean indicating success or
  # failure. Failure might result from bad XML, or a non-existent
  # file. In ruby, in these circumstances, it's more natural to raise an
  # Exception than expect the user to test the return value.
  wx_load = self.instance_method(:load)
  define_method(:load) do | fname |
    result = wx_load.bind(self).call(fname)
    if not result
      Kernel.raise( RuntimeError,
                    "Failed to load XRC from '#{fname}'; " +
                    "check the file exists and is valid XML")
    end
    fname
  end
end

Version data entries

18 entries across 18 versions & 2 rubygems

Version Path
wxruby-1.9.7-i386-mswin32 lib/wx/classes/xmlresource.rb
wxruby-1.9.6-universal-darwin-9 lib/wx/classes/xmlresource.rb
wxruby-1.9.6-x86-linux lib/wx/classes/xmlresource.rb
wxruby-1.9.6-x86-mswin32-60 lib/wx/classes/xmlresource.rb
wxruby-1.9.6-x86-mingw32 lib/wx/classes/xmlresource.rb
wxruby-1.9.7-universal-darwin-9 lib/wx/classes/xmlresource.rb
wxruby-1.9.7-x86-linux lib/wx/classes/xmlresource.rb
wxruby-1.9.7-x86-mswin32-60 lib/wx/classes/xmlresource.rb
wxruby-1.9.8-universal-darwin-9 lib/wx/classes/xmlresource.rb
wxruby-1.9.8-x86-linux lib/wx/classes/xmlresource.rb
wxruby-1.9.8-x86-mingw32 lib/wx/classes/xmlresource.rb
wxruby-1.9.8-x86_64-linux lib/wx/classes/xmlresource.rb
wxruby-1.9.8-x86-mswin32-60 lib/wx/classes/xmlresource.rb
wxruby-1.9.9-universal-darwin-9 lib/wx/classes/xmlresource.rb
wxruby-1.9.9-x86-linux lib/wx/classes/xmlresource.rb
wxruby-1.9.9-x86-mingw32 lib/wx/classes/xmlresource.rb
wxruby-1.9.9-x86-mswin32-60 lib/wx/classes/xmlresource.rb
wxruby-ruby19-1.9.8-x86-darwin-9 lib/wx/classes/xmlresource.rb