messure read from config

This commit is contained in:
jfsScience 2020-12-16 14:11:02 +01:00
parent 8132fec709
commit 1376e560f8
3 changed files with 61 additions and 6 deletions

View File

@ -332,7 +332,8 @@ class buildpanel(tk.Frame):
self.jfspkine2 = tk.Entry(self.jfslf1,textvariable=kin_repeats,width=4)
self.jfspkine2.grid(row=1,column=1,sticky='e')
self.jfspdmath = tk.Button(self,text='Math..',fg="blue", command=lambda JFSphoto=Jfsphoto: self.jf.do_math(self))
#self.jfspdmath = tk.Button(self,text='Math..',fg="blue", command=lambda JFSphoto=Jfsphoto: self.jf.do_math(self))
self.jfspdmath = tk.Button(self,text='Math..',fg="blue", command=lambda JFSphoto=Jfsphoto: self.jf.do_methods(self))
self.jfspdmath.grid(row=save_row,column=4,sticky='e',padx=4)
### Reset changes from loading phometerfile

View File

@ -22,6 +22,35 @@ from mpl_toolkits.mplot3d import Axes3D
from tkinter import ttk
import CCDpanelsetup as panel
####################################### object
class Messurement(object):
def __init__(self,data,step):
split = data.split(',')
self.name = 'Messure '+str(split[0])
self.absorbanz = split[1]
self.conc = int(split[0])*float(step)
print(self.conc)
class Methods(object) :
def __init__(self,name,data):
self.messures = []
self.name = name
split = data.split('|')
first = True
for s in split:
if first==True:
first= False
m = s.split(',')
self.id =m[0]
self.nm = m[1]
self.units = m[2]
self.step = m[5]
self.final = m[6]
else:
self.messures.append(Messurement(s,float(self.final)/int(self.step)))
class Jfsphoto (object):
@ -59,6 +88,8 @@ class Jfsphoto (object):
######### jfs math
self.ok = tk.IntVar()
self.ok.set(0)
######### jfs methods
self.methods = []
def do_calibrate(self):
win = tk.Toplevel()
@ -284,6 +315,7 @@ class Jfsphoto (object):
self.darkline_checked.set(0)
self.nm_checked.set(0)
def conf_write(self):
config = ConfigParser()
config.read('config.ini')
@ -308,6 +340,11 @@ class Jfsphoto (object):
self.nm_step = float(config.get('main','nm_step',fallback='0'))
self.tnm_step.set(config.get('main','nm_step',fallback='0'))
self.set_nm_scale()
if 'methods' in config.sections():
for i in config['methods']:
s = config.get('methods',i)
#print(i,s)
self.methods.append(Methods(i,s))
except IOError:
print("By the great otter!","No config.ini file")
@ -486,21 +523,25 @@ class Jfsphoto (object):
def do_methods(self,panel):
print(panel.SHvalue.get())
win = tk.Toplevel()
tree = ttk.Treeview(win)
tree.grid(column=0,row=0)
tree["columns"]=('id','nm','konz','interval','last')
tree["columns"]=('id','nm','konz','absorbanz','interval','last')
tree.column("#0",width=100,minwidth=100,stretch=tk.NO)
#tree.column("name",width=50,minwidth=50,stretch=tk.NO)
tree.column("id",width=20,minwidth=20,stretch=tk.NO)
tree.column("nm",width=40,minwidth=40,stretch=tk.NO)
tree.column("konz",width=60,minwidth=60,stretch=tk.NO)
tree.column("absorbanz",width=60,minwidth=60,stretch=tk.NO)
tree.column("interval",width=60,minwidth=60,stretch=tk.NO)
tree.column("last",width=60,minwidth=60,stretch=tk.NO)
tree.column("last",width=80,minwidth=80,stretch=tk.NO)
tree.heading("#0",text='Methode',anchor=tk.W)
tree.heading("id",text='ID',anchor=tk.W)
tree.heading("nm",text='[nm]',anchor=tk.W)
tree.heading("konz",text='conc',anchor=tk.W)
tree.heading("absorbanz",text="Absorbanz",anchor=tk.W)
tree.heading("interval",text='intervall',anchor=tk.W)
tree.heading("last",text='last conc',anchor=tk.W)
@ -513,8 +554,17 @@ class Jfsphoto (object):
e4.set(einheiten[2])
e5 = tk.IntVar()
e6 = tk.IntVar()
def save_method():
tree.insert("",'end',e1.get(),text=e1.get(),values=(e2.get(),e3.get(),e4.get(),e5.get(),e6.get()))
e7 = tk.StringVar()
e7.set('0.0')
def load_tree():
for a in self.methods:
tree.insert("",'end',a.name,text=a.name,values=(a.id,a.nm,a.units,e7.get(),a.step,a.final))
for b in a.messures:
tree.insert(a.name,'end',b.name,text=b.name,values=('','',b.conc,b.absorbanz))
def add_method():
tree.insert("",'end',e1.get(),text=e1.get(),values=(e2.get(),e3.get(),e4.get(),e7.get(),e5.get(),e6.get()))
stp = e6.get()/e5.get()
for i in range(1,e5.get()+1):
tree.insert(e1.get(),'end',text='Messure '+str(i),values=(i,'','','',stp * (i)))
@ -547,8 +597,10 @@ class Jfsphoto (object):
l6.grid(column=0,row=5,sticky='w')
le6 =tk.Entry(lf1,textvariable=e6,width=5)
le6.grid(column=1,row=5,sticky='w')
lb1 = tk.Button(lf1,text='Save',command=save_method)
lb1 = tk.Button(lf1,text='Add Method',command=add_method)
lb1.grid(column=0,row=6,sticky='w')
load_tree()
# def cb(event):
# print(tree.selection())
# #panel.bcollect.invoke()

View File

@ -2,4 +2,6 @@
nm_left = 320.0
nm_right = 811.0
nm_step = 0.13279
[methods]
crystal : 1,530,mymol,0,0,5,20|1,1.23|2,2.4|3,3.65|4,4.8|5,6.05