Issue #18592: Method return signature changes made to SearchDialogBase for
test purposes are now reflected in GrepDialog and ReplaceDialog. Docstrings are improved. Initial patch by Saimadhav Heblikar
This commit is contained in:
parent
c89376292e
commit
e2c409f010
|
@ -45,10 +45,10 @@ class GrepDialog(SearchDialogBase):
|
|||
|
||||
def create_entries(self):
|
||||
SearchDialogBase.create_entries(self)
|
||||
self.globent = self.make_entry("In files:", self.globvar)
|
||||
self.globent = self.make_entry("In files:", self.globvar)[0]
|
||||
|
||||
def create_other_buttons(self):
|
||||
f = self.make_frame()
|
||||
f = self.make_frame()[0]
|
||||
|
||||
btn = Checkbutton(f, anchor="w",
|
||||
variable=self.recvar,
|
||||
|
|
|
@ -40,7 +40,7 @@ class ReplaceDialog(SearchDialogBase):
|
|||
|
||||
def create_entries(self):
|
||||
SearchDialogBase.create_entries(self)
|
||||
self.replent = self.make_entry("Replace with:", self.replvar)
|
||||
self.replent = self.make_entry("Replace with:", self.replvar)[0]
|
||||
|
||||
def create_command_buttons(self):
|
||||
SearchDialogBase.create_command_buttons(self)
|
||||
|
|
|
@ -89,21 +89,29 @@ class SearchDialogBase:
|
|||
self.create_other_buttons() # next row, cols 0, 1
|
||||
self.create_command_buttons() # col 2, all rows
|
||||
|
||||
def make_entry(self, label, var):
|
||||
"Return gridded labeled Entry."
|
||||
l = Label(self.top, text=label)
|
||||
l.grid(row=self.row, column=0, sticky="nw")
|
||||
e = Entry(self.top, textvariable=var, exportselection=0)
|
||||
e.grid(row=self.row, column=1, sticky="nwe")
|
||||
def make_entry(self, label_text, var):
|
||||
'''Return (entry, label), .
|
||||
|
||||
entry - gridded labeled Entry for text entry.
|
||||
label - Label widget, returned for testing.
|
||||
'''
|
||||
label = Label(self.top, text=label_text)
|
||||
label.grid(row=self.row, column=0, sticky="nw")
|
||||
entry = Entry(self.top, textvariable=var, exportselection=0)
|
||||
entry.grid(row=self.row, column=1, sticky="nwe")
|
||||
self.row = self.row + 1
|
||||
return l, e # return label for testing
|
||||
return entry, label
|
||||
|
||||
def create_entries(self):
|
||||
"Create one or more entry lines with make_entry."
|
||||
self.ent = self.make_entry("Find:", self.engine.patvar)[1]
|
||||
self.ent = self.make_entry("Find:", self.engine.patvar)[0]
|
||||
|
||||
def make_frame(self,labeltext=None):
|
||||
"Return gridded labeled Frame for option or other buttons."
|
||||
'''Return (frame, label).
|
||||
|
||||
frame - gridded labeled Frame for option or other buttons.
|
||||
label - Label widget, returned for testing.
|
||||
'''
|
||||
if labeltext:
|
||||
label = Label(self.top, text=labeltext)
|
||||
label.grid(row=self.row, column=0, sticky="nw")
|
||||
|
@ -112,10 +120,15 @@ class SearchDialogBase:
|
|||
frame = Frame(self.top)
|
||||
frame.grid(row=self.row, column=1, columnspan=1, sticky="nwe")
|
||||
self.row = self.row + 1
|
||||
return frame, label # label for test
|
||||
return frame, label
|
||||
|
||||
def create_option_buttons(self):
|
||||
"Fill frame with Checkbuttons bound to SearchEngine booleanvars."
|
||||
'''Return (filled frame, options) for testing.
|
||||
|
||||
Options is a list of SearchEngine booleanvar, label pairs.
|
||||
A gridded frame from make_frame is filled with a Checkbutton
|
||||
for each pair, bound to the var, with the corresponding label.
|
||||
'''
|
||||
frame = self.make_frame("Options")[0]
|
||||
engine = self.engine
|
||||
options = [(engine.revar, "Regular expression"),
|
||||
|
@ -128,10 +141,14 @@ class SearchDialogBase:
|
|||
btn.pack(side="left", fill="both")
|
||||
if var.get():
|
||||
btn.select()
|
||||
return frame, options # for test
|
||||
return frame, options
|
||||
|
||||
def create_other_buttons(self):
|
||||
"Fill frame with buttons tied to other options."
|
||||
'''Return (frame, others) for testing.
|
||||
|
||||
Others is a list of value, label pairs.
|
||||
A gridded frame from make_frame is filled with radio buttons.
|
||||
'''
|
||||
frame = self.make_frame("Direction")[0]
|
||||
var = self.engine.backvar
|
||||
others = [(1, 'Up'), (0, 'Down')]
|
||||
|
@ -139,10 +156,9 @@ class SearchDialogBase:
|
|||
btn = Radiobutton(frame, anchor="w",
|
||||
variable=var, value=val, text=label)
|
||||
btn.pack(side="left", fill="both")
|
||||
#print(var.get(), val, label)
|
||||
if var.get() == val:
|
||||
btn.select()
|
||||
return frame, others # for test
|
||||
return frame, others
|
||||
|
||||
def make_button(self, label, command, isdef=0):
|
||||
"Return command button gridded in command frame."
|
||||
|
|
|
@ -75,7 +75,7 @@ class SearchDialogBaseTest(unittest.TestCase):
|
|||
equal = self.assertEqual
|
||||
self.dialog.row = 0
|
||||
self.dialog.top = Toplevel(self.root)
|
||||
label, entry = self.dialog.make_entry("Test:", 'hello')
|
||||
entry, label = self.dialog.make_entry("Test:", 'hello')
|
||||
equal(label['text'], 'Test:')
|
||||
|
||||
self.assertIn(entry.get(), 'hello')
|
||||
|
|
Loading…
Reference in New Issue