-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
ec8a752
commit 3908018
Showing
2 changed files
with
54 additions
and
36 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,46 +1,60 @@ | ||
import PySimpleGUI as sg | ||
import imwatchingyou # STEP 1 | ||
import imwatchingyou # STEP 1 | ||
|
||
""" | ||
Demo program that shows you how to integrate the PySimpleGUI Debugger | ||
into your program. | ||
This particular program is a GUI based program simply to make it easier for you to interact and change | ||
things. | ||
In this example, the debugger is not started initiallly. You click the "Debug" button to launch it | ||
There are THREE steps, and they are copy and pastes. | ||
1. At the top of your app to debug add | ||
import imwatchingyou | ||
2. Initialize the debugger at the start of your program by calling: | ||
imwatchingyou.initialize() | ||
3. At the top of your app's Event Loop add: | ||
imwatchingyou.refresh(locals(), globals()) | ||
2. When you want to show a debug window, call one of two functions: | ||
imwatchingyou.show_debug_window() | ||
imwatchingyou.show_popout_window() | ||
3. You must find a location in your code to "refresh" the debugger. Some loop that's executed often. | ||
In this loop add this call: | ||
imwatchingyou.refresh() | ||
""" | ||
|
||
layout = [ | ||
[sg.T('A typical PSG application')], | ||
[sg.In(key='_IN_')], | ||
[sg.T(' ', key='_OUT_')], | ||
[sg.Radio('a',1, key='_R1_'), sg.Radio('b',1, key='_R2_'), sg.Radio('c',1, key='_R3_')], | ||
[sg.Combo(['c1', 'c2', 'c3'], size=(6,3), key='_COMBO_')], | ||
[sg.Output(size=(50,6))], | ||
[sg.Ok(), sg.Exit(), sg.B('Debug')], | ||
] | ||
[sg.T('A typical PSG application')], | ||
[sg.In(key='_IN_')], | ||
[sg.T(' ', key='_OUT_', size=(30, 1))], | ||
[sg.Radio('a', 1, key='_R1_'), | ||
sg.Radio('b', 1, key='_R2_'), | ||
sg.Radio('c', 1, key='_R3_')], | ||
[sg.Combo(['c1', 'c2', 'c3'], size=(6, 3), key='_COMBO_')], | ||
[sg.Output(size=(50, 6))], | ||
[sg.Ok(), sg.Exit(), sg.Button('Debug'), sg.Button('Popout')], | ||
] | ||
|
||
window = sg.Window('This is your Application Window', layout) | ||
|
||
counter = 0 | ||
timeout = 100 | ||
debug_started = False | ||
|
||
while True: # Your Event Loop | ||
if debug_started: | ||
debug_started = imwatchingyou.refresh(locals(), globals()) # STEP 3 - refresh debugger | ||
# Start the program with the popout window showing so you can immediately start debugging! | ||
imwatchingyou.show_debugger_popout_window() | ||
|
||
while True: # Your Event Loop | ||
event, values = window.Read(timeout=timeout) | ||
if event in (None, 'Exit'): | ||
break | ||
elif event == 'Ok': | ||
print('You clicked Ok.... this is where print output goes') | ||
elif event == 'Debug' and not debug_started: | ||
imwatchingyou.initialize() # STEP 2 | ||
debug_started = True | ||
imwatchingyou.show_debugger_popout_window() # STEP 2 also | ||
elif event == 'Debug': | ||
imwatchingyou.show_debugger_window() # STEP 2 | ||
elif event == 'Popout': | ||
imwatchingyou.show_debugger_popout_window() # STEP 2 | ||
counter += 1 | ||
# to prove window is operating, show the input in another area in the window. | ||
window.Element('_OUT_').Update(values['_IN_']) | ||
|
||
# don't worry about the "state" of things, just call this function "frequently" | ||
imwatchingyou.refresh_debugger() # STEP 3 - refresh debugger | ||
|
||
window.Close() |