def createApp(win): ttk = CTK.importTtk() # - Frame - Frame = TTK.LabelFrame(win, borderwidth=2, relief=CTK.FRAMESTYLE, text='tkCamera', font=CTK.FRAMEFONT, takefocus=1) #BB = CTK.infoBulle(parent=Frame, text='Display mesh informations.\nCtrl+c to close applet.', temps=0, btype=1) Frame.bind('<Control-c>', hideApp) Frame.bind('<ButtonRelease-3>', displayFrameMenu) Frame.bind('<Enter>', lambda event : Frame.focus_set()) Frame.columnconfigure(0, weight=0) Frame.columnconfigure(1, weight=3) WIDGETS['frame'] = Frame # - Frame menu - FrameMenu = TK.Menu(Frame, tearoff=0) FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp) CTK.addPinMenu(FrameMenu, 'tkCamera') WIDGETS['frameMenu'] = FrameMenu #- VARS - # -0- posCam - V = TK.StringVar(win); V.set('(0., 0., 0.)'); VARS.append(V) # -1- posEye - V = TK.StringVar(win); V.set('(0., 0.; 0.)'); VARS.append(V) # -2- dirCam - V = TK.StringVar(win); V.set('(0., 0., 0.)'); VARS.append(V) # - posCam - B = TTK.Label(Frame, text="posCam: ") B.grid(row=0, column=0, columnspan=1, sticky=TK.EW) B = TTK.Entry(Frame, textvariable=VARS[0], background='White', width=15) B.grid(row=0, column=1, columnspan=1, sticky=TK.EW) B.bind('<Return>', setInfo) BB = CTK.infoBulle(parent=B, text='Camera position.') # - posEye - B = TTK.Label(Frame, text="posEye: ") B.grid(row=1, column=0, columnspan=1, sticky=TK.EW) B = TTK.Entry(Frame, textvariable=VARS[1], background='White', width=15) B.grid(row=1, column=1, columnspan=1, sticky=TK.EW) B.bind('<Return>', setInfo) BB = CTK.infoBulle(parent=B, text='Eye position.') # - dirCam - B = TTK.Label(Frame, text="dirCam: ") B.grid(row=2, column=0, columnspan=1, sticky=TK.EW) B = TTK.Entry(Frame, textvariable=VARS[2], background='White', width=15) B.grid(row=2, column=1, columnspan=1, sticky=TK.EW) B.bind('<Return>', setInfo) BB = CTK.infoBulle(parent=B, text='Camera direction.') # - get - B = TTK.Button(Frame, text="Get", command=getInfo) B.grid(row=3, column=1, columnspan=1, sticky=TK.EW) # - set - B = TTK.Button(Frame, text="Set", command=setInfo) B.grid(row=3, column=0, columnspan=1, sticky=TK.EW)
def createApp(win): # - Frame - Frame = TTK.LabelFrame(win, borderwidth=2, relief=CTK.FRAMESTYLE, text='tkStereo', font=CTK.FRAMEFONT, takefocus=1) #BB = CTK.infoBulle(parent=Frame, text='Set anaglyph mode.\nCtrl+c to close applet.', temps=0, btype=1) Frame.bind('<Control-c>', hideApp) Frame.bind('<ButtonRelease-3>', displayFrameMenu) Frame.bind('<Enter>', lambda event: Frame.focus_set()) Frame.columnconfigure(0, weight=0) Frame.columnconfigure(1, weight=1) WIDGETS['frame'] = Frame # - Frame menu - FrameMenu = TK.Menu(Frame, tearoff=0) FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp) FrameMenu.add_command(label='Save', command=saveApp) FrameMenu.add_command(label='Reset', command=resetApp) CTK.addPinMenu(FrameMenu, 'tkStereo') WIDGETS['frameMenu'] = FrameMenu # - VARS - # -0- Stero mode - V = TK.StringVar(win) V.set('None') VARS.append(V) if 'tkStereoMode' in CTK.PREFS: V.set(CTK.PREFS['tkStereoMode']) # -1- Stereo dist info bulle V = TK.StringVar(win) V.set('Stereo distance.') VARS.append(V) # - Stereo mode - B = TTK.Label(Frame, text="Stereo") B.grid(row=0, column=0, sticky=TK.EW) B = TTK.OptionMenu(Frame, VARS[0], 'None', 'Anaglyph (b&w)', 'Anaglyph (color)', command=setStereo) B.grid(row=0, column=1, sticky=TK.EW) # - Stereo Dist - B = TTK.Scale(Frame, from_=0, to=100, orient=TK.HORIZONTAL, showvalue=0, borderwidth=1, command=setDist, value=50) WIDGETS['dist'] = B B.grid(row=1, columnspan=2, sticky=TK.EW) BB = CTK.infoBulle(parent=B, textVariable=VARS[1])
def createApp(win): # - Frame - Frame = TTK.LabelFrame(win, borderwidth=2, relief=CTK.FRAMESTYLE, text='tkBoolean', font=CTK.FRAMEFONT, takefocus=1) #BB = CTK.infoBulle(parent=Frame, text='Boolean operations\on surfaces.\nCtrl+c to close applet.', temps=0, btype=1) Frame.bind('<Control-c>', hideApp) Frame.bind('<ButtonRelease-3>', displayFrameMenu) Frame.bind('<Enter>', lambda event: Frame.focus_set()) Frame.columnconfigure(0, weight=1) Frame.columnconfigure(1, weight=2) WIDGETS['frame'] = Frame # - Frame menu - FrameMenu = TK.Menu(Frame, tearoff=0) FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp) CTK.addPinMenu(FrameMenu, 'tkBoolean') WIDGETS['frameMenu'] = FrameMenu # - VARS - # -0- tolerance - V = TK.StringVar(win) V.set('0.') VARS.append(V) # - Tolerance - B = TTK.Label(Frame, text='Tolerance') B.grid(row=0, column=0, sticky=TK.EW) B = TTK.Entry(Frame, textvariable=VARS[0], background='White', width=5) B.grid(row=0, column=1, sticky=TK.EW) BB = CTK.infoBulle( parent=B, text= 'Tolerance used in boolean operations.\n0. means automatic setting.') # - Union - B = TTK.Button(Frame, text="Union", command=union) B.grid(row=1, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Union of two surfaces.') # - Difference - B = TTK.Button(Frame, text="Difference", command=difference) B.grid(row=1, column=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Difference of two surfaces.') # - Intersection - B = TTK.Button(Frame, text="Intersection", command=intersection) B.grid(row=2, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Intersect two surfaces.') # - Rev. Difference - B = TTK.Button(Frame, text="Rev. Diff", command=difference2) B.grid(row=2, column=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Reversed difference of two surfaces.')
def createApp(win): # - Frame - Frame = TTK.LabelFrame(win, borderwidth=2, relief=CTK.FRAMESTYLE, text='tkFilterSurfs', font=CTK.FRAMEFONT, takefocus=1) #BB = CTK.infoBulle(parent=Frame, text='Filter or offset a surface.\nCtrl+c to close applet.', temps=0, btype=1) Frame.bind('<Control-c>', hideApp) Frame.bind('<ButtonRelease-3>', displayFrameMenu) Frame.bind('<Enter>', lambda event : Frame.focus_set()) Frame.columnconfigure(0, weight=1) Frame.columnconfigure(1, weight=2) Frame.columnconfigure(2, weight=2) Frame.columnconfigure(3, weight=0) WIDGETS['frame'] = Frame # - Frame menu - FrameMenu = TK.Menu(Frame, tearoff=0) FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp) FrameMenu.add_command(label='Save', command=saveApp) FrameMenu.add_command(label='Reset', command=resetApp) CTK.addPinMenu(FrameMenu, 'tkFilterSurfs') WIDGETS['frameMenu'] = FrameMenu # - VARS - # -0- Point density - V = TK.StringVar(win); V.set('1.'); VARS.append(V) if 'tkFilterSurfsDensity' in CTK.PREFS: V.set(CTK.PREFS['tkFilterSurfsDensity']) # -1- Offset - V = TK.StringVar(win); V.set('0.'); VARS.append(V) if 'tkFilterSurfsOffset' in CTK.PREFS: V.set(CTK.PREFS['tkFilterSurfsOffset']) # -2- Algorithm cart/octree V = TK.StringVar(win); V.set('0'); VARS.append(V) if 'tkFilterSurfsType' in CTK.PREFS: V.set(CTK.PREFS['tkFilterSurfsType']) # - Point density - B = TTK.Label(Frame, text="density/offset") B.grid(row=0, column=0, sticky=TK.EW) B = TTK.Entry(Frame, textvariable=VARS[0], background='White', width=8) B.grid(row=0, column=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Point density (npts/length unit).') # - Offset - B = TTK.Entry(Frame, textvariable=VARS[1], background='White', width=8) B.grid(row=0, column=2, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Distance of surface offset.') # - Algorithm - B = TTK.Checkbutton(Frame, text='', variable=VARS[2]) B.grid(row=0, column=3, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Toggle octree algorithm.') # - Remap - B = TTK.Button(Frame, text="Filter/offset", command=remap) BB = CTK.infoBulle(parent=B, text='Remap/offset a surface with a given spacing.') B.grid(row=2, column=0, columnspan=4, sticky=TK.EW)
def createApp(win): # - Frame - Frame = TTK.LabelFrame(win, borderwidth=2, relief=CTK.FRAMESTYLE, text='tkChimera', font=CTK.FRAMEFONT, takefocus=1) #BB = CTK.infoBulle(parent=Frame, text='Chimera connectivity.\nCtrl+c to close applet.', temps=0, btype=1) Frame.bind('<Control-c>', hideApp) Frame.bind('<ButtonRelease-3>', displayFrameMenu) Frame.bind('<Enter>', lambda event: Frame.focus_set()) Frame.columnconfigure(0, weight=0) Frame.columnconfigure(1, weight=1) Frame.columnconfigure(2, weight=1) Frame.columnconfigure(3, weight=1) Frame.columnconfigure(4, weight=1) WIDGETS['frame'] = Frame # - Frame menu - FrameMenu = TK.Menu(Frame, tearoff=0) FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp) CTK.addPinMenu(FrameMenu, 'tkChimera') WIDGETS['frameMenu'] = FrameMenu # - VARS - # -0- double wall: active ? - V = TK.StringVar(win) V.set('inactive') VARS.append(V) # -1- delta XRay - V = TK.StringVar(win) V.set('1.e-10') VARS.append(V) # -2- tolerance XRay - V = TK.StringVar(win) V.set('1.e-8') VARS.append(V) # -3- Base name 1 V = TK.StringVar(win) V.set('') VARS.append(V) # -4- Relation V = TK.StringVar(win) V.set('+') VARS.append(V) # -5- Base name 2 V = TK.StringVar(win) V.set('') VARS.append(V) # -6- Blanking surface V = TK.StringVar(win) V.set('') VARS.append(V) # -7- depth V = TK.StringVar(win) V.set('2') VARS.append(V) # -8- Blanking type V = TK.StringVar(win) V.set('cell_intersect') VARS.append(V) # -9- Priorite V = TK.StringVar(win) V.set('0') VARS.append(V) r = 0 # row # - Number of layers (depth) - B = TTK.Label(Frame, text="Depth") B.grid(row=r, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Number of interpolated layers.') B = TTK.Entry(Frame, textvariable=VARS[7], background='White', width=2) B.grid(row=r, column=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Number of interpolated layers.') # - Blanking type - B = TTK.OptionMenu(Frame, VARS[8], 'cell_intersect', 'cell_intersect_opt', 'center_in', 'node_in') B.grid(row=r, column=2, columnspan=2, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Blanking type.') r += 1 # - initCellN - B = TTK.Button(Frame, text="Init cellN", command=initCellN) B.grid(row=r, column=0, columnspan=4, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Init the cellN to 1. in the tree or selection.') r += 1 # - applyBCOverlap - B = TTK.Button(Frame, text="ApplyBCOverlaps", command=applyOverlap) B.grid(row=r, column=0, columnspan=2, sticky=TK.EW) BB = CTK.infoBulle( parent=B, text='Modify the cellN (=2) near BCOverlaps and doubly defined BCs.') # - setHoleInterpolatedPoints - B = TTK.Button(Frame, text="SetHoleInterpPoints", command=setHoleInterpolatedPoints) B.grid(row=r, column=2, columnspan=2, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Modify the cellN (=2) near holes.') r += 1 # - XRay delta - B = TTK.Label(Frame, text="XRay delta") B.grid(row=r, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='The created holes will expand of this value.') B = TTK.Entry(Frame, textvariable=VARS[1], background='White', width=5) B.grid(row=r, column=1, sticky=TK.EW) # - Xray tol - B = TTK.Label(Frame, text="Tol") B.grid(row=r, column=2, sticky=TK.EW) BB = CTK.infoBulle( parent=B, text= 'Two surface points separated of this value\nwill be considered as identical.' ) B = TTK.Entry(Frame, textvariable=VARS[2], background='White', width=5) B.grid(row=r, column=3, sticky=TK.EW) r += 1 # - Surface - B = TTK.Button(Frame, text="Surf", command=setSurface, image=iconics.PHOTO[8], padx=0, pady=0, compound=TK.RIGHT) B.grid(row=r, column=3, sticky=TK.EW) BB = CTK.infoBulle( parent=B, text='Set blanking surfaces.\nThey must define ONE closed body.') B = TTK.Entry(Frame, textvariable=VARS[6], background='White') BB = CTK.infoBulle(parent=B, text='Blanking surfaces.') B.grid(row=r, column=0, columnspan=3, sticky=TK.EW) r += 1 # - blanking - B = TTK.Button(Frame, text="Blank cells", command=blank) B.grid(row=r, column=0, columnspan=4, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Blank cells with with surface.') r += 1 # - set priority - B = TTK.Button(Frame, text="Set Priority", command=setPriority) B.grid(row=r, column=0, columnspan=3, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Set a priority to a base.') B = TTK.OptionMenu(Frame, VARS[9], '0', '1', '2', '3') B.grid(row=r, column=3, sticky=TK.EW) r += 1 # - double wall active ? for optimizeOverlap B = TTK.Label(Frame, text="DoubleWall") B.grid(row=r, column=0, sticky=TK.EW) B = TTK.OptionMenu(Frame, VARS[0], 'inactive', 'active') B.grid(row=r, column=3, sticky=TK.EW) # - optimizeOverlap - B = TTK.Button(Frame, text="Optimize overlap", command=optimize) B.grid(row=r, column=0, columnspan=4, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Optimize the overlapping') r += 1 # - createOversetHoles - B = TTK.Button(Frame, text="Create OversetHoles nodes", command=createOversetHoles) B.grid(row=r, column=0, columnspan=4, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Create the nodes OversetHoles in pyTree.') r += 1
def createApp(win): # - Frame - Frame = TTK.LabelFrame(win, borderwidth=2, relief=CTK.FRAMESTYLE, text='tkRigidMotion', font=CTK.FRAMEFONT, takefocus=1) #BB = CTK.infoBulle(parent=Frame, text='Define block rigid motions.\nCtrl+c to close applet.', temps=0, btype=1) Frame.bind('<Control-c>', hideApp) Frame.bind('<ButtonRelease-3>', displayFrameMenu) Frame.bind('<Enter>', lambda event: Frame.focus_set()) Frame.columnconfigure(0, weight=0) Frame.columnconfigure(1, weight=1) Frame.columnconfigure(2, weight=0) WIDGETS['frame'] = Frame # - Frame menu - FrameMenu = TK.Menu(Frame, tearoff=0) FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp) CTK.addPinMenu(FrameMenu, 'tkRigidMotion') WIDGETS['frameMenu'] = FrameMenu # - VARS - # -0- motion name - V = TK.StringVar(win) V.set('New') VARS.append(V) #--------------------- # -- Motion strings -- #--------------------- # -1- tx - V = TK.StringVar(win) V.set('0') VARS.append(V) # -2- ty - V = TK.StringVar(win) V.set('0') VARS.append(V) # -3- tz - V = TK.StringVar(win) V.set('0') VARS.append(V) # -4- cx - V = TK.StringVar(win) V.set('0') VARS.append(V) # -5- cy - V = TK.StringVar(win) V.set('0') VARS.append(V) # -6- cz - V = TK.StringVar(win) V.set('0') VARS.append(V) # -7- ex - V = TK.StringVar(win) V.set('0') VARS.append(V) # -8- ey - V = TK.StringVar(win) V.set('0') VARS.append(V) # -9- ez - V = TK.StringVar(win) V.set('0') VARS.append(V) # -10- angle - V = TK.StringVar(win) V.set('0') VARS.append(V) # -11- motion type V = TK.StringVar(win) V.set('1:MotionStrings') VARS.append(V) #----------------------------- # -- Cassiopee Motion rotor -- #----------------------------- # -12- psi0 - V = TK.DoubleVar(win) V.set(0.) VARS.append(V) # -13- psi0_b - V = TK.DoubleVar(win) V.set(0.) VARS.append(V) # -14- alp_pnt - V = TK.StringVar(win) V.set('0.; 0.; 0.') VARS.append(V) # -15- alp_vct - V = TK.StringVar(win) V.set('0.; 1.; 0.') VARS.append(V) # -16- alp0 - V = TK.DoubleVar(win) V.set(0.) VARS.append(V) # -17- transl_speed - V = TK.StringVar(win) V.set('0.; 0.; 0.') VARS.append(V) # -18- rot_pnt - V = TK.StringVar(win) V.set('0.; 0.; 0.') VARS.append(V) # -19- rot_vct - V = TK.StringVar(win) V.set('0.; 0.; 1.') VARS.append(V) # -20- rot_omg - V = TK.DoubleVar(win) V.set(0.) VARS.append(V) # -21- del_pnt - V = TK.StringVar(win) V.set('0.; 0.; 0.') VARS.append(V) # -22- del_vct - V = TK.StringVar(win) V.set('0.; 0.; 1.') VARS.append(V) # -23- del0 - V = TK.DoubleVar(win) V.set(0.) VARS.append(V) # -24- delc - V = TK.StringVar(win) V.set('0.; 0.; 0.') VARS.append(V) # -25- dels - V = TK.StringVar(win) V.set('0.; 0.; 0.') VARS.append(V) # -26- bet_pnt - V = TK.StringVar(win) V.set('0.; 0.; 0.') VARS.append(V) # -27- bet_vct - V = TK.StringVar(win) V.set('0.; 0.; 1.') VARS.append(V) # -28- bet0 - V = TK.DoubleVar(win) V.set(0.) VARS.append(V) # -29- betc - V = TK.StringVar(win) V.set('0.; 0.; 0.') VARS.append(V) # -30- bets - V = TK.StringVar(win) V.set('0.; 0.; 0.') VARS.append(V) # -31- tet_pnt - V = TK.StringVar(win) V.set('0.; 0.; 0.') VARS.append(V) # -32- tet_vct - V = TK.StringVar(win) V.set('1.; 0.; 0.') VARS.append(V) # -33- tet0 - V = TK.DoubleVar(win) V.set(0.) VARS.append(V) # -34- tetc - V = TK.StringVar(win) V.set('0.') VARS.append(V) # -35- tets - V = TK.StringVar(win) V.set('0.') VARS.append(V) # -36- span_vct - V = TK.StringVar(win) V.set('1.; 0.; 0.') VARS.append(V) # -37- pre_lag_pnt - V = TK.StringVar(win) V.set('0.; 0.; 0.') VARS.append(V) # -38- pre_lag_vct - V = TK.StringVar(win) V.set('1.; 0.; 0.') VARS.append(V) # -39- pre_lag_ang - V = TK.DoubleVar(win) V.set(0.) VARS.append(V) # -40- pre_con_pnt - V = TK.StringVar(win) V.set('0.; 0.; 0.') VARS.append(V) # -41- pre_con_vct - V = TK.StringVar(win) V.set('1.; 0.; 0.') VARS.append(V) # -42- pre_con_ang - V = TK.DoubleVar(win) V.set(0.) VARS.append(V) #---------------------- # -- Constant motion -- #---------------------- # -43- transl_speed - V = TK.StringVar(win) V.set('0.; 0.; 0.') VARS.append(V) # -44- axis_pnt - V = TK.StringVar(win) V.set('0.; 0.; 0.') VARS.append(V) # -45- axis_vct - V = TK.StringVar(win) V.set('0.; 0.; 1.') VARS.append(V) # -46- omega - V = TK.DoubleVar(win) V.set(0.) VARS.append(V) # - Settings - B = TTK.OptionMenu(Frame, VARS[11], '1:MotionStrings', '2:KMotionRotor', '3:ConstantMotion', command=changeMotionType) B.grid(row=0, column=0, columnspan=3, sticky=TK.EW) B = TTK.Label(Frame, text="Name:") BB = CTK.infoBulle(parent=B, text='Name of motion.') B.grid(row=1, column=0, sticky=TK.EW) B = TTK.Entry(Frame, textvariable=VARS[0], background='White') B.grid(row=1, column=1, columnspan=2, sticky=TK.EW) # - Set/Get - B = TTK.Button(Frame, text="Get", command=getVars) B.grid(row=3, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Get motion from zone (if exists).') B = TTK.Button(Frame, text="Set", command=setVars) B.grid(row=3, column=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Set motion in zone.') B = TTK.Button(Frame, text="Reset", command=resetVars) B.grid(row=3, column=2, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Reset all to default.') # Frame pour chaque type de motion Frame1 = TTK.Frame(Frame, borderwidth=0) Frame1.columnconfigure(0, weight=0) Frame1.columnconfigure(1, weight=1) WIDGETS['frame1'] = Frame1 Frame2 = TTK.Frame(Frame, borderwidth=0) Frame2.columnconfigure(0, weight=0) Frame2.columnconfigure(1, weight=1) WIDGETS['frame2'] = Frame2 Frame3 = TTK.Frame(Frame, borderwidth=0) Frame3.columnconfigure(0, weight=0) Frame3.columnconfigure(1, weight=1) WIDGETS['frame3'] = Frame3 # - Motion Type1: motion strings - B = TTK.Label(Frame1, text="tx:") BB = CTK.infoBulle(parent=B, text='Translation of origin.\nCan depend on {t}.') B.grid(row=0, column=0, sticky=TK.EW) B = TTK.Entry(Frame1, textvariable=VARS[1], background='White') BB = CTK.infoBulle(parent=B, text='Translation of origin.\nCan depend on {t}.') B.grid(row=0, column=1, sticky=TK.EW) B.bind('<Return>', setVars1) B = TTK.Label(Frame1, text="ty:") BB = CTK.infoBulle(parent=B, text='Translation of origin.\nCan depend on {t}.') B.grid(row=1, column=0, sticky=TK.EW) B = TTK.Entry(Frame1, textvariable=VARS[2], background='White') BB = CTK.infoBulle(parent=B, text='Translation of origin.\nCan depend on {t}.') B.grid(row=1, column=1, sticky=TK.EW) B.bind('<Return>', setVars1) B = TTK.Label(Frame1, text="tz:") BB = CTK.infoBulle(parent=B, text='Translation of origin.\nCan depend on {t}.') B.grid(row=2, column=0, sticky=TK.EW) B = TTK.Entry(Frame1, textvariable=VARS[3], background='White') BB = CTK.infoBulle(parent=B, text='Translation of origin.\nCan depend on {t}.') B.grid(row=2, column=1, sticky=TK.EW) B.bind('<Return>', setVars1) B = TTK.Button(Frame1, text="Set", command=setTransOrigin) B.grid(row=1, column=2, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Set trans origin from mouse.') B = TTK.Label(Frame1, text="cx:") BB = CTK.infoBulle(parent=B, text='Center of rotation.\nCan depend on {t}.') B.grid(row=4, column=0, sticky=TK.EW) B = TTK.Entry(Frame1, textvariable=VARS[4], background='White') BB = CTK.infoBulle(parent=B, text='Center of rotation.\nCan depend on {t}.') B.grid(row=4, column=1, sticky=TK.EW) B.bind('<Return>', setVars1) B = TTK.Label(Frame1, text="cy:") BB = CTK.infoBulle(parent=B, text='Center of rotation.\nCan depend on {t}.') B.grid(row=5, column=0, sticky=TK.EW) B = TTK.Entry(Frame1, textvariable=VARS[5], background='White') BB = CTK.infoBulle(parent=B, text='Center of rotation.\nCan depend on {t}.') B.grid(row=5, column=1, sticky=TK.EW) B.bind('<Return>', setVars1) B = TTK.Label(Frame1, text="cz:") BB = CTK.infoBulle(parent=B, text='Center of rotation.\nCan depend on {t}.') B.grid(row=6, column=0, sticky=TK.EW) B = TTK.Entry(Frame1, textvariable=VARS[6], background='White') B.grid(row=6, column=1, sticky=TK.EW) B.bind('<Return>', setVars1) B = TTK.Button(Frame1, text="Set", command=setCenterRotation) B.grid(row=5, column=2, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Set rotation center from mouse.') B = TTK.Label(Frame1, text="ex:") BB = CTK.infoBulle(parent=B, text='Second rot axis point.\nCan depend on {t}.') B.grid(row=7, column=0, sticky=TK.EW) B = TTK.Entry(Frame1, textvariable=VARS[7], background='White') BB = CTK.infoBulle(parent=B, text='Second rot axis point.\nCan depend on {t}.') B.grid(row=7, column=1, sticky=TK.EW) B.bind('<Return>', setVars1) B = TTK.Label(Frame1, text="ey:") BB = CTK.infoBulle(parent=B, text='Second rot axis point.\nCan depend on {t}.') B.grid(row=8, column=0, sticky=TK.EW) B = TTK.Entry(Frame1, textvariable=VARS[8], background='White') BB = CTK.infoBulle(parent=B, text='Second rot axis point.\nCan depend on {t}.') B.grid(row=8, column=1, sticky=TK.EW) B.bind('<Return>', setVars1) B = TTK.Label(Frame1, text="ez:") BB = CTK.infoBulle(parent=B, text='Second rot axis point.\nCan depend on {t}.') B.grid(row=9, column=0, sticky=TK.EW) B = TTK.Entry(Frame1, textvariable=VARS[9], background='White') BB = CTK.infoBulle(parent=B, text='Second rot axis point.\nCan depend on {t}.') B.grid(row=9, column=1, sticky=TK.EW) B.bind('<Return>', setVars1) B = TTK.Button(Frame1, text="Set", command=set2Axis) B.grid(row=8, column=2, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Set rot axis from mouse.') B = TTK.Label(Frame1, text="angle:") BB = CTK.infoBulle(parent=B, text='Rotation angle.\Can depend on {t}. In degrees.') B.grid(row=10, column=0, sticky=TK.EW) B = TTK.Entry(Frame1, textvariable=VARS[10], background='White') BB = CTK.infoBulle(parent=B, text='Rotation angle.\Can depend on {t}. In degrees.') B.grid(row=10, column=1, sticky=TK.EW) B.bind('<Return>', setVars1) # - Motion Type2: KMotionRotor - B = TTK.Label(Frame2, text="transl_speed:") BB = CTK.infoBulle(parent=B, text='Translation speed and span_vect.') B.grid(row=0, column=0, sticky=TK.EW) B = TTK.Entry(Frame2, textvariable=VARS[17], background='White', width=10) BB = CTK.infoBulle(parent=B, text='transl_speed.') B.grid(row=0, column=1, sticky=TK.EW) B.bind('<Return>', setVars2) B = TTK.Entry(Frame2, textvariable=VARS[36], background='White', width=10) BB = CTK.infoBulle(parent=B, text='span vector.') B.grid(row=0, column=2, sticky=TK.EW) B.bind('<Return>', setVars2) B = TTK.Label(Frame2, text="psi0:") BB = CTK.infoBulle(parent=B, text='Azymuth at t=0.') B.grid(row=1, column=0, sticky=TK.EW) B = TTK.Entry(Frame2, textvariable=VARS[12], background='White', width=10) BB = CTK.infoBulle(parent=B, text='psi0. In degrees.') B.grid(row=1, column=1, sticky=TK.EW) B.bind('<Return>', setVars2) B = TTK.Entry(Frame2, textvariable=VARS[13], background='White', width=10) BB = CTK.infoBulle(parent=B, text='psi0_b. In degrees.') B.grid(row=1, column=2, sticky=TK.EW) B.bind('<Return>', setVars2) B = TTK.Label(Frame2, text="alp:") BB = CTK.infoBulle(parent=B, text='Shaft angle.') B.grid(row=2, column=0, sticky=TK.EW) B = TTK.Entry(Frame2, textvariable=VARS[14], background='White', width=10) BB = CTK.infoBulle(parent=B, text='alp_pnt.') B.grid(row=2, column=1, sticky=TK.EW) B.bind('<Return>', setVars2) B = TTK.Entry(Frame2, textvariable=VARS[15], background='White', width=10) BB = CTK.infoBulle(parent=B, text='alp_vct.') B.grid(row=2, column=2, sticky=TK.EW) B.bind('<Return>', setVars2) B = TTK.Entry(Frame2, textvariable=VARS[16], background='White', width=4) BB = CTK.infoBulle(parent=B, text='alp0. In degrees.') B.grid(row=2, column=3, sticky=TK.EW) B.bind('<Return>', setVars2) B = TTK.Label(Frame2, text="rot:") BB = CTK.infoBulle(parent=B, text='Rotation.') B.grid(row=3, column=0, sticky=TK.EW) B = TTK.Entry(Frame2, textvariable=VARS[18], background='White', width=10) BB = CTK.infoBulle(parent=B, text='rot_pnt.') B.grid(row=3, column=1, sticky=TK.EW) B.bind('<Return>', setVars2) B = TTK.Entry(Frame2, textvariable=VARS[19], background='White', width=10) BB = CTK.infoBulle(parent=B, text='rot_vct.') B.grid(row=3, column=2, sticky=TK.EW) B.bind('<Return>', setVars2) B = TTK.Entry(Frame2, textvariable=VARS[20], background='White', width=4) BB = CTK.infoBulle(parent=B, text='rot_omg. In rad/time unit.') B.grid(row=3, column=3, sticky=TK.EW) B.bind('<Return>', setVars2) B = TTK.Label(Frame2, text="del:") BB = CTK.infoBulle(parent=B, text='..') B.grid(row=4, column=0, sticky=TK.EW) B = TTK.Entry(Frame2, textvariable=VARS[21], background='White', width=10) BB = CTK.infoBulle(parent=B, text='del_pnt.') B.grid(row=4, column=1, sticky=TK.EW) B.bind('<Return>', setVars2) B = TTK.Entry(Frame2, textvariable=VARS[22], background='White', width=10) BB = CTK.infoBulle(parent=B, text='del_vct.') B.grid(row=4, column=2, sticky=TK.EW) B.bind('<Return>', setVars2) B = TTK.Entry(Frame2, textvariable=VARS[23], background='White', width=4) B.grid(row=4, column=3, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='del0. In degrees.') B.bind('<Return>', setVars2) B = TTK.Label(Frame2, text="delc,s:") BB = CTK.infoBulle(parent=B, text='del modes.') B.grid(row=5, column=0, sticky=TK.EW) B = TTK.Entry(Frame2, textvariable=VARS[24], background='White', width=10) BB = CTK.infoBulle(parent=B, text='delc.') B.grid(row=5, column=1, sticky=TK.EW) B.bind('<Return>', setVars2) B = TTK.Entry(Frame2, textvariable=VARS[25], background='White', width=10) BB = CTK.infoBulle(parent=B, text='dels.') B.grid(row=5, column=2, sticky=TK.EW) B.bind('<Return>', setVars2) B = TTK.Label(Frame2, text="bet:") BB = CTK.infoBulle(parent=B, text='..') B.grid(row=6, column=0, sticky=TK.EW) B = TTK.Entry(Frame2, textvariable=VARS[26], background='White', width=10) BB = CTK.infoBulle(parent=B, text='bet_pnt.') B.grid(row=6, column=1, sticky=TK.EW) B.bind('<Return>', setVars2) B = TTK.Entry(Frame2, textvariable=VARS[27], background='White', width=10) BB = CTK.infoBulle(parent=B, text='bet_vct.') B.grid(row=6, column=2, sticky=TK.EW) B.bind('<Return>', setVars2) B = TTK.Entry(Frame2, textvariable=VARS[28], background='White', width=4) B.grid(row=6, column=3, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='bet0. In degrees.') B.bind('<Return>', setVars2) B = TTK.Label(Frame2, text="betc,s:") BB = CTK.infoBulle(parent=B, text='bet modes.') B.grid(row=7, column=0, sticky=TK.EW) B = TTK.Entry(Frame2, textvariable=VARS[29], background='White', width=10) BB = CTK.infoBulle(parent=B, text='betc.') B.grid(row=7, column=1, sticky=TK.EW) B.bind('<Return>', setVars2) B = TTK.Entry(Frame2, textvariable=VARS[30], background='White', width=10) BB = CTK.infoBulle(parent=B, text='bets.') B.grid(row=7, column=2, sticky=TK.EW) B.bind('<Return>', setVars2) B = TTK.Label(Frame2, text="tet:") BB = CTK.infoBulle(parent=B, text='..') B.grid(row=8, column=0, sticky=TK.EW) B = TTK.Entry(Frame2, textvariable=VARS[31], background='White', width=10) BB = CTK.infoBulle(parent=B, text='tet_pnt.') B.grid(row=8, column=1, sticky=TK.EW) B.bind('<Return>', setVars2) B = TTK.Entry(Frame2, textvariable=VARS[32], background='White', width=10) BB = CTK.infoBulle(parent=B, text='tet_vct.') B.grid(row=8, column=2, sticky=TK.EW) B.bind('<Return>', setVars2) B = TTK.Entry(Frame2, textvariable=VARS[33], background='White', width=4) B.grid(row=8, column=3, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='tet0. In degrees.') B.bind('<Return>', setVars2) B = TTK.Label(Frame2, text="tetc,s:") BB = CTK.infoBulle(parent=B, text='tet modes.') B.grid(row=9, column=0, sticky=TK.EW) B = TTK.Entry(Frame2, textvariable=VARS[34], background='White', width=10) BB = CTK.infoBulle(parent=B, text='tetc.') B.grid(row=9, column=1, sticky=TK.EW) B.bind('<Return>', setVars2) B = TTK.Entry(Frame2, textvariable=VARS[35], background='White', width=10) BB = CTK.infoBulle(parent=B, text='tets.') B.grid(row=9, column=2, sticky=TK.EW) B.bind('<Return>', setVars2) B = TTK.Label(Frame2, text="pre_lag:") BB = CTK.infoBulle(parent=B, text='..') B.grid(row=10, column=0, sticky=TK.EW) B = TTK.Entry(Frame2, textvariable=VARS[37], background='White', width=10) BB = CTK.infoBulle(parent=B, text='pre_lag_pnt.') B.grid(row=10, column=1, sticky=TK.EW) B.bind('<Return>', setVars2) B = TTK.Entry(Frame2, textvariable=VARS[38], background='White', width=10) BB = CTK.infoBulle(parent=B, text='pre_lag_vct.') B.grid(row=10, column=2, sticky=TK.EW) B.bind('<Return>', setVars2) B = TTK.Entry(Frame2, textvariable=VARS[39], background='White', width=4) B.grid(row=10, column=3, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='pre_lag_ang. In degrees.') B.bind('<Return>', setVars2) B = TTK.Label(Frame2, text="pre_con:") BB = CTK.infoBulle(parent=B, text='..') B.grid(row=11, column=0, sticky=TK.EW) B = TK.Entry(Frame2, textvariable=VARS[40], background='White', width=10) BB = CTK.infoBulle(parent=B, text='pre_con_pnt.') B.grid(row=11, column=1, sticky=TK.EW) B.bind('<Return>', setVars2) B = TK.Entry(Frame2, textvariable=VARS[41], background='White', width=10) BB = CTK.infoBulle(parent=B, text='pre_con_vct.') B.grid(row=11, column=2, sticky=TK.EW) B.bind('<Return>', setVars2) B = TK.Entry(Frame2, textvariable=VARS[42], background='White', width=4) B.grid(row=11, column=3, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='pre_con_ang. In degrees.') B.bind('<Return>', setVars2) # - Motion Type3: ConstantMotion - B = TTK.Label(Frame3, text="transl_speed:") BB = CTK.infoBulle(parent=B, text='Translation speed.') B.grid(row=0, column=0, sticky=TK.EW) B = TTK.Entry(Frame3, textvariable=VARS[43], background='White') BB = CTK.infoBulle(parent=B, text='Translation speed.') B.grid(row=0, column=1, sticky=TK.EW) B.bind('<Return>', setVars3) B = TTK.Label(Frame3, text="axis_pnt:") BB = CTK.infoBulle(parent=B, text='Rotation center.') B.grid(row=1, column=0, sticky=TK.EW) B = TTK.Entry(Frame3, textvariable=VARS[44], background='White') BB = CTK.infoBulle(parent=B, text='Rotation center.') B.grid(row=1, column=1, sticky=TK.EW) B.bind('<Return>', setVars3) B = TTK.Label(Frame3, text="axis_vct:") BB = CTK.infoBulle(parent=B, text='Rotation axis.') B.grid(row=2, column=0, sticky=TK.EW) B = TTK.Entry(Frame3, textvariable=VARS[45], background='White') BB = CTK.infoBulle(parent=B, text='Rotation axis.') B.grid(row=2, column=1, sticky=TK.EW) B.bind('<Return>', setVars3) B = TTK.Label(Frame3, text="omega:") BB = CTK.infoBulle(parent=B, text='Rotation speed. In rad/time unit.') B.grid(row=3, column=0, sticky=TK.EW) B = TTK.Entry(Frame3, textvariable=VARS[46], background='White') BB = CTK.infoBulle(parent=B, text='Rotation speed. In rad/time unit.') B.grid(row=3, column=1, sticky=TK.EW) B.bind('<Return>', setVars3) changeMotionType()
def createApp(win): # - Frame - Frame = TTK.LabelFrame(win, borderwidth=2, relief=CTK.FRAMESTYLE, text='tkSmooth', font=CTK.FRAMEFONT, takefocus=1) #BB = CTK.infoBulle(parent=Frame, text='Smooth meshes.\nCtrl+c to close applet.', temps=0, btype=1) Frame.bind('<Control-c>', hideApp) Frame.bind('<ButtonRelease-3>', displayFrameMenu) Frame.bind('<Enter>', lambda event : Frame.focus_set()) Frame.columnconfigure(0, weight=1) Frame.columnconfigure(1, weight=0) Frame.columnconfigure(2, weight=0) Frame.columnconfigure(3, weight=0) Frame.columnconfigure(4, weight=0) WIDGETS['frame'] = Frame # - Frame menu - FrameMenu = TK.Menu(Frame, tearoff=0) FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp) FrameMenu.add_command(label='Save', command=saveApp) FrameMenu.add_command(label='Reset', command=resetApp) CTK.addPinMenu(FrameMenu, 'tkSmooth') WIDGETS['frameMenu'] = FrameMenu # - VARS - # -0- Smoother niter - V = TK.StringVar(win); V.set('10'); VARS.append(V) if 'tkSmoothIter' in CTK.PREFS: V.set(CTK.PREFS['tkSmoothIter']) # -1- Constraint V = TK.StringVar(win); V.set(''); VARS.append(V) # -2- Constraint strength V = TK.StringVar(win); V.set('0.1'); VARS.append(V) if 'tkSmoothConsStrength' in CTK.PREFS: V.set(CTK.PREFS['tkSmoothConsStrength']) # -3- Constraint external faces V = TK.IntVar(win); V.set(1); VARS.append(V) # -4- smooth eps V = TK.StringVar(win); V.set('0.5'); VARS.append(V) if 'tkSmoothEps' in CTK.PREFS: V.set(CTK.PREFS['tkSmoothEps']) # -5- Constraint sharp edges V = TK.IntVar(win); V.set(0); VARS.append(V) # -6- Sharp edges detection angle V = TK.StringVar(win); V.set('30.'); VARS.append(V) if 'tkSmoothSharpAngle' in CTK.PREFS: V.set(CTK.PREFS['tkSmoothSharpAngle']) # -7- Project on surface V = TK.IntVar(win); V.set(0); VARS.append(V) # -8- Type de smoothing V = TK.StringVar(win); V.set('Volume'); VARS.append(V) if 'tkSmoothType' in CTK.PREFS: V.set(CTK.PREFS['tkSmoothType']) # - Smoother power - #B = TTK.Label(Frame, text="Eps") #B.grid(row=0, column=0, sticky=TK.EW) B = TTK.OptionMenu(Frame, VARS[8], 'Volume', 'Scale', 'Taubin') BB = CTK.infoBulle(parent=B, text='Smoothing algorithm.') B.grid(row=0, column=0, columnspan=2, sticky=TK.EW) B = TTK.Entry(Frame, textvariable=VARS[4], background='White', width=4) B.grid(row=0, column=2, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Smoother power.') B = TTK.Label(Frame, text="Iter") B.grid(row=0, column=3, sticky=TK.EW) B = TTK.Entry(Frame, textvariable=VARS[0], background='White', width=4) B.grid(row=0, column=4, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Number of smoother iterations.') # - Constraint strength - B = TTK.Entry(Frame, textvariable=VARS[2], background='White', width=4) B.grid(row=1, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Strength of constraints.') # - Keep external faces - B = TTK.Checkbutton(Frame, text='EF', variable=VARS[3]) B.grid(row=1, column=1, columnspan=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Keep external faces.') # - Keep sharp edges faces - B = TTK.Checkbutton(Frame, text='SE', variable=VARS[5]) B.grid(row=1, column=2, columnspan=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Keep sharp edges.') # - Project on surface B = TTK.Checkbutton(Frame, text='PJ', variable=VARS[7]) B.grid(row=1, column=3, columnspan=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Project on surface.') # - Sharp edges detection B = TTK.Entry(Frame, textvariable=VARS[6], background='White', width=4) B.grid(row=1, column=4, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Sharp edges detection angle.') # - Smoother constraint - B = TTK.Button(Frame, command=setConstraint, image=iconics.PHOTO[8], padx=0, pady=0) BB = CTK.infoBulle(parent=B, text='Set constraint curves for smoother (points dont move).') B.grid(row=2, column=4, columnspan=1, sticky=TK.EW) B = TTK.Entry(Frame, textvariable=VARS[1], background='White', width=8) B.grid(row=2, column=0, columnspan=4, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Constraint curves for smoother (points dont move).') # - Smooth - B = TTK.Button(Frame, text="Smooth", command=smooth) BB = CTK.infoBulle(parent=B, text='Smooth mesh.') B.grid(row=3, column=0, columnspan=5, sticky=TK.EW)
def createApp(win): # - Frame - Frame = TTK.LabelFrame(win, borderwidth=2, relief=CTK.FRAMESTYLE, text='tkFastSolver', font=CTK.FRAMEFONT, takefocus=1) Frame.bind('<Control-c>', hideApp) Frame.bind('<ButtonRelease-3>', displayFrameMenu) Frame.bind('<Enter>', lambda event: Frame.focus_set()) Frame.columnconfigure(0, weight=0) Frame.columnconfigure(1, weight=1) Frame.columnconfigure(2, weight=0) WIDGETS['frame'] = Frame # - Frame menu - FrameMenu = TK.Menu(Frame, tearoff=0) FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp) CTK.addPinMenu(FrameMenu, 'tkFastSolver') WIDGETS['frameMenu'] = FrameMenu # - VARS - # -0- temporal_scheme - V = TK.StringVar(win) V.set('explicit') VARS.append(V) # -1- ss_iteration - V = TK.StringVar(win) V.set('20') VARS.append(V) # -2- modulo_verif - V = TK.StringVar(win) V.set('200') VARS.append(V) # -3- restart_fields - V = TK.StringVar(win) V.set('1') VARS.append(V) # -4- scheme - V = TK.StringVar(win) V.set('ausmpred') VARS.append(V) # -5- Time step - V = TK.DoubleVar(win) V.set(0.002) VARS.append(V) # -6- Snear - V = TK.DoubleVar(win) V.set(0.01) VARS.append(V) # -7- IBC type - V = TK.StringVar(win) V.set('Musker') VARS.append(V) # -8- dfar local - V = TK.DoubleVar(win) V.set(-1.) VARS.append(V) # - temporal scheme - B = TTK.Label(Frame, text="temporal_scheme") B.grid(row=0, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Time integration.') B = TTK.OptionMenu(Frame, VARS[0], 'explicit', 'implicit', 'implicit_local') B.grid(row=0, column=1, columnspan=2, sticky=TK.EW) # - ss_iteration - #B = TTK.Label(Frame, text="ss_iteration") #B.grid(row=1, column=0, sticky=TK.EW) #BB = CTK.infoBulle(parent=B, text='Nbre de sous iterations max.') #B = TTK.Entry(Frame, textvariable=VARS[1]) #B.grid(row=1, column=1, columnspan=2, sticky=TK.EW) # - scheme - B = TTK.Label(Frame, text="scheme") B.grid(row=2, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Numerical scheme.') B = TTK.OptionMenu(Frame, VARS[4], 'ausmpred', 'roe_min') B.grid(row=2, column=1, columnspan=2, sticky=TK.EW) # - time_step - B = TTK.Label(Frame, text="time_step") B.grid(row=3, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Time step.') B = TTK.Entry(Frame, textvariable=VARS[5]) B.grid(row=3, column=1, columnspan=2, sticky=TK.EW) #- Snear settings - B = TTK.Label(Frame, text="snear") B.grid(row=4, column=0, sticky=TK.EW) B = TTK.Entry(Frame, textvariable=VARS[6]) B.grid(row=4, column=1, columnspan=2, sticky=TK.EW) #- dfar settings - B = TTK.Label(Frame, text="dfar") B.grid(row=5, column=0, sticky=TK.EW) B = TTK.Entry(Frame, textvariable=VARS[8]) B.grid(row=5, column=1, columnspan=2, sticky=TK.EW) # - IBC type - B = TTK.Label(Frame, text="IBC type") B.grid(row=6, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Type of IBC.') B = TTK.OptionMenu(Frame, VARS[7], 'slip', 'noslip', 'Log', 'Musker', 'outpress', 'inj', 'TBLE') B.grid(row=6, column=1, columnspan=2, sticky=TK.EW) # - Set data - B = TTK.Button(Frame, text="Set data", command=setData) BB = CTK.infoBulle(parent=B, text='Set data into selected zone.') B.grid(row=7, column=0, columnspan=2, sticky=TK.EW) B = TTK.Button(Frame, command=getData, image=iconics.PHOTO[8], padx=0, pady=0, compound=TK.RIGHT) BB = CTK.infoBulle(parent=B, text='Get data from selected zone.') B.grid(row=7, column=2, sticky=TK.EW)
def createApp(win): ttk = CTK.importTtk() # - Frame - Frame = TTK.LabelFrame(win, borderwidth=2, relief=CTK.FRAMESTYLE, text='tkPerfo', font=CTK.FRAMEFONT, takefocus=1) #BB = CTK.infoBulle(parent=Frame, text='Improve performance of Cassiopee.\nCtrl+c to close applet.', temps=0, btype=1) Frame.bind('<Control-c>', hideApp) Frame.bind('<ButtonRelease-3>', displayFrameMenu) Frame.bind('<Enter>', lambda event : Frame.focus_set()) Frame.columnconfigure(0, weight=1) Frame.columnconfigure(1, weight=4) Frame.columnconfigure(2, weight=1) WIDGETS['frame'] = Frame # - Frame menu - FrameMenu = TK.Menu(Frame, tearoff=0) FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp) FrameMenu.add_command(label='Save', command=saveApp) FrameMenu.add_command(label='Reset', command=resetApp) CTK.addPinMenu(FrameMenu, 'tkPerfo') WIDGETS['frameMenu'] = FrameMenu # - VARS - # -0- Displayed field - V = TK.StringVar(win); V.set('All fields'); VARS.append(V) # -1- Oneovern - V = TK.StringVar(win); V.set('All points'); VARS.append(V) if 'tkPerfoPoints' in CTK.PREFS: V.set(CTK.PREFS['tkPerfoPoints']) # -2- Threads V = TK.StringVar(win); V.set('1'); VARS.append(V) # - Field transmission - B = TTK.Label(Frame, text="Display") B.grid(row=0, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Describe what part of the tree is displayed.\nCan fasten the display. In memory tree is not modified.') F = TTK.Frame(Frame, borderwidth=0) F.columnconfigure(0, weight=1) if ttk is None: B = TK.OptionMenu(F, VARS[0], 'All fields', 'No field') B.grid(sticky=TK.EW) F.bind('<Enter>', updateVarNameList) F.grid(row=0, column=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Display only certain fields.') WIDGETS['fields'] = B else: B = ttk.Combobox(F, textvariable=VARS[0], values=['All fields', 'No field'], state='readonly', width=10) B.grid(sticky=TK.EW) B.bind('<<ComboboxSelected>>', setViewMode2) F.bind('<Enter>', updateVarNameList2) F.grid(row=0, column=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Display only certain fields.') WIDGETS['fields'] = B # - Point transmission - B = TTK.OptionMenu(Frame, VARS[1], 'All points', 'One over 2', 'One over 3', 'One over 4', 'Exclusive', command=oneovern) B.grid(row=0, column=2, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Display less points.') # - OMP threads - B = TTK.Label(Frame, text="Threads") B.grid(row=1, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='The number of CPU cores used by Cassiopee.') F = TTK.Frame(Frame, borderwidth=0) F.grid(row=1, column=1, columnspan=1, sticky=TK.EW) B = TTK.Entry(F, textvariable=VARS[2], background='White', width=3) B.grid(row=0, column=0, columnspan=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Number of threads\n(init value is OMP_NUM_THREADS).') B.bind('<Return>', setThreads) WIDGETS['threads'] = B mxProcs = getMaxProcs() B = TK.Label(F, text='/'+mxProcs) B.grid(row=0, column=1, columnspan=1, sticky=TK.EW) B = TTK.Button(Frame, text="Set", command=setThreads) B.grid(row=1, column=2, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Set the number of threads.')
def createApp(win): # - Frame - Frame = TTK.LabelFrame(win, borderwidth=2, relief=CTK.FRAMESTYLE, text='tkBlader', font=CTK.FRAMEFONT, takefocus=1) #BB = CTK.infoBulle(parent=Frame, text='Automatic mesher for\nblades.\nCtrl+c to close applet.', temps=0, btype=1) Frame.bind('<Control-c>', hideApp) Frame.bind('<ButtonRelease-3>', displayFrameMenu) Frame.bind('<Enter>', lambda event: Frame.focus_set()) Frame.columnconfigure(0, weight=0) Frame.columnconfigure(1, weight=1) WIDGETS['frame'] = Frame # - Frame menu - FrameMenu = TK.Menu(Frame, tearoff=0) FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp) FrameMenu.add_command(label='Save', command=saveApp) FrameMenu.add_command(label='Reset', command=resetApp) CTK.addPinMenu(FrameMenu, 'tkBlader') WIDGETS['frameMenu'] = FrameMenu # - VARS - # -0- front split % - V = TK.StringVar(win) V.set('0.5') VARS.append(V) if 'tkBladerFrontSplit' in CTK.PREFS: V.set(CTK.PREFS['tkBladerFrontSplit']) # -1- front step - V = TK.StringVar(win) V.set('0.001') VARS.append(V) if 'tkBladerFrontStep' in CTK.PREFS: V.set(CTK.PREFS['tkBladerFrontStep']) # -2- other step - V = TK.StringVar(win) V.set('0.01') VARS.append(V) if 'tkBladerStep' in CTK.PREFS: V.set(CTK.PREFS['tkBladerStep']) # -3- delta line index - V = TK.StringVar(win) V.set('15') VARS.append(V) # -4- Dfar. Mesh height - V = TK.StringVar(win) V.set('0.3') VARS.append(V) if 'tkBladerHeight' in CTK.PREFS: V.set(CTK.PREFS['tkBladerHeight']) # -5- hp: step en envergure - V = TK.StringVar(win) V.set('0.02') VARS.append(V) if 'tkBladerSpanStep' in CTK.PREFS: V.set(CTK.PREFS['tkBladerSpanStep']) # -6- span: longeur de l'envergure - V = TK.StringVar(win) V.set('5.') VARS.append(V) if 'tkBladerSpan' in CTK.PREFS: V.set(CTK.PREFS['tkBladerSpan']) # - Step1 - B = TTK.Label(Frame, text='Front split %:') B.grid(row=0, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Split profile at %.') B = TTK.Entry(Frame, textvariable=VARS[0], background='White', width=5) B.grid(row=0, column=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Index for front split.') B = TTK.Label(Frame, text='Front step:') B.grid(row=1, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Front step.') B = TTK.Entry(Frame, textvariable=VARS[1], background='White', width=5) B.grid(row=1, column=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Step for front and back of profile.') B = TTK.Label(Frame, text='Profile step:') B.grid(row=2, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Profile step.') B = TTK.Entry(Frame, textvariable=VARS[2], background='White', width=5) B.grid(row=2, column=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Step on profile.') B = TTK.Label(Frame, text='Delta line index:') B.grid(row=3, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Index for delta line.') B = TTK.Entry(Frame, textvariable=VARS[3], background='White', width=5) B.grid(row=3, column=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Index for delta line.') B = TTK.Label(Frame, text='Mesh height:') B.grid(row=4, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Mesh height.') B = TTK.Entry(Frame, textvariable=VARS[4], background='White', width=5) B.grid(row=4, column=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Mesh height.') B = TTK.Button(Frame, text="Step 1", command=step1) B.grid(row=5, column=0, columnspan=2, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Run step 1. Plane mesh.') B = TTK.Label(Frame, text='Span length:') B.grid(row=6, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Span length.') B = TTK.Entry(Frame, textvariable=VARS[6], background='White', width=5) B.grid(row=6, column=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Span length.') B = TTK.Label(Frame, text='Span step:') B.grid(row=7, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Step in span direction.') B = TTK.Entry(Frame, textvariable=VARS[5], background='White', width=5) B.grid(row=7, column=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Step in span direction.') B = TTK.Button(Frame, text="Step 2", command=step2) B.grid(row=8, column=0, columnspan=2, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Run step 2. Volume mesh.')
def createApp(win): ttk = CTK.importTtk() # - Frame - Frame = TTK.LabelFrame(win, borderwidth=2, relief=CTK.FRAMESTYLE, text='tkPrefs', font=CTK.FRAMEFONT, takefocus=1) #BB = CTK.infoBulle(parent=Frame, text='Set Cassiopee preferences.\nCtrl+c to close applet.', temps=0, btype=1) Frame.bind('<Control-c>', hideApp) Frame.bind('<ButtonRelease-3>', displayFrameMenu) Frame.bind('<Enter>', lambda event: Frame.focus_set()) Frame.columnconfigure(0, weight=1) Frame.columnconfigure(1, weight=2) WIDGETS['frame'] = Frame # - Frame menu - FrameMenu = TK.Menu(Frame, tearoff=0) FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp) FrameMenu.add_command(label='Save', command=saveApp) #FrameMenu.add_command(label='Reset', command=resetApp) CTK.addPinMenu(FrameMenu, 'tkPrefs') WIDGETS['frameMenu'] = FrameMenu # - VARS - # -0- Default mesh display style - V = TK.StringVar(win) V.set('Monocolor wires+solid') VARS.append(V) # -1- Undo V = TK.StringVar(win) V.set('Active') VARS.append(V) # -2- DisplayInfo V = TK.StringVar(win) V.set('Active') VARS.append(V) # -3- bgColor V = TK.StringVar(win) V.set('Black') VARS.append(V) # -4- auto open apps V = TK.StringVar(win) V.set('') VARS.append(V) # -5- Default solid display style - V = TK.StringVar(win) V.set('Monocolor/1-side') VARS.append(V) # -6- Default envmap V = TK.StringVar(win) V.set('windtunnel.png') VARS.append(V) # -7- Selection style V = TK.StringVar(win) V.set('Blue') VARS.append(V) # -8- Export resolution V = TK.StringVar(win) V.set('1120x820') VARS.append(V) # -9- GUI Theme V = TK.StringVar(win) V.set('default') VARS.append(V) # Init VARS par le fichier de preferences CTK.loadPrefFile() for i in CTK.PREFS: k1 = CTK.PREFS[i] if i == 'undo': if k1 == '1': VARS[1].set('Active') elif k1 == '0': VARS[1].set('Inactive') elif i == 'displayInfo': if k1 == '1': VARS[2].set('Active') elif k1 == '0': VARS[2].set('Inactive') elif i == 'bgColor': if k1 == '0': VARS[3].set('Black') elif k1 == '1': VARS[3].set('White') elif k1 == '2': VARS[3].set('Grey') elif k1 == '3': VARS[3].set('Yellow') elif k1 == '4': VARS[3].set('Blue') elif k1 == '5': VARS[3].set('Red') elif k1 == '6': VARS[3].set('Paper1') elif k1 == '7': VARS[3].set('Paper2') elif k1 == '8': VARS[3].set('Arch') elif k1 == '9': VARS[3].set('Jarvis') elif k1 == '10': VARS[3].set('Onera') elif i == 'auto': VARS[4].set(k1) elif i == 'envmap': VARS[6].set(k1) elif i == 'selectionStyle': VARS[7].set(k1) elif i == 'exportResolution': VARS[8].set(k1) elif i == 'guitheme': VARS[9].set(k1) r = 0 # - gui theme - B = TTK.Label(Frame, text="GUI Theme") B.grid(row=r, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Style for GUI (buttons,...).') F = TTK.Frame(Frame, borderwidth=0) F.columnconfigure(0, weight=1) if ttk is None: B = TTK.OptionMenu(F, VARS[9], 'default') B.grid(sticky=TK.EW) F.bind('<Enter>', updateThemeList) F.grid(row=r, column=1, sticky=TK.EW) WIDGETS['guitheme'] = B else: B = ttk.Combobox(F, textvariable=VARS[9], values=[], state='readonly', width=10) B.bind('<<ComboboxSelected>>', setTheme) B.grid(sticky=TK.EW) F.bind('<Enter>', updateThemeList2) F.grid(row=r, column=1, sticky=TK.EW) WIDGETS['guitheme'] = B r += 1 # - Default display info style - B = TTK.Label(Frame, text="Display Info") B.grid(row=r, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Default display info style.') B = TTK.OptionMenu(Frame, VARS[2], 'Active', 'Inactive', command=setDisplayInfo) B.grid(row=r, column=1, sticky=TK.EW) r += 1 # - Default background color - B = TTK.Label(Frame, text="Background") B.grid(row=r, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Default background color or image.') B = TTK.OptionMenu(Frame, VARS[3], 'Black', 'White', 'Grey', 'Yellow', 'Blue', 'Red', 'Paper1', 'Paper2', 'Arch', 'Jarvis', 'Onera', command=setBgColor) B.grid(row=r, column=1, sticky=TK.EW) r += 1 # - Undo - B = TTK.Label(Frame, text="Undo") B.grid(row=r, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Undo is active.') B = TTK.OptionMenu(Frame, VARS[1], 'Active', 'Inactive', command=setUndo) B.grid(row=r, column=1, sticky=TK.EW) r += 1 # - selection style - B = TTK.Label(Frame, text="Selection") B.grid(row=r, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Selection style.') B = TTK.OptionMenu(Frame, VARS[7], 'Blue', 'Alpha', command=setSelectionStyle) B.grid(row=r, column=1, sticky=TK.EW) r += 1 # - Envmap - B = TTK.Label(Frame, text="Envmap") B.grid(row=r, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Environment map (chrome/glass render).') B = TTK.OptionMenu(Frame, VARS[6], 'windtunnel.png', 'sky.png', 'city.png', 'forest.png', 'house.png', command=setEnvmap) B.grid(row=r, column=1, sticky=TK.EW) r += 1 # - export resolution - B = TTK.Label(Frame, text="Export") B.grid(row=r, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Resolution for image export.') B = TTK.Entry(Frame, textvariable=VARS[8], background='White', width=5) B.bind('<Return>', setExportRes) BB = CTK.infoBulle(parent=B, text='Resolution for image export.') B.grid(row=r, column=1, sticky=TK.EW) r += 1 # - Auto open apps - #B = TK.Button(Frame, text='Opened apps', command=getOpenedApps) #BB = CTK.infoBulle(parent=B, text='Keep currently opened apps for next restart.') #B.grid(row=r, column=0, sticky=TK.EW) #B = TK.Button(Frame, text='Classic apps', command=getClassicApps) #BB = CTK.infoBulle(parent=B, text='Keep a classic set of apps for next restart.') #B.grid(row=r, column=1, sticky=TK.EW) #r += 1 #B = TK.Label(Frame, text="Auto open") #B.grid(row=r, column=0, sticky=TK.EW) #BB = CTK.infoBulle(parent=B, text='Open automatically these apps for next restart (tkTree;tkBC;...)') #B = TK.Entry(Frame, textvariable=VARS[4], background='White') #BB = CTK.infoBulle(parent=B, text='Apps opened for next restart (tkTree;tkBC;...)') #B.grid(row=r, column=1, sticky=TK.EW) #r += 1 # - Set prefs - #B = TK.Button(Frame, text="Set prefs", command=setPrefs) #B.grid(row=r, column=0, columnspan=2, sticky=TK.EW) #BB = CTK.infoBulle(parent=B, text='Set prefs in Cassiopee.') #WIDGETS.append(B); r += 1 # - Save prefs - B = TTK.Button(Frame, text="Save prefs", command=savePrefs) B.grid(row=r, column=0, columnspan=2, sticky=TK.EW) B = CTK.infoBulle(parent=B, text='Save pref file (.cassiopee).') r += 1
def createApp(win): # - Frame - Frame = TTK.LabelFrame(win, borderwidth=2, relief=CTK.FRAMESTYLE, text='tkState', font=CTK.FRAMEFONT, takefocus=1) #BB = CTK.infoBulle(parent=Frame, text='Set information on case.\nCtrl+c to close applet.', temps=0, btype=1) Frame.bind('<Control-c>', hideApp) Frame.bind('<ButtonRelease-3>', displayFrameMenu) Frame.bind('<Enter>', lambda event: Frame.focus_set()) Frame.columnconfigure(0, weight=1) WIDGETS['frame'] = Frame # - Frame menu - FrameMenu = TK.Menu(Frame, tearoff=0) FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp) CTK.addPinMenu(FrameMenu, 'tkState') WIDGETS['frameMenu'] = FrameMenu # - VARS - # -0- Pb dim - V = TK.StringVar(win) V.set('3D') VARS.append(V) # -1- Model - V = TK.StringVar(win) V.set('Euler') VARS.append(V) # -2- Mach - V = TK.StringVar(win) V.set('0.5') VARS.append(V) # -3- Reinf - V = TK.StringVar(win) V.set('1.e8') VARS.append(V) # -4- Incidence/Z - V = TK.StringVar(win) V.set('0.') VARS.append(V) # -5- Incidence/Y - V = TK.StringVar(win) V.set('0.') VARS.append(V) # -6- Type de modele de turbulence V = TK.StringVar(win) V.set('SpalartAllmaras') VARS.append(V) # -7- Valeurs pour les grandeurs turbulentes V = TK.StringVar(win) V.set('1.e-6') VARS.append(V) # -8- Jeux de variables definissant l'etat de reference V = TK.StringVar(win) V.set('[adim1] ro,T,a') VARS.append(V) # -9- MutSMuInf V = TK.StringVar(win) V.set('0.2') VARS.append(V) # -10- TurbLevelInf V = TK.StringVar(win) V.set('1.e-4') VARS.append(V) # -11- Adim V = TK.StringVar(win) V.set('adim1(Ro,A,T)') VARS.append(V) # - Pb dim - F = TTK.Frame(Frame, borderwidth=2, relief=CTK.FRAMESTYLE) F.columnconfigure(0, weight=1) F.columnconfigure(1, weight=2) F.columnconfigure(1, weight=2) B = TTK.Label(F, text="Pb dim") B.grid(row=0, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Dimension of the problem.') B = TTK.OptionMenu(F, VARS[0], '3D', '2D', command=setDim) B.grid(row=0, column=1, sticky=TK.EW) B = TTK.Button(F, text="Set dim", command=setDim) BB = CTK.infoBulle(parent=B, text='Set dim in all bases.') B.grid(row=0, column=2, sticky=TK.EW) F.grid(row=0, column=0, sticky=TK.EW) F = TTK.Frame(Frame, borderwidth=2, relief=CTK.FRAMESTYLE) F.columnconfigure(0, weight=1) F.columnconfigure(1, weight=4) # - Modele de fluide - B = TTK.Label(F, text="GovEquations") B.grid(row=1, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Governing equations to solve.') B = TTK.OptionMenu(F, VARS[1], 'Euler', 'NSLaminar', 'NSTurbulent') B.grid(row=1, column=1, sticky=TK.EW) # - Jeu de grandeurs definissant l'etat de reference - #B = TK.Label(F, text="Variables") #B.grid(row=2, column=0, sticky=TK.EW) #BB = CTK.infoBulle(parent=B, text='Change the set of variables defining the reference state.') #B = TK.OptionMenu(F, VARS[8], '[adim1] ro,a,T', '[adim2] ro,u,T', '[dim1] U,T,P,L', '[dim2] ro,u,T,L', '[dim3] ro,u,P,L') #B.grid(row=2, column=1, sticky=TK.EW) # - Mach - B = TTK.Label(F, text="Mach") B.grid(row=2, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Reference (infinite) mach number.') B = TTK.Entry(F, textvariable=VARS[2], background='White') B.grid(row=2, column=1, sticky=TK.EW) # - Reynolds - B = TTK.Label(F, text="Reynolds") B.grid(row=3, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Reference (infinite) Reynolds number.') B = TTK.Entry(F, textvariable=VARS[3], background='White') B.grid(row=3, column=1, sticky=TK.EW) # - Incidence/Z - B = TTK.Label(F, text="Incidence/Z (deg)") BB = CTK.infoBulle(parent=B, text='Angle of incident flow around z axis.') B.grid(row=4, column=0, sticky=TK.EW) B = TTK.Entry(F, textvariable=VARS[4], background='White') B.grid(row=4, column=1, sticky=TK.EW) # - Incidence/Y - B = TTK.Label(F, text="Incidence/Y (deg)") B.grid(row=5, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Angle of incident flow around y axis.') B = TTK.Entry(F, textvariable=VARS[5], background='White') B.grid(row=5, column=1, sticky=TK.EW) # - Modele de turbulence - B = TTK.Label(F, text="TubulenceModel") B.grid(row=6, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Type of turbulence model.') B = TTK.OptionMenu(F, VARS[6], 'SpalartAllmaras', 'JonesLaunder(k-eps)', 'Wilcox(k-w)', 'MenterSST(k-w)') B.grid(row=6, column=1, sticky=TK.EW) # - Valeurs des grandeurs turbulentes - B = TTK.Label(F, text="MutSMu") B.grid(row=7, column=0, sticky=TK.EW) BB = CTK.infoBulle( parent=B, text='Ratio between turbulent viscosity and molecular viscosity.') B = TTK.Entry(F, textvariable=VARS[9], background='White') B.grid(row=7, column=1, sticky=TK.EW) B = TTK.Label(F, text="TurbLevel") B.grid(row=8, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Level of turbulence.') B = TTK.Entry(F, textvariable=VARS[10], background='White') B.grid(row=8, column=1, sticky=TK.EW) # - Adim - B = TTK.Label(F, text="Adim") B.grid(row=9, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Type of adimensionalization.') B = TTK.OptionMenu( F, VARS[11], 'adim1(Ro,A,T)', 'adim2(Ro,U,T)' ) #,'dim1(real UInf,TInf,PInf,Rgp=287.053)', 'dim2(real UInf,TInf,RoInf,Rgp=287.053)','dim3(real UInf,PInf,RoInf,Rgp=287.053)') B.grid(row=9, column=1, sticky=TK.EW) # - get state, inutile a mon avis - B = TTK.Button(F, text="Get state", command=getState) B.grid(row=10, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Read state from pyTree.') # - set state - B = TTK.Button(F, text="Set state", command=setState) B.grid(row=10, column=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Write state to pyTree.') F.grid(row=1, column=0, sticky=TK.EW)
def createApp(win): ttk = CTK.importTtk() # - Frame - Frame = TTK.LabelFrame(win, borderwidth=2, relief=CTK.FRAMESTYLE, text='tkIsoLine', font=CTK.FRAMEFONT, takefocus=1) #BB = CTK.infoBulle(parent=Frame, text='Compute isolines.\nCtrl+c to close applet.', temps=0, btype=1) Frame.bind('<Control-c>', hideApp) Frame.bind('<ButtonRelease-3>', displayFrameMenu) Frame.bind('<Enter>', lambda event: Frame.focus_set()) Frame.columnconfigure(0, weight=1) Frame.columnconfigure(1, weight=1) Frame.columnconfigure(2, weight=1) WIDGETS['frame'] = Frame # - Frame menu - FrameMenu = TK.Menu(Frame, tearoff=0) FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp) FrameMenu.add_command(label='Save', command=saveApp) FrameMenu.add_command(label='Reset', command=resetApp) CTK.addPinMenu(FrameMenu, 'tkIsoLine') WIDGETS['frameMenu'] = FrameMenu # - VARS - # -0- Field name - V = TK.StringVar(win) V.set('CoordinateX') VARS.append(V) # -1- nlevels - V = TK.StringVar(win) V.set('25') VARS.append(V) if 'tkIsoLineLevels' in CTK.PREFS: V.set(CTK.PREFS['tkIsoLineLevels']) # -2- value - V = TK.StringVar(win) V.set('1.') VARS.append(V) if 'tkIsoLineValue' in CTK.PREFS: V.set(CTK.PREFS['tkIsoLineValue']) # -3- min iso V = TK.StringVar(win) V.set('MIN') VARS.append(V) if 'tkIsoLineMin' in CTK.PREFS: V.set(CTK.PREFS['tkIsoLineMin']) # -4- max iso V = TK.StringVar(win) V.set('MAX') VARS.append(V) V = TK.StringVar(win) V.set('MIN') VARS.append(V) if 'tkIsoLineMax' in CTK.PREFS: V.set(CTK.PREFS['tkIsoLineMax']) # - field name - B = TTK.Label(Frame, text="Field:") B.grid(row=0, column=0, sticky=TK.EW) F = TTK.Frame(Frame, borderwidth=0) F.columnconfigure(0, weight=1) if ttk is None: B = TK.OptionMenu(F, VARS[0], '') B.grid(sticky=TK.EW) F.bind('<Enter>', updateVarNameList) F.grid(row=0, column=1, columnspan=2, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Extracted field.') WIDGETS['field'] = B else: B = ttk.Combobox(F, textvariable=VARS[0], values=[], state='readonly') B.grid(sticky=TK.EW) F.bind('<Enter>', updateVarNameList2) F.grid(row=0, column=1, columnspan=2, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Extracted field.') WIDGETS['field'] = B if CTK.t != []: vars = C.getVarNames(CTK.t) if (len(vars) > 0): if (len(vars[0]) > 0): VARS[0].set(vars[0][0]) # - nlevels - #B = TK.Label(Frame, text="Nlevels:") #B.grid(row=1, column=0, sticky=TK.EW) B = TTK.Entry(Frame, textvariable=VARS[1], background='White', width=7) BB = CTK.infoBulle(parent=B, text='Number of levels.') B.grid(row=1, column=0, sticky=TK.EW) B = TTK.Entry(Frame, textvariable=VARS[3], background='White', width=7) BB = CTK.infoBulle(parent=B, text='Min value.') B.grid(row=1, column=1, sticky=TK.EW) B = TTK.Entry(Frame, textvariable=VARS[4], background='White', width=7) BB = CTK.infoBulle(parent=B, text='Max value.') B.grid(row=1, column=2, sticky=TK.EW) # - Draw all isolines - B = TTK.Button(Frame, text="Extract isolines", command=drawIsoLines) BB = CTK.infoBulle(parent=B, text='Extract isolines.') B.grid(row=2, column=0, columnspan=3, sticky=TK.EW) # - Value - B = TTK.Label(Frame, text="Value:") B.grid(row=3, column=0, sticky=TK.EW) B = TTK.Entry(Frame, textvariable=VARS[2], background='White') B.grid(row=3, column=1, columnspan=2, sticky=TK.EW) # - Extract one isoline - B = TTK.Button(Frame, text="Extract isoline", command=extractIsoLine) B.grid(row=4, column=0, columnspan=3, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Extract one isoline to CONTOURS.')
def createApp(win): # - Frame - Frame = TTK.LabelFrame(win, borderwidth=2, relief=CTK.FRAMESTYLE, text='tkCollarMesh', font=CTK.FRAMEFONT, takefocus=1) #BB = CTK.infoBulle(parent=Frame, text='Generate collar meshes.\nCtrl+c to close applet.', temps=0, btype=1) Frame.bind('<Control-c>', hideApp) Frame.bind('<ButtonRelease-3>', displayFrameMenu) Frame.bind('<Enter>', lambda event : Frame.focus_set()) Frame.columnconfigure(0, weight=2) Frame.columnconfigure(1, weight=2) Frame.columnconfigure(2, weight=1) Frame.columnconfigure(3, weight=1) WIDGETS['frame'] = Frame # - Frame menu - FrameMenu = TK.Menu(Frame, tearoff=0) FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp) FrameMenu.add_command(label='Save', command=saveApp) FrameMenu.add_command(label='Reset', command=resetApp) CTK.addPinMenu(FrameMenu, 'tkCollarMesh') WIDGETS['frameMenu'] = FrameMenu # - VARS - # -0- Surface1- V = TK.StringVar(win); V.set(''); VARS.append(V) # -1- Surface2- V = TK.StringVar(win); V.set(''); VARS.append(V) # -2- hauteur de la maille dans la direction j V = TK.StringVar(win); V.set('1.e-1'); VARS.append(V) if 'tkCollarMeshHj' in CTK.PREFS: V.set(CTK.PREFS['tkCollarMeshHj']) # -3- nombre de layers a ajouter en j V = TK.StringVar(win); V.set('10'); VARS.append(V) if 'tkCollarMeshNj' in CTK.PREFS: V.set(CTK.PREFS['tkCollarMeshNj']) # -4- nombre d'iteration de lissage dans la direction j V = TK.StringVar(win); V.set('50'); VARS.append(V) if 'tkCollarMeshSj' in CTK.PREFS: V.set(CTK.PREFS['tkCollarMeshSj']) # -5- hauteur de la maille dans la direction k V = TK.StringVar(win); V.set('1.e-1'); VARS.append(V) if 'tkCollarMeshHk' in CTK.PREFS: V.set(CTK.PREFS['tkCollarMeshHk']) # -6- nombre de layers a ajouter en k V = TK.StringVar(win); V.set('10'); VARS.append(V) if 'tkCollarMeshNk' in CTK.PREFS: V.set(CTK.PREFS['tkCollarMeshNk']) # -7- nombre d'iteration de lissage dans la direction k V = TK.StringVar(win); V.set('50'); VARS.append(V) if 'tkCollarMeshSk' in CTK.PREFS: V.set(CTK.PREFS['tkCollarMeshSk']) # -8- Constraints for surface1 V = TK.StringVar(win); V.set(''); VARS.append(V) # -9- Constraints for surface2 V = TK.StringVar(win); V.set(''); VARS.append(V) # - Surface1 - B = TTK.Button(Frame, text="Surf1", command=setSurface1, image=iconics.PHOTO[8], padx=0, pady=0, compound=TK.RIGHT) B.grid(row=0, column=2, columnspan=2, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Set collar surfaces 1.') B = TTK.Entry(Frame, textvariable=VARS[0], background='White') B.grid(row=0, column=0, columnspan=2, sticky=TK.EW) # - Surface2 - B = TTK.Button(Frame, text="Surf2", command=setSurface2, image=iconics.PHOTO[8], padx=0, pady=0, compound=TK.RIGHT) B.grid(row=1, column=2, columnspan=2, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Set collar surfaces 2.') B = TTK.Entry(Frame, textvariable=VARS[1], background='White') B.grid(row=1, column=0, columnspan=2, sticky=TK.EW) # - Constraints1 - B = TTK.Button(Frame, text="Constr.1", command=setConstraintContour1, image=iconics.PHOTO[8], padx=0, pady=0, compound=TK.RIGHT) B.grid(row=2, column=2, columnspan=2, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Set constraint contours for Surf1.') B = TTK.Entry(Frame, textvariable=VARS[8], background='White') B.grid(row=2, column=0, columnspan=2, sticky=TK.EW) # - Constraints2 - B = TTK.Button(Frame, text="Constr.2", command=setConstraintContour2, image=iconics.PHOTO[8], padx=0, pady=0, compound=TK.RIGHT) B.grid(row=3, column=2, columnspan=2, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Set constraint contours for Surf2.') B = TTK.Entry(Frame, textvariable=VARS[9], background='White') B.grid(row=3, column=0, columnspan=2, sticky=TK.EW) # - Walk in j - B = TTK.Label(Frame, text="j-dir", width=2) B.grid(row=4, column=0, sticky=TK.EW) B = TTK.Entry(Frame, textvariable=VARS[2], background='White', width=5) B.grid(row=4, column=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Height of each j-layer.') B = TTK.Entry(Frame, textvariable=VARS[3], background='White', width=5) B.grid(row=4, column=2, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Number of j-layers.') B = TTK.Entry(Frame, textvariable=VARS[4], background='White', width=5) B.grid(row=4, column=3, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Number of j-smoothing iterations.') # - Walk in k - B = TTK.Label(Frame, text="k-dir", width=2) B.grid(row=5, column=0, sticky=TK.EW) B = TTK.Entry(Frame, textvariable=VARS[5], background='White', width=5) B.grid(row=5, column=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Height of each k-layer.') B = TTK.Entry(Frame, textvariable=VARS[6], background='White', width=5) B.grid(row=5, column=2, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Number of k-layers.') B = TTK.Entry(Frame, textvariable=VARS[7], background='White', width=5) B.grid(row=5, column=3, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Number of k-smoothing iterations.') # - Union - B = TTK.Button(Frame, text="Union", command=unionCollarMesh) B.grid(row=6, column=0, columnspan=2,sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Collar mesh for union assembly.') # - Difference - B = TTK.Button(Frame, text="Difference", command=differenceCollarMesh) B.grid(row=6, column=2, columnspan=2,sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Collar mesh for difference assembly.')
def createApp(win): ttk = CTK.importTtk() # - Frame - Frame = TTK.LabelFrame(win, borderwidth=2, relief=CTK.FRAMESTYLE, text='tkContainers', font=CTK.FRAMEFONT, takefocus=1) #BB = CTK.infoBulle(parent=Frame, text='Manage container names.\nCtrl+c to close applet.', temps=0, btype=1) Frame.bind('<Control-c>', hideApp) Frame.bind('<ButtonRelease-3>', displayFrameMenu) Frame.bind('<Enter>', lambda event : Frame.focus_set()) Frame.columnconfigure(0, weight=1) Frame.columnconfigure(1, weight=4) WIDGETS['frame'] = Frame # - Frame menu - FrameMenu = TK.Menu(Frame, tearoff=0) FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp) FrameMenu.add_command(label='Save', command=saveApp) FrameMenu.add_command(label='Reset', command=resetApp) CTK.addPinMenu(FrameMenu, 'tkContainers') WIDGETS['frameMenu'] = FrameMenu # - VARS - # -0- GridCoordinates container - V = TK.StringVar(win); V.set('GridCoordinates'); VARS.append(V) if 'GridCoordinatesContainer' in CTK.PREFS: V.set(CTK.PREFS['GridCoordinatesContainer']) # -1- FlowSolutionNodes container - V = TK.StringVar(win); V.set('FlowSolution'); VARS.append(V) if 'FlowSolutionNodesContainer' in CTK.PREFS: V.set(CTK.PREFS['FlowSolutionNodesContainer']) # -2- FlowSolutionCenters container - V = TK.StringVar(win); V.set('FlowSolution#Centers'); VARS.append(V) if 'FlowSolutionCentersContainer' in CTK.PREFS: V.set(CTK.PREFS['FlowSolutionCentersContainer']) # - GridCoordinates - B = TTK.Label(Frame, text="GridCoordinates") B.grid(row=0, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='This name will be used to find coordinates node in zones.') F = TTK.Frame(Frame, borderwidth=0) F.columnconfigure(0, weight=1) if ttk is None: B = TK.Entry(F, textvariable=VARS[0], background='White') B.grid(sticky=TK.EW) F.bind('<Return>', setNames) F.grid(row=0, column=1, sticky=TK.EW) WIDGETS['GridCoordinates'] = B else: B = ttk.Combobox(F, textvariable=VARS[0], values=[], state='normal') B.grid(sticky=TK.EW) F.bind('<Enter>', updateGridCoordinates) B.bind('<Return>', setNames) F.grid(row=0, column=1, sticky=TK.EW) WIDGETS['GridCoordinates'] = B # - FlowSolutionNodes - B = TTK.Label(Frame, text="FlowSolutionNodes") B.grid(row=1, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='This name will be used to find solution node in zones.') F = TTK.Frame(Frame, borderwidth=0) F.columnconfigure(0, weight=1) if ttk is None: B = TK.Entry(F, textvariable=VARS[1], background='White') B.grid(sticky=TK.EW) F.bind('<Return>', setNames) F.grid(row=1, column=1, sticky=TK.EW) WIDGETS['FlowSolution'] = B else: B = ttk.Combobox(F, textvariable=VARS[1], values=[], state='normal') B.grid(sticky=TK.EW) F.bind('<Enter>', updateFlowSolution) B.bind('<Return>', setNames) F.grid(row=1, column=1, sticky=TK.EW) WIDGETS['FlowSolution'] = B # - FlowSolutionCenters - B = TTK.Label(Frame, text="FlowSolutionCenters") B.grid(row=2, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='This name will be used to find centers solution node in zones.') F = TTK.Frame(Frame, borderwidth=0) F.columnconfigure(0, weight=1) if ttk is None: B = TK.Entry(F, textvariable=VARS[2], background='White') B.grid(sticky=TK.EW) F.bind('<Return>', setNames) F.grid(row=2, column=1, sticky=TK.EW) WIDGETS['FlowSolutionCenters'] = B else: B = ttk.Combobox(F, textvariable=VARS[2], values=[], state='normal') B.grid(sticky=TK.EW) F.bind('<Enter>', updateFlowSolutionCenters) B.bind('<Return>', setNames) F.grid(row=2, column=1, sticky=TK.EW) WIDGETS['FlowSolutionCenters'] = B # - set - B = TTK.Button(Frame, text="Set", command=setNames) BB = CTK.infoBulle(parent=B, text='Change the container names used by Cassiopee functions.') B.grid(row=3, column=0, columnspan=2, sticky=TK.EW)
def createApp(win): ttk = CTK.importTtk() # - Frame - Frame = TTK.LabelFrame(win, borderwidth=2, relief=CTK.FRAMESTYLE, text='tkMeshInfo', font=CTK.FRAMEFONT, takefocus=1) #BB = CTK.infoBulle(parent=Frame, text='Display mesh informations.\nCtrl+c to close applet.', temps=0, btype=1) Frame.bind('<Control-c>', hideApp) Frame.bind('<ButtonRelease-3>', displayFrameMenu) Frame.bind('<Enter>', lambda event : Frame.focus_set()) Frame.columnconfigure(0, weight=1) Frame.columnconfigure(1, weight=2) WIDGETS['frame'] = Frame # - Frame menu - FrameMenu = TK.Menu(Frame, tearoff=0) FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp) CTK.addPinMenu(FrameMenu, 'tkMeshInfo') WIDGETS['frameMenu'] = FrameMenu #- VARS - # -0- Npts - V = TK.StringVar(win); V.set(''); VARS.append(V) # -1- Var min - V = TK.StringVar(win); V.set(''); VARS.append(V) # -2- Var max - V = TK.StringVar(win); V.set(''); VARS.append(V) # -3- Selected block name V = TK.StringVar(win); V.set(''); VARS.append(V) # -4- Selected block type V = TK.StringVar(win); V.set(''); VARS.append(V) # -5- Selected variable V = TK.StringVar(win); V.set('CoordinateX'); VARS.append(V) # -6- NCells - V = TK.StringVar(win); V.set(''); VARS.append(V) # -7- NFaces - V = TK.StringVar(win); V.set(''); VARS.append(V) # - selected block name - B = TTK.Entry(Frame, textvariable=VARS[3], background='White', width=15) B.grid(row=0, column=0, columnspan=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Currently selected zone name.') # - selected block type - B = TTK.Entry(Frame, textvariable=VARS[4], background='White') B.grid(row=0, column=1, columnspan=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Currently selected zone type.') # - Npts - B = TTK.Label(Frame, text="Npts") B.grid(row=1, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Number of points in selection.') B = TTK.Entry(Frame, textvariable=VARS[0], background='White', width=10) B.grid(row=1, column=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Number of points in selection.') # - Ncells - B = TTK.Label(Frame, text="NCells") B.grid(row=2, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Number of cells in selection.') B = TTK.Entry(Frame, textvariable=VARS[6], background='White', width=10) B.grid(row=2, column=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Number of cells in selection.') # - NFaces - B = TTK.Label(Frame, text="NFaces") B.grid(row=3, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Number of faces in selection.') B = TTK.Entry(Frame, textvariable=VARS[7], background='White', width=10) B.grid(row=3, column=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Number of faces in selection.') # - Variable - B = TTK.Label(Frame, text="Variable: ") B.grid(row=4, column=0, columnspan=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Selected var name.') F = TTK.Frame(Frame, borderwidth=0) F.columnconfigure(0, weight=1) if ttk is None: B = TK.OptionMenu(F, VARS[5], '') B.grid(sticky=TK.EW) F.bind('<Enter>', updateVarNameList) F.grid(row=4, column=1, columnspan=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Selected var name.') WIDGETS['variable'] = B else: B = ttk.Combobox(F, textvariable=VARS[5], values=[], state='readonly') B.grid(sticky=TK.EW) F.bind('<Enter>', updateVarNameList2) F.grid(row=4, column=1, columnspan=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Selected var name.') WIDGETS['variable'] = B # - Min de la variable - B = TTK.Label(Frame, text="Min:") B.grid(row=5, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Min of variable.') B = TTK.Entry(Frame, textvariable=VARS[1], background='White', width=10) B.grid(row=5, column=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Min of variable.') # - Max de la variable - B = TTK.Label(Frame, text="Max:") B.grid(row=6, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Max of variable.') B = TTK.Entry(Frame, textvariable=VARS[2], background='White', width=10) B.grid(row=6, column=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Max of variable.') # - update - B = TTK.Button(Frame, text="Update info", command=updateInfo) B.grid(row=7, column=0, columnspan=2, sticky=TK.EW)
def createApp(win): # - Frame - Frame = TTK.LabelFrame(win, borderwidth=2, relief=CTK.FRAMESTYLE, text='tkCassiopeeSolver', font=CTK.FRAMEFONT, takefocus=1) #BB = CTK.infoBulle(parent=Frame, text='Export to Cassiopee \nCartesian solver.\nCtrl+c to close applet.', temps=0, btype=1) Frame.bind('<Control-c>', hideApp) Frame.bind('<ButtonRelease-3>', displayFrameMenu) Frame.bind('<Enter>', lambda event: Frame.focus_set()) Frame.columnconfigure(0, weight=0) Frame.columnconfigure(1, weight=1) WIDGETS['frame'] = Frame # - Frame menu - FrameMenu = TK.Menu(Frame, tearoff=0) FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp) CTK.addPinMenu(FrameMenu, 'tkCassiopeeSolver') WIDGETS['frameMenu'] = FrameMenu # - VARS - # -0- Integ - V = TK.StringVar(win) V.set('steady') VARS.append(V) # -1- Scheme - V = TK.StringVar(win) V.set('jameson') VARS.append(V) # -2- Inititer V = TK.StringVar(win) V.set('1') VARS.append(V) # -3- Niter V = TK.StringVar(win) V.set('10') VARS.append(V) # -4- Chimera option V = TK.StringVar(win) V.set('Solver performs hole cutting') VARS.append(V) # -5- double wall tolerance - V = TK.StringVar(win) V.set('10.') VARS.append(V) # -6- delta XRay - V = TK.StringVar(win) V.set('1.e-10') VARS.append(V) # -7- tolerance XRay - V = TK.StringVar(win) V.set('1.e-8') VARS.append(V) # -8- Cartesian option - V = TK.StringVar(win) V.set('No Cartesian generation') VARS.append(V) # -9- Dfar - V = TK.StringVar(win) V.set('10.') VARS.append(V) # - Integ - B = TTK.Label(Frame, text="Integ") B.grid(row=0, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Kind of integration.') B = TTK.OptionMenu(Frame, VARS[0], 'steady', 'unsteady', 'gear') B.grid(row=0, column=1, sticky=TK.EW) # - Scheme - B = TTK.Label(Frame, text="Scheme") B.grid(row=1, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Numerical scheme used.') B = TTK.OptionMenu(Frame, VARS[1], 'jameson', 'jameson_ho', 'jameson_ho5', 'roe', 'ausmppmiles', 'ausmpup') B.grid(row=1, column=1, sticky=TK.EW) # - Inititer - B = TTK.Label(Frame, text="Inititer") B.grid(row=2, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='First iteration of this computation.') B = TTK.Entry(Frame, textvariable=VARS[2]) B.grid(row=2, column=1, sticky=TK.EW) # - Niter - B = TTK.Label(Frame, text="Niter") B.grid(row=3, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Number of iterations of this computation.') B = TTK.Entry(Frame, textvariable=VARS[3]) B.grid(row=3, column=1, sticky=TK.EW) # - Chimera settings - B = TTK.OptionMenu(Frame, VARS[4], 'Solver performs hole cutting', 'Use OversetHole nodes') B.grid(row=4, column=0, columnspan=2, sticky=TK.EW) #- XRay settings - B = TTK.Label(Frame, text="XRay delta") B.grid(row=5, column=0, sticky=TK.EW) B = TTK.Entry(Frame, textvariable=VARS[6]) B.grid(row=5, column=1, sticky=TK.EW) # - Cartesian option - B = TTK.OptionMenu(Frame, VARS[8], 'Cartesian mesh generation', 'No Cartesian generation') B.grid(row=6, column=0, columnspan=2, sticky=TK.EW) #- Dfar settings - B = TTK.Label(Frame, text="Dfar") B.grid(row=7, column=0, sticky=TK.EW) B = TTK.Entry(Frame, textvariable=VARS[9]) B.grid(row=7, column=1, sticky=TK.EW) # - Run - B = TTK.Button(Frame, text="Run", command=run) B.grid(row=8, column=0, sticky=TK.EW) # - Write setup file - B = TTK.Button(Frame, text="Write setup", command=writeSetupFile) B.grid(row=8, column=1, sticky=TK.EW)
def createApp(win): ttk = CTK.importTtk() # - Frame - Frame = TTK.LabelFrame(win, borderwidth=2, relief=CTK.FRAMESTYLE, text='tkStream', font=CTK.FRAMEFONT, takefocus=1) #BB = CTK.infoBulle(parent=Frame, text='Compute stream lines/surfaces.\nCtrl+c to close applet.', temps=0, btype=1) Frame.bind('<Control-c>', hideApp) Frame.bind('<ButtonRelease-3>', displayFrameMenu) Frame.bind('<Enter>', lambda event: Frame.focus_set()) Frame.columnconfigure(0, weight=1) Frame.columnconfigure(1, weight=1) Frame.columnconfigure(2, weight=1) WIDGETS['frame'] = Frame # - Frame menu - FrameMenu = TK.Menu(Frame, tearoff=0) FrameMenu.add_command(label='Close', accelerator='Ctrl+c', command=hideApp) FrameMenu.add_command(label='Save', command=saveApp) FrameMenu.add_command(label='Reset', command=resetApp) CTK.addPinMenu(FrameMenu, 'tkStream') WIDGETS['frameMenu'] = FrameMenu # - VARS - # -0- nptsmax - V = TK.StringVar(win) V.set('2000') VARS.append(V) if 'tkStreamNpts' in CTK.PREFS: V.set(CTK.PREFS['tkStreamNpts']) # -1- Var0 for vector - V = TK.StringVar(win) V.set('CoordinateX') VARS.append(V) # -2- Var1 for vector - V = TK.StringVar(win) V.set('CoordinateY') VARS.append(V) # -3- Var2 for vector - V = TK.StringVar(win) V.set('CoordinateZ') VARS.append(V) # - Menu des variables - F = TTK.Frame(Frame, borderwidth=0) F.columnconfigure(0, weight=1) if ttk is None: B = TK.OptionMenu(F, VARS[1], '') B.grid(sticky=TK.EW) F.bind('<Enter>', updateVarNameList1) F.grid(row=0, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Variable 1.') WIDGETS['variable1'] = B else: B = ttk.Combobox(F, textvariable=VARS[1], values=[], state='readonly', width=10) B.grid(sticky=TK.EW) F.bind('<Enter>', updateVarNameList1_2) F.grid(row=0, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Variable 1.') WIDGETS['variable1'] = B F = TTK.Frame(Frame, borderwidth=0) F.columnconfigure(0, weight=1) if ttk is None: B = TK.OptionMenu(F, VARS[2], '') B.grid(sticky=TK.EW) F.bind('<Enter>', updateVarNameList2) F.grid(row=0, column=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Variable 2.') WIDGETS['variable2'] = B else: B = ttk.Combobox(F, textvariable=VARS[2], values=[], state='readonly', width=10) B.grid(sticky=TK.EW) F.bind('<Enter>', updateVarNameList2_2) F.grid(row=0, column=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Variable 2.') WIDGETS['variable2'] = B F = TTK.Frame(Frame, borderwidth=0) F.columnconfigure(0, weight=1) if ttk is None: B = TK.OptionMenu(F, VARS[3], '') B.grid(sticky=TK.EW) F.bind('<Enter>', updateVarNameList3) F.grid(row=0, column=2, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Variable 3.') WIDGETS['variable3'] = B else: B = ttk.Combobox(F, textvariable=VARS[3], values=[], state='readonly', width=10) B.grid(sticky=TK.EW) F.bind('<Enter>', updateVarNameList3_2) F.grid(row=0, column=2, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Variable 3.') WIDGETS['variable3'] = B # - nptsmax - B = TTK.Label(Frame, text="nptsmax") B.grid(row=1, column=0, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Max number of points of streams.') B = TTK.Entry(Frame, textvariable=VARS[0], background='White', width=5) BB = CTK.infoBulle(parent=B, text='Max number of points of streams.') B.grid(row=1, column=1, columnspan=2, sticky=TK.EW) # - Stream line - B = TTK.Button(Frame, text="Line", command=streamLine) B.grid(row=2, column=0, columnspan=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Draw a stream line.') # - Stream ribbon - B = TTK.Button(Frame, text="Ribbon", command=streamRibbon) B.grid(row=2, column=1, columnspan=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Draw a stream ribbon.') # - Stream surface - B = TTK.Button(Frame, text="Surface", command=streamSurface) B.grid(row=2, column=2, columnspan=1, sticky=TK.EW) BB = CTK.infoBulle(parent=B, text='Draw a stream surface from a BAR.')