Size convert abstraction. Better sizing for multiline, color chooser can now target it's button, ability to set default error button color
This commit is contained in:
parent
88abf75fa7
commit
1a08f8e073
|
@ -102,7 +102,8 @@ DEFAULT_BUTTON_ELEMENT_SIZE = (80, 25 ) # In PIXELS
|
||||||
DEFAULT_MARGINS = (10, 5) # Margins for each LEFT/RIGHT margin is first term
|
DEFAULT_MARGINS = (10, 5) # Margins for each LEFT/RIGHT margin is first term
|
||||||
DEFAULT_ELEMENT_PADDING = (4, 2) # Padding between elements (row, col) in pixels
|
DEFAULT_ELEMENT_PADDING = (4, 2) # Padding between elements (row, col) in pixels
|
||||||
# DEFAULT_ELEMENT_PADDING = (0, 0) # Padding between elements (row, col) in pixels
|
# DEFAULT_ELEMENT_PADDING = (0, 0) # Padding between elements (row, col) in pixels
|
||||||
|
DEFAULT_PIXELS_TO_CHARS_SCALING = (10,25) # 1 character represents x by y pixels
|
||||||
|
DEFAULT_PIXEL_TO_CHARS_CUTOFF = 10 # number of chars that triggers using pixels instead of chars
|
||||||
DEFAULT_AUTOSIZE_TEXT = True
|
DEFAULT_AUTOSIZE_TEXT = True
|
||||||
DEFAULT_AUTOSIZE_BUTTONS = True
|
DEFAULT_AUTOSIZE_BUTTONS = True
|
||||||
DEFAULT_FONT = ("Helvetica", 10)
|
DEFAULT_FONT = ("Helvetica", 10)
|
||||||
|
@ -1020,7 +1021,7 @@ class Multiline(Element, QWidget):
|
||||||
self.ChangeSubmits = change_submits or enable_events
|
self.ChangeSubmits = change_submits or enable_events
|
||||||
tsize = size # convert tkinter size to pixels
|
tsize = size # convert tkinter size to pixels
|
||||||
if size[0] is not None and size[0] < 100:
|
if size[0] is not None and size[0] < 100:
|
||||||
tsize = convert_tkinter_size_to_Qt(size)
|
tsize = size[0]*DEFAULT_PIXELS_TO_CHARS_SCALING[0], size[1]*DEFAULT_PIXELS_TO_CHARS_SCALING[1]
|
||||||
self.QT_TextEdit = None
|
self.QT_TextEdit = None
|
||||||
|
|
||||||
super().__init__(ELEM_TYPE_INPUT_MULTILINE, size=tsize, auto_size_text=auto_size_text, background_color=bg,
|
super().__init__(ELEM_TYPE_INPUT_MULTILINE, size=tsize, auto_size_text=auto_size_text, background_color=bg,
|
||||||
|
@ -1381,8 +1382,8 @@ class Button(Element):
|
||||||
qcolor = QColorDialog.getColor()
|
qcolor = QColorDialog.getColor()
|
||||||
rgb_color = qcolor.getRgb()
|
rgb_color = qcolor.getRgb()
|
||||||
color= '#' + ''.join('%02x'% i for i in rgb_color[:3])
|
color= '#' + ''.join('%02x'% i for i in rgb_color[:3])
|
||||||
if target_element.Type == ELEM_TYPE_BUTTON:
|
if self.Target == (None, None):
|
||||||
target_element.ColorChosen = color
|
self.FileOrFolderName = color
|
||||||
else:
|
else:
|
||||||
target_element.Update(color)
|
target_element.Update(color)
|
||||||
elif self.BType == BUTTON_TYPE_BROWSE_FILES:
|
elif self.BType == BUTTON_TYPE_BROWSE_FILES:
|
||||||
|
@ -1589,7 +1590,8 @@ class ProgressBar(Element):
|
||||||
self.StartValue = start_value
|
self.StartValue = start_value
|
||||||
tsize = size
|
tsize = size
|
||||||
if size[0] is not None and size[0] < 100:
|
if size[0] is not None and size[0] < 100:
|
||||||
tsize = size[0]*10, size[1]*3
|
# tsize = size[0] * DEFAULT_PIXELS_TO_CHARS_SCALING[0], size[1] * DEFAULT_PIXELS_TO_CHARS_SCALING[1]
|
||||||
|
tsize = size[0]*10, size[1]
|
||||||
self.QT_QProgressBar = None
|
self.QT_QProgressBar = None
|
||||||
|
|
||||||
super().__init__(ELEM_TYPE_PROGRESS_BAR, size=tsize, auto_size_text=auto_size_text, key=key, pad=pad, visible=visible, size_px=size_px)
|
super().__init__(ELEM_TYPE_PROGRESS_BAR, size=tsize, auto_size_text=auto_size_text, key=key, pad=pad, visible=visible, size_px=size_px)
|
||||||
|
@ -1614,8 +1616,7 @@ class ProgressBar(Element):
|
||||||
# Image #
|
# Image #
|
||||||
# ---------------------------------------------------------------------- #
|
# ---------------------------------------------------------------------- #
|
||||||
class Image(Element):
|
class Image(Element):
|
||||||
def __init__(self, filename=None, data=None, data_base64=None, background_color=None, size=(None, None), pad=None, key=None,
|
def __init__(self, filename=None, data=None, data_base64=None, background_color=None, size=(None, None), pad=None, key=None, tooltip=None, click_submits=False, enable_events=False, visible=True, size_px=(None,None)):
|
||||||
tooltip=None, click_submits=False, enable_events=False, visible=True, size_px=(None,None)):
|
|
||||||
'''
|
'''
|
||||||
Image Element
|
Image Element
|
||||||
:param filename:
|
:param filename:
|
||||||
|
@ -3626,8 +3627,8 @@ def convert_tkinter_size_to_Qt(size):
|
||||||
:return: size in pixels, pixels
|
:return: size in pixels, pixels
|
||||||
"""
|
"""
|
||||||
qtsize = size
|
qtsize = size
|
||||||
if size[1] is not None and size[1] < 10: # change from character based size to pixels (roughly)
|
if size[1] is not None and size[1] < DEFAULT_PIXEL_TO_CHARS_CUTOFF: # change from character based size to pixels (roughly)
|
||||||
qtsize = size[0]*10, size[1]*25
|
qtsize = size[0]*DEFAULT_PIXELS_TO_CHARS_SCALING[0], size[1]*DEFAULT_PIXELS_TO_CHARS_SCALING[1]
|
||||||
return qtsize
|
return qtsize
|
||||||
|
|
||||||
|
|
||||||
|
@ -5209,6 +5210,7 @@ def PackFormIntoFrame(window, containing_frame, toplevel_win):
|
||||||
element.QT_QTreeWidget.setFixedWidth(element_size[0])
|
element.QT_QTreeWidget.setFixedWidth(element_size[0])
|
||||||
element.QT_QTreeWidget.setFixedHeight(element_size[1])
|
element.QT_QTreeWidget.setFixedHeight(element_size[1])
|
||||||
height = element.NumRows
|
height = element.NumRows
|
||||||
|
element.QT_QTreeWidget.setFixedHeight(height*25) # convert num rows into pixels...crude but effective
|
||||||
|
|
||||||
if element.ColumnsToDisplay is None: # Which cols to display
|
if element.ColumnsToDisplay is None: # Which cols to display
|
||||||
displaycolumns = element.ColumnHeadings
|
displaycolumns = element.ColumnHeadings
|
||||||
|
@ -5949,7 +5951,7 @@ def SetOptions(icon=None, button_color=None, element_size=(None, None), button_e
|
||||||
text_justification=None, background_color=None, element_background_color=None,
|
text_justification=None, background_color=None, element_background_color=None,
|
||||||
text_element_background_color=None, input_elements_background_color=None, input_text_color=None,
|
text_element_background_color=None, input_elements_background_color=None, input_text_color=None,
|
||||||
scrollbar_color=None, text_color=None, element_text_color=None, debug_win_size=(None, None),
|
scrollbar_color=None, text_color=None, element_text_color=None, debug_win_size=(None, None),
|
||||||
window_location=(None, None),
|
window_location=(None, None), error_button_color=(None,None),
|
||||||
tooltip_time=None):
|
tooltip_time=None):
|
||||||
global DEFAULT_ELEMENT_SIZE
|
global DEFAULT_ELEMENT_SIZE
|
||||||
global DEFAULT_BUTTON_ELEMENT_SIZE
|
global DEFAULT_BUTTON_ELEMENT_SIZE
|
||||||
|
@ -5982,6 +5984,7 @@ def SetOptions(icon=None, button_color=None, element_size=(None, None), button_e
|
||||||
global DEFAULT_ELEMENT_TEXT_COLOR
|
global DEFAULT_ELEMENT_TEXT_COLOR
|
||||||
global DEFAULT_INPUT_TEXT_COLOR
|
global DEFAULT_INPUT_TEXT_COLOR
|
||||||
global DEFAULT_TOOLTIP_TIME
|
global DEFAULT_TOOLTIP_TIME
|
||||||
|
global DEFAULT_ERROR_BUTTON_COLOR
|
||||||
global _my_windows
|
global _my_windows
|
||||||
|
|
||||||
if icon:
|
if icon:
|
||||||
|
@ -6085,6 +6088,10 @@ def SetOptions(icon=None, button_color=None, element_size=(None, None), button_e
|
||||||
if tooltip_time is not None:
|
if tooltip_time is not None:
|
||||||
DEFAULT_TOOLTIP_TIME = tooltip_time
|
DEFAULT_TOOLTIP_TIME = tooltip_time
|
||||||
|
|
||||||
|
if error_button_color != (None,None):
|
||||||
|
print('error button')
|
||||||
|
DEFAULT_ERROR_BUTTON_COLOR = error_button_color
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
@ -6743,7 +6750,7 @@ PopupTimed = PopupAutoClose
|
||||||
|
|
||||||
|
|
||||||
# --------------------------- PopupError ---------------------------
|
# --------------------------- PopupError ---------------------------
|
||||||
def PopupError(*args, title=None, button_color=DEFAULT_ERROR_BUTTON_COLOR, background_color=None, text_color=None, auto_close=False,
|
def PopupError(*args, title=None, button_color=(None, None), background_color=None, text_color=None, auto_close=False,
|
||||||
auto_close_duration=None, non_blocking=False, icon=DEFAULT_WINDOW_ICON, line_width=None, font=None,
|
auto_close_duration=None, non_blocking=False, icon=DEFAULT_WINDOW_ICON, line_width=None, font=None,
|
||||||
no_titlebar=False, grab_anywhere=False, keep_on_top=False, location=(None, None)):
|
no_titlebar=False, grab_anywhere=False, keep_on_top=False, location=(None, None)):
|
||||||
"""
|
"""
|
||||||
|
@ -6765,8 +6772,9 @@ def PopupError(*args, title=None, button_color=DEFAULT_ERROR_BUTTON_COLOR, backg
|
||||||
:param location:
|
:param location:
|
||||||
:return:
|
:return:
|
||||||
"""
|
"""
|
||||||
|
tbutton_color = DEFAULT_ERROR_BUTTON_COLOR if button_color == (None, None) else button_color
|
||||||
Popup(*args, title=title, button_type=POPUP_BUTTONS_ERROR, background_color=background_color, text_color=text_color,
|
Popup(*args, title=title, button_type=POPUP_BUTTONS_ERROR, background_color=background_color, text_color=text_color,
|
||||||
non_blocking=non_blocking, icon=icon, line_width=line_width, button_color=button_color, auto_close=auto_close,
|
non_blocking=non_blocking, icon=icon, line_width=line_width, button_color=tbutton_color, auto_close=auto_close,
|
||||||
auto_close_duration=auto_close_duration, font=font, no_titlebar=no_titlebar, grab_anywhere=grab_anywhere,
|
auto_close_duration=auto_close_duration, font=font, no_titlebar=no_titlebar, grab_anywhere=grab_anywhere,
|
||||||
keep_on_top=keep_on_top, location=location)
|
keep_on_top=keep_on_top, location=location)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue