Method: Qt::Base.ancestors

Defined in:
lib/Qt/qtruby4.rb

.ancestorsObject



184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
# File 'lib/Qt/qtruby4.rb', line 184

def self.ancestors
  klass = self
  classid = nil
  loop do
    classid = Qt::Internal::find_pclassid(klass.name)
    break if classid.index

    klass = klass.superclass
    if klass.nil?
      return super
    end
  end

  klasses = super
  klasses.delete(Qt::Base)
  klasses.delete(self)
  ids = []
  Qt::Internal::getAllParents(classid, ids)
  return [self] + ids.map {|id| Qt::Internal.find_class(Qt::Internal.classid2name(id))} + klasses
end