Exemple #1
0
    def __init__(self, master, datasource):

        tk.Frame.__init__(self, master)
        self.datasource = datasource

        panedWindow = ttk.PanedWindow(self, orient=tk.HORIZONTAL)
        panedWindow.pack(fill=tk.BOTH, expand=1)

        leftFrame = tk.Frame(panedWindow)

        scrollbar = tk.Scrollbar(leftFrame)
        scrollbar.pack(side=tk.RIGHT, fill=tk.Y)

        self.symbolsList = ttk.Treeview(leftFrame,
                                        columns=["descr", "last_updated"],
                                        selectmode='browse')
        self.symbolsList.pack(fill=tk.BOTH, expand=1)

        self.symbolsList.config(yscrollcommand=scrollbar.set)
        scrollbar.config(command=self.symbolsList.yview)

        panedWindow.add(leftFrame)

        rightFrame = tk.Frame(panedWindow)

        btnPlot = tk.Button(rightFrame,
                            text="Plot selected",
                            command=self.plot)
        btnPlot.pack(fill=tk.BOTH, expand=1)

        panedWindow.add(rightFrame)
Exemple #2
0
    def __init__(self, top):
        self.top = top

        pw = ttk.PanedWindow(self.top, orient=HORIZONTAL)
        pw.pack(side=TOP, fill=BOTH, expand=True)

        tree = ttk.Treeview(pw, selectmode='browse', show='tree')
        pw2 = PanedWindow(pw, orient=VERTICAL)

        pw.add(tree)
        pw.add(pw2)

        self.topframe = Frame()
        self.canvas = Canvas(bg='blue')

        self.buttonbar = Frame(self.topframe)
        self.wizardframe = Frame(self.topframe)
        self.buttonbar.pack(side=TOP, fill=X, expand=0)
        self.wizardframe.pack(side=TOP, fill=BOTH, expand=1)

        Button(self.buttonbar, text="Material").pack(side=LEFT, expand=0, fill=None)
        Button(self.buttonbar, text="Tool").pack(side=LEFT, expand=0, fill=None)

        # self.text = Text(pw2, state=DISABLED, bg='blue')

        pw2.add(self.topframe)
        pw2.add(self.canvas)

        self.wizards = {
            'facing': [
                {'label': 'HSM Endmill', 'key': 'facing-endmill-hsm'},
            ],
            'pocketing': [
                {'label': 'HSM Rectangular', 'key': 'pocketing-rect-hsm'},
                {'label': 'HSM Circular', 'key': 'pocketing-circ-hsm'},
            ],
            'drilling': [

            ],
            'grooving': [
                {'label': 'HSM Straight Groove', 'key': 'grooving-straight-hsm'},
            ],
        }

        labels = {
            'facing': 'Facing',
            'pocketing': 'Pocketing',
            'drilling': 'Drill',
        }

        for wt in ['facing', 'pocketing']:
            tree.insert('', END, text=labels[wt], iid=wt)
            for w in self.wizards[wt]:
                tree.insert(wt, END, text=w['label'], iid=w['key'], tags=w['key'])
                tree.tag_bind(w['key'], '<Button-1>', callback=self.memorialize(
                    self.wizard_callback, wt, w
                ))
Exemple #3
0
 def _create_ui(self):
     ttk.Frame(self).place(relx=0, rely=0, relwidth=1.0, relheight=1.0)
     pw = ttk.PanedWindow(self, orient="horizontal")
     self.tree = ttk.Treeview(pw, selectmode="browse", show=("tree",))
     self.container = ttk.Frame(pw)
     button_frame = ttk.Frame(self)
     apply = ttk.Button(self, text="Ok")
     apply.pack(in_=button_frame, side="right")
     button_frame.pack(side="bottom", fill="x", padx=4, pady=4)
     pw.pack(side="top", fill="both", expand=True)
     pw.add(self.tree)
     pw.add(self.container)
     self.tree.bind("<<TreeviewSelect>>", self._on_tree_select)
Exemple #4
0
def gotod():  # go to date window creation
    newtop = Tkinter.Toplevel()
    newtop.title("Calendar")
    newtop.maxsize(190, 190)
    newtop.focus_set()
    newtop.tk.call('wm', 'iconphoto', newtop._w, logo)
    HLayout = ttk.PanedWindow(newtop, orient=Tkinter.HORIZONTAL)
    HLayout2 = ttk.PanedWindow(newtop, orient=Tkinter.HORIZONTAL)
    yearText = ttk.Label(HLayout, text="Year :")
    yearEdit = ttk.Entry(HLayout, textvariable=year)
    monthText = ttk.Label(HLayout2, text="Month:")
    monthEdit = ttk.Entry(HLayout2, textvariable=month)
    okb = ttk.Button(newtop,
                     text="Ok",
                     command=lambda: sequence(okcall, newtop.destroy))
    yearText.pack(side=Tkinter.LEFT)
    yearEdit.pack(side=Tkinter.RIGHT)
    monthText.pack(side=Tkinter.LEFT)
    monthEdit.pack(side=Tkinter.RIGHT)
    HLayout.pack()
    HLayout2.pack()
    okb.pack()
    newtop.mainloop()
Exemple #5
0
    def _fillRightPane(self, parent):
        """
        # Create the right Pane that will be composed by:
        # a Action Buttons TOOLBAR in the top
        # and another vertical Pane with:
        # Runs History (at Top)
        # Sectected run info (at Bottom)
        """
        # Create the Action Buttons TOOLBAR
        toolbar = tk.Frame(parent, bg='white')
        toolbar.grid(row=0, column=0, sticky='news')
        gui.configureWeigths(toolbar)
        #toolbar.columnconfigure(0, weight=1)
        toolbar.columnconfigure(1, weight=1)

        self.runsToolbar = tk.Frame(toolbar, bg='white')
        self.runsToolbar.grid(row=0, column=0, sticky='sw')
        # On the left of the toolbar will be other
        # actions that can be applied to all runs (refresh, graph view...)
        self.allToolbar = tk.Frame(toolbar, bg='white')
        self.allToolbar.grid(row=0, column=10, sticky='se')
        #self.createActionToolbar()

        # Create the Run History tree
        v = ttk.PanedWindow(parent, orient=tk.VERTICAL)
        #runsFrame = ttk.Labelframe(v, text=' History ', width=500, height=500)
        runsFrame = tk.Frame(v, bg='white')
        self._createDataGraph(runsFrame)
        gui.configureWeigths(runsFrame)

        # Create the Selected Run Info
        infoFrame = tk.Frame(v)
        gui.configureWeigths(infoFrame)
        self._infoText = TaggedText(
            infoFrame,
            bg='white',
            handlers={'sci-open': self._openProtocolFormFromId})
        self._infoText.grid(row=0, column=0, sticky='news')

        v.add(runsFrame, weight=3)
        v.add(infoFrame, weight=1)
        v.grid(row=1, column=0, sticky='news')
Exemple #6
0

top = Tkinter.Tk()
top.title("Calendar")
top.minsize(200, 200)
top.maxsize(250, 250)
logo = Tkinter.PhotoImage(file="Britalstar.gif")
top.tk.call('wm', 'iconphoto', top._w, logo)
segoe = tkFont.Font(family='Segoe UI')
curtime = time.localtime()
year = Tkinter.StringVar()
month = Tkinter.StringVar()
yearInt = curtime[0]
monthInt = curtime[1]
dateInt = curtime[2]
HLayout = ttk.PanedWindow(top, orient=Tkinter.HORIZONTAL)
ctx = Tkinter.Text(top,
                   padx=10,
                   pady=10,
                   bg="#f3e9ae",
                   relief=Tkinter.FLAT,
                   height=9,
                   width=20)  # text view to passing to functions


def nextb():  # on click next button
    global monthInt, yearInt, ctx, curtime
    monthInt += 1
    if monthInt > 12:
        monthInt = monthInt % 12
        yearInt += 1
