-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcomment_box.py
66 lines (44 loc) · 1.88 KB
/
comment_box.py
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
import tkinter as tk
from tkinter import *
from tkinter import ttk
from tkinter.ttk import *
import double_scrollbar
def edit_comments(component):
mainapp = component.mainapp
w=Edit_Comments_Window(mainapp, mainapp.master, component)
mainapp.master.wait_window(w.top)
def insert_comments_text(text_widget, text):
text_widget.config(state='normal')
text_widget.delete('1.0', END)
text_widget.insert('1.0', text)
text_widget.config(state='disabled')
class Edit_Comments_Window():
def __init__(self, mainapp, master, component):
top=self.top=Toplevel(master)
top.grab_set()
self.mainapp = mainapp
self.component = component
self.main_scroll_frame = double_scrollbar.Double_ScrollableFrame(self.top, self.mainapp)
self.main_scroll_frame.pack(fill=tk.BOTH, expand=True)
#create text box
self.text = tk.Text(self.main_scroll_frame.inner, width = 110, height = 40)
self.text.pack()
#get existing text and add
self.orig_text = component.comment_text.get("1.0","end")
self.text.insert("1.0", self.orig_text)
Button(self.main_scroll_frame.inner, text = 'ok', command = lambda button = 'ok': self.cleanup(button)).pack()
Button(self.main_scroll_frame.inner, text = 'cancel', command = lambda button = 'cancel': self.cleanup(button)).pack()
self.top.geometry("1100x750")
def cleanup(self, button):
self.button = button
if self.button == 'ok':
#create undo redo component
#add new text to the existing text box
self.component.comment_text.config(state='normal')
self.component.comment_text.delete('1.0', END)
self.component.comment_text.insert("1.0", self.text.get("1.0","end"))
self.component.comment_text.config(state='disabled')
self.mainapp.states.component_updated('comment', self.component, self.orig_text)
self.top.destroy()
else:
self.top.destroy()