(location, test_window=False)
| 44 | |
| 45 | |
| 46 | def make_window(location, test_window=False): |
| 47 | title_font = sg.user_settings_get_entry('-title font-', 'Courier 8') |
| 48 | button_font = sg.user_settings_get_entry('-button font-', 'Courier 20') |
| 49 | sg.user_settings_set_entry('-button font-', button_font) |
| 50 | title = sg.user_settings_get_entry('-title-', '') |
| 51 | main_number_font = sg.user_settings_get_entry('-main number font-', 'Courier 70') |
| 52 | sg.user_settings_set_entry('-main number font-', main_number_font) |
| 53 | |
| 54 | if not test_window: |
| 55 | theme = sg.user_settings_get_entry('-theme-', THEME) |
| 56 | sg.theme(theme) |
| 57 | |
| 58 | alpha = sg.user_settings_get_entry('-alpha-', ALPHA) |
| 59 | |
| 60 | # ------------------- Window Layout ------------------- |
| 61 | # If this is a test window (for choosing theme), then uses some extra Text Elements to display theme info |
| 62 | # and also enables events for the elements to make the window easy to close |
| 63 | if test_window: |
| 64 | top_elements = [[sg.Text(title, font=title_font, k='-TITLE-', enable_events=True)], |
| 65 | [sg.Text('Click to close', font=title_font, enable_events=True)], |
| 66 | [sg.Text('This is theme', font=title_font, enable_events=True)], |
| 67 | [sg.Text(sg.theme(), font=title_font, enable_events=True)]] |
| 68 | right_click_menu = [[''], ['Exit', ]] |
| 69 | else: |
| 70 | top_elements = [[sg.Stretch(), sg.Text(title, font=title_font, k='-TITLE-'), sg.Stretch()]] |
| 71 | |
| 72 | right_click_menu = [[''], |
| 73 | ['Set Counter', 'Choose Title', 'Edit Me', 'Change Theme', 'Set Button Font', |
| 74 | 'Set Title Font', 'Set Main Font', 'Set Click Sound', 'Show Settings', 'Alpha', [str(x) for x in range(1, 11)], 'Exit', ]] |
| 75 | |
| 76 | layout = top_elements + \ |
| 77 | [[sg.Column([[sg.pin(sg.Text('0', font=main_number_font, k='-MAIN INFO NUM-', justification='c', enable_events=test_window, pad=(0, 0)))]],justification='c', element_justification='c', pad=0)]] + \ |
| 78 | [[sg.T('+', font=button_font, enable_events=True, pad=0), sg.Stretch(), sg.T('-', font=button_font, enable_events=True, pad=0)]] |
| 79 | |
| 80 | try: |
| 81 | window = sg.Window('Clicky Counter', layout, location=location, no_titlebar=True, grab_anywhere=True, margins=(0, 0), element_padding=0, alpha_channel=alpha, finalize=True, right_click_menu=right_click_menu, right_click_menu_tearoff=False, |
| 82 | enable_close_attempted_event=True, keep_on_top=True) |
| 83 | except Exception as e: |
| 84 | if sg.popup_yes_no('Error creating your window', e, 'These are your current settings:', sg.user_settings(), |
| 85 | 'Do you want to delete your settings file?') == 'Yes': |
| 86 | sg.user_settings_delete_filename() |
| 87 | sg.popup('Settings deleted.', 'Please restart your program') |
| 88 | exit() |
| 89 | window = None |
| 90 | |
| 91 | return window |
| 92 | |
| 93 | |
| 94 | def main(): |
no outgoing calls
no test coverage detected