add Tandem onoff
This commit is contained in:
parent
3a0b7bcd30
commit
15c3fb45ee
73
dashboard.py
73
dashboard.py
|
@ -30,13 +30,62 @@ class DipoleMagnet():
|
|||
|
||||
class Tandem():
|
||||
def __init__(self, EntryPos, Size, Color):
|
||||
self.Color = Color
|
||||
self.ULC = [EntryPos[0] - Size[0]/2, EntryPos[1] - Size[1] ]
|
||||
self.ExistPos = np.array([ EntryPos[0] , EntryPos[1] - Size[1] ])
|
||||
self.tandem1 = canvas.create_arc (self.ULC[0], self.ULC[1] , self.ULC[0] + Size[0], self.ULC[1] + Size[0] , start = 0, extent = 180, fill = Color, outline = Color)
|
||||
self.tandem2 = canvas.create_rectangle(self.ULC[0], self.ULC[1] + Size[0]/2 , self.ULC[0] + Size[0], self.ULC[1] + Size[1] - Size[0]/2 , fill = Color, outline = Color)
|
||||
self.tandem3 = canvas.create_arc (self.ULC[0], self.ULC[1] + Size[1] - Size[0], self.ULC[0] + Size[0], self.ULC[1] + Size[1] , start = 0, extent = -180, fill = Color, outline = Color)
|
||||
self.tandem1 = canvas.create_arc (self.ULC[0], self.ULC[1] , self.ULC[0] + Size[0], self.ULC[1] + Size[0] , start = 0, extent = 180, fill = Color[0], outline = Color[0])
|
||||
self.tandem2 = canvas.create_rectangle(self.ULC[0], self.ULC[1] + Size[0]/2 , self.ULC[0] + Size[0], self.ULC[1] + Size[1] - Size[0]/2 , fill = Color[0], outline = Color[0])
|
||||
self.tandem3 = canvas.create_arc (self.ULC[0], self.ULC[1] + Size[1] - Size[0], self.ULC[0] + Size[0], self.ULC[1] + Size[1] , start = 0, extent = -180, fill = Color[0], outline = Color[0])
|
||||
|
||||
self.isActive = True
|
||||
|
||||
canvas.tag_bind(self.tandem1, '<1>', self.onClick)
|
||||
canvas.tag_bind(self.tandem2, '<1>', self.onClick)
|
||||
canvas.tag_bind(self.tandem3, '<1>', self.onClick)
|
||||
|
||||
canvas.tag_bind(self.tandem1, '<Enter>', self.HopOver)
|
||||
canvas.tag_bind(self.tandem2, '<Enter>', self.HopOver)
|
||||
canvas.tag_bind(self.tandem3, '<Enter>', self.HopOver)
|
||||
|
||||
canvas.tag_bind(self.tandem1, '<Leave>', self.Leave)
|
||||
canvas.tag_bind(self.tandem2, '<Leave>', self.Leave)
|
||||
canvas.tag_bind(self.tandem3, '<Leave>', self.Leave)
|
||||
|
||||
def GetExitPos(self, downstream = 0):
|
||||
return self.ExistPos + np.array([0, - downstream])
|
||||
|
||||
def Activate(self, OnOff):
|
||||
if OnOff == False :
|
||||
self.isActive = False
|
||||
canvas.itemconfig(self.tandem1, fill = self.Color[1])
|
||||
canvas.itemconfig(self.tandem2, fill = self.Color[1])
|
||||
canvas.itemconfig(self.tandem3, fill = self.Color[1])
|
||||
canvas.itemconfig(self.tandem1, outline = self.Color[1])
|
||||
canvas.itemconfig(self.tandem2, outline = self.Color[1])
|
||||
canvas.itemconfig(self.tandem3, outline = self.Color[1])
|
||||
else:
|
||||
self.isActive = True
|
||||
canvas.itemconfig(self.tandem1, fill = self.Color[0])
|
||||
canvas.itemconfig(self.tandem2, fill = self.Color[0])
|
||||
canvas.itemconfig(self.tandem3, fill = self.Color[0])
|
||||
canvas.itemconfig(self.tandem1, outline = self.Color[0])
|
||||
canvas.itemconfig(self.tandem2, outline = self.Color[0])
|
||||
canvas.itemconfig(self.tandem3, outline = self.Color[0])
|
||||
|
||||
|
||||
def onClick(self, event):
|
||||
if self.isActive:
|
||||
self.Activate(False)
|
||||
SetActiveBeamLine("") #no beam line is active
|
||||
else:
|
||||
self.Activate(True)
|
||||
SetActiveBeamLine("Tandem")
|
||||
|
||||
def HopOver(self, event):
|
||||
canvas.config(cursor="hand1")
|
||||
|
||||
def Leave(self, event):
|
||||
canvas.config(cursor="")
|
||||
|
||||
class BeamElementColor():
|
||||
beamPipe = ['White', 'grey30']
|
||||
|
@ -45,6 +94,7 @@ class BeamElementColor():
|
|||
Qpole = ['Blue', 'Blue4']
|
||||
Detector = ['Yellow', 'Yellow4']
|
||||
LINAC = ['Cyan', 'Cyan4']
|
||||
Tandem = [ '#782F40', '#CEB888']
|
||||
Buncher = ['Ivory', 'Ivory4']
|
||||
SNICS = ['tan', 'tan4']
|
||||
RFsourcce = ['Olivedrab', 'Olivedrab4']
|
||||
|
@ -162,7 +212,8 @@ def SetActiveBeamLine(BeamLineName):
|
|||
bl1c.Deactivate()
|
||||
bl0a.Deactivate(); bl3.Deactivate()
|
||||
bl2a.Deactivate(); bl2a_1.Deactivate()
|
||||
bl2b.Deactivate()
|
||||
bl2b.Deactivate()
|
||||
|
||||
bl2c.Deactivate()
|
||||
bl2c_1.Deactivate()
|
||||
bl2c_2.Deactivate()
|
||||
|
@ -179,24 +230,28 @@ def SetActiveBeamLine(BeamLineName):
|
|||
bl1.Activate()
|
||||
bl1a.Activate();
|
||||
GammaStation.Activate(True)
|
||||
tandem.Activate(True)
|
||||
|
||||
elif BeamLineName == "CATRiNA" :
|
||||
bl0.Activate()
|
||||
bl1.Activate()
|
||||
bl1a.Activate(); bl1a_1.Activate()
|
||||
Catrina.Activate(True)
|
||||
tandem.Activate(True)
|
||||
|
||||
elif BeamLineName == "RESOLUT" :
|
||||
bl0.Activate()
|
||||
bl0a.Activate(); bl3.Activate()
|
||||
bl2a.Activate(); bl2a_1.Activate()
|
||||
Resolut.Activate(True)
|
||||
tandem.Activate(True)
|
||||
|
||||
elif BeamLineName == "ANASEN" :
|
||||
bl0.Activate()
|
||||
bl0a.Activate(); bl3.Activate()
|
||||
bl2b.Activate()
|
||||
Anasen.Activate(True)
|
||||
tandem.Activate(True)
|
||||
|
||||
elif BeamLineName == "SPS" :
|
||||
bl0.Activate()
|
||||
|
@ -204,6 +259,7 @@ def SetActiveBeamLine(BeamLineName):
|
|||
bl2c.Activate()
|
||||
bl2c_1.Activate()
|
||||
SPS.Activate(True)
|
||||
tandem.Activate(True)
|
||||
|
||||
elif BeamLineName == "CLARION-2" :
|
||||
bl0.Activate()
|
||||
|
@ -211,6 +267,10 @@ def SetActiveBeamLine(BeamLineName):
|
|||
bl2c.Activate()
|
||||
bl2c_2.Activate()
|
||||
Clarion2.Activate(True)
|
||||
tandem.Activate(True)
|
||||
elif BeamLineName == "Tandem" :
|
||||
tandem.Activate(True)
|
||||
bl0.Activate()
|
||||
|
||||
|
||||
class IsotopeInfo():
|
||||
|
@ -323,8 +383,8 @@ SNICS = BeamRectElement( blS0.GetExitPos(), [50, 50], bfanS.GetExistAbsAngle(30)
|
|||
blS1 = BeamRectElement( bfanS.GetExitPos(-30), [10, 50], bfanS.GetExistAbsAngle(-30), BeamElementColor.beamPipe)
|
||||
TriSource = BeamRectElement( blS1.GetExitPos(), [50, 50], bfanS.GetExistAbsAngle(-30), BeamElementColor.Detector)
|
||||
|
||||
tandemSize = [100, 300] # width, height
|
||||
tandem = Tandem(blS.GetExitPos(), tandemSize, 'Green')
|
||||
tandemSize = [200, 300] # width, height
|
||||
tandem = Tandem(blS.GetExitPos(), tandemSize, BeamElementColor.Tandem)
|
||||
|
||||
bl0 = BeamRectElement( tandem.GetExitPos() , [10, 300], 0, BeamElementColor.beamPipe)
|
||||
|
||||
|
@ -478,7 +538,6 @@ Chart()
|
|||
exit_button = Button(canvas, text="Exit", command=window.destroy)
|
||||
exit_button.place(x = windowSize[0] - 200, y = 50)
|
||||
|
||||
|
||||
###################### Beam line activation
|
||||
|
||||
Catrina.onClick(Event);
|
||||
|
|
Loading…
Reference in New Issue
Block a user