RELEASE Commands
================

python3 -m build

twine upload -r test_pygubu dist/*
pip install -i https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ pygubu[all]==0.23.1

twine upload -r test_pygubu_designer dist/*
pip install --no-cache-dir -i https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ pygubu-designer[all]
pip install -i https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ pygubu-designer

alejandroautalan/pygubu
alejandroautalan/pygubu-designer#99

pip install git+https://github.com/alejandroautalan/pygubu git+https://github.com/alejandroautalan/pygubu-designer


TODO
====

- In Options for pack container: add mini toolbar to layout left right all childrens
- Add tooltips to widget layout mini toolbar.
- In binding editor, allow bind mode "all" and if posible "class". (Re design binding editor?) This might not be necessary?. keep investigating.
- BUG: create a Toplevel, set a large geometry, greater than the preview canvas.
  The preview vertical scrollbar is shown but not the horizontal. Investigate.
- Issue: redraw previews on theme change.
- Customtkinter 5 Issues on designer:
  Can't select SegmentedButton in Preview (can't click it)
  Click on tabview tab does not select tab in treeview.
- Add a mechanism to test code generation.
- Treeview with scrollHelper. Srollbars are not shown depending on the
  treeview configuration or if columns are set stretch=true
  Investigate the behaviour.
- Add a tk.Spinbox, set from_:8  to:5  This show error on build, but
  howto validate this combination of properties?
- Allow to define custom font.
  This font can be defined selecting an specific font or can be defined
  based on a default TK font. For example I want TkTextFont but with size 60.
- ttk image property (label), allows to use more than one image? test in python first.
  Add proper editor for this.
- On code generation, allow to select which tk_variables import in the class.
  See example in userinputapp.py.
- Code generation: add option, Named objects as class attributes. For App template.
- Code generation: Remove unnecessary options: Add i18n support.
- Code generation: Allow to configure code generation options for all toplevels.

COMPLETED
=========

- Code generation: do not layout root widget in CustomWidget template. DONE
- BUG: create a pygubu dialog and generate code. Incorrect class hint generated
  self.mainwindow: pygubu.builder.widgets.dialog = builder.get_object("settingsdialog", master)
- FIX: Create a frame frame1, create a frame2 inside, then add a button.
  Create another frame frame3 sibling of frame1, copy frame2 and paste in
  frame3, the content of frame 2 is duplicated in frame3.
- form_field_entry: validation bug, I can't add same field name for two diferent formbuilders. It should be posible.


My wish list?
============
- Add Json format and drop XML for UI files ?
- Tooltips:
  We need to save a "manager" or something similar in the xml
  to later know howto process the property in pygubu.
  There is a "type" that is used already, see that way.
  OR
  Add tooltips as additional objects,
  Add suport for tkinter-tooltip?
- Add widgets from https://code.activestate.com/recipes/users/4189907/ ?
- Add tukkan support ?
- Add PDFviewer widget based on tkPDFView
- Add widget for CanvasPlus
- Add support to tkinterpp?

- Add notebook, add tab,  add label to tab.
  Should be displayed on center, y no tab sticky option is set.
  Problem seems to be, the labels is ejecuting his layout configuration. Should not.
  Solution 1: add manager type "none" or "parent". If manager of widget is none, the
    parent widget is in charge of layout configuration.


Button Bar
==========

Section: New, Open, Save, Save As
Section: Cut, copy, paste, delete, UndoButtons?
Section: Preview refresh
Section: Project Properties, Generate code


Theming notes:
=============

resources
  Theme:
    properties: name, parent
    children: list of styles
  Styles:
    ElementImage:
      properties: name, border, height, padding, sticky, width
    ElementVsapi: not supported
    DotStyle: the '.'
        properties: dynamic properties?
    WidgetStyle:
        parent: one of TButton, TEntry?


Style Editor
  configure
  map

Element Editor:
  configure
  imagespect

LayoutElement Editor (layoutspect)
  properties: elementname, side, sticky


The standard Tk <<Cut>>, <<Copy>>, <<Paste>>, and <<Clear>>

Increase version to sync with pypi.


Default ttk theme on linux
==========================

.Xresources

*TkTheme: default


Load: xrdb -merge ~/.Xresources
Show: xrdb -query -all


DND
===

pip3 install python-tkdnd
