Class: Qt::Application

Inherits:
Base show all
Defined in:
lib/Qt/qtruby4.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#%, #&, #*, #**, #+, #-, #-@, #/, #<, #<<, #<=, #==, #>, #>=, #>>, #QCOMPARE, #QEXPECT_FAIL, #QFAIL, #QSKIP, #QTEST, #QVERIFY, #QVERIFY2, #QWARN, #^, ancestors, #is_a?, #methods, private_slots, #protected_methods, #public_methods, q_classinfo, q_signal, q_slot, signals, #singleton_methods, slots, #|, #~

Constructor Details

#initialize(*args) ⇒ Application

Returns a new instance of Application



460
461
462
463
464
465
466
467
468
# File 'lib/Qt/qtruby4.rb', line 460

def initialize(*args)
  if args.length == 1 && args[0].kind_of?(Array)
    super(args.length + 1, [$0] + args[0])
  else
    super(*args)
  end
  $qApp = self
  @thread_fix = RubyThreadFix.new
end

Instance Attribute Details

#thread_fixObject (readonly)

Returns the value of attribute thread_fix



458
459
460
# File 'lib/Qt/qtruby4.rb', line 458

def thread_fix
  @thread_fix
end

Instance Method Details

#disable_threadingObject



470
471
472
473
# File 'lib/Qt/qtruby4.rb', line 470

def disable_threading
  @thread_fix.stop if @thread_fix
  @thread_fix = nil
end

#execObject

Delete the underlying C++ instance after exec returns Otherwise, rb_gc_call_finalizer_at_exit() can delete stuff that Qt::Application still needs for its cleanup.



478
479
480
481
482
483
484
# File 'lib/Qt/qtruby4.rb', line 478

def exec
  result = method_missing(:exec)
  disable_threading()
  self.dispose
  Qt::Internal.application_terminated = true
  result
end

#type(*args) ⇒ Object



486
487
488
# File 'lib/Qt/qtruby4.rb', line 486

def type(*args)
  method_missing(:type, *args)
end