Class: Class
Constant Summary collapse
- RX0 =
name(.….
/([^(]+)\([.]*/- RX1 =
1+ alpha => alt_m==m
/\A[A-Z]+\z/- RX2 =
/([A-Z]+)([A-Z][a-z])/- RX3 =
/([a-z\d])([A-Z])/
Instance Method Summary collapse
Instance Method Details
#signals(*signallist) ⇒ Object
665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 |
# File 'lib/qt_connect/qt_compat.rb', line 665 def signals(*signallist) signallist.each{ |signature| if signature.kind_of? String if md=signature.match(RX0) m=md[1].strip else m=signature.strip end else m=signature.to_s end alt_m =(m=~RX1) ? m.downcase : m.gsub(RX2, '\1_\2').gsub(RX3, '\1_\2').tr("-","_").downcase self.class_eval(%Q[ def #{m}(*args) if @_#{m} @_#{m}.setargs(*args) return @_#{m} else return @_#{m}=Qt::Signal.new(self) end end #{(alt_m==m) ? '' : "alias :#{alt_m} :#{m}"} ]) } end |