summaryrefslogtreecommitdiffstats
path: root/qtruby/rubylib/examples/testcases/bugs.rb
blob: 6b5e315317a354fbe27e67814bc6748e68c1a81c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
require 'Qt'


#### TODO ###
# dup of qobject crash
def bug1
   p1 = Qt::Point.new(5,5)
   p1.setX 5 
   p p1
   p3 = p1.dup
   p3.setX 5 
   p p3
end
#bug1


#### FIXED ###
def bug3
    a = Qt::Application.new(ARGV)
    @file = Qt::PopupMenu.new
    @file.insertSeparator
    Qt::debug_level = Qt::DebugLevel::High
    p $qApp
    @file.insertItem("Quit", $qApp, SLOT('quit()'))
    @file.exec
end
#bug3


class CPUWaster < Qt::Widget
    def initialize(*k)
        super(*k)
    end
    def draw
	painter = Qt::Painter.new(self)
	0.upto(1000) { |i|
	    cw, ch = width, height
	    c = Qt::Color.new(rand(255), rand(255), rand(255))
	    x = rand(cw - 8)
	    y = rand(cw - 8)
	    w = rand(cw - x)
	    h = rand(cw - y)
	    brush = Qt::Brush.new(c)
	    brush.setStyle(Qt::Dense6Pattern)
    Qt::debug_level = Qt::DebugLevel::High
	    painter.fillRect(Qt::Rect.new(x, y, w, h), brush)
    Qt::debug_level = Qt::DebugLevel::Off
	}
    end
end
def bug4
   Qt::Application.new(ARGV)
   w = CPUWaster.new
   w.show
   w.draw
end
bug4