Exemple #7
0
	def __init__(self, root, camera, title):
		# Creates a Frame for the Main Window
		Frame.__init__(self, root)

		self.grid(padx=5,pady=5)
		self.root = root

		self.ControlMapping = ControlMapping()

		# Starts Camera Preview
		self.camera = camera
		self.camera.start_preview(fullscreen=False,window=(0,0,10,10))

		self.title = title
		self.root.title(title)

		master = root

		master.rowconfigure(0,weight=1)
		master.columnconfigure(1,weight=1)
		master.config(padx=5,pady=5)

		ToolTip.LoadToolTips()

		'''-------------- Icons for Menu and Buttons -------------------'''

		self.iconClose = GetPhotoImage("Assets/window-close.png")
		#self.iconClose = ImageTk.PhotoImage(PIL.Image.open("Assets/window-close.png"))
		self.iconPrefs = GetPhotoImage('Assets/prefs1_16x16.png')
		self.iconWeb = GetPhotoImage('Assets/web_16x16.png')
		image = PIL.Image.open('Assets/camera-icon.png')
		self.iconCameraBig = GetPhotoImage(image.resize((22,22)))
		self.iconCamera = GetPhotoImage(image.resize((16,16)))
		image = PIL.Image.open('Assets/video-icon-b.png')
		self.iconVideoBig = GetPhotoImage(image.resize((22,22)))
		self.iconVideo = GetPhotoImage(image.resize((16,16)))
  
		'''-------------- Notebook with all control pages -------------'''
		frame1 = ttk.Frame(master,padding=(5,5,5,5))
		frame1.grid(row=0,column=0,sticky="NSEW")
		frame1.rowconfigure(2,weight=1)
		frame1.columnconfigure(0,weight=1)

		self.AlwaysPreview = False

		n = Notebook(frame1,padding=(5,5,5,5))
		n.grid(row=1,column=0,rowspan=2,sticky=(N,E,W,S))
		n.columnconfigure(0,weight=1)
		n.enable_traversal()

		# Calls Notebook Pages from external classes
		# PiCamera Classes
		self.BasicControlsFrame = 		BasicControls(n,camera)
		self.ExposureFrame = 			Exposure(n,camera)
		self.FinerControlFrame =		FinerControl(n,camera)
		# MicroscoPy  Classes
		self.TimelapseFrame = 			Timelapse(n,camera) # Unfinished
		self.MotorControlsFrame = 		MotorControls(n,camera) # Unfinished
		self.LivestreamFrame = 			Livestream(n,camera) # Unfinished
		self.PositonalTrackingFrame = 	PositionalTracking(n,camera) # Unfinished

		n.add(self.BasicControlsFrame ,			text='Basic',				underline=0)
		n.add(self.ExposureFrame,				text='Exposure',			underline=0)
		n.add(self.FinerControlFrame,			text='Advanced',			underline=0)
		n.add(self.TimelapseFrame,				text='Time lapse',			underline=0)

		n.add(self.MotorControlsFrame,			text='Motor Positioning',	underline=0)
		n.add(self.LivestreamFrame,				text='Livestream',			underline=0)
		n.add(self.PositonalTrackingFrame,		text='Object Tracking',		underline=0)
		

		self.FinerControlFrame.PassControlFrame(self.BasicControlsFrame)

		self.pw = ttk.PanedWindow(master,orient=VERTICAL,style='TPanedwindow',
			takefocus=True)
		self.pw.grid(row=0,column=1,sticky="NSEW")
		self.pw.rowconfigure(0,weight=1)
		self.pw.columnconfigure(0,weight=1)

		self.TopFrame = ttk.Frame(self.pw,padding=(5,5,5,5))
		self.TopFrame.grid(row=0,column=0,sticky="NEWS")
		self.TopFrame.rowconfigure(0,weight=1)
		self.TopFrame.columnconfigure(1,weight=1)

		self.ImageCanvas = Canvas(self.TopFrame,width=256,height=256,
			background=self.ControlMapping.FocusColor,cursor='diamond_cross')
		self.ImageCanvas.grid(row=0,column=0,columnspan=2,sticky="NEWS")
		self.ImageCanvas.itemconfigure('nopreview',state='hidden')
		self.ImageCanvas.bind("<Motion>",		self.CanvasMouseMove)
		self.ImageCanvas.bind("<ButtonPress>",	self.CanvasMouseMove)
		self.ImageCanvas.bind("<Enter>",		self.CanvasEnterLeave)
		self.ImageCanvas.bind("<Leave>",		self.CanvasEnterLeave)

		ButtonFrame = ttk.Frame(self.TopFrame,padding=(5,5,5,5),relief=SUNKEN)
		ButtonFrame.grid(row=1,column=0,columnspan=2,sticky="NEWS")

		self.PreviewOn = MyBooleanVar(True)
		self.enablePrev = ttk.Checkbutton(ButtonFrame,text='Preview',variable=self.PreviewOn,
			command=self.SetPreviewOn)
		self.enablePrev.grid(row=0,column=0,padx=5,sticky='W')
		ToolTip(self.enablePrev, msg=1)
		l2 = Label(ButtonFrame,text="Alpha:")
		l2.grid(column=1,row=0,sticky='W')
		self.alpha = ttk.Scale(ButtonFrame,from_=0,to=255,
				command=self.AlphaChanged,orient='horizontal',length=75)
		self.alpha.grid(row=0,column=2,sticky='E')
		self.alpha.set(255)
		ToolTip(self.alpha, msg=2)

		self.VFlipState = False
		image = PIL.Image.open('Assets/flip.png')
		image1 = image.rotate(90)
		image1 = image1.resize((16,16))
		self.flipVgif = ImageTk.PhotoImage(image1)
		self.Vflip = ttk.Button(ButtonFrame,image=self.flipVgif,width=10,
			command=self.ToggleVFlip,padding=(2,2,2,2))
		self.Vflip.grid(row=0,column=3,padx=5)
		ToolTip(self.Vflip, msg=3)

		self.HFlipState = False
		self.flipHgif = ImageTk.PhotoImage(image.resize((16,16)))
		self.Hflip = ttk.Button(ButtonFrame,image=self.flipHgif,width=10,
			command=self.ToggleHFlip,padding=(2,2,2,2))
		self.Hflip.grid(row=0,column=4)
		ToolTip(self.Hflip, msg=4)

		image = PIL.Image.open('Assets/rotate.png')
		self.RotateImg = ImageTk.PhotoImage(image.resize((16,16)))
		self.Rotate = ttk.Button(ButtonFrame,image=self.RotateImg,width=10,
			command=self.RotateCamera,padding=(2,2,2,2))
		self.Rotate.grid(row=0,column=5)
		ToolTip(self.Rotate, msg=14)

		self.ShowOnScreen = MyBooleanVar(True)
		self.ShowOnMonitorButton = ttk.Checkbutton(ButtonFrame, \
			text='Overlay',variable=self.ShowOnScreen, \
			command=self.SetPreviewLocation)
		self.ShowOnMonitorButton.grid(row=0,column=6,padx=5,sticky='W')
		ToolTip(self.ShowOnMonitorButton, msg=5)

		l5 = Label(ButtonFrame,text="Size:")
		l5.grid(column=7,row=0,sticky='W')
		self.WindowSize = ttk.Scale(ButtonFrame,from_=100,to=800,
				command=self.WindowSizeChanged,orient='horizontal',length=75)
		self.WindowSize.grid(row=0,column=8,sticky='E')
		self.WindowSize.set(255)
		ToolTip(self.WindowSize, msg=6)

		#------------------ Photo / Video Section ----------------------
		self.pictureStream = io.BytesIO()

		BottomFrame = ttk.Frame(self.pw,padding=(5,5,5,5))
		BottomFrame.grid(row=1,column=0,sticky="NEWS")
		BottomFrame.rowconfigure(0,weight=1)
		BottomFrame.columnconfigure(0,weight=1)

		self.photoPanedWindow = ttk.PanedWindow(BottomFrame,orient=HORIZONTAL,
			style='Pan.TPanedwindow')
		self.photoPanedWindow.grid(row=0,column=0,sticky="NSEW")
		self.photoPanedWindow.rowconfigure(0,weight=1)
		self.photoPanedWindow.columnconfigure(0,weight=1)
		self.photoPanedWindow.columnconfigure(1,weight=1)

		self.LeftFrame = ttk.Frame(self.photoPanedWindow,padding=(5,5,5,5))
		self.LeftFrame.grid(row=0,column=0,sticky="NEWS")
		self.LeftFrame.rowconfigure(0,weight=1)
		self.LeftFrame.columnconfigure(0,weight=1)

		sb = Scrollbar(self.LeftFrame,orient='vertical')
		sb.grid(row=0,column=1,sticky='NS')
		ToolTip(sb, msg=7)

		sb1 = Scrollbar(self.LeftFrame,orient='horizontal')
		sb1.grid(row=1,column=0,sticky='EW')
		ToolTip(sb, msg=8)
		text = Text(self.LeftFrame,width=37,wrap='none',
			yscrollcommand=sb.set,xscrollcommand=sb1.set)
		text.bind('<Configure>',self.TextboxResize)
		text.grid(row=0,column=0,sticky='NSEW')
		sb.config(command=text.yview)
		sb1.config(command=text.xview)
		text.bind("<Key>",lambda e : "break")	# ignore all keypress
		self.CameraUtils = CameraUtils(self.camera,self.BasicControlsFrame)
		self.CameraUtils.SetupCameraSettingsTextbox(text)

		RightFrame = ttk.Frame(self.photoPanedWindow,padding=(5,5,5,5))
		RightFrame.grid(row=0,column=1,sticky="NEWS")
		RightFrame.rowconfigure(0,weight=1)
		RightFrame.columnconfigure(0,weight=1)

		self.CurrentImage = None
		self.photoCanvas = Canvas(RightFrame,width=50,height=50,
			background=self.ControlMapping.FocusColor,cursor='diamond_cross')
		self.photoCanvas.grid(row=0,column=0,sticky="NEWS")
		self.photoCanvas.create_line(0,0,320,0,
			fill='red',tags=('cursors','objs','cursorx'))
		self.photoCanvas.create_line(0,0,0,240,
			fill='red',tags=('cursors','objs','cursory'))
		self.photoCanvas.create_line(0,0,320,0,
			fill='lightgray',activefill='blue',tags=('cross','cross1'))
		self.photoCanvas.create_line(0,0,0,240,
			fill='lightgray',activefill='blue',tags=('cross','cross2'))
		self.photoCanvas.create_text(0,0,
			tags=('capture'),text='',
			fill='lightgray',activefill='blue',anchor='center',
			font=('Helveticar',18,"bold italic"))
		self.photoCanvas.itemconfigure('capture',state='hidden')
		self.photoCanvas.create_text(0,0,
			fill='red',tags=('text','objs'),anchor='nw')

		self.photoCanvas.bind('<Configure>',		self.PhotoCanvasResize)
		self.photoCanvas.bind("<ButtonPress-1>",	self.photoCanvasScrollStart)
		self.photoCanvas.bind("<B1-Motion>",		self.photoCanvasScrollMove)
		self.photoCanvas.bind("<Motion>",			self.photoCanvasMove)
		self.photoCanvas.bind("<ButtonRelease-1>",	self.photoCanvasButtonUp)
		self.photoCanvas.bind("<Enter>",			self.photoCanvasEnterLeave)
		self.photoCanvas.bind("<Leave>",			self.photoCanvasEnterLeave)
		self.InPhotoZoom = False 	# hack -
		# self.PhotoState = 'none', 'picture', 'zoom', 'video' ???

		vsbar = Scrollbar(RightFrame,orient=VERTICAL)
		vsbar.grid(row=0,column=1,sticky='NS')
		vsbar.config(command=self.photoCanvas.yview)
		self.photoCanvas.config(yscrollcommand=vsbar.set)

		hsbar = Scrollbar(RightFrame,orient=HORIZONTAL)
		hsbar.grid(row=1,column=0,sticky='EW')
		hsbar.config(command=self.photoCanvas.xview)
		self.photoCanvas.config(xscrollcommand=hsbar.set)
		self.photoCanvas.bind("<5>",self.WheelScrollPhotoCanvas)
		self.photoCanvas.bind("<4>",self.WheelScrollPhotoCanvas)
		self.photoZoomScale	= 1.0

		self.photoPanedWindow.add(self.LeftFrame)
		self.photoPanedWindow.add(RightFrame)
		self.photoPanedWindow.forget(self.LeftFrame)

		ButtonFrame = ttk.Frame(BottomFrame,padding=(5,5,5,5))
		ButtonFrame.grid(row=1,column=0,columnspan=3,sticky="NEWS")
		b = ttk.Button(ButtonFrame,text='Picture',underline=0,image=self.iconCameraBig,
			compound='left',command=lambda e=None:self.TakePicture(e),width=7)
		b.grid(row=0,column=0,sticky='W',padx=5)
		ToolTip(b, msg=9)

		self.InCaptureVideo = False  # hack ----
		self.TakeVideo = ttk.Button(ButtonFrame,text='Video',underline=0,
			image=self.iconVideoBig,compound='left',
			command=lambda e=None:self.ToggleVideo(e),width=7)
		self.TakeVideo.grid(row=0,column=1,sticky='W')
		ToolTip(self.TakeVideo, msg=10)

		self.clearImage = ImageTk.PhotoImage(file='Assets/cancel_22x22.png')
		b = ttk.Button(ButtonFrame,command=lambda e=None:self.ClearPicture(e),
			image=self.clearImage,padding=(0,1,0,1))
		b.grid(row=0,column=2,sticky='W',padx=5)
		ToolTip(b, msg=11)

		image = PIL.Image.open('Assets/flip.png').resize((22,22))
		self.FlipHorzImage = ImageTk.PhotoImage(image)
		b = ttk.Button(ButtonFrame,command=lambda e=None:self.FlipPictureH(e),
			image=self.FlipHorzImage,padding=(0,1,0,1))
		b.grid(row=0,column=3,sticky='W')
		b.config(state='disabled')
		ToolTip(b, msg=12)

		self.FlipVertImage = ImageTk.PhotoImage(image.rotate(90))
		b = ttk.Button(ButtonFrame,command=lambda e=None:self.FlipPictureV(e),
			image=self.FlipVertImage,padding=(0,1,0,1))
		b.grid(row=0,column=4,sticky='W',padx=5)
		b.config(state='disabled')
		ToolTip(b, msg=13)

		self.pw.add(self.TopFrame)
		self.pw.add(BottomFrame)

		#-------------------------- Status Bar -------------------------
		self.StatusBarFrame = ttk.Frame(master)
		self.StatusBarFrame.grid(row=1,column=0,columnspan=2,sticky='NSEW')
		self.StatusBarFrame.columnconfigure(5,weight=1)
		self.XYText = StringVar()
		l = ttk.Label(self.StatusBarFrame,anchor=CENTER,font=('Arial',9),
			textvariable=self.XYText,style='StatusBar.TLabel', width=13)
		l.grid(row=0,column=0,sticky='W')
		ToolTip(l,40)
		self.ExposureModeText = StringVar()
		l = ttk.Label(self.StatusBarFrame,anchor=CENTER,textvariable=self.ExposureModeText,
			style='StatusBar.TLabel',width=18,font=('Arial',9))
		l.grid(row=0,column=1,sticky='W')
		ToolTip(l,41)
		self.AWBText = StringVar()
		l = ttk.Label(self.StatusBarFrame,anchor=CENTER,textvariable=self.AWBText,
			style='StatusBar.TLabel',width=18,font=('Arial',9))
		l.grid(row=0,column=2,sticky='W')
		ToolTip(l,42)
		self.ShutterSpeedText = StringVar()
		l = ttk.Label(self.StatusBarFrame,anchor=CENTER,textvariable=self.ShutterSpeedText,
			style='StatusBar.TLabel',width=15,font=('Arial',9))
		l.grid(row=0,column=3,sticky='W')
		ToolTip(l,43)
		self.FPSText = StringVar()
		l = ttk.Label(self.StatusBarFrame,anchor=CENTER,textvariable=self.FPSText,
			style='StatusBar.TLabel',width=10,font=('Arial',9))
		l.grid(row=0,column=4,sticky='W')
		ToolTip(l,44)
		self.StatusText = StringVar()
		l = ttk.Label(self.StatusBarFrame,anchor=CENTER,textvariable=self.StatusText,
			style='StatusBar.TLabel',width=10,font=('Arial',9))
		l.grid(row=0,column=5,sticky='EW')
		ToolTip(l,45)

		self.ExposureFrame.SetVariables(self.ExposureModeText, self.AWBText,
					self.ShutterSpeedText, self.FPSText)

		#--------------------------- Menu ------------------------------
		menubar = Menu(root,
			foreground='black',background='#F0F0F0',activebackground='#86ABD9',
			activeforeground='white')

		filemenu = Menu(menubar,tearoff=0,foreground='black',background='#F0F0F0',
		activebackground='#86ABD9',activeforeground='white')
		#filemenu.add_command(label="Save Camera setups...",underline=0,
			#command=lambda e=None:self.SaveCameraSetups(e))
		#filemenu.add_separator()
		filemenu.add_command(label="Preferences...",underline=0,
			image=self.iconPrefs, compound='left',
			command=lambda e=None:self.SystemPreferences(e))
		filemenu.add_separator()
		filemenu.add_command(label="Quit",underline=0,image=self.iconClose,
			compound='left',accelerator='Ctrl+Q',
			command=lambda e=None:self.quitProgram(e))
		self.DefineAccelerators('c','q',lambda e=None:self.quitProgram(e))
		menubar.add("cascade",label='File',underline=0,menu=filemenu)

		viewmenu = Menu(menubar,tearoff=0,foreground='black',background='#F0F0F0',
		activebackground='#86ABD9',activeforeground='white')

		self.viewImageCursor = MyBooleanVar(False)
		viewmenu.add_checkbutton(label="Image cursors",underline=7,
			accelerator='Ctrl+Shift+C',
			onvalue=True,offvalue=False,variable=self.viewImageCursor,
			command=lambda e='Menu':self.ViewImageCursor(e))
		self.DefineAccelerators('cs','c',self.ViewImageCursor)

		self.viewImageAttributesPane = BooleanVar()
		self.viewImageAttributesPane.set(False)
		viewmenu.add_checkbutton(label="Image Attribute pane",underline=6,
			accelerator='Ctrl+Shift+A',
			onvalue=True,offvalue=False,variable=self.viewImageAttributesPane,
			command=lambda e='Menu':self.ViewImageAttributesPane(e))
		self.DefineAccelerators('cs','a',self.ViewImageAttributesPane)

		self.viewPreviewPane = BooleanVar()
		self.viewPreviewPane.set(True)
		viewmenu.add_checkbutton(label="Preview pane",underline=0,
			accelerator='Ctrl+Shift+P',
			onvalue=True,offvalue=False,variable=self.viewPreviewPane,
			command=lambda e='Menu':self.ViewPreviewPane(e))
		self.DefineAccelerators('cs','p',self.ViewPreviewPane)

		self.ViewStatusBarBoolean = MyBooleanVar(True)
		viewmenu.add_checkbutton(label="Status bar",underline=0,
			onvalue=True,offvalue=False,variable=self.ViewStatusBarBoolean,
			command=lambda e='Menu':self.ViewStatusBar(e))

		#viewmenu.add_command(label="Properties...",underline=0,accelerator='Ctrl+Alt+P',
			#image=self.iconPrefs,compound='left',
			#command=lambda e=None:self.ViewProperties(e))
		#self.DefineAccelerators('ca','p',lambda e=None:self.ViewProperties(e))
		menubar.add("cascade",label='View',underline=0,menu=viewmenu)

		photomenu = Menu(menubar,tearoff=0,foreground='black',background='#F0F0F0',
		activebackground='#86ABD9',activeforeground='white')
		photomenu.add_command(label="Take picture",underline=5,
			image=self.iconCamera,compound='left',
			command=lambda e=None:self.TakePicture(e),accelerator='Ctrl+P')
		self.DefineAccelerators('c','p',lambda e=None:self.TakePicture(e))
		photomenu.add_command(label="Save Image...",underline=0,compound='left',
			command=lambda e=None:self.SavePictureorVideo(e),accelerator='Ctrl+S')
		self.DefineAccelerators('c','s',lambda e=None:self.SavePictureorVideo(e))
		photomenu.add_command(label="Clear picture",underline=0,
			image=self.iconClose,compound='left',
			command=lambda e=None:self.ClearPicture(e),accelerator='Ctrl+C')
		self.DefineAccelerators('c','c',lambda e=None:self.ClearPicture(e))
		photomenu.add_command(label="Reset Camera setups",underline=0,
			compound='left',
			command=lambda e=None:self.ResetCameraSetups(e),accelerator='Ctrl+R')
		self.DefineAccelerators('c','r',lambda e=None:self.ResetCameraSetups(e))
		photomenu.add_separator()
		photomenu.add_command(label="Annotation/Overlay",underline=0,
			compound='left',
			command=lambda e=None:self.AnnotationOverlay(e))#,accelerator='Ctrl+A')
		#self.DefineAccelerators('c','a',lambda e=None:self.AnnotationOverlay(e))
		menubar.add("cascade",label='Photo',underline=0,menu=photomenu)

		videomenu = Menu(menubar,tearoff=0,foreground='black',background='#F0F0F0',
			activebackground='#86ABD9',activeforeground='white')
		videomenu.add_command(label="Toggle video",underline=7,
			image=self.iconVideo,compound='left',
			command=lambda e=None:self.ToggleVideo(e),accelerator='Ctrl+V')
		self.DefineAccelerators('c','v',lambda e=None:self.ToggleVideo(e))
		menubar.add("cascade",label='Video',underline=0,menu=videomenu)

		helpmenu = Menu(menubar,tearoff=0,foreground='black',background='#F0F0F0',
		activebackground='#86ABD9',activeforeground='white')
		helpmenu.add_command(label="Keyboard shortcuts...",underline=0,
			command=lambda e=None:self.KeyboardShortcuts(e))
		helpmenu.add_command(label="Picamera Documentation...",underline=9,
			command=lambda e=None:self.PiCameraDocs(e),image=self.iconWeb,compound='left')
		helpmenu.add_command(label="Picamera Recipies...",underline=9,
			command=lambda e=None:self.PiCameraRecipies(e),image=self.iconWeb,compound='left')

		helpmenu.add_separator()
		helpmenu.add_command(label="About...",underline=0,command=lambda e=None:self.HelpAbout(e))
		menubar.add("cascade",label='Help',underline=0,menu=helpmenu)

		root.config(menu=menubar)

		# infohost.nmt.edu/tcc/help/pubs/tkinter/web/menu.html
		# colors : wiki.tcl.tk/37701
		self.CanvasPopup = Menu(root, title='Popup',tearoff=0, background='snow',
			foreground = 'black', activeforeground='white',
			activebackground='cornflowerblue',relief=FLAT)
		self.CanvasPopup.add_command(label='---Picture Menu---',command=None)
		self.CanvasPopup.add_separator()
		self.CanvasPopup.add_command(label='Save picture',
			command=lambda e=None:self.SavePictureorVideo(e))
		self.CanvasPopup.add_command(label='Clear picture',
			command=lambda e=None:self.ClearPicture(e))
		self.CanvasPopup.add_separator()
		self.CanvasPopup.add_command(label='Reset preview zoom',
			command=self.BasicControlsFrame.ZoomReset)
		# Selections are also bound to right mouse!! That sucks.
		self.photoCanvas.bind("<Button-3>", self.DoPictureWindowPopup)
		#--------------------------- End Menu --------------------------

		# Catch all focus events to the Top Window. Use to control
		# whether the camera preview_window overlay is visible or not.
		# I'm sure this will fail with Topmost windows... :(
		self.root.bind('<FocusOut>',self.LoseFocus)
		self.root.bind('<FocusIn>',self.GotFocus)
		# We want to catch window movements to show/hide preview window
		root.bind( '<Configure>', self.OnFormEvent )
		root.protocol("WM_DELETE_WINDOW", lambda e=None:self.quitProgram(e))

		self.UpdateAnnotationText()
