Skip to content

Commit

Permalink
Merge branch 'master' into bugfix
Browse files Browse the repository at this point in the history
  • Loading branch information
rdbende committed Oct 13, 2022
2 parents ee2b40c + 1a8ce0c commit a425ef0
Show file tree
Hide file tree
Showing 148 changed files with 5,651 additions and 1,105 deletions.
11 changes: 5 additions & 6 deletions .appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
environment:
matrix:
- PYTHON: "C:\\PYTHON27"
- PYTHON: "C:\\PYTHON34"
- PYTHON: "C:\\PYTHON35"
- PYTHON: "C:\\PYTHON36"
- PYTHON: "C:\\PYTHON37"
- PYTHON: "C:\\PYTHON38"
install:
- "%PYTHON%\\python.exe -m pip install codecov coverage nose mock pynput"
- "%PYTHON%\\python.exe -m pip install -U codecov coverage nose mock pynput setuptools pip"
build: off
test_script:
- "%PYTHON%\\python.exe -m pip install ."
- "%PYTHON%\\python.exe -m nose --with-coverage"
- "%PYTHON%\\python.exe -m nose --with-coverage --cover-xml"
after_test:
- "%PYTHON%\\Scripts\\codecov.exe"
- "%PYTHON%\\Scripts\\codecov.exe -f coverage.xml"
19 changes: 19 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
For new widgets only:

Title: Merge branch_name into master to add WidgetName widget
### PR Details:
- Widget name:
- Author:

### Description
A short description of this particular widget.

### Checklist
- [ ] Widget in a separate file in the appropriate folder
- [ ] Widget functions properly on both Windows and Linux
- [ ] Widget code includes docstrings with parameter descriptions
- [ ] Included an example file in `/examples`
- [ ] Widget is covered by unitttests in `/tests`
- [ ] Widget includes required assets files
- [ ] Reference to widget in `AUTHORS.md`
- [ ] Entry in sphinx documentation
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -102,3 +102,8 @@ ENV/

# PyCharm
/.idea

# Documentation
docs/source/examples
docs/source/examples.rst

