class Qt::Variant
Public Class Methods
from_ruby(obj, lifetime_object = nil)
click to toggle source
# File lib/utilrb/qt/variant/from_ruby.rb, line 8 def self.from_ruby(obj, lifetime_object = nil) variant = Qt::Variant.new("__##{obj.object_id}#__") lifetime_object ||= variant ObjectSpace.define_finalizer lifetime_object, from_ruby_finalizer @@saved_values[lifetime_object.object_id] ||= Set.new @@saved_values[lifetime_object.object_id] << obj variant end
from_ruby_finalizer()
click to toggle source
# File lib/utilrb/qt/variant/from_ruby.rb, line 17 def self.from_ruby_finalizer lambda { |variant_id| @@saved_values.delete(variant_id) } end
Public Instance Methods
to_ruby()
click to toggle source
# File lib/utilrb/qt/variant/from_ruby.rb, line 21 def to_ruby raise "QVariant is not storing an Object ID"if (value =~ /__#(\d*)#__/) != 0 ObjectSpace._id2ref(Integer($1)) end
to_ruby?()
click to toggle source
# File lib/utilrb/qt/variant/from_ruby.rb, line 26 def to_ruby? (value =~ /__#(\d*)#__/) == 0 end