86 lines
2.4 KiB
Python
86 lines
2.4 KiB
Python
from Cantera import *
|
|
from Tkinter import *
|
|
from ControlPanel import ControlWindow
|
|
from ControlPanel import make_menu, menuitem_state
|
|
#from Cantera.Examples.Tk import _mechdir
|
|
import os
|
|
|
|
# automatically-loaded mechanisms
|
|
_autoload = [
|
|
(' GRI-Mech 3.0', 'gri30.cti'),
|
|
(' Air', 'air.cti'),
|
|
(' H/O/Ar', 'h2o2.cti')
|
|
]
|
|
|
|
def testit():
|
|
pass
|
|
|
|
class MechManager(Frame):
|
|
|
|
def __init__(self,master,app):
|
|
Frame.__init__(self,master)
|
|
#self.config(relief=GROOVE, bd=4)
|
|
self.app = app
|
|
self.master = master
|
|
self.mechindx = IntVar()
|
|
self.mechindx.set(1)
|
|
|
|
#m = Label(self, text = 'Loaded Mechanisms')
|
|
#m.grid(column=0,row=0)
|
|
# m.bind('<Double-1>',self.show)
|
|
# self.mechindx.set(0)
|
|
self.mechanisms = []
|
|
self.mlist = [ [] ]
|
|
i = 1
|
|
#for m in self.mechanisms:
|
|
# self.mlist.append((m[0], self.setMechanism, 'check', self.mechindx, i))
|
|
# i = i + 1
|
|
#self.mlist.append([])
|
|
|
|
self.mechmenu = make_menu('Mixtures', self, self.mlist)
|
|
self.mechmenu.grid(row=0,column=0,sticky=W)
|
|
|
|
self.mfr = None
|
|
|
|
def addMechanism(self, name, mech):
|
|
self.mechanisms.append((name, mech))
|
|
il = len(self.mechanisms)
|
|
self.mlist[-1] = (name, self.setMechanism, 'check', self.mechindx, il)
|
|
self.mlist.append([])
|
|
|
|
self.mechmenu = make_menu('Mixtures', self, self.mlist)
|
|
self.mechindx.set(il)
|
|
self.mechmenu.grid(row=0,column=0,sticky=W)
|
|
|
|
|
|
def delMechanism(self, mech):
|
|
self.mechanisms.remove(mech)
|
|
self.show()
|
|
|
|
## def show(self,event=None):
|
|
## print 'show'
|
|
## if self.mfr:
|
|
## self.mfr.destroy()
|
|
## self.mfr = Frame(self)
|
|
## self.mfr.grid(row=1,column=0)
|
|
## self.mfr.config(relief=GROOVE, bd=4)
|
|
## Label(self.mfr,text='jkl').grid(row=0,column=0)
|
|
## i = 0
|
|
## for name, mech in self.mechanisms:
|
|
## Radiobutton(self.mfr, text=name, variable=self.mechindx,
|
|
## value = i,
|
|
## command=self.setMechanism).grid(row=i,column=0)
|
|
## i = i + 1
|
|
## print 'end'
|
|
|
|
|
|
def setMechanism(self, event=None):
|
|
i = self.mechindx.get()
|
|
self.app.mech = self.mechanisms[i-1][1]
|
|
self.app.makeMix()
|
|
self.app.makeWindows()
|
|
|
|
|
|
|
|
|
|
|