Exemple #8
0
    def __init__(self, root):

        # create logger with 'spam_application'
        self.log = logging.getLogger('main')
        self.log.setLevel(logging.DEBUG)

        # create file handler which logs even debug messages
        fh = logging.FileHandler('mainw.log')
        fh.setLevel(logging.DEBUG)

        # create console handler with a higher log level
        ch = logging.StreamHandler()
        ch.setLevel(logging.DEBUG)

        # create formatter and add it to the handlers
        formatter = logging.Formatter(
            '%(asctime)s - %(levelname)s - %(name)s - %(message)s')
        fh.setFormatter(formatter)
        ch.setFormatter(formatter)

        # add the handlers to the logger
        self.log.addHandler(fh)
        self.log.addHandler(ch)

        self.log.info('testasetat')

        self.root = root
        self.source = None

        self.root.title("pymta tkInterface {0}".format(VERSION))

        # menu bar
        menubar = tk.Menu(self.root)
        filemenu = tk.Menu(menubar, tearoff=0)
        filemenu.add_command(label="New", command=self.database_new)
        filemenu.add_command(label="Open", command=self.database_open)
        filemenu.add_command(label="Exit", command=self.quit)
        menubar.add_cascade(label="File", menu=filemenu)
        toolsmenu = tk.Menu(menubar, tearoff=0)
        toolsmenu.add_command(label="Load symbols from file",
                              command=self.symbol_load_from_file)
        menubar.add_cascade(label="Tools", menu=toolsmenu)
        self.root.config(menu=menubar)

        # paned window
        panedWindow = ttk.PanedWindow(self.root, orient=tk.VERTICAL)
        panedWindow.pack(fill=tk.BOTH, expand=1)

        # notebook
        notebook = ttk.Notebook(panedWindow)
        #~ notebook.pack(fill=tk.BOTH, expand=1)
        panedWindow.add(notebook, weight=3)

        # tabs
        manageSymbolsTab = tk.Frame(notebook)
        notebook.add(manageSymbolsTab, text="Manage symbols")
        plotTab = tk.Frame(notebook)
        notebook.add(plotTab, text="Plot")

        # manage symbols tab - symbols list
        self.symbolsList = tksym.SymbolList(manageSymbolsTab, self.source)
        self.symbolsList.pack(fill=tk.BOTH, expand=1)

        # plot symbols tab - symbols list
        self.plotFrame = tkplot.PlottingFrame(plotTab, self.source)
        self.plotFrame.pack(fill=tk.BOTH, expand=1)

        # button bar
        btnFrame = tk.Frame(manageSymbolsTab)
        btnFrame.pack(fill=tk.BOTH, expand=0)
        btnAdd = tk.Button(btnFrame, text="Add new", command=self.symbol_add)
        btnRefresh = tk.Button(btnFrame,
                               text="Refresh selected",
                               command=self.symbol_refreshEoD)
        btnAdd.pack(side=tk.RIGHT)
        btnRefresh.pack(side=tk.RIGHT)

        # FIXME: delete following rows
        self.source = yahoo.LocalSource(DEFAULT_DATABASE_PATH)
        self.refresh_all()
    gui_style.theme_use('clam')
    #
    # Window Regions:
    #  +---------------------+
    #  |     frame_top       |
    #  +---------+-----------+
    #  | frame_  | frame_    |
    #  |    left |  center   |
    #  +---------+-----------+
    #  |    frame_bottom     |
    #  +---------------------+
    #
    frame_top = ttk.Frame(gui)
    frame_top.pack(fill="both")

    paned_middle_bottom = ttk.PanedWindow(gui, orient=VERTICAL)
    paned_middle_bottom.pack(fill=BOTH, expand=1)
    paned_left_center = ttk.PanedWindow(paned_middle_bottom, orient=HORIZONTAL)
    paned_left_center.pack(expand=False, fill="both")
    paned_middle_bottom.add(paned_left_center)
    frame_left = ttk.Frame(paned_left_center)
    paned_left_center.add(frame_left)
    frame_center = ttk.Frame(paned_left_center)
    paned_left_center.add(frame_center)
    frame_bottom = ttk.Frame(paned_middle_bottom)
    paned_middle_bottom.add(frame_bottom)

    # Form Variables:
    var_from_account_name = StringVar(gui, value=default_sender)
    var_bip32_path = StringVar(gui, value=bip32_path)
    var_selected_asset = StringVar(gui)
