You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.5 KiB
3.5 KiB
TODO
- Follow PEP 8 coding style
- Move the Global Constants outside TTk object
- Add Typing (good luck) https://docs.python.org/3/library/typing.html
- Remove Duplicate functionalities (i.e. Widget)
- Use @property/@setter when possible
- Uniform the setter/getter/signal/slots
- [UTF-8] Handle "Fullwidth" forms characters https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms https://en.wikipedia.org/wiki/Halfwidth_and_Fullwidth_Forms_(Unicode_block)
- Process child events before parent
Terminal Helper
- Events
- Window : SIGWINCH triggered when the terminal is resized
Input Class
- Return Error if Mouse RE does not match
- Handle the Paste Buffer
- Investigate the middle mouse button paste note: It works only in "INSERT" mode on Vim
- Handle Special Keys (UP, Down, . . .)
- Events
https://tkinterexamples.com/events/events.html
https://www.pythontutorial.net/tkinter/tkinter-event-binding/
- Keyboard
- Mouse
Colors
- Allow dynamic depth change
- Define a gradient feature
Canvas Class
- Have a look to the Unicode chartable: https://www.utf8-chartable.de/unicode-utf8-table.pl
Signal/Slots
- Implement Signal/Slots
Logs
- Log Class
- Run Logger on a separate thread (push sring to a queue)
- Include option to force print
- Log helpers
- File and Stdout logger
- logger auto integration
- stdout until mainLoop
Layout
- Add Weight in V and H Layout
- Add addLayout method - Nested layouts
- Add Grid Layout
AbstractScrollArea
- Implement something that mimic the QAbstactScrollArea https://doc.qt.io/qt-5/qabstractscrollarea.html https://doc.qt.io/qt-5/qscrollarea.html
Overlay widget
- Rewrite the Handling (ttk.py) It would be nice to have it as child outside the layour
- Enable mouse move on overlay
Widgets
- Add Size Policy (fixed minimum maximum expanding)
- Add Show/Hide
- Clean the way the parent is assigned, propagated Widget [setParent, addWidget, . . ], GridLayout [addWidget]
Button Widget
- Basic Implementation
- Events (Signal/Slots)
- Themes
Line Edit Widget
- Basic Implementation
- Events (Signal/Slots)
- Themes
- Input Type Numbers/Password
Text Edit Widget
- Basic Implementation
- Events (Signal/Slots)
- Themes
Table Widget
- Basic Implementation
- Events (Signal/Slots)
- Themes
Window Widget
- Basic Implementation
- Events (Signal/Slots)
- Themes
CheckBox Widget
- Basic Implementation
- Events (Signal/Slots)
- Themes
Radio button Widget
- Basic Implementation
- Events (Signal/Slots)
- Themes
ComboBox (dropdown) Widget
- Basic Implementation
- Events (Signal/Slots)
- Themes
Splitter widget
- Basic Implementation
- Snap on min/max sizes
- Events (Signal/Slots)
- Themes
Tab Widget
- Basic Implementation
- Events (Signal/Slots)
- Themes
Spin Box
- Basic Implementation
- Events (Signal/Slots)
- Themes
Progress Bar
- Basic Implementation
- Events (Signal/Slots)
- Themes
Graph Widget
- Basic Implementation
- Events (Signal/Slots)
- Themes
Header Menu
- Basic Implementation
- Events (Signal/Slots)
- Themes