Spin Element change_submits feature, can change font when updating Text Element, CHANGE TO PACKED ROWS
Important change to how "rows" are placed into form. Switched from Grid to packed. SHOULD be ok, but it's a big change.
This commit is contained in:
parent
f574f33318
commit
310fe845e4
|
@ -421,7 +421,7 @@ class Checkbox(Element):
|
||||||
class Spin(Element):
|
class Spin(Element):
|
||||||
# Values = None
|
# Values = None
|
||||||
# TKSpinBox = None
|
# TKSpinBox = None
|
||||||
def __init__(self, values, initial_value=None, scale=(None, None), size=(None, None), auto_size_text=None, font=None, background_color=None, text_color=None, key=None, pad=None):
|
def __init__(self, values, initial_value=None, change_submits=False, scale=(None, None), size=(None, None), auto_size_text=None, font=None, background_color=None, text_color=None, key=None, pad=None):
|
||||||
'''
|
'''
|
||||||
Spin Box Element
|
Spin Box Element
|
||||||
:param values:
|
:param values:
|
||||||
|
@ -434,6 +434,7 @@ class Spin(Element):
|
||||||
'''
|
'''
|
||||||
self.Values = values
|
self.Values = values
|
||||||
self.DefaultValue = initial_value
|
self.DefaultValue = initial_value
|
||||||
|
self.ChangeSubmits = change_submits
|
||||||
self.TKSpinBox = None
|
self.TKSpinBox = None
|
||||||
bg = background_color if background_color else DEFAULT_INPUT_ELEMENTS_COLOR
|
bg = background_color if background_color else DEFAULT_INPUT_ELEMENTS_COLOR
|
||||||
fg = text_color if text_color is not None else DEFAULT_INPUT_TEXT_COLOR
|
fg = text_color if text_color is not None else DEFAULT_INPUT_TEXT_COLOR
|
||||||
|
@ -441,6 +442,13 @@ class Spin(Element):
|
||||||
super().__init__(ELEM_TYPE_INPUT_SPIN, scale, size, auto_size_text, font=font,background_color=bg, text_color=fg, key=key, pad=pad)
|
super().__init__(ELEM_TYPE_INPUT_SPIN, scale, size, auto_size_text, font=font,background_color=bg, text_color=fg, key=key, pad=pad)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
def SpinChangedHandler(self, event):
|
||||||
|
# first, get the results table built
|
||||||
|
# modify the Results table in the parent FlexForm object
|
||||||
|
self.ParentForm.LastButtonClicked = ''
|
||||||
|
self.ParentForm.FormRemainedOpen = True
|
||||||
|
self.ParentForm.TKroot.quit() # kick the users out of the mainloop
|
||||||
|
|
||||||
def __del__(self):
|
def __del__(self):
|
||||||
try:
|
try:
|
||||||
self.TKSpinBox.__del__()
|
self.TKSpinBox.__del__()
|
||||||
|
@ -509,7 +517,7 @@ class Text(Element):
|
||||||
super().__init__(ELEM_TYPE_TEXT, scale, size, auto_size_text, background_color=bg, font=font if font else DEFAULT_FONT, text_color=self.TextColor, pad=pad)
|
super().__init__(ELEM_TYPE_TEXT, scale, size, auto_size_text, background_color=bg, font=font if font else DEFAULT_FONT, text_color=self.TextColor, pad=pad)
|
||||||
return
|
return
|
||||||
|
|
||||||
def Update(self, new_value = None, background_color=None, text_color=None):
|
def Update(self, new_value = None, background_color=None, text_color=None, font=None):
|
||||||
if new_value is not None:
|
if new_value is not None:
|
||||||
self.DisplayText=new_value
|
self.DisplayText=new_value
|
||||||
stringvar = self.TKStringVar
|
stringvar = self.TKStringVar
|
||||||
|
@ -518,6 +526,9 @@ class Text(Element):
|
||||||
self.TKText.configure(background=background_color)
|
self.TKText.configure(background=background_color)
|
||||||
if text_color is not None:
|
if text_color is not None:
|
||||||
self.TKText.configure(fg=text_color)
|
self.TKText.configure(fg=text_color)
|
||||||
|
if font is not None:
|
||||||
|
self.TKText.configure(font=font)
|
||||||
|
|
||||||
|
|
||||||
def __del__(self):
|
def __del__(self):
|
||||||
super().__del__()
|
super().__del__()
|
||||||
|
@ -1803,6 +1814,8 @@ def PackFormIntoFrame(form, containing_frame, toplevel_form):
|
||||||
element.TKSpinBox.pack(side=tk.LEFT, padx=element.Pad[0], pady=element.Pad[1])
|
element.TKSpinBox.pack(side=tk.LEFT, padx=element.Pad[0], pady=element.Pad[1])
|
||||||
if text_color is not None and text_color != COLOR_SYSTEM_DEFAULT:
|
if text_color is not None and text_color != COLOR_SYSTEM_DEFAULT:
|
||||||
element.TKSpinBox.configure(fg=text_color)
|
element.TKSpinBox.configure(fg=text_color)
|
||||||
|
if element.ChangeSubmits:
|
||||||
|
element.TKSpinBox.bind('<ButtonRelease-1>', element.SpinChangedHandler)
|
||||||
# ------------------------- OUTPUT element ------------------------- #
|
# ------------------------- OUTPUT element ------------------------- #
|
||||||
elif element_type == ELEM_TYPE_OUTPUT:
|
elif element_type == ELEM_TYPE_OUTPUT:
|
||||||
width, height = element_size
|
width, height = element_size
|
||||||
|
@ -1870,7 +1883,8 @@ def PackFormIntoFrame(form, containing_frame, toplevel_form):
|
||||||
element.TKScale = tkscale
|
element.TKScale = tkscale
|
||||||
#............................DONE WITH ROW pack the row of widgets ..........................#
|
#............................DONE WITH ROW pack the row of widgets ..........................#
|
||||||
# done with row, pack the row of widgets
|
# done with row, pack the row of widgets
|
||||||
tk_row_frame.grid(row=row_num+2, sticky=tk.NW, padx=DEFAULT_MARGINS[0])
|
# tk_row_frame.grid(row=row_num+2, sticky=tk.NW, padx=DEFAULT_MARGINS[0])
|
||||||
|
tk_row_frame.pack(side=tk.TOP, anchor='sw', padx=DEFAULT_MARGINS[0])
|
||||||
|
|
||||||
if form.BackgroundColor is not None and form.BackgroundColor != COLOR_SYSTEM_DEFAULT:
|
if form.BackgroundColor is not None and form.BackgroundColor != COLOR_SYSTEM_DEFAULT:
|
||||||
tk_row_frame.configure(background=form.BackgroundColor)
|
tk_row_frame.configure(background=form.BackgroundColor)
|
||||||
|
|
Loading…
Reference in New Issue