Exemple #10
0
    def Frame1(self):
        #divided Frame1 by Vertical
        F1 = ttk.Panedwindow(self.frame1, orient=VERTICAL)
        self.f1topf=ttk.Frame(F1)
        space=ttk.Frame(F1)
        f1bottomf=ttk.Frame(F1)        
        
        F1.add(self.f1topf)
        F1.add(space)
        F1.add(f1bottomf)
        F1.grid()
        
        F3=ttk.PanedWindow(f1bottomf, orient=HORIZONTAL)
        F3calf=ttk.Labelframe(F3,text='Calibration Frame')
        F3objf=ttk.Labelframe(F3,text='Object Frame')
        
        F3.add(F3calf)
        F3.add(F3objf)
        F3.grid()
        
       # f1bottomf.add(F3cal)
        #f1bottomf.add(F3obj)
        #f1bottomf.grid()
        
        F3caltop=ttk.Panedwindow(F3calf, orient=VERTICAL)
        F3caltopf=ttk.Frame(F3caltop)
        F3caltop.add(F3caltopf)
        F3caltop.grid()
        
        F3calbottom=ttk.Panedwindow(F3calf, orient=VERTICAL)
        self.Cexecutef = ttk.Frame(F3calbottom) 
        spacec=ttk.Frame(F3calbottom)
        F3calbottom.add(spacec)
        F3calbottom.add(self.Cexecutef)
        F3calbottom.grid()
        
        F3objtop=ttk.Panedwindow(F3objf, orient=VERTICAL)
        F3objtopf=ttk.Frame(F3objtop)        
        F3objtop.add(F3objtopf)
        F3objtop.grid()
        
        F3objbottom=ttk.Panedwindow(F3objf, orient=VERTICAL)
        self.Oexecutef = ttk.Frame(F3objbottom)
        spaceo=ttk.Frame(F3objbottom) 
        F3objbottom.add(spaceo)
        F3objbottom.add(self.Oexecutef)
        F3objbottom.grid()
        
        F3c=ttk.Panedwindow(F3caltopf, orient=HORIZONTAL)
