Added Image Viewer

This commit is contained in:
Jordon Brooks 2016-05-10 21:08:39 +01:00
parent e8d258876f
commit afccf17ecb
7 changed files with 146 additions and 44 deletions

68
Programs/imageViewer.py Normal file
View file

@ -0,0 +1,68 @@
from tkinter import *
from tkinter.filedialog import askopenfilename
from PIL import Image
import gc
Canvas.image = None
class imageViewer:
def fullScreen(self):
try:
if self.max == 0:
self.window.attributes('-fullscreen', True)
self.max = 1
else:
self.window.attributes('-fullscreen', False)
self.max = 0
except:
pass
def openimage(self):
self.picfile = askopenfilename()
if self.picfile:
Canvas.image = PhotoImage(file=self.picfile)
self.canvas.create_image(0, 0, anchor=NW, image=Canvas.image)
self.canvas.configure(self.canvas, scrollregion=(0, 0, Canvas.image.width(), Canvas.image.height()))
def createWidgets(self):
self.menu = Menu(self.window)
self.window.config(menu=self.menu)
self.filemenu = Menu(self.menu)
self.menu.add_cascade(label="File", menu=self.filemenu)
self.filemenu.add_command(label="Open Image", command=self.openimage)
self.filemenu.add_command(label="Fullscreen", command=self.fullScreen)
self.filemenu.add_separator()
self.filemenu.add_command(label="Exit", command=self.window.destroy)
self.yscrollbar = Scrollbar(self.window)
self.yscrollbar.pack(side=RIGHT, fill=Y)
self.xscrollbar = Scrollbar(self.window, orient=HORIZONTAL)
self.xscrollbar.pack(side=BOTTOM, fill=X)
self.canvas = Canvas(self.window, width=self.canvas_width, height=self.canvas_height,
yscrollcommand=self.yscrollbar.set,
xscrollcommand=self.xscrollbar.set)
# button = Button(root,text="Open",command=openimage)
# button.pack(side=BOTTOM)
self.canvas.pack(side=TOP, expand=YES, fill=BOTH)
self.yscrollbar.config(command=self.canvas.yview)
self.xscrollbar.config(command=self.canvas.xview)
def createWindow(self):
self.window = Toplevel(self.master)
self.window.title("Image Viewer")
# self.window.config(bg="white")
self.createWidgets()
self.window.attributes('-fullscreen', False)
self.max = 0
self.window.mainloop()
def __init__(self, master):
self.master = master
self.canvas_width = 800
self.canvas_height = 600
self.createWindow()

View file

@ -88,7 +88,7 @@ class jpadEditor:
self.jpadFile = open(str(self.jpadFile), "w")
if self.jpadFile != None:
# slice off the last character from get, as an extra return is added
self.data = self.textPad.get(0.0, END)
self.data = str(self.textPad.get(0.0, END)).replace("\n", "")
self.jpadFile.write(self.data)
self.jpadFile.close()
except Exception as e:
@ -100,9 +100,11 @@ class jpadEditor:
self.jpadFile = open(str(self.jpadFile), "w")
if self.jpadFile != None:
# slice off the last character from get, as an extra return is added
self.data = self.textPad.get(0.0, END)
self.data = str(self.textPad.get(0.0, END)).replace("\n", "")
self.jpadFile.write(self.data)
self.jpadFile.close()
else:
self.saveAs_command()
except Exception as e:
jpadLog.error(str(e))
@ -125,7 +127,7 @@ class jpadEditor:
jpadLog.error(str(e))
def chfont(self):
def apply(self):
def apply():
try:
self.textPad.configure(font=(self.font1.get(), int(self.font2.get()), self.font3.get()))
self.font[0] = self.font1.get()
@ -165,18 +167,21 @@ class jpadEditor:
self.textPad.configure(font=(self.font[0], int(self.font[1]), self.font[2]))
self.textPad.focus()
if self.jpadFile != None:
self.window.title("Jpad Text Editor" + " File: " + str(self.jpadFile))
self.jpadFile = open(str(self.jpadFile), "r")
self.contents = self.jpadFile.read()
self.textPad.delete(0.0, END)
self.textPad.insert(0.0, self.contents)
self.jpadFile.close()
try:
if self.jpadFile != None:
self.window.title("Jpad Text Editor" + " File: " + str(self.jpadFile))
self.jpadFile = open(str(self.jpadFile), "r")
self.contents = self.jpadFile.read()
self.textPad.delete(0.0, END)
self.textPad.insert(0.0, self.contents)
self.jpadFile.close()
except:
pass
self.textPad.pack(expand=YES, fill=BOTH)
def createWindow(self):
self.window = Tk()
self.window = Toplevel(self.master)
self.sWidth = self.window.winfo_screenwidth()
self.sHeight = self.window.winfo_screenheight()
self.window.title("Jpad")
@ -191,23 +196,21 @@ class jpadEditor:
self.window.mainloop()
def __init__(self, file=None):
self.recentAdd = open("JDE/Recent", "a")
self.recentAdd.write("\n")
self.recentAdd.write("jpad")
self.recentAdd.close()
def __init__(self, master, file=None):
self.jpadFile = file
self.master = master
self.width = "500"
self.height = "400"
self.appFocus = 1
self.widthHeight = self.width + "x" + self.height
self.menuColour = config["colour"].replace("\n", "")
try:
self.menuColour = config["colour"].replace("\n", "")
except:
self.menuColour = None
self.font = ["Arial", "11", "normal"]
try:
self.appIcon = Button(self.toolbar, text="Jpad", command=self.focusApp)
self.appIcon.pack(side=LEFT, fill=Y)
except:
pass
self.createWindow()
if __name__ == "__main__":
jpadEditor(None)

View file

@ -3,7 +3,7 @@ from tkinter import *
from tkinter import messagebox
def mine_sweeper(colour="#39d972"):
def mine_sweeper(master, colour="#39d972"):
class MineSweeperCell(Label):
'''Creates a minesweeper square that is part of a grid'''
@ -256,7 +256,7 @@ def mine_sweeper(colour="#39d972"):
height = 10
numBombs = 30
global root
root = Tk()
root = Toplevel(master)
root.maxsize(270, 335)
root.minsize(270, 335)
root.title('Minesweeper')
@ -264,7 +264,4 @@ def mine_sweeper(colour="#39d972"):
game = MineSweeperGrid(root, width, height, numBombs)
game.mainloop()
__init__()
mine_sweeper()
__init__()