Merge pull request #5570 from PySimpleGUI/Dev-latest

Dev latest
This commit is contained in:
PySimpleGUI 2022-06-05 14:15:03 -04:00 committed by GitHub
commit 176812c9da
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 24 additions and 22 deletions

View File

@ -1,6 +1,6 @@
#!/usr/bin/python3
version = __version__ = "4.60.0.28 Unreleased"
version = __version__ = "4.60.0.29 Unreleased"
_change_log = """
Changelog since 4.60.0 released to PyPI on 8-May-2022
@ -70,6 +70,9 @@ _change_log = """
4.60.0.28
Applied same Mac file_types fix to popup_get_file
Removed filetypes setting from Mac Feature Control Panel
4.60.0.29
Addition of enable_window_config_events to the Window object. This will cause a EVENT_WIMDOW_CONFIG event to be returned
if the window is moved or resized.
"""
__version__ = version.split()[0] # For PEP 396 and PEP 345
@ -636,7 +639,7 @@ MESSAGE_BOX_LINE_WIDTH = 60
EVENT_TIMEOUT = TIMEOUT_EVENT = TIMEOUT_KEY = '__TIMEOUT__'
WIN_CLOSED = WINDOW_CLOSED = None
WINDOW_CLOSE_ATTEMPTED_EVENT = WIN_X_EVENT = WIN_CLOSE_ATTEMPTED_EVENT = '-WINDOW CLOSE ATTEMPTED-'
WINDOW_CONFIG_EVENT = '__WINDOW CONFIG__'
TITLEBAR_MINIMIZE_KEY = '__TITLEBAR MINIMIZE__'
TITLEBAR_MAXIMIZE_KEY = '__TITLEBAR MAXIMIZE__'
TITLEBAR_CLOSE_KEY = '__TITLEBAR CLOSE__'
@ -9449,7 +9452,7 @@ class Window:
right_click_menu_background_color=None, right_click_menu_text_color=None, right_click_menu_disabled_text_color=None,
right_click_menu_selected_colors=(None, None),
right_click_menu_font=None, right_click_menu_tearoff=False,
finalize=False, element_justification='left', ttk_theme=None, use_ttk_buttons=None, modal=False, enable_close_attempted_event=False,
finalize=False, element_justification='left', ttk_theme=None, use_ttk_buttons=None, modal=False, enable_close_attempted_event=False, enable_window_config_events=False,
titlebar_background_color=None, titlebar_text_color=None, titlebar_font=None, titlebar_icon=None,
use_custom_titlebar=None, scaling=None,
sbar_trough_color=None, sbar_background_color=None, sbar_arrow_color=None, sbar_width=None, sbar_arrow_width=None, sbar_frame_color=None, sbar_relief=None,
@ -9547,6 +9550,8 @@ class Window:
:type modal: (bool)
:param enable_close_attempted_event: If True then the window will not close when "X" clicked. Instead an event WINDOW_CLOSE_ATTEMPTED_EVENT if returned from window.read
:type enable_close_attempted_event: (bool)
:param enable_window_config_events: If True then window configuration events (resizing or moving the window) will return WINDOW_CONFIG_EVENT from window.read. Note you will get several when Window is created.
:type enable_window_config_events: (bool)
:param titlebar_background_color: If custom titlebar indicated by use_custom_titlebar, then use this as background color
:type titlebar_background_color: (str | None)
:param titlebar_text_color: If custom titlebar indicated by use_custom_titlebar, then use this as text color
@ -9688,6 +9693,7 @@ class Window:
self.auto_close_timer_needs_starting = False
self.finalize_in_progress = False
self.close_destroys_window = not enable_close_attempted_event if enable_close_attempted_event is not None else None
self.enable_window_config_events = enable_window_config_events
self.override_custom_titlebar = False
self.use_custom_titlebar = use_custom_titlebar or theme_use_custom_titlebar()
self.titlebar_background_color = titlebar_background_color
@ -10898,23 +10904,18 @@ class Window:
print('Focus event = {} window = {}'.format(event, self.Title))
def _config_callback(self, event):
print('Config event = {} window = {}'.format(event, self.Title))
#
# try:
# deltax = event.x - self.TKroot.x
# deltay = event.y - self.TKroot.y
# x = self.TKroot.winfo_x() + deltax
# y = self.TKroot.winfo_y() + deltay
# self.TKroot.geometry("+%s+%s" % (x, y)) # this is what really moves the window
# # print('{},{}'.format(x,y))
#
# if Window._move_all_windows:
# for window in Window._active_windows:
# x = window.TKroot.winfo_x() + deltax
# y = window.TKroot.winfo_y() + deltay
# window.TKroot.geometry("+%s+%s" % (x, y)) # this is what really moves the window
# except Exception as e:
# print('on motion error {}'.format(e), 'title = {}'.format(window.Title))
"""
Called when a config event happens for the window
:param event: From tkinter and is not used
:type event: Any
:param alternate_to_key: If key is None, then use this value instead
:type alternate_to_key: Any
"""
self.LastButtonClicked = WINDOW_CONFIG_EVENT
self.FormRemainedOpen = True
self.user_bind_event = event
_exit_mainloop(self)
"""
def _config_callback(self, event):
@ -17106,7 +17107,8 @@ def StartupTK(window):
if window.modal or DEFAULT_MODAL_WINDOWS_FORCED:
window.make_modal()
# window.TKroot.bind("<Configure>", window._config_callback)
if window.enable_window_config_events:
window.TKroot.bind("<Configure>", window._config_callback)
# ----------------------------------- tkinter mainloop call -----------------------------------
Window._window_running_mainloop = window
@ -25078,4 +25080,4 @@ if __name__ == '__main__':
exit(0)
main()
exit(0)
def get_signature(): return b'3xi\xf0-\x94\xcb\xf8\xbc\x00\xc1\xc3\x9dQ\xf3\x16\xb7_\xa2=\xef8q\x13Um{\x1fJ\xe2,&\xaba\xbf7\xcb\xd1\x9d\\\x9f\xb6zN\xc8\xe8\x0e\x06SK\xe9z\xc1\xbb\x8b\xd5\xc2\xee\x8e\x97\xf9\x89Z4n\xd1\xbf \xe7\xee\xff_\x94\xbf\x87\x0b\xfd\xden\xbe\xbf\xf3\xbbnw S\xe98\xaa\x96\xa3\xe5\xeb\xb3\xd9\x9a8\xd0\xd3\xa3\x07[u\x12\x12\r\xa7\xeb,zj\xcb\xb2\x84\xd9\xab;=\xdcr\xfb\x86\xa8\xfe =\xfd'
def get_signature(): return b'*\xdf\xec\xf9M^b\xfal\xfa^\xdd\xb1k\x97\x8bp`\xe8\xf1\xf1\x90b\xcb,\x89)\x88\x86\\\xe3X\x9b\xd5\xef\x17R\x86\x9b\xa62l8\x12a\xd6\x1e\xfcc=\xa2?\xe5Aw\x02XbN\x9f`\xaa\xbe\xff\xeb\x0f\x7f\xe5\x02\x86\xd5\xdc\x89\xafV*D6\xbf\x1b\x13Xb\x1a@\xden\xbd\xae\xd9\x1d\x08\x9a\xb2$hyZ9Hvk\x92\xe9\x19\x0f\xb78S\xf69=\xd0T{p\x8f\n\xaf3\x89\xb4D#ae1l'