Browse Source

Merge pull request #159 from ceccopierangiolieugenio/dev

Dev
pull/182/head
Ceccopierangiolieugenio 3 years ago committed by GitHub
parent
commit
f9c2a4d97f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 14
      README.md
  2. 18
      TermTk/TTkCore/ttk.py
  3. 2
      demo/demo.py
  4. 2
      demo/gittk.py
  5. 2
      demo/showcase/animation.01.py
  6. 2
      demo/showcase/colorpicker.py
  7. 2
      demo/showcase/dndtabs.py
  8. 2
      demo/showcase/dragndrop.py
  9. 2
      demo/showcase/fancytable.py
  10. 2
      demo/showcase/fancytree.py
  11. 2
      demo/showcase/filepicker.py
  12. 2
      demo/showcase/formwidgets.py
  13. 2
      demo/showcase/graph.py
  14. 2
      demo/showcase/layout_basic.py
  15. 2
      demo/showcase/layout_nested.py
  16. 2
      demo/showcase/layout_span.py
  17. 2
      demo/showcase/list.py
  18. 2
      demo/showcase/menubar.py
  19. 2
      demo/showcase/messagebox.py
  20. 2
      demo/showcase/scrollarea01.py
  21. 2
      demo/showcase/scrollarea02.py
  22. 2
      demo/showcase/sigmask.py
  23. 2
      demo/showcase/splitter.py
  24. 2
      demo/showcase/splitter2.py
  25. 2
      demo/showcase/splitter3.py
  26. 2
      demo/showcase/splitter4.py
  27. 2
      demo/showcase/tab.py
  28. 2
      demo/showcase/textedit.py
  29. 2
      demo/showcase/tree.py
  30. 1
      demo/showcase/windows.py
  31. 1
      demo/showcase/windowsflags.py
  32. 1
      demo/ttkode.old.py
  33. 1
      demo/ttkode.py

14
README.md

