Skip to content

Latest commit

 

History

History
89 lines (62 loc) · 3.88 KB

TODO.md

File metadata and controls

89 lines (62 loc) · 3.88 KB

TODO

  • Write more documentation
  • Write more tests
  • Add more TODO items and indicate their priority (task mostly for @rdbende)

Simple tasks

  • Add button variants

    variant option for the Button widget to set styles like "outlined" (Outline.TButton internally), "filled" (Filled.TButton) and "link" (Link.TButton)

  • Add button color variants

    color option for the Button widget to set styles like "primary" (Pimary.TButton internally), "secondary" (Secondary.TButton), "normal" (TButton) and "danger" (Danger.TButton)

  • Add cursors

    Implement specifying a cursor for widgets. There should be enums containing the default, native cursors (we don't need all that "gumby", "coffe_mug" and others that Tk has). Some clever solution is needed for the platform specific cursors. Also support loading cursors from a file (Windows only) with a Cursor object

  • Make the sidebar of the docs on the website sticky. It shouldn't disappear as you scroll.

New widgets

Simpler ones

  • Switch widget

    Really just a checkbutton with different style applied. Should check if the Switch layout is available in the current theme, and use TCheckbutton with some sane layout-modifications otherwise

  • ToggleButton widget

    Similar as the switch just with another style (ToggleButton)

  • LabeledView widget (see #120)

  • ButtonGroup widget (see #119)

  • LinkLabel

    Label with a pointing hand cursor, and blue color (should use the LinkLabel ttk style if available), which opens a hyperlink when clicked

Not so simple ones

  • NumberBox

    There should be a NumberBox class that accepts numbers only, and has up and down arrows as well. The SpinBox should no longer accept a range of numbers, but take a list of values instead.

  • TreeView

    Some sane treeview implementation

  • ListView

    It should use a ttk::treeview under the hood with only one columns and no headers, because Tk's listbox widget sucks

  • StackView

    A frame that arranges its children in a row automatically, and wraps when there's not enough space

  • TopNav

    Navigation bar at the top of the window. It could have navigation buttons, plain buttons, dropdowns, search field and static and flexible placeholders image

  • SideNav

    Similar to TopNav, but in a column on the left side

  • ToolBar

    A toolbar widget with buttons, dropdowns and togglebuttons

  • Menu

    Menus and menubars aren't so simple. It should use Tk's built in menu when a native theme is used on Windows or macOS (LookAndFeel._is_current_theme_native), and some custom, themeable implementaion on Linux, or when the current theme isn't native. Menubars cannot be themed on macOS, and so neither should their submenus

  • Dropdown

    Button that opens a dropdown menu when clicked

  • TextView

    There used to be a text widget, but then it was removed. It should be reimplemented in a similar way.

  • TableView

  • ExpandView

  • FlipView (carousel)

  • Pager

  • SplitButton

For tinkerers

  • Implement multiple monitor support
  • Implement UI scaling support
  • Implement new theme engines: If you'd like to work on this, we can discuss the details in #62
    • CSS + SVG image based
    • CSS + Dynamic canvas drawing

Harder tasks