#        calfram1=ttk.Labelframe(F3c,text="Dark")
        calfram1=ttk.Frame(F3c)#)
        space1=ttk.Frame(F3c)
        calfram2=ttk.Frame(F3c)#,text="Flat")
        space2=ttk.Frame(F3c)
        calfram3=ttk.Frame(F3c)#,text="Arc")        
        space3=ttk.Frame(F3c)
        
        F3o=ttk.Panedwindow(F3objtopf, orient=HORIZONTAL)
        objfram1=ttk.Frame(F3o)#,text="Standard")
        space4=ttk.Frame(F3o)
        objfram2=ttk.Frame(F3o)#,text="Target")
        
        F3c.add(calfram1)
        F3c.add(space1)
        F3c.add(calfram2)
        F3c.add(space2)
        F3c.add(calfram3)
        F3c.add(space3)
        F3c.grid()
                
        F3o.add(objfram1)
        F3o.add(space4)
        F3o.add(objfram2)
        F3o.grid()
        
        #calibration frame
        #dark
        F41 = ttk.Panedwindow(calfram1, orient=VERTICAL)
        calibnote1=ttk.Frame(F41)
        self.calib11 = ttk.Frame(F41)
        space12=ttk.Frame(F41)
        self.ccm1 = ttk.Labelframe(F41, text="Combine method")
        space13 = ttk.Frame(F41)
        self.calib12 = ttk.Frame(F41)
        
        F41.add(calibnote1)
        F41.add(self.calib11)
        F41.add(space12)
        F41.add(self.ccm1)
        F41.add(space13)
        F41.add(self.calib12)
        F41.grid()
        
           #flat
        F42 = ttk.Panedwindow(calfram2, orient=VERTICAL)
        calibnote2=ttk.Frame(F42)
        self.calib21 = ttk.Frame(F42)
        space22=ttk.Frame(F42)
        self.ccm2 = ttk.Labelframe(F42, text="Combine method")
        space23 = ttk.Frame(F42)
        self.calib22 = ttk.Frame(F42)
        
        F42.add(calibnote2)
        F42.add(self.calib21)
        F42.add(space22)
        F42.add(self.ccm2)
        F42.add(space23)
        F42.add(self.calib22)
        F42.grid()

        #arc
        F43 = ttk.Panedwindow(calfram3, orient=VERTICAL)
        calibnote3=ttk.Frame(F43)
        self.calib31 = ttk.Frame(F43)
        space32=ttk.Frame(F43)
        self.ccm3 = ttk.Labelframe(F43, text="Combine method")
        space33 = ttk.Frame(F43)
        self.calib32 = ttk.Frame(F43)
        
        F43.add(calibnote3)
        F43.add(self.calib31)
        F43.add(space32)
        F43.add(self.ccm3)
        F43.add(space33)
        F43.add(self.calib32)
        F43.grid()

        
        #calibration notebook
