MCPcopy Index your code
hub / github.com/rawpython/remi / __init__

Method __init__

examples/gauge_app.py:50–113  ·  view source on GitHub ↗
(self, width, height, _min, _max)

Source from the content-addressed store, hash-verified

48
49class Gauge(gui.Svg):
50 def __init__(self, width, height, _min, _max):
51 super(Gauge, self).__init__(width=width, height=height)
52 self.width = width
53 self.height = height
54 self.min = _min
55 self.max = _max
56 self.scale_angle_range = math.pi*2-1.0
57 self.scale_value_range = _max - _min
58 self.base_angle = 0 #-self.scale_angle_range/2.0
59
60 self.radius = min(width, height)/2.0
61 circle = gui.SvgCircle(width/2.0, height/2.0, self.radius)
62 self.append(circle)
63 circle.set_fill('gray')
64 circle.set_stroke(1,'lightgray')
65
66 circle = gui.SvgCircle(width/2.0, height/2.0, self.radius*92.0/100.0)
67 self.append(circle)
68 circle.set_fill('lightgray')
69 circle.set_stroke(1,'lightgray')
70
71 font_size = self.radius*10.0/100.0
72 xy = self.value_to_xy_tuple(_min, self.radius*90.0/100.0)
73 textMin = gui.SvgText(xy[0], xy[1], str(_min))
74 xy = self.value_to_xy_tuple(_max, self.radius*90.0/100.0)
75 textMax = gui.SvgText(xy[0], xy[1], str(_max))
76 textMin.style['font-size'] = gui.to_pix(font_size)
77 textMax.style['font-size'] = gui.to_pix(font_size)
78 textMin.style['text-anchor'] = "end"
79 textMax.style['text-anchor'] = "end"
80 textMin.set_fill('red')
81 textMax.set_fill('green')
82
83 for i in range( 0, 11 ):
84 xy1 = self.value_to_xy_tuple(self.min + self.scale_value_range/10*i, self.radius*92.0/100.0)
85 xy2 = self.value_to_xy_tuple(self.min + self.scale_value_range/10*i, self.radius)
86 tick = gui.SvgLine(xy1[0], xy1[1], xy2[0], xy2[1])
87 tick.set_stroke(2, 'white')
88 self.append(tick)
89
90 self.append(textMin)
91 self.append(textMax)
92
93 self.arrow = gui.SvgPolyline()
94 self.arrow.add_coord(-self.radius*20.0/100.0,0)
95 self.arrow.add_coord(-self.radius*23.0/100.0,self.radius*10.0/100.0)
96 self.arrow.add_coord(0,0)
97 self.arrow.add_coord(-self.radius*23.0/100.0,-self.radius*10.0/100.0)
98 self.arrow.add_coord(-self.radius*20.0/100.0,0)
99 self.arrow.style['fill'] = 'white'
100 self.arrow.set_stroke(1.0, 'white')
101 self.append(self.arrow)
102
103 self.arrow_preview = gui.SvgPolyline()
104 self.arrow_preview.add_coord(-self.radius*10.0/100.0,0)
105 self.arrow_preview.add_coord(-self.radius*13.0/100.0,self.radius*5.0/100.0)
106 self.arrow_preview.add_coord(0,0)
107 self.arrow_preview.add_coord(-self.radius*13.0/100.0,-self.radius*5.0/100.0)

Callers 1

__init__Method · 0.45

Calls 6

value_to_xy_tupleMethod · 0.95
set_valueMethod · 0.95
appendMethod · 0.45
set_fillMethod · 0.45
set_strokeMethod · 0.45
add_coordMethod · 0.45

Tested by

no test coverage detected