8 changed files with 627 additions and 9 deletions
@ -0,0 +1,43 @@ |
|||||||
|
from setuptools import setup |
||||||
|
|
||||||
|
with open("README.md", "r", encoding="utf-8") as fh: |
||||||
|
long_description = fh.read() |
||||||
|
|
||||||
|
version = "__VERSION__" |
||||||
|
name = "__NAME__" |
||||||
|
|
||||||
|
print(f"Version: {version}") |
||||||
|
print(f"Name: {name}") |
||||||
|
|
||||||
|
setup( |
||||||
|
name=name, |
||||||
|
version=version, |
||||||
|
author='Eugenio Parodi', |
||||||
|
author_email='ceccopierangiolieugenio@googlemail.com', |
||||||
|
description='ttkDesigner is a terminal user interface designer for pyTermTk applications', |
||||||
|
long_description=long_description, |
||||||
|
long_description_content_type="text/markdown", |
||||||
|
url="https://github.com/ceccopierangiolieugenio/pyTermTk", |
||||||
|
classifiers=[ |
||||||
|
"Programming Language :: Python :: 3", |
||||||
|
"License :: OSI Approved :: MIT License", |
||||||
|
"Operating System :: OS Independent", |
||||||
|
"Development Status :: 3 - Alpha", |
||||||
|
"Environment :: Console", |
||||||
|
"Intended Audience :: Developers", |
||||||
|
"Intended Audience :: Information Technology", |
||||||
|
"Topic :: Terminals", |
||||||
|
"Topic :: Software Development :: User Interfaces"], |
||||||
|
include_package_data=False, |
||||||
|
packages=['ttkDesigner','ttkDesigner.app'], |
||||||
|
python_requires=">=3.8", |
||||||
|
install_requires=[ |
||||||
|
'pyTermTk>=0.30.0a5', |
||||||
|
'pyperclip', |
||||||
|
'PIL'], |
||||||
|
entry_points={ |
||||||
|
'console_scripts': [ |
||||||
|
'ttkDesigner = ttkDesigner:main', |
||||||
|
], |
||||||
|
}, |
||||||
|
) |
||||||
@ -0,0 +1,12 @@ |
|||||||
|
 |
||||||
|
 |
||||||
|
 |
||||||
|
 |