@ -91,6 +91,20 @@ python3 demo/gittk.py
# pip install pygments
python3 tests/test.ui.018.TextEdit.Pygments.py README.md
```
#### Debug
There are few ENV Variables that can be used to force some debugging features;
##### (TERMTK_FILE_LOG) - Log to a file
To force logging to a file
```bash
TERMTK_FILE_LOG=session.log python3 demo/demo.py
```
##### (TERMTK_STACKTRACE) - Force stacktrace generation with CTRL+C
Use this env variable to force a stacktrace generation to the file defined (i.e. "**stacktrace.txt**")
```bash
TERMTK_STACKTRACE=stacktrace.txt python3 demo/demo.py
```
#### Profiling
##### [VizTracer](https://pypi.org/project/viztracer/)

18
TermTk/TTkCore/ttk.py

@ -86,6 +86,13 @@ class TTk(TTkWidget):
'paintExecuted')
def __init__(self, *args, **kwargs):
# If the "TERMTK_FILE_LOG" env variable is defined
# logs are saved in the file identified by this variable
# i.e.
# TERMTK_FILE_LOG=session.log python3 demo/demo.py
if ('TERMTK_FILE_LOG' in os.environ and (_logFile := os.environ['TERMTK_FILE_LOG'])):
TTkLog.use_default_file_logging(_logFile)
self.paintExecuted = pyTTkSignal()
super().__init__(*args, **kwargs)
self._termMouse = True
@ -307,7 +314,16 @@ class TTk(TTkWidget):
# TODO: Restart threads
# TODO: Redraw the screen
def _SIGINT(self, signum, frame):
def _SIGINT(self, signum, fraTERMTK_STACKTRACEme):
# If the "TERMTK_STACKTRACE" env variable is defined
# a stacktrace file is generated once CTRL+C is pressed
# i.e.
# TERMTK_STACKTRACE=stacktracetxt python3 demo/demo.py
if ('TERMTK_STACKTRACE' in os.environ and (_stacktraceFile := os.environ['TERMTK_STACKTRACE'])):
with open(_stacktraceFile,'w') as f:
import faulthandler
faulthandler.dump_traceback(f)
TTkLog.debug("Captured SIGINT <CTRL-C>")
# Deregister the handler
# so CTRL-C can be redirected to the default handler if the app does not exit

2
demo/demo.py

@ -260,8 +260,6 @@ def main():
windowed = args.w
mouseTrack = args.t
ttk.TTkLog.use_default_file_logging()
root = ttk.TTk(title="pyTermTk Demo", mouseTrack=mouseTrack)
if windowed:
winTabbed1 = ttk.TTkWindow(parent=root,pos=(0,0), size=(120,40), title="pyTermTk Showcase", border=True, layout=ttk.TTkGridLayout(), flags=ttk.TTkK.NONE)

2
demo/gittk.py

@ -65,8 +65,6 @@ for line in GitHelper.graph():
allCommits.append(c)
commitResults.append((g, cc, a, d))
ttk.TTkLog.use_default_file_logging()
root = ttk.TTk()
if fullscreen:

2
demo/showcase/animation.01.py

@ -253,8 +253,6 @@ def main():
args = parser.parse_args()
windowed = args.w
ttk.TTkLog.use_default_file_logging()
root = ttk.TTk()
if windowed:
rootTree = ttk.TTkWindow(parent=root,pos = (0,0), size=(70,40), title="Test Text Edit", layout=ttk.TTkGridLayout(), border=True)

2
demo/showcase/colorpicker.py

@ -55,8 +55,6 @@ def main():
parser.add_argument('-f', help='Full Screen', action='store_true')
args = parser.parse_args()
ttk.TTkLog.use_default_file_logging()
root = ttk.TTk()
if args.f:
root.setLayout(ttk.TTkGridLayout())

2
demo/showcase/dndtabs.py

@ -67,8 +67,6 @@ def main():
parser.add_argument('-f', help='Full Screen', action='store_true')
args = parser.parse_args()
ttk.TTkLog.use_default_file_logging()
root = ttk.TTk()
if args.f:
rootTab = root

2
demo/showcase/dragndrop.py

@ -84,8 +84,6 @@ def main():
parser.add_argument('-f', help='Full Screen', action='store_true')
args = parser.parse_args()
ttk.TTkLog.use_default_file_logging()
root = ttk.TTk()
if args.f:
rootTree = root

2
demo/showcase/fancytable.py

@ -81,8 +81,6 @@ def demoFancyTable(root=None):
return frame
def main():
ttk.TTkLog.use_default_file_logging()
root = ttk.TTk()
win_table = ttk.TTkWindow(parent=root,pos = (3,3), size=(100,40), title="Test Table 1", layout=ttk.TTkHBoxLayout(), border=True)
demoFancyTable(win_table)

2
demo/showcase/fancytree.py

@ -101,8 +101,6 @@ def main():
parser.add_argument('-f', help='Full Screen', action='store_true')
args = parser.parse_args()
ttk.TTkLog.use_default_file_logging()
root = ttk.TTk()
if args.f:
rootTree1 = root

2
demo/showcase/filepicker.py

@ -55,8 +55,6 @@ def main():
parser.add_argument('-f', help='Full Screen', action='store_true')
args = parser.parse_args()
ttk.TTkLog.use_default_file_logging()
ttk.TTkTheme.loadTheme(ttk.TTkTheme.NERD)
root = ttk.TTk()

2
demo/showcase/formwidgets.py

@ -108,8 +108,6 @@ def main():
parser.add_argument('-f', help='Full Screen', action='store_true')
args = parser.parse_args()
ttk.TTkLog.use_default_file_logging()
root = ttk.TTk()
if args.f:
rootForm = root

2
demo/showcase/graph.py

@ -92,8 +92,6 @@ def main():
parser.add_argument('-f', help='Full Screen', action='store_true')
args = parser.parse_args()
ttk.TTkLog.use_default_file_logging()
root = ttk.TTk()
if args.f:
rootGraph = root

2
demo/showcase/layout_basic.py

@ -69,8 +69,6 @@ def demoLayout(root=None):
def main():
ttk.TTkLog.use_default_file_logging()
root = ttk.TTk()
root.setLayout(ttk.TTkHBoxLayout())
demoLayout(root)

2
demo/showcase/layout_nested.py

@ -62,8 +62,6 @@ def main():
parser.add_argument('-f', help='Full Screen', action='store_true')
args = parser.parse_args()
ttk.TTkLog.use_default_file_logging()
root = ttk.TTk()
if args.f:
rootLayout = root

2
demo/showcase/layout_span.py

@ -55,8 +55,6 @@ def main():
parser.add_argument('-f', help='Full Screen', action='store_true')
args = parser.parse_args()
ttk.TTkLog.use_default_file_logging()
root = ttk.TTk()
if args.f:
rootLayout = root

2
demo/showcase/list.py

@ -77,8 +77,6 @@ def main():
parser.add_argument('-f', help='Full Screen', action='store_true')
args = parser.parse_args()
ttk.TTkLog.use_default_file_logging()
root = ttk.TTk()
if args.f:
rootGraph = root

2
demo/showcase/menubar.py

@ -102,8 +102,6 @@ def main():
parser.add_argument('-f', help='Full Screen', action='store_true')
args = parser.parse_args()
ttk.TTkLog.use_default_file_logging()
root = ttk.TTk()
if args.f:
rootLayout = root

2
demo/showcase/messagebox.py

@ -111,8 +111,6 @@ def main():
parser.add_argument('-f', help='Full Screen', action='store_true')
args = parser.parse_args()
ttk.TTkLog.use_default_file_logging()
ttk.TTkTheme.loadTheme(ttk.TTkTheme.NERD)
root = ttk.TTk()

2
demo/showcase/scrollarea01.py

@ -66,8 +66,6 @@ def main():
parser.add_argument('-f', help='Full Screen', action='store_true')
args = parser.parse_args()
ttk.TTkLog.use_default_file_logging()
root = ttk.TTk()
if args.f:
rootGraph = root

2
demo/showcase/scrollarea02.py

@ -78,8 +78,6 @@ def main():
parser.add_argument('-f', help='Full Screen', action='store_true')
args = parser.parse_args()
ttk.TTkLog.use_default_file_logging()
root = ttk.TTk()
if args.f:
rootGraph = root

2
demo/showcase/sigmask.py

@ -58,8 +58,6 @@ def main():
args = parser.parse_args()
windowed = args.w
ttk.TTkLog.use_default_file_logging()
root = ttk.TTk()
if windowed:

2
demo/showcase/splitter.py

@ -53,8 +53,6 @@ def main():
parser.add_argument('-f', help='Full Screen', action='store_true')
args = parser.parse_args()
ttk.TTkLog.use_default_file_logging()
root = ttk.TTk()
if args.f:
rootSplitter = root

2
demo/showcase/splitter2.py

@ -51,8 +51,6 @@ def main():
parser.add_argument('-f', help='Full Screen', action='store_true')
args = parser.parse_args()
ttk.TTkLog.use_default_file_logging()
root = ttk.TTk()
if args.f:
rootSplitter = root

2
demo/showcase/splitter3.py

@ -51,8 +51,6 @@ def main():
parser.add_argument('-f', help='Full Screen', action='store_true')
args = parser.parse_args()
ttk.TTkLog.use_default_file_logging()
root = ttk.TTk()
if args.f:
rootSplitter = root

2
demo/showcase/splitter4.py

@ -121,8 +121,6 @@ def main():
parser.add_argument('-f', help='Full Screen', action='store_true')
args = parser.parse_args()
ttk.TTkLog.use_default_file_logging()
root = ttk.TTk()
if args.f:
rootSplitter = root

2
demo/showcase/tab.py

@ -60,8 +60,6 @@ def main():
parser.add_argument('-f', help='Full Screen', action='store_true')
args = parser.parse_args()
ttk.TTkLog.use_default_file_logging()
root = ttk.TTk()
if args.f:
rootTab = root

2
demo/showcase/textedit.py

@ -260,8 +260,6 @@ def main():
args = parser.parse_args()
windowed = args.w
ttk.TTkLog.use_default_file_logging()
root = ttk.TTk(sigmask=(
ttk.TTkTerm.Sigmask.CTRL_Q |
ttk.TTkTerm.Sigmask.CTRL_S |

2
demo/showcase/tree.py

@ -94,8 +94,6 @@ def main():
parser.add_argument('-f', help='Full Screen', action='store_true')
args = parser.parse_args()
ttk.TTkLog.use_default_file_logging()
root = ttk.TTk()
if args.f:
rootTree1 = root

1
demo/showcase/windows.py

@ -51,7 +51,6 @@ def demoWindows(root=None):
def main():
ttk.TTkLog.use_default_file_logging()
root = ttk.TTk()
win1 = ttk.TTkWindow(parent=root,pos = (1,1), size=(100,45), title="Test Window 1", border=True, layout=ttk.TTkGridLayout())
demoWindows(win1)

1
demo/showcase/windowsflags.py

@ -82,7 +82,6 @@ def demoWindowsFlags(root=None):
def main():
ttk.TTkLog.use_default_file_logging()
root = ttk.TTk()
win1 = ttk.TTkWindow(parent=root,pos = (1,1), size=(60,30), title="Test Window Flags", border=True, layout=ttk.TTkGridLayout(), flags=ttk.TTkK.NONE)
demoWindowsFlags(win1)

1
demo/ttkode.old.py

@ -151,7 +151,6 @@ def main():
parser.add_argument('-f', help='Full Screen', action='store_true')
args = parser.parse_args()
TTkLog.use_default_file_logging()
TTkTheme.loadTheme(TTkTheme.NERD)
root = TTk(title="ttkode")

1
demo/ttkode.py

@ -55,7 +55,6 @@ def main():
parser.add_argument('-f', help='Full Screen', action='store_true')
args = parser.parse_args()
TTkLog.use_default_file_logging()
TTkTheme.loadTheme(TTkTheme.NERD)
root = TTk(title="ttkode")

Loading…
Cancel
Save