Sizegrip element - parm change to grip_image that can be a bytestring or a filename, new SIZE_GRIP_WHITE_BASE64 constant
This commit is contained in:
parent
1bb22307f5
commit
8d4fc14416
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/python3
|
||||
|
||||
version = __version__ = "4.41.2.2 Unreleased\nFix for getting wrong tab number in Tab.update, added bind_return_key to Combo Element, new Sizegrip element, fixed grab_anywhere so that it doesn't grab multiline slider scrollbars input and a few other elements"
|
||||
version = __version__ = "4.41.2.3 Unreleased\nFix for getting wrong tab number in Tab.update, added bind_return_key to Combo Element, new Sizegrip element, fixed grab_anywhere so that it doesn't grab multiline slider scrollbars input and a few other elements, changed Sizegrip parm to be grip_image which can be a filename or a bytestring, added a white sizegrip image in addition to the default black"
|
||||
|
||||
__version__ = version.split()[0] # For PEP 396 and PEP 345
|
||||
|
||||
|
@ -339,6 +339,8 @@ PSG_DEBUGGER_LOGO = b'iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs
|
|||
|
||||
|
||||
SIZE_GRIP_BASE64 = b'iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAI0lEQVR4nGNgGHbgPxTDAdMAOQQ7QHbeIHQqLucNQqfSHgAAGFsL+26GGtQAAAAASUVORK5CYII='
|
||||
SIZE_GRIP_WHITE_BASE64 = b'iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAI0lEQVR4nGNgGF7gPxQgizENlGMwAbLzBqFTcTlvEDqVLgAAg7wv10ZMmzoAAAAASUVORK5CYII='
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -5632,14 +5634,21 @@ HSep = HorizontalSeparator
|
|||
# ---------------------------------------------------------------------- #
|
||||
class Sizegrip(Element):
|
||||
"""
|
||||
Sizegrip
|
||||
Sizegrip element will be added to the bottom right corner of your window.
|
||||
It should be placed on the last row of your window along with any other elements on that row.
|
||||
The color will match the theme's background color.
|
||||
"""
|
||||
|
||||
def __init__(self, background_color=None,):
|
||||
def __init__(self, background_color=None, grip_image=None):
|
||||
"""
|
||||
|
||||
:param background_color: color to use for the background of the grip
|
||||
:type background_color: str
|
||||
:param grip_image: Image to use for the grip. Can be a filename or a base64 byte string. SIZE_GRIP_BASE64 and SIZE_GRIP_SIZE_GRIP_WHITE_BASE64 are predefined grips
|
||||
:type grip_image: bytes | str
|
||||
"""
|
||||
bg = background_color if background_color is not None else theme_background_color()
|
||||
self.grip_image = grip_image if grip_image is not None else SIZE_GRIP_BASE64
|
||||
|
||||
super().__init__(ELEM_TYPE_SIZEGRIP, background_color=bg)
|
||||
|
||||
|
@ -13883,7 +13892,17 @@ def PackFormIntoFrame(form, containing_frame, toplevel_form):
|
|||
style_name = "Sizegrip"
|
||||
style = ttk.Style()
|
||||
style.theme_use(toplevel_form.TtkTheme)
|
||||
image = tk.PhotoImage(data=SIZE_GRIP_BASE64)
|
||||
if isinstance(element.grip_image, bytes):
|
||||
image = tk.PhotoImage(data=element.grip_image)
|
||||
elif isinstance(element.grip_image, str):
|
||||
image = tk.PhotoImage(file=element.grip_image)
|
||||
else:
|
||||
_error_popup_with_traceback('Your Window has a sizegrip',
|
||||
'The traceback will show you the Window with the problem layout',
|
||||
'Look in this Window\'s layout for a Sizegrip element.',
|
||||
'The bad parameter is the parameter grip_image = {}'.format(element.grip_image))
|
||||
image = tk.PhotoImage(data=SIZE_GRIP_BASE64)
|
||||
|
||||
settings = dict()
|
||||
|
||||
settings.update({
|
||||
|
|
Loading…
Reference in New Issue