14 changes: 7 additions & 7 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
language: python
required: sudo
python:
"2.7"
virtualenv:
system_site_packages: true
- "3.6"
- "3.7"
- "3.8"
before_install:
- "export DISPLAY=:99.0"
- "sh -e /etc/init.d/xvfb start"
- sudo systemctl start xvfb
- sleep 3
install:
- sudo apt-get install python-tk
- sudo apt-get install python-tk python3-tk
- python -m pip install -U setuptools pip importlib-metadata
- python -m pip install nose coverage codecov mock pynput
script:
- python -m pip install .
- python -m nose
- python -m nose --with-coverage --cover-xml
after_success:
- coverage run nosetests
- codecov
11 changes: 8 additions & 3 deletions AUTHORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,10 @@ This file contains a list of all the authors of widgets in this repository. Plea
* `ScrolledListbox`
* `FontChooser`, based on an idea by [Nelson Brochado](https://www.github.com/nbro)
* `FontSelectFrame`
* `Balloon`
* `Tooltip`
* `ItemsCanvas`
* `TimeLine`
* `hook.py` and `tooltips.py` modules
- The Python Team
* `Calendar`, found [here](http://svn.python.org/projects/sandbox/trunk/ttk-gsoc/samples/ttkcalendar.py)
- Mitja Martini
Expand All @@ -19,8 +20,12 @@ This file contains a list of all the authors of widgets in this repository. Plea
* `AutocompleteCombobox`, found [here](https://mail.python.org/pipermail/tkinter-discuss/2012-January/003041.html)
- [Juliette Monsel](https://www.github.com/j4321)
* `CheckboxTreeview`
* `Table`
* `TickScale`
* `AutoHideScrollbar` based on an idea by [Fredrik Lundh](effbot.org/zone/tkinter-autoscrollbar.htm)
* All color widgets: `askcolor`, `ColorPicker`, `GradientBar` and `ColorSquare`, `LimitVar`, `SpinBox`, `AlphaBar` and supporting functions in `functions.py`.
* All color widgets: `askcolor`, `ColorPicker`, `GradientBar` and `ColorSquare`, `LimitVar`, `Spinbox`, `AlphaBar` and supporting functions in `functions.py`.
* `AutocompleteEntryListbox`
- [Dogeek](https://github.com/Dogeek)
* `validated_entries` submodule
- Multiple authors:
* `ScaleEntry` (RedFantom and Juliette Monsel)
* `ScaleEntry` (RedFantom and Juliette Monsel)
29 changes: 23 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
# ttkwidgets
[![Build Status](https://travis-ci.org/RedFantom/ttkwidgets.svg?branch=master)](https://travis-ci.org/RedFantom/ttkwidgets)
[![Build status](https://ci.appveyor.com/api/projects/status/c6j6td273u3y6rw7/branch/master?svg=true)](https://ci.appveyor.com/project/RedFantom/ttkwidgets/branch/master)
[![codecov](https://codecov.io/gh/RedFantom/ttkwidgets/branch/master/graph/badge.svg)](https://codecov.io/gh/RedFantom/ttkwidgets)
[![Build Status](https://travis-ci.org/TkinterEP/ttkwidgets.svg?branch=master)](https://travis-ci.org/TkinterEP/ttkwidgets)
[![Build status](https://ci.appveyor.com/api/projects/status/eegux50s3kmb5w9g/branch/master?svg=true)](https://ci.appveyor.com/project/RedFantom/ttkwidgets-pq6y3)
[![codecov](https://codecov.io/gh/TkinterEP/ttkwidgets/branch/master/graph/badge.svg)](https://codecov.io/gh/TkinterEP/ttkwidgets)
[![PyPI version](https://badge.fury.io/py/ttkwidgets.svg)](https://badge.fury.io/py/ttkwidgets)
[![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](http://www.gnu.org/licenses/gpl-3.0)
[![Documentation Status](https://readthedocs.org/projects/ttkwidgets/badge/?version=latest)](https://ttkwidgets.readthedocs.io/en/latest/)

A collection of widgets for Tkinter's ttk extensions by various authors
A collection of widgets for Tkinter's ttk extensions by various authors.

## License
ttkwidgets: A collection of widgets for Tkinter's ttk extensions by various authors
Expand All @@ -27,11 +28,27 @@ A collection of widgets for Tkinter's ttk extensions by various authors

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.


## Installation
- With pip:

pip install ttkwidgets

- Ubuntu: ttkwidgets is available in the PPA [ppa:j-4321-i/ttkwidgets](https://launchpad.net/~j-4321-i/+archive/ubuntu/ttkwidgets).

sudo add-apt-repository ppa:j-4321-i/ttkwidgets
sudo apt-get update
sudo apt-get install python(3)-ttkwidgets

- Archlinux: ttkwidgets is available in [AUR](https://aur.archlinux.org/packages/python-ttkwidgets).

## Documentation
Online documentation is available here: https://ttkwidgets.readthedocs.io/en/latest/

## Contributing
If you have created a widget that you think is worth adding, then feel free to fork the repository and create a Pull
Request when you've added the widget to your copy of the repository. You will be credited for your work, and you can add
headers to your files. You will also be added to the `AUTHORS.md`-file.
headers to your files. You will also be added to the [AUTHORS.md](AUTHORS.md) file.

## Issues
If you find any bugs or have any ideas, feel free to open an issue here in the repository, and it will be looked at.
Expand Down
19 changes: 19 additions & 0 deletions docs/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Minimal makefile for Sphinx documentation
#

# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
SOURCEDIR = source
BUILDDIR = build

# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

.PHONY: help Makefile

# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
35 changes: 35 additions & 0 deletions docs/make.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
@ECHO OFF

pushd %~dp0

REM Command file for Sphinx documentation

if "%SPHINXBUILD%" == "" (
set SPHINXBUILD=sphinx-build
)
set SOURCEDIR=source
set BUILDDIR=build

if "%1" == "" goto help

%SPHINXBUILD% >NUL 2>NUL
if errorlevel 9009 (
echo.
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
echo.installed, then set the SPHINXBUILD environment variable to point
echo.to the full path of the 'sphinx-build' executable. Alternatively you
echo.may add the Sphinx directory to PATH.
echo.
echo.If you don't have Sphinx installed, grab it from
echo.http://sphinx-doc.org/
exit /b 1
)

%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
goto end

:help
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%

:end
popd
5 changes: 5 additions & 0 deletions docs/source/_templates/autosummary/base.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{{ name | escape | underline}}

.. currentmodule:: {{ module }}

.. auto{{ objtype }}:: {{ objname }}
9 changes: 9 additions & 0 deletions docs/source/_templates/autosummary/class.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{{ name | escape | underline}}

.. currentmodule:: {{ module }}

.. autoclass:: {{ objname }}
:show-inheritance:
:members:

.. automethod:: __init__
40 changes: 40 additions & 0 deletions docs/source/_templates/autosummary/module.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
{{ name | escape | underline}}

.. automodule:: {{ fullname }}
:show-inheritance:

{% block functions %}
{% if functions %}
.. rubric:: Functions

.. autosummary::
:toctree: functions
{% for item in functions %}
{{ item }}
{%- endfor %}
{% endif %}
{% endblock %}

{% block classes %}
{% if classes %}
.. rubric:: Classes

.. autosummary::
:toctree: classes
{% for item in classes %}
{{ item }}
{%- endfor %}
{% endif %}
{% endblock %}

{% block exceptions %}
{% if exceptions %}
.. rubric:: Exceptions

.. autosummary::
:toctree: exceptions
{% for item in exceptions %}
{{ item }}
{%- endfor %}
{% endif %}
{% endblock %}
63 changes: 63 additions & 0 deletions docs/source/authors.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
Authors
=======

List of all the authors of widgets in this repository. Please note that this list only mentions the original creators of the widgets, and the widgets may have been edited and/or improved or otherwise modified by other authors.

- `RedFantom <https://www.github.com/RedFantom>`_

* :class:`~ttkwidgets.frames.ScrolledFrame`, based on an Unpythonic `idea <http://tkinter.unpythonic.net/wiki/VerticalScrolledFrame>`_
* :class:`~ttkwidgets.frames.ToggledFrame`, based on an idea by `Onlyjus <http://stackoverflow.com/questions/13141259/expandable-and-contracting-frame-in-tkinter>`_
* :class:`~ttkwidgets.LinkLabel`, based on an idea by `Nelson Brochado <https://www.github.com/nbro>`_
* :class:`~ttkwidgets.ScrolledListbox`
* :class:`~ttkwidgets.font.FontChooser`, based on an idea by `Nelson Brochado <https://www.github.com/nbro>`_
* :class:`~ttkwidgets.font.FontSelectFrame`
* :class:`~ttkwidgets.frames.Tooltip`
* :class:`~ttkwidgets.ItemsCanvas`
* :class:`~ttkwidgets.TimeLine`


- The Python Team

* :class:`~ttkwidgets.Calendar`, found `here <http://svn.python.org/projects/sandbox/trunk/ttk-gsoc/samples/ttkcalendar.py>`_

- Mitja Martini

* :class:`~ttkwidgets.autocomplete.AutocompleteEntry`, found `here <https://mail.python.org/pipermail/tkinter-discuss/2012-January/003041.html>`_

- Russell Adams

* :class:`~ttkwidgets.autocomplete.AutocompleteCombobox`, found `here <https://mail.python.org/pipermail/tkinter-discuss/2012-January/003041.html>`_

- `Juliette Monsel <https://www.github.com/j4321>`_

* :class:`~ttkwidgets.CheckboxTreeview`
* :class:`~ttkwidgets.Table`
* :class:`~ttkwidgets.TickScale`
* :class:`~ttkwidgets.AutoHideScrollbar` based on an idea by `Fredrik Lundh <effbot.org/zone/tkinter-autoscrollbar.htm>`_
* All color widgets: :func:`~ttkwidgets.color.askcolor`, :class:`~ttkwidgets.color.ColorPicker`, :class:`~ttkwidgets.color.GradientBar` and :class:`~ttkwidgets.color.ColorSquare`, :class:`~ttkwidgets.color.LimitVar`, :class:`~ttkwidgets.color.Spinbox`, :class:`~ttkwidgets.color.AlphaBar` and supporting functions in :file:`functions.py`.
* :class:`~ttkwidgets.autocomplete.AutocompleteEntryListbox`

- `Dogeek <https://www.github.com/Dogeek>`_

* :class:`~ttkwidgets.validated_entries.ValidatedEntry`
* :class:`~ttkwidgets.validated_entries.Validator`
* :class:`~ttkwidgets.validated_entries.RegexValidator`
* :class:`~ttkwidgets.validated_entries.IntValidator`
* :class:`~ttkwidgets.validated_entries.FloatValidator`
* :class:`~ttkwidgets.validated_entries.PercentValidator`
* :class:`~ttkwidgets.validated_entries.StringValidator`
* :class:`~ttkwidgets.validated_entries.CapitalizedStringValidator`
* :class:`~ttkwidgets.validated_entries.EmailValidator`
* :class:`~ttkwidgets.validated_entries.PasswordValidator`
* :class:`~ttkwidgets.validated_entries.IntEntry`
* :class:`~ttkwidgets.validated_entries.FloatEntry`
* :class:`~ttkwidgets.validated_entries.PercentEntry`
* :class:`~ttkwidgets.validated_entries.LowerStringEntry`
* :class:`~ttkwidgets.validated_entries.UpperStringEntry`
* :class:`~ttkwidgets.validated_entries.CapitalizedStringEntry`
* :class:`~ttkwidgets.validated_entries.EmailEntry`
* :class:`~ttkwidgets.validated_entries.PasswordEntry`

- Multiple authors:

* :class:`~ttkwidgets.ScaleEntry` (RedFantom and Juliette Monsel)

0 comments on commit a425ef0

Please sign in to comment.