-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrender.py
More file actions
89 lines (79 loc) · 3.69 KB
/
render.py
File metadata and controls
89 lines (79 loc) · 3.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
import tkinter as tk
import creator
import handler
def renderButton(button, index):
if index % 2:
button.pack(fill = tk.X, pady = 5)
else:
button.pack(fill = tk.X, pady = 20)
def clearDisplay(displayContainer):
for frame in displayContainer.winfo_children():
frame.destroy()
def setupPage(displayContainer):
clearDisplay(displayContainer)
frame = creator.createFrame(displayContainer, 570, 600)
frame.pack_propagate(False)
return frame
def renderPage(frame, elements):
for element in elements:
element.pack(pady = 10)
frame.pack()
def renderMergePage(displayContainer):
pdfs = []
flag = [False]
frame = setupPage(displayContainer)
elements = [
creator.createLabel(frame, 20, "Click the following button to add PDF files and click cancel in the dialog box to stop adding the files.", 500),
creator.createButton(frame, "Add PDFs", 20),
creator.createLabel(frame, 20, "Click the following button to reorder, merge PDFs.", 500),
creator.createButton(frame, "Reorder and Merge PDFs", 20),
]
elements[1].configure(command = lambda: handler.addPDFs(pdfs, flag))
elements[3].configure(command = lambda: handler.openMergeWindow(pdfs, flag))
renderPage(frame, elements)
def renderSplitPage(displayContainer):
pdf = [None]
frame = setupPage(displayContainer)
elements = [
creator.createLabel(frame, 20, "Click the following button to add a PDF file.", 500),
creator.createButton(frame, "Add PDF", 20),
creator.createLabel(frame, 20, "Total no. of pages : -"),
creator.createLabel(frame, 19, "Enter the page numbers seperated by \",\". (For example: 1, 3, 15). This results in the following partitions: (1, 2-3, 4-15, 16-END)", 500),
creator.createEntry(frame, 35, 19),
creator.createButton(frame, "Split PDF", 20)
]
elements[1].configure(command = lambda: handler.addPDF(pdf, elements[2]))
elements[5].configure(command = lambda: handler.splitPDF(pdf, elements[4]))
renderPage(frame, elements)
def renderDeletePage(displayContainer):
pdf = [None]
frame = setupPage(displayContainer)
elements = [
creator.createLabel(frame, 20, "Click the following button to add a PDF file.", 500),
creator.createButton(frame, "Add PDF", 20),
creator.createLabel(frame, 20, "Total no. of pages : -"),
creator.createLabel(frame, 19, "Enter the page numbers seperated by \",\". (For example: 1, 3, 11-15)", 500),
creator.createEntry(frame, 35, 19),
creator.createButton(frame, "Delete pages", 20)
]
elements[1].configure(command = lambda: handler.addPDF(pdf, elements[2]))
elements[5].configure(command = lambda: handler.deletePages(pdf, elements[4]))
renderPage(frame, elements)
def renderRotatePage(displayContainer):
pdf = [None]
frame = setupPage(displayContainer)
usrChoice1 = tk.IntVar()
usrChoice2 = tk.IntVar()
rotateOptions = creator.createRotateOptions(frame, usrChoice1, usrChoice2)
elements = [
creator.createLabel(frame, 20, "Click the following button to add a PDF file.", 500),
creator.createButton(frame, "Add PDF", 20),
creator.createLabel(frame, 20, "Total no. of pages : -"),
creator.createLabel(frame, 19, "Enter the page numbers seperated by \",\". (For example: 1, 3, 11-15)", 500),
creator.createEntry(frame, 35, 19),
rotateOptions,
creator.createButton(frame, "Rotate pages", 20)
]
elements[1].configure(command = lambda: handler.addPDF(pdf, elements[2]))
elements[6].configure(command = lambda: handler.rotatePages(pdf, elements[4], usrChoice1.get(), usrChoice2.get()))
renderPage(frame, elements)