#        calibn = ttk.Notebook(calibnote)
#        calibl1 = Listbox(calibnote1)
#        self.Cflatf = ttk.Frame(calibn) 
#        self.Carcf = ttk.Frame(calibn)
        self.Cdarkf = ttk.Frame(calibnote1) 
        self.Cdarkf.grid()
#        calibl1.grid()
#        calibl2 = Listbox(calibnote2)
        self.Cflatf = ttk.Frame(calibnote2)
        self.Cflatf.grid()
#        calibl2.grid()
#        calibl3 = Listbox(calibnote3)
        self.Carcf = ttk.Frame(calibnote3) 
        self.Carcf.grid()
#        calibl3.grid()
#        calibn.add(self.Cflatf, text='FLAT')
#        calibn.add(self.Carcf, text='ARC')
#        calibn.grid()
        
        #Object frame std
        F51 = ttk.Panedwindow(objfram1, orient=VERTICAL)
        objnote1=ttk.Frame(F51)
        self.obj11 = ttk.Frame(F51)
        space14=ttk.Frame(F51)
        self.ocm1 = ttk.Labelframe(F51, text="Combine method")
        space15 = ttk.Frame(F51)
        self.obj12 = ttk.Frame(F51)
        
        F51.add(objnote1)
        F51.add(self.obj11)
        F51.add(space14)
        F51.add(self.ocm1)
        F51.add(space15)
        F51.add(self.obj12)
        F51.grid()
        
          #Object frame tar
        F52 = ttk.Panedwindow(objfram2, orient=VERTICAL)
        objnote2=ttk.Frame(F52)
        self.obj21 = ttk.Frame(F52)
        space24=ttk.Frame(F52)
        self.ocm2 = ttk.Labelframe(F52, text="Combine method")
        space25 = ttk.Frame(F52)
        self.obj22 = ttk.Frame(F52)
        
        F52.add(objnote2)
        F52.add(self.obj21)
        F52.add(space24)
        F52.add(self.ocm2)
        F52.add(space25)
        F52.add(self.obj22)
        F52.grid()
      
        #object notebook
#        objn = ttk.Notebook(objnote)
#        self.Ostandardf = ttk.Frame(objn) 
#        self.Otargetf = ttk.Frame(objn) 
#        objn.add(self.Ostandardf, text='Standard')
#        objn.add(self.Otargetf, text='Target')
#        objn.grid()
        self.Ostandardf = ttk.Frame(objnote1) 
        self.Ostandardf.grid()
        self.Otargetf = ttk.Frame(objnote2) 
        self.Otargetf.grid()
