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