||||||
|
[](https://github.com/ceccopierangiolieugenio/pyTermTk/actions?query=workflow%3Atesting) |
||||||
|
[](https://pypi.org/project/pyTermTk) |
||||||
|
[](https://twitter.com/hashtag/pyTermTk?src=hashtag_click&f=live) |
||||||
|
|
||||||
|
[](https://pypi.org/project/pyTermTk) |
||||||
|
|
||||||
|
## [ttkDesigner](https://github.com/ceccopierangiolieugenio/pyTermTk/ttkDesigner) |
||||||
|
|
||||||
@ -0,0 +1,536 @@ |
|||||||
|
{ |
||||||
|
"version": "1.0.0", |
||||||
|
"tui": { |
||||||
|
"class": "TTkWindow", |
||||||
|
"params": { |
||||||
|
"Name": "WinTextEditor", |
||||||
|
"Position": [ |
||||||
|
4, |
||||||
|
2 |
||||||
|
], |
||||||
|
"Size": [ |
||||||
|
100, |
||||||
|
38 |
||||||
|
], |
||||||
|
"Min Width": 2, |
||||||
|
"Min Height": 4, |
||||||
|
"Max Width": 4096, |
||||||
|
"Max Height": 4096, |
||||||
|
"Padding": [ |
||||||
|
3, |
||||||
|
1, |
||||||
|
1, |
||||||
|
1 |
||||||
|
], |
||||||
|
"Layout": "TTkGridLayout", |
||||||
|
"Visible": true, |
||||||
|
"Enabled": true, |
||||||
|
"ToolTip": "\u001b[0m", |
||||||
|
"Border": true, |
||||||
|
"Title": "\u001b[0m\u001b[0mMr. Text Editor\u001b[0m", |
||||||
|
"Window Flags": 134266880 |
||||||
|
}, |
||||||
|
"layout": { |
||||||
|
"class": "TTkGridLayout", |
||||||
|
"params": { |
||||||
|
"Geometry": [ |
||||||
|
0, |
||||||
|
0, |
||||||
|
98, |
||||||
|
34 |
||||||
|
] |
||||||
|
}, |
||||||
|
"children": [ |
||||||
|
{ |
||||||
|
"class": "TTkFileButtonPicker", |
||||||
|
"params": { |
||||||
|
"Name": "BtnSave", |
||||||
|
"Position": [ |
||||||
|
6, |
||||||
|
0 |
||||||
|
], |
||||||
|
"Size": [ |
||||||
|
6, |
||||||
|
3 |
||||||
|
], |
||||||
|
"Min Width": 4, |
||||||
|
"Min Height": 3, |
||||||
|
"Max Width": 6, |
||||||
|
"Max Height": 3, |
||||||
|
"Padding": [ |
||||||
|
0, |
||||||
|
0, |
||||||
|
0, |
||||||
|
0 |
||||||
|
], |
||||||
|
"Layout": "TTkLayout", |
||||||
|
"Visible": true, |
||||||
|
"Enabled": true, |
||||||
|
"ToolTip": "\u001b[0m", |
||||||
|
"Text": "\u001b[0m\u001b[0m\ud83d\udcbe\u001b[0m", |
||||||
|
"Border": true, |
||||||
|
"Checkable": false, |
||||||
|
"Checked": false, |
||||||
|
"Path": ".", |
||||||
|
"Caption": "Save File", |
||||||
|
"Filters": "All Files (*)", |
||||||
|
"File Mode": 0 |
||||||
|
}, |
||||||
|
"layout": { |
||||||
|
"class": "TTkLayout", |
||||||
|
"params": { |
||||||
|
"Geometry": [ |
||||||
|
0, |
||||||
|
0, |
||||||
|
6, |
||||||
|
3 |
||||||
|
] |
||||||
|
}, |
||||||
|
"children": [] |
||||||
|
}, |
||||||
|
"row": 0, |
||||||
|
"col": 1, |
||||||
|
"rowspan": 1, |
||||||
|
"colspan": 1 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"class": "TTkButton", |
||||||
|
"params": { |
||||||
|
"Name": "BtnUndo", |
||||||
|
"Position": [ |
||||||
|
18, |
||||||
|
0 |
||||||
|
], |
||||||
|
"Size": [ |
||||||
|
16, |
||||||
|
3 |
||||||
|
], |
||||||
|
"Min Width": 6, |
||||||
|
"Min Height": 3, |
||||||
|
"Max Width": 65536, |
||||||
|
"Max Height": 65536, |
||||||
|
"Padding": [ |
||||||
|
0, |
||||||
|
0, |
||||||
|
0, |
||||||
|
0 |
||||||
|
], |
||||||
|
"Layout": "TTkLayout", |
||||||
|
"Visible": true, |
||||||
|
"Enabled": false, |
||||||
|
"ToolTip": "\u001b[0m", |
||||||
|
"Text": "\u001b[0m\u001b[0mUndo\u001b[0m", |
||||||
|
"Border": true, |
||||||
|
"Checkable": false, |
||||||
|
"Checked": false |
||||||
|
}, |
||||||
|
"layout": { |
||||||
|
"class": "TTkLayout", |
||||||
|
"params": { |
||||||
|
"Geometry": [ |
||||||
|
0, |
||||||
|
0, |
||||||
|
16, |
||||||
|
3 |
||||||
|
] |
||||||
|
}, |
||||||
|
"children": [] |
||||||
|
}, |
||||||
|
"row": 0, |
||||||
|
"col": 3, |
||||||
|
"rowspan": 1, |
||||||
|
"colspan": 1 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"class": "TTkButton", |
||||||
|
"params": { |
||||||
|
"Name": "BtnRedo", |
||||||
|
"Position": [ |
||||||
|
34, |
||||||
|
0 |
||||||
|
], |
||||||
|
"Size": [ |
||||||
|
16, |
||||||
|
3 |
||||||
|
], |
||||||
|
"Min Width": 6, |
||||||
|
"Min Height": 3, |
||||||
|
"Max Width": 65536, |
||||||
|
"Max Height": 65536, |
||||||
|
"Padding": [ |
||||||
|
0, |
||||||
|
0, |
||||||
|
0, |
||||||
|
0 |
||||||
|
], |
||||||
|
"Layout": "TTkLayout", |
||||||
|
"Visible": true, |
||||||
|
"Enabled": false, |
||||||
|
"ToolTip": "\u001b[0m", |
||||||
|
"Text": "\u001b[0m\u001b[0mRedo\u001b[0m", |
||||||
|
"Border": true, |
||||||
|
"Checkable": false, |
||||||
|
"Checked": false |
||||||
|
}, |
||||||
|
"layout": { |
||||||
|
"class": "TTkLayout", |
||||||
|
"params": { |
||||||
|
"Geometry": [ |
||||||
|
0, |
||||||
|
0, |
||||||
|
16, |
||||||
|
3 |
||||||
|
] |
||||||
|
}, |
||||||
|
"children": [] |
||||||
|
}, |
||||||
|
"row": 0, |
||||||
|
"col": 4, |
||||||
|
"rowspan": 1, |
||||||
|
"colspan": 1 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"class": "TTkButton", |
||||||
|
"params": { |
||||||
|
"Name": "BtnCut", |
||||||
|
"Position": [ |
||||||
|
50, |
||||||
|
0 |
||||||
|
], |
||||||
|
"Size": [ |
||||||
|
16, |
||||||
|
3 |
||||||
|
], |
||||||
|
"Min Width": 5, |
||||||
|
"Min Height": 3, |
||||||
|
"Max Width": 65536, |
||||||
|
"Max Height": 65536, |
||||||
|
"Padding": [ |
||||||
|
0, |
||||||
|
0, |
||||||
|
0, |
||||||
|
0 |
||||||
|
], |
||||||
|
"Layout": "TTkLayout", |
||||||
|
"Visible": true, |
||||||
|
"Enabled": true, |
||||||
|
"ToolTip": "\u001b[0m", |
||||||
|
"Text": "\u001b[0m\u001b[0mCut\u001b[0m", |
||||||
|
"Border": true, |
||||||
|
"Checkable": false, |
||||||
|
"Checked": false |
||||||
|
}, |
||||||
|
"layout": { |
||||||
|
"class": "TTkLayout", |
||||||
|
"params": { |
||||||
|
"Geometry": [ |
||||||
|
0, |
||||||
|
0, |
||||||
|
16, |
||||||
|
3 |
||||||
|
] |
||||||
|
}, |
||||||
|
"children": [] |
||||||
|
}, |
||||||
|
"row": 0, |
||||||
|
"col": 5, |
||||||
|
"rowspan": 1, |
||||||
|
"colspan": 1 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"class": "TTkButton", |
||||||
|
"params": { |
||||||
|
"Name": "BtnCopy", |
||||||
|
"Position": [ |
||||||
|
66, |
||||||
|
0 |
||||||
|
], |
||||||
|
"Size": [ |
||||||
|
16, |
||||||
|
3 |
||||||
|
], |
||||||
|
"Min Width": 6, |
||||||
|
"Min Height": 3, |
||||||
|
"Max Width": 65536, |
||||||
|
"Max Height": 65536, |
||||||
|
"Padding": [ |
||||||
|
0, |
||||||
|
0, |
||||||
|
0, |
||||||
|
0 |
||||||
|
], |
||||||
|
"Layout": "TTkLayout", |
||||||
|
"Visible": true, |
||||||
|
"Enabled": true, |
||||||
|
"ToolTip": "\u001b[0m", |
||||||
|
"Text": "\u001b[0m\u001b[0mCopy\u001b[0m", |
||||||
|
"Border": true, |
||||||
|
"Checkable": false, |
||||||
|
"Checked": false |
||||||
|
}, |
||||||
|
"layout": { |
||||||
|
"class": "TTkLayout", |
||||||
|
"params": { |
||||||
|
"Geometry": [ |
||||||
|
0, |
||||||
|
0, |
||||||
|
16, |
||||||
|
3 |
||||||
|
] |
||||||
|
}, |
||||||
|
"children": [] |
||||||
|
}, |
||||||
|
"row": 0, |
||||||
|
"col": 6, |
||||||
|
"rowspan": 1, |
||||||
|
"colspan": 1 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"class": "TTkButton", |
||||||
|
"params": { |
||||||
|
"Name": "BtnPaste", |
||||||
|
"Position": [ |
||||||
|
82, |
||||||
|
0 |
||||||
|
], |
||||||
|
"Size": [ |
||||||
|
16, |
||||||
|
3 |
||||||
|
], |
||||||
|
"Min Width": 7, |
||||||
|
"Min Height": 3, |
||||||
|
"Max Width": 65536, |
||||||
|
"Max Height": 65536, |
||||||
|
"Padding": [ |
||||||
|
0, |
||||||
|
0, |
||||||
|
0, |
||||||
|
0 |
||||||
|
], |
||||||
|
"Layout": "TTkLayout", |
||||||
|
"Visible": true, |
||||||
|
"Enabled": true, |
||||||
|
"ToolTip": "\u001b[0m", |
||||||
|
"Text": "\u001b[0m\u001b[0mPaste\u001b[0m", |
||||||
|
"Border": true, |
||||||
|
"Checkable": false, |
||||||
|
"Checked": false |
||||||
|
}, |
||||||
|
"layout": { |
||||||
|
"class": "TTkLayout", |
||||||
|
"params": { |
||||||
|
"Geometry": [ |
||||||
|
0, |
||||||
|
0, |
||||||
|
16, |
||||||
|
3 |
||||||
|
] |
||||||
|
}, |
||||||
|
"children": [] |
||||||
|
}, |
||||||
|
"row": 0, |
||||||
|
"col": 7, |
||||||
|
"rowspan": 1, |
||||||
|
"colspan": 1 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"class": "TTkColorButtonPicker", |
||||||
|
"params": { |
||||||
|
"Name": "BtnColor", |
||||||
|
"Position": [ |
||||||
|
12, |
||||||
|
0 |
||||||
|
], |
||||||
|
"Size": [ |
||||||
|
6, |
||||||
|
3 |
||||||
|
], |
||||||
|
"Min Width": 2, |
||||||
|
"Min Height": 3, |
||||||
|
"Max Width": 6, |
||||||
|
"Max Height": 65536, |
||||||
|
"Padding": [ |
||||||
|
0, |
||||||
|
0, |
||||||
|
0, |
||||||
|
0 |
||||||
|
], |
||||||
|
"Layout": "TTkLayout", |
||||||
|
"Visible": true, |
||||||
|
"Enabled": true, |
||||||
|
"ToolTip": "\u001b[0m", |
||||||
|
"Text": "\u001b[0m", |
||||||
|
"Border": true, |
||||||
|
"Checkable": false, |
||||||
|
"Checked": false, |
||||||
|
"Color": "\u001b[48;2;0;0;68m" |
||||||
|
}, |
||||||
|
"layout": { |
||||||
|
"class": "TTkLayout", |
||||||
|
"params": { |
||||||
|
"Geometry": [ |
||||||
|
0, |
||||||
|
0, |
||||||
|
6, |
||||||
|
3 |
||||||
|
] |
||||||
|
}, |
||||||
|
"children": [] |
||||||
|
}, |
||||||
|
"row": 0, |
||||||
|
"col": 2, |
||||||
|
"rowspan": 1, |
||||||
|
"colspan": 1 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"class": "TTkTextEdit", |
||||||
|
"params": { |
||||||
|
"Name": "TTkTextEdit", |
||||||
|
"Position": [ |
||||||
|
0, |
||||||
|
3 |
||||||
|
], |
||||||
|
"Size": [ |
||||||
|
98, |
||||||
|
31 |
||||||
|
], |
||||||
|
"Min Width": 0, |
||||||
|
"Min Height": 0, |
||||||
|
"Max Width": 65536, |
||||||
|
"Max Height": 65536, |
||||||
|
"Padding": [ |
||||||
|
0, |
||||||
|
0, |
||||||
|
0, |
||||||
|
0 |
||||||
|
], |
||||||
|
"Visible": true, |
||||||
|
"Enabled": true, |
||||||
|
"ToolTip": "\u001b[0m", |
||||||
|
"Line Number": true, |
||||||
|
"Read Only": false, |
||||||
|
"Multi Line": true |
||||||
|
}, |
||||||
|
"row": 1, |
||||||
|
"col": 0, |
||||||
|
"rowspan": 1, |
||||||
|
"colspan": 8 |
||||||
|
}, |
||||||
|
{ |
||||||
|
"class": "TTkFileButtonPicker", |
||||||
|
"params": { |
||||||
|
"Name": "BtnOpen", |
||||||
|
"Position": [ |
||||||
|
0, |
||||||
|
0 |
||||||
|
], |
||||||
|
"Size": [ |
||||||
|
6, |
||||||
|
3 |
||||||
|
], |
||||||
|
"Min Width": 4, |
||||||
|
"Min Height": 3, |
||||||
|
"Max Width": 6, |
||||||
|
"Max Height": 3, |
||||||
|
"Padding": [ |
||||||
|
0, |
||||||
|
0, |
||||||
|
0, |
||||||
|
0 |
||||||
|
], |
||||||
|
"Layout": "TTkLayout", |
||||||
|
"Visible": true, |
||||||
|
"Enabled": true, |
||||||
|
"ToolTip": "\u001b[0m", |
||||||
|
"Text": "\u001b[0m\u001b[0m\ud83d\udcc2\u001b[0m", |
||||||
|
"Border": true, |
||||||
|
"Checkable": false, |
||||||
|
"Checked": false, |
||||||
|
"Path": ".", |
||||||
|
"Caption": "Open File", |
||||||
|
"Filters": "All Files (*);;Txt Files (*.txt);;Python files (*.py)", |
||||||
|
"File Mode": 1 |
||||||
|
}, |
||||||
|
"layout": { |
||||||
|
"class": "TTkLayout", |
||||||
|
"params": { |
||||||
|
"Geometry": [ |
||||||
|
0, |
||||||
|
0, |
||||||
|
6, |
||||||
|
3 |
||||||
|
] |
||||||
|
}, |
||||||
|
"children": [] |
||||||
|
}, |
||||||
|
"row": 0, |
||||||
|
"col": 0, |
||||||
|
"rowspan": 1, |
||||||
|
"colspan": 1 |
||||||
|
} |
||||||
|
] |
||||||
|
} |
||||||
|
}, |
||||||
|
"connections": [ |
||||||
|
{ |
||||||
|
"sender": "TTkTextEdit", |
||||||
|
"receiver": "BtnUndo", |
||||||
|
"signal": "undoAvailable(bool)", |
||||||
|
"slot": "setEnabled(bool)" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"sender": "TTkTextEdit", |
||||||
|
"receiver": "BtnRedo", |
||||||
|
"signal": "redoAvailable(bool)", |
||||||
|
"slot": "setEnabled(bool)" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"sender": "BtnUndo", |
||||||
|
"receiver": "TTkTextEdit", |
||||||
|
"signal": "clicked()", |
||||||
|
"slot": "undo()" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"sender": "BtnRedo", |
||||||
|
"receiver": "TTkTextEdit", |
||||||
|
"signal": "clicked()", |
||||||
|
"slot": "redo()" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"sender": "BtnCut", |
||||||
|
"receiver": "TTkTextEdit", |
||||||
|
"signal": "clicked()", |
||||||
|
"slot": "cut()" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"sender": "BtnCopy", |
||||||
|
"receiver": "TTkTextEdit", |
||||||
|
"signal": "clicked()", |
||||||
|
"slot": "copy()" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"sender": "BtnPaste", |
||||||
|
"receiver": "TTkTextEdit", |
||||||
|
"signal": "clicked()", |
||||||
|
"slot": "paste()" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"sender": "TTkTextEdit", |
||||||
|
"receiver": "BtnColor", |
||||||
|
"signal": "currentColorChanged(TTkColor)", |
||||||
|
"slot": "setColor(TTkColor)" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"sender": "BtnColor", |
||||||
|
"receiver": "TTkTextEdit", |
||||||
|
"signal": "colorSelected(TTkColor)", |
||||||
|
"slot": "setColor(TTkColor)" |
||||||
|
}, |
||||||
|
{ |
||||||
|
"sender": "BtnColor", |
||||||
|
"receiver": "TTkTextEdit", |
||||||
|
"signal": "colorSelected(TTkColor)", |
||||||
|
"slot": "setFocus()" |
||||||
|
} |
||||||
|
] |
||||||
|
} |
||||||
Loading…
Reference in new issue