Exemple #11
0
    def __init__(self, master):
        # Initialize window using the parent's constructor
        tk.Frame.__init__(self,
                          master,
                          width=1000,
                          height=800,
                          background="black")

        self.master.title("Trollette")
        self.master.configure(background="black")

        self.pack_propagate(0)

        self.troll = Trollette()

        self.style = ttk.Style()
        self.create_styles()

        ### CREATE ALL THE PANES

        # Main Window Pane

        self.pane_main = ttk.PanedWindow(orient=tk.VERTICAL)
        self.pane_main.pack(fill=tk.BOTH, expand=1)

        # Options Pane
        self.pane_top = ttk.PanedWindow(self.pane_main, orient=tk.HORIZONTAL)
        self.pane_top.pack(fill=tk.BOTH, expand=1)
        self.pane_main.add(self.pane_top)

        # Title, Presenter, Trollerate Pane
        self.pane_trollerate = ttk.PanedWindow(self.pane_top,
                                               orient=tk.VERTICAL)
        self.pane_trollerate.pack(fill=tk.BOTH, expand=1)
        self.pane_top.add(self.pane_trollerate)

        # Output Pane
        self.pane_bottom = ttk.PanedWindow(self.pane_main,
                                           orient=tk.HORIZONTAL)
        self.pane_bottom.pack(fill=tk.BOTH, expand=1)
        self.pane_main.add(self.pane_bottom)

        self.trollette_output = tk.Text(self.pane_bottom,
                                        bd=4,
                                        state=tk.DISABLED,
                                        width=80,
                                        height=40)
        self.trollette_output.config(font=("courier new", 16),
                                     background="black",
                                     foreground="green")
        self.trollette_output.pack(fill=tk.BOTH, expand=1)
        self.trollette_output.grid(row=0, column=0)
        self.troll.console = self.trollette_output
        self.pane_bottom.add(self.trollette_output)

        self.trollette_output_scroll = ttk.Scrollbar(
            self.trollette_output, command=self.trollette_output.yview)
        self.trollette_output[
            'yscrollcommand'] = self.trollette_output_scroll.set
        #self.pane_bottom.add(self.trollette_output_scroll)

        # Create the Notebook for Options
        self.notebook = ttk.Notebook(self.pane_top)
        self.frame_slide_weights = ttk.Frame(
            self.notebook
        )  # first page, which would get widgets gridded into it
        self.frame_terms = ttk.Frame(
            self.notebook
        )  # first page, which would get widgets gridded into it
        self.frame_farming = ttk.Frame(
            self.notebook
        )  # first page, which would get widgets gridded into it
        self.notebook.add(self.frame_slide_weights, text='Slide Weights')
        self.notebook.add(self.frame_terms, text='Search Terms')
        self.notebook.add(self.frame_farming, text='Data Farming')
        self.pane_top.add(self.notebook)

        # Add the Title, Presenter, Slide Counts, and Trollerate
        ttk.Label(self.pane_trollerate, text="Talk Title",
                  anchor="w").grid(row=0, column=0, columnspan=2)
        ttk.Label(self.pane_trollerate, text="Presenter",
                  anchor="w").grid(row=1, column=0, columnspan=2)

        self.string_talk_title = tk.StringVar()
        self.dropdown_talk_title = ttk.OptionMenu(
            self.pane_trollerate, self.string_talk_title,
            *self.troll.terms["talk_titles"])
        self.dropdown_talk_title.grid(row=0, column=2, columnspan=2)
        self.entry_presenter = ttk.Entry(self.pane_trollerate)
        self.entry_presenter.grid(row=1, column=2, columnspan=2)

        ttk.Label(self.pane_trollerate, text="Slide Min",
                  anchor="w").grid(row=2, column=0)
        ttk.Label(self.pane_trollerate, text="Slide Max",
                  anchor="w").grid(row=2, column=2)
        self.slide_count_min_entry = ttk.Entry(self.pane_trollerate, width=5)
        self.slide_count_min_entry.grid(row=2, column=1)
        self.slide_count_min_entry.insert(0, str(self.troll.slide_min))
        self.slide_count_max_entry = ttk.Entry(self.pane_trollerate, width=5)
        self.slide_count_max_entry.grid(row=2, column=3)
        self.slide_count_max_entry.insert(0, str(self.troll.slide_max))

        self.image_trollerate = tk.PhotoImage(file=os.path.join(
            "Resources", "trollerate.gif"),
                                              width=300,
                                              height=280)
        self.go_button = ttk.Button(self.pane_trollerate,
                                    command=self.generate_troll,
                                    image=self.image_trollerate,
                                    style="Troll.TButton")

        self.go_button.grid(row=3, column=0, columnspan=4)

        # Add the Slide options
        self.weights = {}

        r = 0
        for key in self.troll.slide_weights.weights.keys():
            ttk.Label(self.frame_slide_weights, text=key,
                      anchor="w").grid(row=r, column=0)
            s = ttk.Scale(self.frame_slide_weights,
                          from_=0,
                          to=100,
                          orient=tk.HORIZONTAL,
                          length=250)
            s.grid(row=r, column=1)
            s.set(self.troll.slide_weights.weights[key])
            self.weights[key] = s
            r += 1

        # Add the Terms Options

        self.show_title_button = ttk.Button(self.frame_terms,
                                            text='Show Talk Titles',
                                            command=self.show_titles)
        self.show_title_button.grid(row=0, column=0)
        self.add_title_entry = ttk.Entry(self.frame_terms)
        self.add_title_entry.grid(row=1, column=0)
        self.add_title_button = ttk.Button(self.frame_terms,
                                           text='Add Title',
                                           command=self.add_title)
        self.add_title_button.grid(row=2, column=0)
        self.delete_title_button = ttk.Button(self.frame_terms,
                                              text='Delete Title',
                                              command=self.delete_title)
        self.delete_title_button.grid(row=3, column=0)

        ttk.Separator(self.frame_terms, orient=tk.VERTICAL).grid(row=0,
                                                                 column=1,
                                                                 rowspan=4,
                                                                 sticky="ns")

        self.show_image_button = ttk.Button(self.frame_terms,
                                            text='Show Image Search Terms',
                                            command=self.show_image_terms)
        self.show_image_button.grid(row=0, column=2)
        self.add_image_entry = ttk.Entry(self.frame_terms)
        self.add_image_entry.grid(row=1, column=2)
        self.add_image_button = ttk.Button(self.frame_terms,
                                           text='Add Image Term',
                                           command=self.add_image_term)
        self.add_image_button.grid(row=2, column=2)
        self.delete_image_button = ttk.Button(self.frame_terms,
                                              text='Delete Image Term',
                                              command=self.delete_image_term)
        self.delete_image_button.grid(row=3, column=2)

        ttk.Separator(self.frame_terms, orient=tk.VERTICAL).grid(row=0,
                                                                 column=3,
                                                                 rowspan=4,
                                                                 sticky="ns")

        self.show_gif_button = ttk.Button(self.frame_terms,
                                          text='Show GIF Search Terms',
                                          command=self.show_gif_terms)
        self.show_gif_button.grid(row=0, column=4)
        self.add_gif_entry = ttk.Entry(self.frame_terms)
        self.add_gif_entry.grid(row=1, column=4)
        self.add_gif_button = ttk.Button(self.frame_terms,
                                         text='Add GIF Term',
                                         command=self.add_gif_term)
        self.add_gif_button.grid(row=2, column=4)
        self.delete_gif_button = ttk.Button(self.frame_terms,
                                            text='Delete GIF Term',
                                            command=self.delete_gif_term)
        self.delete_gif_button.grid(row=3, column=4)

        # Add the farming buttons
        self.farm_gif_button = ttk.Button(self.frame_farming,
                                          text='Farm GIFs',
                                          command=self.farm_gifs)
        self.farm_gif_button.grid(row=0, column=0)

        self.farm_image_button = ttk.Button(self.frame_farming,
                                            text='Farm Images',
                                            command=self.farm_images)
        self.farm_image_button.grid(row=1, column=0)

        self.farm_new_content_button = ttk.Button(
            self.frame_farming,
            text='Farm New Content',
            command=self.farm_new_content)
        self.farm_new_content_button.grid(row=2, column=0)

        self.farm_all_content_button = ttk.Button(
            self.frame_farming,
            text='Farm All Content',
            command=self.farm_all_content)
        self.farm_all_content_button.grid(row=3, column=0)
Exemple #12
0
 def Panedwindow(cls,master=None, **kw):
     return ttk.PanedWindow(master, **kw)
