-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMultimeterView.py
74 lines (49 loc) · 1.68 KB
/
MultimeterView.py
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import Multimeter
import Node
import tkpanel
class MultimeterView():
Drawing = None
@staticmethod
def init(Drawing):
MultimeterView.Drawing = Drawing
def __init__(self, controller, Drawing, panel):
"""
:param controller:
:type controller: Multimeter.Multimeter
"""
MultimeterView.init(Drawing)
self.possSelector = MultimeterView.Drawing.circle((-10,-10), Node.Node.r + 5, color=None)
MultimeterView.Drawing.canvas.itemconfig(self.possSelector ,outline="#ff0000", width=4)
self.pPoss = (-10,-10)
self.neggSelector = MultimeterView.Drawing.circle((-10,-10), Node.Node.r + 5, color=None)
MultimeterView.Drawing.canvas.itemconfig(self.neggSelector, outline="#0000ff", width=4)
self.pNegg = (-10, -10)
self.controller = controller
self.panel = panel
""": type panel: tkpanel.Panel"""
def setPoss(self, node):
"""
:param node:
:type node: Node.Node
:return:
"""
self.movePoss(node.p)
def setNegg(self, node):
"""
:param node:
:type node: Node.Node
:return:
"""
self.moveNegg(node.p)
def movePoss(self, p):
MultimeterView.Drawing.canvas.move(self.possSelector, p[0] - self.pPoss[0], p[1] - self.pPoss[1])
self.pPoss = p
def moveNegg(self, p):
MultimeterView.Drawing.canvas.move(self.neggSelector, p[0] - self.pNegg[0], p[1] - self.pNegg[1])
self.pNegg = p
def displayVolt(self, val) -> None:
"""
:param val:
:type val: float
"""
self.panel.mutimeterShowVolt(val)