Exemple #13
0
 def __init__(self, parent, title, app, gameid, bookmark=None, **kw):
     kw = self.initKw(kw)
     MfxDialog.__init__(self, parent, title, kw.resizable, kw.default)
     top_frame, bottom_frame = self.createFrames(kw)
     self.createBitmaps(top_frame, kw)
     #
     self.app = app
     self.gameid = gameid
     self.bookmark = bookmark
     self.random = None
     if self.TreeDataHolder_Class.data is None:
         self.TreeDataHolder_Class.data = self.TreeData_Class(app)
     #
     self.top.wm_minsize(400, 200)
     sw = self.top.winfo_screenwidth()
     if sw >= 1100:
         w1, w2 = 250, 600
     elif sw >= 900:
         w1, w2 = 250, 500
     elif sw >= 800:
         w1, w2 = 220, 480
     else:
         w1, w2 = 200, 300
     ##print sw, w1, w2
     w2 = max(200, min(w2, 10 + 12 * (app.subsampled_images.CARDW + 10)))
     ##print sw, w1, w2
     ##padx, pady = kw.padx, kw.pady
     #padx, pady = kw.padx/2, kw.pady/2
     padx, pady = 4, 4
     # PanedWindow
     paned_window = ttk.PanedWindow(top_frame, orient='horizontal')
     paned_window.pack(expand=True, fill='both', padx=8, pady=8)
     left_frame = ttk.Frame(paned_window)
     right_frame = ttk.Frame(paned_window)
     paned_window.add(left_frame)
     paned_window.add(right_frame)
     # Tree
     font = app.getFont("default")
     self.tree = self.Tree_Class(self,
                                 left_frame,
                                 key=gameid,
                                 default=kw.default,
                                 font=font,
                                 width=w1)
     self.tree.frame.pack(padx=padx, pady=pady, expand=True, fill='both')
     # LabelFrame
     info_frame = ttk.LabelFrame(right_frame, text=_('About game'))
     info_frame.grid(row=0,
                     column=0,
                     padx=padx,
                     pady=pady,
                     ipadx=4,
                     ipady=4,
                     sticky='nws')
     stats_frame = ttk.LabelFrame(right_frame, text=_('Statistics'))
     stats_frame.grid(row=0,
                      column=1,
                      padx=padx,
                      pady=pady,
                      ipadx=4,
                      ipady=4,
                      sticky='nws')
     # Info
     self.info_labels = {}
     i = 0
     for n, t, f, row in (
         ('name', _('Name:'), info_frame, 0),
         ('altnames', _('Alternate names:'), info_frame, 1),
         ('category', _('Category:'), info_frame, 2),
         ('type', _('Type:'), info_frame, 3),
         ('skill_level', _('Skill level:'), info_frame, 4),
         ('decks', _('Decks:'), info_frame, 5),
         ('redeals', _('Redeals:'), info_frame, 6),
             #
         ('played', _('Played:'), stats_frame, 0),
         ('won', _('Won:'), stats_frame, 1),
         ('lost', _('Lost:'), stats_frame, 2),
         ('time', _('Playing time:'), stats_frame, 3),
         ('moves', _('Moves:'), stats_frame, 4),
         ('percent', _('% won:'), stats_frame, 5),
     ):
         title_label = ttk.Label(f, text=t, justify='left', anchor='w')
         title_label.grid(row=row, column=0, sticky='nw', padx=4)
         text_label = ttk.Label(f, justify='left', anchor='w')
         text_label.grid(row=row, column=1, sticky='nw', padx=4)
         self.info_labels[n] = (title_label, text_label)
     ##info_frame.columnconfigure(1, weight=1)
     info_frame.rowconfigure(6, weight=1)
     stats_frame.rowconfigure(6, weight=1)
     # Canvas
     self.preview = MfxScrolledCanvas(right_frame, width=w2)
     self.preview.setTile(app, app.tabletile_index, force=True)
     self.preview.grid(row=1,
                       column=0,
                       columnspan=3,
                       padx=padx,
                       pady=pady,
                       sticky='nsew')
     right_frame.columnconfigure(1, weight=1)
     right_frame.rowconfigure(1, weight=1)
     #
     focus = self.createButtons(bottom_frame, kw)
     # set the scale factor
     self.preview.canvas.preview = 2
     # create a preview of the current game
     self.preview_key = -1
     self.preview_game = None
     self.preview_app = None
     self.updatePreview(gameid, animations=0)
     ##focus = self.tree.frame
     self.mainloop(focus, kw.timeout)
Exemple #14
0
                                          sticky="wns")

Label(root, text='Tkinter    Versus').grid(row=0, columnspan=2, sticky='ew')
ttk.Label(root, text='ttk').grid(row=0, column=1)

Button(root, text='tk Button').grid(row=1, column=0)
ttk.Button(root, text='ttk Button').grid(row=1, column=1)

Checkbutton(root, text='tk CheckButton').grid(row=2, column=0)
ttk.Checkbutton(root, text='ttk CheckButton').grid(row=2, column=1)

Entry(root).grid(row=3, column=0)
ttk.Entry(root).grid(row=3, column=1)

PanedWindow(root).grid(row=4, column=0)
ttk.PanedWindow(root).grid(row=4, column=1)

Radiobutton(root, text='tk Radio').grid(row=5, column=0)
ttk.Radiobutton(root, text='ttk Radio').grid(row=5, column=1)

Scale(root, orient=HORIZONTAL).grid(row=6, column=0)
ttk.Scale(root).grid(row=6, column=1)

ttk.Separator(root, orient=HORIZONTAL).grid(row=7, columnspan=2, sticky="ew")
ttk.Label(root, text='NEW WIDGETS INTRODUCED IN ttk').grid(row=8, columnspan=2)
ttk.Separator(root, orient=HORIZONTAL).grid(row=9, columnspan=2, sticky="ew")

ttk.Combobox(root).grid(row=11, column=0)

n = ttk.Notebook(root)
n.grid(row=12, column=1)
Exemple #15
0
 def __init__(self, parent, title, app, manager, key=None, **kw):
     kw = self.initKw(kw)
     MfxDialog.__init__(self, parent, title, kw.resizable, kw.default)
     top_frame, bottom_frame = self.createFrames(kw)
     self.createBitmaps(top_frame, kw)
     #
     if key is None:
         key = manager.getSelected()
     self.manager = manager
     self.key = key
     self.app = app
     self.cardset_values = None
     # padx, pady = kw.padx, kw.pady
     padx, pady = 5, 5
     if self.TreeDataHolder_Class.data is None:
         self.TreeDataHolder_Class.data = self.TreeData_Class(manager, key)
     #
     self.top.wm_minsize(400, 200)
     if self.top.winfo_screenwidth() >= 800:
         w1, w2 = 240, 400
     else:
         w1, w2 = 200, 300
     paned_window = ttk.PanedWindow(top_frame, orient='horizontal')
     paned_window.pack(expand=True, fill='both')
     left_frame = ttk.Frame(paned_window)
     right_frame = ttk.Frame(paned_window)
     paned_window.add(left_frame)
     paned_window.add(right_frame)
     font = app.getFont("default")
     self.tree = self.Tree_Class(self,
                                 left_frame,
                                 key=key,
                                 default=kw.default,
                                 font=font,
                                 width=w1)
     self.tree.frame.grid(row=0,
                          column=0,
                          sticky='nsew',
                          padx=padx,
                          pady=pady)
     if USE_PIL:
         #
         var = Tkinter.DoubleVar()
         var.set(app.opt.scale_x)
         self.scale_x = PysolScale(left_frame,
                                   label=_('Scale X:'),
                                   from_=0.5,
                                   to=4.0,
                                   resolution=0.1,
                                   orient='horizontal',
                                   variable=var,
                                   value=app.opt.scale_x,
                                   command=self._updateScale)
         self.scale_x.grid(row=1,
                           column=0,
                           sticky='ew',
                           padx=padx,
                           pady=pady)
         #
         var = Tkinter.DoubleVar()
         var.set(app.opt.scale_y)
         self.scale_y = PysolScale(left_frame,
                                   label=_('Scale Y:'),
                                   from_=0.5,
                                   to=4.0,
                                   resolution=0.1,
                                   orient='horizontal',
                                   variable=var,
                                   value=app.opt.scale_y,
                                   command=self._updateScale)
         self.scale_y.grid(row=2,
                           column=0,
                           sticky='ew',
                           padx=padx,
                           pady=pady)
         #
         self.auto_scale = Tkinter.BooleanVar()
         self.auto_scale.set(app.opt.auto_scale)
         check = ttk.Checkbutton(left_frame,
                                 text=_('Auto scaling'),
                                 variable=self.auto_scale,
                                 takefocus=False,
                                 command=self._updateAutoScale)
         check.grid(row=3,
                    column=0,
                    columnspan=2,
                    sticky='ew',
                    padx=padx,
                    pady=pady)
         #
         self.preserve_aspect = Tkinter.BooleanVar()
         self.preserve_aspect.set(app.opt.preserve_aspect_ratio)
         self.aspect_check = ttk.Checkbutton(
             left_frame,
             text=_('Preserve aspect ratio'),
             variable=self.preserve_aspect,
             takefocus=False,
             # command=self._updateScale
         )
         self.aspect_check.grid(row=4,
                                column=0,
                                sticky='ew',
                                padx=padx,
                                pady=pady)
         self._updateAutoScale()
     #
     left_frame.rowconfigure(0, weight=1)
     left_frame.columnconfigure(0, weight=1)
     #
     self.preview = MfxScrolledCanvas(right_frame, width=w2)
     self.preview.setTile(app, app.tabletile_index, force=True)
     self.preview.pack(fill='both', expand=True, padx=padx, pady=pady)
     self.preview.canvas.preview = 1
     # create a preview of the current state
     self.preview_key = -1
     self.preview_images = []
     self.scale_images = []
     self.updatePreview(key)
     #
     focus = self.createButtons(bottom_frame, kw)
     focus = self.tree.frame
     self.mainloop(focus, kw.timeout)