[guidata] 01/01: Imported Upstream version 1.7.0~b4

Frédéric-Emmanuel Picca picca at moszumanska.debian.org
Sun Oct 25 13:45:03 UTC 2015


This is an automated email from the git hooks/post-receive script.

picca pushed a commit to annotated tag upstream/1.7.0_b4
in repository guidata.

commit b6761ed256b2fc02ba6baa8e31e30ade4302bcd5
Author: Picca Frédéric-Emmanuel <picca at debian.org>
Date:   Sun Oct 4 08:14:34 2015 +0200

    Imported Upstream version 1.7.0~b4
---
 PKG-INFO                                           |   2 +-
 changelog                                          |   2 +-
 doc/conf.py                                        |   4 +-
 doc/development.rst                                |  25 +-
 doc/index.rst                                      |   2 +-
 doc/installation.rst                               |   9 +-
 doc/reference.rst                                  |  26 -
 doc/reference/configtools.rst                      |   2 +
 doc/reference/dataset.rst                          |   2 +
 doc/reference/disthelpers.rst                      |   2 +
 doc/reference/index.rst                            |  14 +
 doc/reference/qthelpers.rst                        |   2 +
 doc/reference/userconfig.rst                       |   2 +
 doc/reference/utils.rst                            |   2 +
 guidata.egg-info/PKG-INFO                          |   2 +-
 guidata.egg-info/SOURCES.txt                       |  70 ++-
 guidata/__init__.py                                |  10 +-
 guidata/dataset/__init__.py                        |   8 +-
 guidata/dataset/qtitemwidgets.py                   |  12 +-
 guidata/dataset/qtwidgets.py                       |   5 +
 guidata/disthelpers.py                             |  66 +--
 guidata/qt/__init__.py                             |  41 +-
 guidata/tests/dist/guidata/images/apply.png        | Bin 0 -> 785 bytes
 guidata/tests/dist/guidata/images/arredit.png      | Bin 0 -> 1123 bytes
 guidata/tests/dist/guidata/images/busy.png         | Bin 0 -> 721 bytes
 guidata/tests/dist/guidata/images/cell_edit.png    | Bin 0 -> 689 bytes
 guidata/tests/dist/guidata/images/copy.png         | Bin 0 -> 830 bytes
 guidata/tests/dist/guidata/images/delete.png       | Bin 0 -> 722 bytes
 guidata/tests/dist/guidata/images/dictedit.png     | Bin 0 -> 911 bytes
 guidata/tests/dist/guidata/images/edit.png         | Bin 0 -> 929 bytes
 guidata/tests/dist/guidata/images/editors/edit.png | Bin 0 -> 929 bytes
 .../tests/dist/guidata/images/editors/edit_add.png | Bin 0 -> 1001 bytes
 .../tests/dist/guidata/images/editors/editcopy.png | Bin 0 -> 1048 bytes
 .../dist/guidata/images/editors/editdelete.png     | Bin 0 -> 1453 bytes
 .../dist/guidata/images/editors/editpaste.png      | Bin 0 -> 1295 bytes
 .../dist/guidata/images/editors/fileimport.png     | Bin 0 -> 2248 bytes
 .../tests/dist/guidata/images/editors/filesave.png | Bin 0 -> 1144 bytes
 .../tests/dist/guidata/images/editors/imshow.png   | Bin 0 -> 727 bytes
 .../tests/dist/guidata/images/editors/insert.png   | Bin 0 -> 525 bytes
 guidata/tests/dist/guidata/images/editors/plot.png | Bin 0 -> 515 bytes
 .../tests/dist/guidata/images/editors/rename.png   | Bin 0 -> 689 bytes
 guidata/tests/dist/guidata/images/exit.png         | Bin 0 -> 1164 bytes
 .../tests/dist/guidata/images/expander_down.png    | Bin 0 -> 1322 bytes
 .../tests/dist/guidata/images/expander_right.png   | Bin 0 -> 432 bytes
 guidata/tests/dist/guidata/images/file.png         | Bin 0 -> 530 bytes
 guidata/tests/dist/guidata/images/fileclose.png    | Bin 0 -> 1424 bytes
 guidata/tests/dist/guidata/images/fileimport.png   | Bin 0 -> 1556 bytes
 guidata/tests/dist/guidata/images/filenew.png      | Bin 0 -> 463 bytes
 guidata/tests/dist/guidata/images/fileopen.png     | Bin 0 -> 1539 bytes
 guidata/tests/dist/guidata/images/filesave.png     | Bin 0 -> 1144 bytes
 guidata/tests/dist/guidata/images/filesaveas.png   | Bin 0 -> 1443 bytes
 .../tests/dist/guidata/images/filetypes/doc.png    | Bin 0 -> 1601 bytes
 .../tests/dist/guidata/images/filetypes/gif.png    | Bin 0 -> 1512 bytes
 .../tests/dist/guidata/images/filetypes/html.png   | Bin 0 -> 1848 bytes
 .../tests/dist/guidata/images/filetypes/jpg.png    | Bin 0 -> 1512 bytes
 .../tests/dist/guidata/images/filetypes/pdf.png    | Bin 0 -> 1543 bytes
 .../tests/dist/guidata/images/filetypes/png.png    | Bin 0 -> 1512 bytes
 .../tests/dist/guidata/images/filetypes/pps.png    | Bin 0 -> 1439 bytes
 guidata/tests/dist/guidata/images/filetypes/ps.png | Bin 0 -> 1428 bytes
 .../tests/dist/guidata/images/filetypes/tar.png    | Bin 0 -> 1577 bytes
 .../tests/dist/guidata/images/filetypes/tgz.png    | Bin 0 -> 1577 bytes
 .../tests/dist/guidata/images/filetypes/tif.png    | Bin 0 -> 1512 bytes
 .../tests/dist/guidata/images/filetypes/txt.png    | Bin 0 -> 1801 bytes
 .../tests/dist/guidata/images/filetypes/xls.png    | Bin 0 -> 1237 bytes
 .../tests/dist/guidata/images/filetypes/zip.png    | Bin 0 -> 1577 bytes
 guidata/tests/dist/guidata/images/guidata.svg      | 538 +++++++++++++++++++++
 guidata/tests/dist/guidata/images/max.png          | Bin 0 -> 356 bytes
 guidata/tests/dist/guidata/images/min.png          | Bin 0 -> 351 bytes
 guidata/tests/dist/guidata/images/none.png         | Bin 0 -> 331 bytes
 guidata/tests/dist/guidata/images/not_found.png    | Bin 0 -> 531 bytes
 guidata/tests/dist/guidata/images/python.png       | Bin 0 -> 887 bytes
 guidata/tests/dist/guidata/images/quickview.png    | Bin 0 -> 888 bytes
 guidata/tests/dist/guidata/images/save_all.png     | Bin 0 -> 1599 bytes
 guidata/tests/dist/guidata/images/selection.png    | Bin 0 -> 744 bytes
 guidata/tests/dist/guidata/images/settings.png     | Bin 0 -> 2445 bytes
 guidata/tests/dist/guidata/images/shape.png        | Bin 0 -> 361 bytes
 guidata/tests/dist/guidata/images/xmax.png         | Bin 0 -> 354 bytes
 guidata/tests/dist/guidata/images/xmin.png         | Bin 0 -> 353 bytes
 .../dist/guidata/locale/fr/LC_MESSAGES/guidata.mo  | Bin 0 -> 1979 bytes
 guidata/tests/dist/tk/demos/images/ouster.png      | Bin 0 -> 54257 bytes
 guidata/tests/dist/tk/images/lamp.png              | Bin 0 -> 8203 bytes
 guidata/tests/dist/tk/images/lamp.svg              | 114 +++++
 guidata/userconfig.py                              |   3 +-
 83 files changed, 861 insertions(+), 104 deletions(-)

diff --git a/PKG-INFO b/PKG-INFO
index aa7ae97..111a3f0 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: guidata
-Version: 1.7.0b3
+Version: 1.7.0b4
 Summary: guidata is a set of basic GUIs to edit and display objects of many kinds
 Home-page: https://github.com/PierreRaybaut/guidata
 Author: Pierre Raybaut
diff --git a/changelog b/changelog
index 4044659..8dfb9e0 100644
--- a/changelog
+++ b/changelog
@@ -2,7 +2,7 @@
 
 === Possible API compatibility issues (since v1.6.2) ===
 
-  * Added PyQt5 support (there may be side effects).
+  * Added support for PyQt5 (removed old-style signals)
 
 ----
 
diff --git a/doc/conf.py b/doc/conf.py
index 77b5154..fbb42da 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -96,6 +96,8 @@ pygments_style = 'sphinx'
 # A list of ignored prefixes for module index sorting.
 modindex_common_prefix = ['guidata.']
 
+autodoc_member_order = 'bysource'
+
 
 # -- Options for HTML output ---------------------------------------------------
 
@@ -126,7 +128,7 @@ html_logo = 'images/guidata.png'
 # The name of an image file (within the static path) to use as favicon of the
 # docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32
 # pixels large.
-html_favicon = 'favicon.ico'
+html_favicon = '_static/favicon.ico'
 
 # Add any paths that contain custom static files (such as style sheets) here,
 # relative to this directory. They are copied after the builtin static files,
diff --git a/doc/development.rst b/doc/development.rst
index fac6e74..2ed9a1a 100644
--- a/doc/development.rst
+++ b/doc/development.rst
@@ -50,22 +50,23 @@ following recommendations should be followed:
 PyQt / PySide compatibility
 ---------------------------
 
-In the near future, the project will be officially compatible with both PyQt 
-and PySide.
+The project should be mostly compatible with both PyQt and PySide (although 
+PySide is not as popular as it used to be, so testing tend to be limited).
 
-In its current implementation, it has to be compatible with PyQt API #1 (old 
-PyQt versions) and API #2 (PySide-compatible API, PyQt >= v4.6), which means 
-that the following recommendations should be followed:
+PyQt5 compatibility
+-------------------
+
+In its current implementation, the code base has to be compatible with PyQt 
+API #2 (PySide-compatible API, PyQt >= v4.6) and with PyQt5, which means that 
+the following recommendations should be followed:
 
 * `QVariant` objects must not be used (API #2 compatibility)
 
-* `QString` and `QStringList` objects must not be used (API #2 compatibility)
+* Use exclusively new-style signals and slots
 
-* When connecting built-in C++ signals which were originally made to pass 
-  strings (or string lists), the arguments should always be assumed to be 
-  `QString` (or `QStringList`) objects (API #1 compatibility) and so be 
-  converted systematically to the Python equivalent object, i.e. unicode 
-  (or list).
+* Read carefully PyQt5 documentation regarding class inheritance behavior: it 
+  is quite different than the old PyQt4 implementation. Producing code 
+  compatible with both PyQt4 and PyQt5 can be tricky: testing is essential.
 
 
 Python 3 compatibility
@@ -111,7 +112,7 @@ issues with Python 3. For example:
 
   * file I/O may return `bytes` instead of `str` in Python 3 (depending on the 
     open mode): this can be solved by calling the `decode` method on the `bytes` 
-    object (this will work on both Python 2 `str` and Python 3 `bytes objects)
+    object (this will work on both Python 2 `str` and Python 3 `bytes` objects)
 
   * in Python 3.0-3.2, the `u'unicode text'` or `u"unicode text"` syntax is 
     not allowed and will raise a SyntaxError: this can be solved by inserting the 
diff --git a/doc/index.rst b/doc/index.rst
index dbe88ab..9e4efa5 100644
--- a/doc/index.rst
+++ b/doc/index.rst
@@ -11,7 +11,7 @@ Contents:
     installation
     development
     examples
-    reference
+    reference/index
     
 
 Indices and tables:
diff --git a/doc/installation.rst b/doc/installation.rst
index b5667c8..e577d96 100644
--- a/doc/installation.rst
+++ b/doc/installation.rst
@@ -5,29 +5,34 @@ Dependencies
 ------------
 
 Requirements:
+
     * Python >=v2.5
     * PyQt4 4.x (x>=3 ; recommended x>=4) or PyQt5 5.x (x>=5)
     * spyderlib >=v2.0.10 for the test launcher and array/dictionnary editors
     
 Optional Python modules:
+
     * h5py (HDF5 files I/O)
     * py2exe (application deployment on Windows platforms)
 
 Other optional modules:
+
     * gettext
 
 Installation
 ------------
 
 From the source package:
+
     `python setup.py install`
         
 Help and support
 ----------------
 
 External resources:
-    * Bug reports and feature requests: `GoogleCode`_
+
+    * Bug reports and feature requests: `GitHub`_
     * Help, support and discussions around the project: `GoogleGroup`_
 
-.. _GoogleCode: http://guidata.googlecode.com
+.. _GitHub: https://github.com/PierreRaybaut/guidata
 .. _GoogleGroup: http://groups.google.fr/group/guidata_guiqwt
diff --git a/doc/reference.rst b/doc/reference.rst
deleted file mode 100644
index 6a79da1..0000000
--- a/doc/reference.rst
+++ /dev/null
@@ -1,26 +0,0 @@
-GUIData reference
-=================
-
-.. automodule:: guidata.dataset
-   :members:
-   :inherited-members:
-
-.. automodule:: guidata.qthelpers
-   :members:
-   :inherited-members:
-
-.. automodule:: guidata.disthelpers
-   :members:
-   :inherited-members:
-
-.. automodule:: guidata.configtools
-   :members:
-   :inherited-members:
-
-.. automodule:: guidata.userconfig
-   :members:
-   :inherited-members:
-
-.. automodule:: guidata.utils
-   :members:
-   :inherited-members:
diff --git a/doc/reference/configtools.rst b/doc/reference/configtools.rst
new file mode 100644
index 0000000..23b7280
--- /dev/null
+++ b/doc/reference/configtools.rst
@@ -0,0 +1,2 @@
+.. automodule:: guidata.configtools
+   :members:
diff --git a/doc/reference/dataset.rst b/doc/reference/dataset.rst
new file mode 100644
index 0000000..a52fae5
--- /dev/null
+++ b/doc/reference/dataset.rst
@@ -0,0 +1,2 @@
+.. automodule:: guidata.dataset
+   :members:
diff --git a/doc/reference/disthelpers.rst b/doc/reference/disthelpers.rst
new file mode 100644
index 0000000..b38f6fe
--- /dev/null
+++ b/doc/reference/disthelpers.rst
@@ -0,0 +1,2 @@
+.. automodule:: guidata.disthelpers
+   :members:
diff --git a/doc/reference/index.rst b/doc/reference/index.rst
new file mode 100644
index 0000000..d03ea08
--- /dev/null
+++ b/doc/reference/index.rst
@@ -0,0 +1,14 @@
+Reference
+=========
+
+guidata API:
+
+.. toctree::
+    :maxdepth: 2
+    
+    dataset
+    qthelpers
+    disthelpers
+    configtools
+    userconfig
+    utils
diff --git a/doc/reference/qthelpers.rst b/doc/reference/qthelpers.rst
new file mode 100644
index 0000000..e658b1d
--- /dev/null
+++ b/doc/reference/qthelpers.rst
@@ -0,0 +1,2 @@
+.. automodule:: guidata.qthelpers
+   :members:
diff --git a/doc/reference/userconfig.rst b/doc/reference/userconfig.rst
new file mode 100644
index 0000000..35fffe4
--- /dev/null
+++ b/doc/reference/userconfig.rst
@@ -0,0 +1,2 @@
+.. automodule:: guidata.userconfig
+   :members:
diff --git a/doc/reference/utils.rst b/doc/reference/utils.rst
new file mode 100644
index 0000000..ef5e7a6
--- /dev/null
+++ b/doc/reference/utils.rst
@@ -0,0 +1,2 @@
+.. automodule:: guidata.utils
+   :members:
diff --git a/guidata.egg-info/PKG-INFO b/guidata.egg-info/PKG-INFO
index aa7ae97..111a3f0 100644
--- a/guidata.egg-info/PKG-INFO
+++ b/guidata.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: guidata
-Version: 1.7.0b3
+Version: 1.7.0b4
 Summary: guidata is a set of basic GUIs to edit and display objects of many kinds
 Home-page: https://github.com/PierreRaybaut/guidata
 Author: Pierre Raybaut
diff --git a/guidata.egg-info/SOURCES.txt b/guidata.egg-info/SOURCES.txt
index ebb3eee..23e746d 100644
--- a/guidata.egg-info/SOURCES.txt
+++ b/guidata.egg-info/SOURCES.txt
@@ -12,7 +12,6 @@ doc/examples.rst
 doc/index.rst
 doc/installation.rst
 doc/overview.rst
-doc/reference.rst
 doc/_static/favicon.ico
 doc/images/basic_example.png
 doc/images/guidata.png
@@ -23,6 +22,13 @@ doc/images/screenshots/all_items.png
 doc/images/screenshots/bool_selector.png
 doc/images/screenshots/datasetgroup.png
 doc/images/screenshots/editgroupbox.png
+doc/reference/configtools.rst
+doc/reference/dataset.rst
+doc/reference/disthelpers.rst
+doc/reference/index.rst
+doc/reference/qthelpers.rst
+doc/reference/userconfig.rst
+doc/reference/utils.rst
 guidata/__init__.py
 guidata/config.py
 guidata/configtools.py
@@ -127,4 +133,64 @@ guidata/tests/hdf5.py
 guidata/tests/inheritance.py
 guidata/tests/rotatedlabel.py
 guidata/tests/text.py
-guidata/tests/translations.py
\ No newline at end of file
+guidata/tests/translations.py
+guidata/tests/dist/guidata/images/apply.png
+guidata/tests/dist/guidata/images/arredit.png
+guidata/tests/dist/guidata/images/busy.png
+guidata/tests/dist/guidata/images/cell_edit.png
+guidata/tests/dist/guidata/images/copy.png
+guidata/tests/dist/guidata/images/delete.png
+guidata/tests/dist/guidata/images/dictedit.png
+guidata/tests/dist/guidata/images/edit.png
+guidata/tests/dist/guidata/images/exit.png
+guidata/tests/dist/guidata/images/expander_down.png
+guidata/tests/dist/guidata/images/expander_right.png
+guidata/tests/dist/guidata/images/file.png
+guidata/tests/dist/guidata/images/fileclose.png
+guidata/tests/dist/guidata/images/fileimport.png
+guidata/tests/dist/guidata/images/filenew.png
+guidata/tests/dist/guidata/images/fileopen.png
+guidata/tests/dist/guidata/images/filesave.png
+guidata/tests/dist/guidata/images/filesaveas.png
+guidata/tests/dist/guidata/images/guidata.svg
+guidata/tests/dist/guidata/images/max.png
+guidata/tests/dist/guidata/images/min.png
+guidata/tests/dist/guidata/images/none.png
+guidata/tests/dist/guidata/images/not_found.png
+guidata/tests/dist/guidata/images/python.png
+guidata/tests/dist/guidata/images/quickview.png
+guidata/tests/dist/guidata/images/save_all.png
+guidata/tests/dist/guidata/images/selection.png
+guidata/tests/dist/guidata/images/settings.png
+guidata/tests/dist/guidata/images/shape.png
+guidata/tests/dist/guidata/images/xmax.png
+guidata/tests/dist/guidata/images/xmin.png
+guidata/tests/dist/guidata/images/editors/edit.png
+guidata/tests/dist/guidata/images/editors/edit_add.png
+guidata/tests/dist/guidata/images/editors/editcopy.png
+guidata/tests/dist/guidata/images/editors/editdelete.png
+guidata/tests/dist/guidata/images/editors/editpaste.png
+guidata/tests/dist/guidata/images/editors/fileimport.png
+guidata/tests/dist/guidata/images/editors/filesave.png
+guidata/tests/dist/guidata/images/editors/imshow.png
+guidata/tests/dist/guidata/images/editors/insert.png
+guidata/tests/dist/guidata/images/editors/plot.png
+guidata/tests/dist/guidata/images/editors/rename.png
+guidata/tests/dist/guidata/images/filetypes/doc.png
+guidata/tests/dist/guidata/images/filetypes/gif.png
+guidata/tests/dist/guidata/images/filetypes/html.png
+guidata/tests/dist/guidata/images/filetypes/jpg.png
+guidata/tests/dist/guidata/images/filetypes/pdf.png
+guidata/tests/dist/guidata/images/filetypes/png.png
+guidata/tests/dist/guidata/images/filetypes/pps.png
+guidata/tests/dist/guidata/images/filetypes/ps.png
+guidata/tests/dist/guidata/images/filetypes/tar.png
+guidata/tests/dist/guidata/images/filetypes/tgz.png
+guidata/tests/dist/guidata/images/filetypes/tif.png
+guidata/tests/dist/guidata/images/filetypes/txt.png
+guidata/tests/dist/guidata/images/filetypes/xls.png
+guidata/tests/dist/guidata/images/filetypes/zip.png
+guidata/tests/dist/guidata/locale/fr/LC_MESSAGES/guidata.mo
+guidata/tests/dist/tk/demos/images/ouster.png
+guidata/tests/dist/tk/images/lamp.png
+guidata/tests/dist/tk/images/lamp.svg
\ No newline at end of file
diff --git a/guidata/__init__.py b/guidata/__init__.py
index 6574122..e6476bd 100644
--- a/guidata/__init__.py
+++ b/guidata/__init__.py
@@ -3,19 +3,19 @@
 guidata
 =======
 
-Based on the Qt Python binding module PyQt4, `guidata` is a Python library
+Based on the Qt Python binding module PyQt, `guidata` is a Python library
 generating graphical user interfaces for easy dataset editing and display.
-It also provides helpers and application development tools for PyQt4.
+It also provides helpers and application development tools for PyQt.
 
 External resources:
-    * Bug reports and feature requests: `GoogleCode`_
+    * Bug reports and feature requests: `GitHub`_
     * Help, support and discussions around the project: `GoogleGroup`_
 
-.. _GoogleCode: http://guidata.googlecode.com
+.. _GitHub: https://github.com/PierreRaybaut/guidata
 .. _GoogleGroup: http://groups.google.fr/group/guidata_guiqwt
 """
 
-__version__ = '1.7.0b3'
+__version__ = '1.7.0b4'
 
 # Dear (Debian, RPM, ...) package makers, please feel free to customize the
 # following path to module's data (images) and translations:
diff --git a/guidata/dataset/__init__.py b/guidata/dataset/__init__.py
index 120f5ea..36cc793 100644
--- a/guidata/dataset/__init__.py
+++ b/guidata/dataset/__init__.py
@@ -14,9 +14,13 @@ display and editing with automatically generated graphical user interfaces.
 
 .. automodule:: guidata.dataset.dataitems
    :members:
-   :inherited-members:
        
 .. automodule:: guidata.dataset.datatypes
    :members:
-   :inherited-members:
+       
+.. automodule:: guidata.dataset.qtitemwidgets
+   :members:
+       
+.. automodule:: guidata.dataset.qtwidgets
+   :members:
 """
diff --git a/guidata/dataset/qtitemwidgets.py b/guidata/dataset/qtitemwidgets.py
index cc676e2..394f98e 100644
--- a/guidata/dataset/qtitemwidgets.py
+++ b/guidata/dataset/qtitemwidgets.py
@@ -6,6 +6,9 @@
 # (see guidata/__init__.py for details)
 
 """
+dataset.qtitemwidgets
+=====================
+
 Widget factories used to edit data items
 (factory registration is done in guidata.dataset.qtwidgets)
 (data item types are defined in guidata.dataset.datatypes)
@@ -60,13 +63,14 @@ from guidata.py3compat import to_text_string, is_text_string
 
 class AbstractDataSetWidget(object):
     """
-    Base class for 'widgets' handled by DataSetEditLayout and it's derived classes
+    Base class for 'widgets' handled by `DataSetEditLayout` and it's derived 
+    classes.
     
-    this is a generic representation of an input (or display) widget that
+    This is a generic representation of an input (or display) widget that
     has a label and one or more entry field.
     
-    DataSetEditLayout uses a registry of *Item to *Widget mapping in order to
-    automatically create a GUI for a DataSet structure
+    `DataSetEditLayout` uses a registry of *Item* to *Widget* mapping in order 
+    to automatically create a GUI for a `DataSet` structure
     """
     READ_ONLY = False
     def __init__(self, item, parent_layout):
diff --git a/guidata/dataset/qtwidgets.py b/guidata/dataset/qtwidgets.py
index 7629f38..8df9dcd 100644
--- a/guidata/dataset/qtwidgets.py
+++ b/guidata/dataset/qtwidgets.py
@@ -6,6 +6,9 @@
 # (see guidata/__init__.py for details)
 
 """
+dataset.qtwidgets
+=================
+
 Dialog boxes used to edit data sets:
     DataSetEditDialog
     DataSetGroupEditDialog
@@ -474,6 +477,8 @@ class DataSetEditGroupBox(DataSetShowGroupBox):
     button_text: action button text (default: "Apply")
     button_icon: QIcon object or string (default "apply.png")
     """
+    
+    #: Signal emitted when Apply button is clicked
     SIG_APPLY_BUTTON_CLICKED = Signal()
     
     def __init__(self, label, klass, button_text=None, button_icon=None,
diff --git a/guidata/disthelpers.py b/guidata/disthelpers.py
index 46b4dcc..c28216c 100644
--- a/guidata/disthelpers.py
+++ b/guidata/disthelpers.py
@@ -30,6 +30,7 @@ import warnings
 
 # Local imports
 from guidata.configtools import get_module_path
+from guidata.py3compat import to_binary_string
 
 
 #==============================================================================
@@ -104,8 +105,9 @@ def _remove_later(fname):
 def get_msvc_version(python_version):
     """Return Microsoft Visual C++ version used to build this Python version"""
     if python_version is None:
-        python_version = '2.7'
-        warnings.warn("assuming Python 2.7 target")
+        python_version = '%s.%s' % (sys.version_info.major,
+                                    sys.version_info.minor)
+        warnings.warn("Assuming Python %s target" % python_version)
     if python_version in ('2.6', '2.7', '3.0', '3.1', '3.2'):
         # Python 2.6-2.7, 3.0-3.2 were built with Visual Studio 9.0.21022.8
         # (i.e. Visual C++ 2008, not Visual C++ 2008 SP1!)
@@ -343,7 +345,7 @@ class Distribution(object):
         self.bin_path_excludes = self.DEFAULT_BIN_PATH_EXCLUDES
         self.msvc = os.name == 'nt'
         self._py2exe_is_loaded = False
-        self._pyqt4_added = False
+        self._pyqt_added = False
         self._pyside_added = False
         # Attributes relative to cx_Freeze:
         self.executables = []
@@ -409,7 +411,7 @@ class Distribution(object):
     def add_text_data_file(self, filename, contents):
         """Create temporary data file *filename* with *contents*
         and add it to *data_files*"""
-        open(filename, 'wb').write(contents)
+        open(filename, 'wb').write(to_binary_string(contents))
         self.data_files += [("", (filename, ))]
         _remove_later(filename)
     
@@ -417,18 +419,25 @@ class Distribution(object):
         self.data_files += [(destdir, (filename, ))]
 
     #------ Adding packages
-    def add_pyqt4(self):
-        """Include module PyQt4 to the distribution"""
-        if self._pyqt4_added:
+    def add_pyqt(self):
+        """Include module PyQt4 or PyQt5 to the distribution"""
+        if self._pyqt_added:
             return
-        self._pyqt4_added = True
+        self._pyqt_added = True
         
-        self.includes += ['sip', 'PyQt4.Qt', 'PyQt4.QtSvg', 'PyQt4.QtNetwork']
+        try:
+            import PyQt4 as PyQt
+            qtver = 4
+        except ImportError:
+            import PyQt5 as PyQt
+            qtver = 5
+        self.includes += ['sip', 'PyQt%d.Qt' % qtver,
+                          'PyQt%d.QtSvg' % qtver,
+                          'PyQt%d.QtNetwork' % qtver]
         
-        import PyQt4
-        pyqt_path = osp.dirname(PyQt4.__file__)
+        pyqt_path = osp.dirname(PyQt.__file__)
         
-        # Configuring PyQt4
+        # Configuring PyQt
         conf = os.linesep.join(["[Paths]", "Prefix = .", "Binaries = ."])
         self.add_text_data_file('qt.conf', conf)
         
@@ -440,15 +449,18 @@ class Distribution(object):
                 shutil.rmtree(pyqt_tmp)
             os.mkdir(pyqt_tmp)
             vc90man_pyqt = osp.join(pyqt_tmp, vc90man)
-            man = open(vc90man, "r").read().replace('<file name="',
-                                        '<file name="Microsoft.VC90.CRT\\')
-            open(vc90man_pyqt, 'w').write(man)
+            if osp.isfile(vc90man):
+                man = open(vc90man, "r").read().replace('<file name="',
+                                            '<file name="Microsoft.VC90.CRT\\')
+                open(vc90man_pyqt, 'w').write(man)
+            else:
+                vc90man_pyqt = None
         for dirpath, _, filenames in os.walk(osp.join(pyqt_path,
                                                       "plugins")):
             filelist = [osp.join(dirpath, f) for f in filenames
                         if osp.splitext(f)[1] in ('.dll', '.py')]
-            if self.msvc and [f for f in filelist
-                           if osp.splitext(f)[1] == '.dll']:
+            if self.msvc and vc90man_pyqt is not None and\
+               [f for f in filelist if osp.splitext(f)[1] == '.dll']:
                 # Where there is a DLL build with Microsoft Visual C++ 2008,
                 # there must be a manifest file as well...
                 # ...congrats to Microsoft for this great simplification!
@@ -522,10 +534,14 @@ class Distribution(object):
     def add_qt_bindings(self):
         """Include Qt bindings, i.e. PyQt4 or PySide"""
         try:
-            imp.find_module('PyQt4')
-            self.add_modules('PyQt4')
+            imp.find_module('PyQt5')
+            self.add_modules('PyQt5')
         except ImportError:
-            self.add_modules('PySide')
+            try:
+                imp.find_module('PyQt4')
+                self.add_modules('PyQt4')
+            except ImportError:
+                self.add_modules('PySide')
 
     def add_matplotlib(self):
         """Include module Matplotlib to the distribution"""
@@ -548,8 +564,8 @@ class Distribution(object):
         """Include module *module_name*"""
         for module_name in module_names:
             print("Configuring module '%s'" % module_name)
-            if module_name == 'PyQt4':
-                self.add_pyqt4()
+            if module_name in ('PyQt4', 'PyQt5'):
+                self.add_pyqt()
             elif module_name == 'PySide':
                 self.add_pyside()
             elif module_name == 'scipy.io':
@@ -595,11 +611,7 @@ class Distribution(object):
             elif module_name == 'guidata':
                 self.add_module_data_files('guidata', ("images", ),
                                        ('.png', '.svg'), copy_to_root=False)
-                try:
-                    imp.find_module('PyQt4')
-                    self.add_pyqt4()
-                except ImportError:
-                    self.add_pyside()
+                self.add_qt_bindings()
             elif module_name == 'guiqwt':
                 self.add_module_data_files('guiqwt', ("images", ),
                                        ('.png', '.svg'), copy_to_root=False)
diff --git a/guidata/qt/__init__.py b/guidata/qt/__init__.py
index a5c91dc..95e9f27 100644
--- a/guidata/qt/__init__.py
+++ b/guidata/qt/__init__.py
@@ -5,7 +5,7 @@
 # Licensed under the terms of the MIT License
 # (see spyderlib/__init__.py for details)
 
-"""Transitional package (PyQt4 --> PySide)"""
+"""Compatibility package (PyQt4/PyQt5/PySide)"""
 
 import os
 
@@ -15,18 +15,7 @@ assert os.environ['QT_API'] in ('pyqt5', 'pyqt', 'pyside')
 API = os.environ['QT_API']
 API_NAME = {'pyqt5': 'PyQt5', 'pyqt': 'PyQt4', 'pyside': 'PySide'}[API]
 
-PYQT5 = False
-
-if API == 'pyqt5':
-    try:
-        from PyQt5.QtCore import PYQT_VERSION_STR as __version__
-        is_old_pyqt = False
-        is_pyqt46 = False
-        PYQT5 = True
-    except ImportError:
-        pass
-    from PyQt5 import uic  # analysis:ignore
-elif API == 'pyqt':
+if API == 'pyqt':
     # Spyder 2.3 is compatible with both #1 and #2 PyQt API,
     # but to avoid issues with IPython and other Qt plugins
     # we choose to support only API #2 for 2.4+
@@ -47,9 +36,16 @@ elif API == 'pyqt':
     try:
         from PyQt4.QtCore import PYQT_VERSION_STR as __version__ # analysis:ignore
     except ImportError:
-        # Switching to PySide
-        API = os.environ['QT_API'] = 'pyside'
-        API_NAME = 'PySide'
+        # Trying PyQt5 before switching to PySide (at this point, PyQt4 may 
+        # not be installed but PyQt5 or Pyside could still be if the QT_API 
+        # environment variable hasn't been set-up)
+        try:
+            import PyQt5  # analysis:ignore
+            API = os.environ['QT_API'] = 'pyqt5'
+            API_NAME = 'PyQt5'
+        except ImportError:
+            API = os.environ['QT_API'] = 'pyside'
+            API_NAME = 'PySide'
     else:
         is_old_pyqt = __version__.startswith(('4.4', '4.5', '4.6', '4.7'))
         is_pyqt46 = __version__.startswith('4.6')
@@ -58,9 +54,18 @@ elif API == 'pyqt':
             API_NAME += (" (API v%d)" % sip.getapi('QString'))
         except AttributeError:
             pass
-    from PyQt4 import uic  # analysis:ignore
-
+        from PyQt4 import uic  # analysis:ignore
 
+PYQT5 = False
+if API == 'pyqt5':
+    try:
+        from PyQt5.QtCore import PYQT_VERSION_STR as __version__
+        from PyQt5 import uic  # analysis:ignore
+        PYQT5 = True
+        is_old_pyqt = is_pyqt46 = False
+    except ImportError:
+        pass
+    
 if API == 'pyside':
     try:
         from PySide import __version__  # analysis:ignore
diff --git a/guidata/tests/dist/guidata/images/apply.png b/guidata/tests/dist/guidata/images/apply.png
new file mode 100644
index 0000000..f599260
Binary files /dev/null and b/guidata/tests/dist/guidata/images/apply.png differ
diff --git a/guidata/tests/dist/guidata/images/arredit.png b/guidata/tests/dist/guidata/images/arredit.png
new file mode 100644
index 0000000..d219a96
Binary files /dev/null and b/guidata/tests/dist/guidata/images/arredit.png differ
diff --git a/guidata/tests/dist/guidata/images/busy.png b/guidata/tests/dist/guidata/images/busy.png
new file mode 100644
index 0000000..906a9e1
Binary files /dev/null and b/guidata/tests/dist/guidata/images/busy.png differ
diff --git a/guidata/tests/dist/guidata/images/cell_edit.png b/guidata/tests/dist/guidata/images/cell_edit.png
new file mode 100644
index 0000000..a4e8bfc
Binary files /dev/null and b/guidata/tests/dist/guidata/images/cell_edit.png differ
diff --git a/guidata/tests/dist/guidata/images/copy.png b/guidata/tests/dist/guidata/images/copy.png
new file mode 100644
index 0000000..4311a78
Binary files /dev/null and b/guidata/tests/dist/guidata/images/copy.png differ
diff --git a/guidata/tests/dist/guidata/images/delete.png b/guidata/tests/dist/guidata/images/delete.png
new file mode 100644
index 0000000..6725f65
Binary files /dev/null and b/guidata/tests/dist/guidata/images/delete.png differ
diff --git a/guidata/tests/dist/guidata/images/dictedit.png b/guidata/tests/dist/guidata/images/dictedit.png
new file mode 100644
index 0000000..096c23e
Binary files /dev/null and b/guidata/tests/dist/guidata/images/dictedit.png differ
diff --git a/guidata/tests/dist/guidata/images/edit.png b/guidata/tests/dist/guidata/images/edit.png
new file mode 100644
index 0000000..c324bf6
Binary files /dev/null and b/guidata/tests/dist/guidata/images/edit.png differ
diff --git a/guidata/tests/dist/guidata/images/editors/edit.png b/guidata/tests/dist/guidata/images/editors/edit.png
new file mode 100644
index 0000000..c324bf6
Binary files /dev/null and b/guidata/tests/dist/guidata/images/editors/edit.png differ
diff --git a/guidata/tests/dist/guidata/images/editors/edit_add.png b/guidata/tests/dist/guidata/images/editors/edit_add.png
new file mode 100644
index 0000000..b88ace9
Binary files /dev/null and b/guidata/tests/dist/guidata/images/editors/edit_add.png differ
diff --git a/guidata/tests/dist/guidata/images/editors/editcopy.png b/guidata/tests/dist/guidata/images/editors/editcopy.png
new file mode 100644
index 0000000..dcb5c14
Binary files /dev/null and b/guidata/tests/dist/guidata/images/editors/editcopy.png differ
diff --git a/guidata/tests/dist/guidata/images/editors/editdelete.png b/guidata/tests/dist/guidata/images/editors/editdelete.png
new file mode 100644
index 0000000..713bdd4
Binary files /dev/null and b/guidata/tests/dist/guidata/images/editors/editdelete.png differ
diff --git a/guidata/tests/dist/guidata/images/editors/editpaste.png b/guidata/tests/dist/guidata/images/editors/editpaste.png
new file mode 100644
index 0000000..d4d0a0f
Binary files /dev/null and b/guidata/tests/dist/guidata/images/editors/editpaste.png differ
diff --git a/guidata/tests/dist/guidata/images/editors/fileimport.png b/guidata/tests/dist/guidata/images/editors/fileimport.png
new file mode 100644
index 0000000..856fe24
Binary files /dev/null and b/guidata/tests/dist/guidata/images/editors/fileimport.png differ
diff --git a/guidata/tests/dist/guidata/images/editors/filesave.png b/guidata/tests/dist/guidata/images/editors/filesave.png
new file mode 100644
index 0000000..7f52a46
Binary files /dev/null and b/guidata/tests/dist/guidata/images/editors/filesave.png differ
diff --git a/guidata/tests/dist/guidata/images/editors/imshow.png b/guidata/tests/dist/guidata/images/editors/imshow.png
new file mode 100644
index 0000000..85001fd
Binary files /dev/null and b/guidata/tests/dist/guidata/images/editors/imshow.png differ
diff --git a/guidata/tests/dist/guidata/images/editors/insert.png b/guidata/tests/dist/guidata/images/editors/insert.png
new file mode 100644
index 0000000..3058da3
Binary files /dev/null and b/guidata/tests/dist/guidata/images/editors/insert.png differ
diff --git a/guidata/tests/dist/guidata/images/editors/plot.png b/guidata/tests/dist/guidata/images/editors/plot.png
new file mode 100644
index 0000000..bda9b3d
Binary files /dev/null and b/guidata/tests/dist/guidata/images/editors/plot.png differ
diff --git a/guidata/tests/dist/guidata/images/editors/rename.png b/guidata/tests/dist/guidata/images/editors/rename.png
new file mode 100644
index 0000000..a4e8bfc
Binary files /dev/null and b/guidata/tests/dist/guidata/images/editors/rename.png differ
diff --git a/guidata/tests/dist/guidata/images/exit.png b/guidata/tests/dist/guidata/images/exit.png
new file mode 100644
index 0000000..eb91c9e
Binary files /dev/null and b/guidata/tests/dist/guidata/images/exit.png differ
diff --git a/guidata/tests/dist/guidata/images/expander_down.png b/guidata/tests/dist/guidata/images/expander_down.png
new file mode 100644
index 0000000..94d1423
Binary files /dev/null and b/guidata/tests/dist/guidata/images/expander_down.png differ
diff --git a/guidata/tests/dist/guidata/images/expander_right.png b/guidata/tests/dist/guidata/images/expander_right.png
new file mode 100644
index 0000000..888b791
Binary files /dev/null and b/guidata/tests/dist/guidata/images/expander_right.png differ
diff --git a/guidata/tests/dist/guidata/images/file.png b/guidata/tests/dist/guidata/images/file.png
new file mode 100644
index 0000000..f9449ad
Binary files /dev/null and b/guidata/tests/dist/guidata/images/file.png differ
diff --git a/guidata/tests/dist/guidata/images/fileclose.png b/guidata/tests/dist/guidata/images/fileclose.png
new file mode 100644
index 0000000..f7cabdb
Binary files /dev/null and b/guidata/tests/dist/guidata/images/fileclose.png differ
diff --git a/guidata/tests/dist/guidata/images/fileimport.png b/guidata/tests/dist/guidata/images/fileimport.png
new file mode 100644
index 0000000..7379bd8
Binary files /dev/null and b/guidata/tests/dist/guidata/images/fileimport.png differ
diff --git a/guidata/tests/dist/guidata/images/filenew.png b/guidata/tests/dist/guidata/images/filenew.png
new file mode 100644
index 0000000..6d8a564
Binary files /dev/null and b/guidata/tests/dist/guidata/images/filenew.png differ
diff --git a/guidata/tests/dist/guidata/images/fileopen.png b/guidata/tests/dist/guidata/images/fileopen.png
new file mode 100644
index 0000000..c701cca
Binary files /dev/null and b/guidata/tests/dist/guidata/images/fileopen.png differ
diff --git a/guidata/tests/dist/guidata/images/filesave.png b/guidata/tests/dist/guidata/images/filesave.png
new file mode 100644
index 0000000..7f52a46
Binary files /dev/null and b/guidata/tests/dist/guidata/images/filesave.png differ
diff --git a/guidata/tests/dist/guidata/images/filesaveas.png b/guidata/tests/dist/guidata/images/filesaveas.png
new file mode 100644
index 0000000..1a07336
Binary files /dev/null and b/guidata/tests/dist/guidata/images/filesaveas.png differ
diff --git a/guidata/tests/dist/guidata/images/filetypes/doc.png b/guidata/tests/dist/guidata/images/filetypes/doc.png
new file mode 100644
index 0000000..b732196
Binary files /dev/null and b/guidata/tests/dist/guidata/images/filetypes/doc.png differ
diff --git a/guidata/tests/dist/guidata/images/filetypes/gif.png b/guidata/tests/dist/guidata/images/filetypes/gif.png
new file mode 100644
index 0000000..da5caeb
Binary files /dev/null and b/guidata/tests/dist/guidata/images/filetypes/gif.png differ
diff --git a/guidata/tests/dist/guidata/images/filetypes/html.png b/guidata/tests/dist/guidata/images/filetypes/html.png
new file mode 100644
index 0000000..119b628
Binary files /dev/null and b/guidata/tests/dist/guidata/images/filetypes/html.png differ
diff --git a/guidata/tests/dist/guidata/images/filetypes/jpg.png b/guidata/tests/dist/guidata/images/filetypes/jpg.png
new file mode 100644
index 0000000..da5caeb
Binary files /dev/null and b/guidata/tests/dist/guidata/images/filetypes/jpg.png differ
diff --git a/guidata/tests/dist/guidata/images/filetypes/pdf.png b/guidata/tests/dist/guidata/images/filetypes/pdf.png
new file mode 100644
index 0000000..f52be03
Binary files /dev/null and b/guidata/tests/dist/guidata/images/filetypes/pdf.png differ
diff --git a/guidata/tests/dist/guidata/images/filetypes/png.png b/guidata/tests/dist/guidata/images/filetypes/png.png
new file mode 100644
index 0000000..da5caeb
Binary files /dev/null and b/guidata/tests/dist/guidata/images/filetypes/png.png differ
diff --git a/guidata/tests/dist/guidata/images/filetypes/pps.png b/guidata/tests/dist/guidata/images/filetypes/pps.png
new file mode 100644
index 0000000..31efbe0
Binary files /dev/null and b/guidata/tests/dist/guidata/images/filetypes/pps.png differ
diff --git a/guidata/tests/dist/guidata/images/filetypes/ps.png b/guidata/tests/dist/guidata/images/filetypes/ps.png
new file mode 100644
index 0000000..639fd64
Binary files /dev/null and b/guidata/tests/dist/guidata/images/filetypes/ps.png differ
diff --git a/guidata/tests/dist/guidata/images/filetypes/tar.png b/guidata/tests/dist/guidata/images/filetypes/tar.png
new file mode 100644
index 0000000..6352941
Binary files /dev/null and b/guidata/tests/dist/guidata/images/filetypes/tar.png differ
diff --git a/guidata/tests/dist/guidata/images/filetypes/tgz.png b/guidata/tests/dist/guidata/images/filetypes/tgz.png
new file mode 100644
index 0000000..6352941
Binary files /dev/null and b/guidata/tests/dist/guidata/images/filetypes/tgz.png differ
diff --git a/guidata/tests/dist/guidata/images/filetypes/tif.png b/guidata/tests/dist/guidata/images/filetypes/tif.png
new file mode 100644
index 0000000..da5caeb
Binary files /dev/null and b/guidata/tests/dist/guidata/images/filetypes/tif.png differ
diff --git a/guidata/tests/dist/guidata/images/filetypes/txt.png b/guidata/tests/dist/guidata/images/filetypes/txt.png
new file mode 100644
index 0000000..d7a9e44
Binary files /dev/null and b/guidata/tests/dist/guidata/images/filetypes/txt.png differ
diff --git a/guidata/tests/dist/guidata/images/filetypes/xls.png b/guidata/tests/dist/guidata/images/filetypes/xls.png
new file mode 100644
index 0000000..9c44bf6
Binary files /dev/null and b/guidata/tests/dist/guidata/images/filetypes/xls.png differ
diff --git a/guidata/tests/dist/guidata/images/filetypes/zip.png b/guidata/tests/dist/guidata/images/filetypes/zip.png
new file mode 100644
index 0000000..6352941
Binary files /dev/null and b/guidata/tests/dist/guidata/images/filetypes/zip.png differ
diff --git a/guidata/tests/dist/guidata/images/guidata.svg b/guidata/tests/dist/guidata/images/guidata.svg
new file mode 100644
index 0000000..f8080d8
--- /dev/null
+++ b/guidata/tests/dist/guidata/images/guidata.svg
@@ -0,0 +1,538 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   version="1.0"
+   width="153.56583"
+   height="153.56583"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.48.2 r9819"
+   sodipodi:docname="guidata.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   inkscape:export-filename="D:\128.png"
+   inkscape:export-xdpi="28.091852"
+   inkscape:export-ydpi="28.091852">
+  <metadata
+     id="metadata2193">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     inkscape:window-height="744"
+     inkscape:window-width="1280"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     borderopacity="1.0"
+     bordercolor="#666666"
+     pagecolor="#ffffff"
+     id="base"
+     inkscape:zoom="1.8528087"
+     inkscape:cx="-14.031974"
+     inkscape:cy="62.748306"
+     inkscape:window-x="24"
+     inkscape:window-y="91"
+     inkscape:current-layer="svg2"
+     showgrid="false"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:window-maximized="0" />
+  <defs
+     id="defs4">
+    <linearGradient
+       id="linearGradient7932"
+       osb:paint="solid">
+      <stop
+         style="stop-color:#a0a0a0;stop-opacity:1;"
+         offset="0"
+         id="stop7934" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient6481">
+      <stop
+         id="stop6483"
+         offset="0"
+         style="stop-color:#5a9fd4;stop-opacity:1" />
+      <stop
+         id="stop6485"
+         offset="1"
+         style="stop-color:#306998;stop-opacity:1" />
+    </linearGradient>
+    <marker
+       inkscape:stockid="Arrow2Mend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Mend"
+       style="overflow:visible">
+      <path
+         id="path3908"
+         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="scale(-0.6,-0.6)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Send"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Send"
+       style="overflow:visible">
+      <path
+         id="path3896"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+         transform="matrix(-0.2,0,0,-0.2,-1.2,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow1Mend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow1Mend"
+       style="overflow:visible">
+      <path
+         id="path3890"
+         d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
+         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+         transform="matrix(-0.4,0,0,-0.4,-4,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <marker
+       inkscape:stockid="Arrow2Lend"
+       orient="auto"
+       refY="0"
+       refX="0"
+       id="Arrow2Lend"
+       style="overflow:visible">
+      <path
+         id="path3902"
+         style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         inkscape:connector-curvature="0" />
+    </marker>
+    <linearGradient
+       id="linearGradient3812">
+      <stop
+         style="stop-color:#f0f0f0;stop-opacity:1;"
+         offset="0"
+         id="stop3814" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="1"
+         id="stop3816" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3802"
+       osb:paint="solid">
+      <stop
+         style="stop-color:#808080;stop-opacity:1;"
+         offset="0"
+         id="stop3804" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3350">
+      <stop
+         style="stop-color:#00cb2b;stop-opacity:0.24793388;"
+         offset="0"
+         id="stop3352" />
+      <stop
+         style="stop-color:#00cb2b;stop-opacity:1;"
+         offset="1"
+         id="stop3354" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3342">
+      <stop
+         style="stop-color:#005a85;stop-opacity:1;"
+         offset="0"
+         id="stop3344" />
+      <stop
+         style="stop-color:#005a85;stop-opacity:0.75206614;"
+         offset="1"
+         id="stop3346" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3310">
+      <stop
+         id="stop3312"
+         offset="0"
+         style="stop-color:#ae0202;stop-opacity:1;" />
+      <stop
+         id="stop3314"
+         offset="1"
+         style="stop-color:#b47575;stop-opacity:1;" />
+    </linearGradient>
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 71.887497 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="486.04999 : 71.887497 : 1"
+       inkscape:persp3d-origin="243.02499 : 47.924998 : 1"
+       id="perspective47" />
+    <linearGradient
+       id="linearGradient2795">
+      <stop
+         style="stop-color:#b8b8b8;stop-opacity:0.49803922"
+         offset="0"
+         id="stop2797" />
+      <stop
+         style="stop-color:#7f7f7f;stop-opacity:0"
+         offset="1"
+         id="stop2799" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2787">
+      <stop
+         style="stop-color:#7f7f7f;stop-opacity:0.5"
+         offset="0"
+         id="stop2789" />
+      <stop
+         style="stop-color:#7f7f7f;stop-opacity:0"
+         offset="1"
+         id="stop2791" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3676">
+      <stop
+         style="stop-color:#b2b2b2;stop-opacity:0.5"
+         offset="0"
+         id="stop3678" />
+      <stop
+         style="stop-color:#b3b3b3;stop-opacity:0"
+         offset="1"
+         id="stop3680" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient3236">
+      <stop
+         style="stop-color:#f4f4f4;stop-opacity:1"
+         offset="0"
+         id="stop3244" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1"
+         offset="1"
+         id="stop3240" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4671">
+      <stop
+         style="stop-color:#ffd43b;stop-opacity:1"
+         offset="0"
+         id="stop4673" />
+      <stop
+         style="stop-color:#ffe873;stop-opacity:1"
+         offset="1"
+         id="stop4675" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient4689">
+      <stop
+         style="stop-color:#5a9fd4;stop-opacity:1"
+         offset="0"
+         id="stop4691" />
+      <stop
+         style="stop-color:#306998;stop-opacity:1"
+         offset="1"
+         id="stop4693" />
+    </linearGradient>
+    <linearGradient
+       x1="224.23996"
+       y1="144.75717"
+       x2="-65.308502"
+       y2="144.75717"
+       id="linearGradient2987"
+       xlink:href="#linearGradient4671"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(100.2702,99.61116)" />
+    <linearGradient
+       x1="172.94208"
+       y1="77.475983"
+       x2="26.670298"
+       y2="76.313133"
+       id="linearGradient2990"
+       xlink:href="#linearGradient4689"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(100.2702,99.61116)" />
+    <linearGradient
+       x1="172.94208"
+       y1="77.475983"
+       x2="26.670298"
+       y2="76.313133"
+       id="linearGradient2587"
+       xlink:href="#linearGradient4689"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(100.2702,99.61116)" />
+    <linearGradient
+       x1="224.23996"
+       y1="144.75717"
+       x2="-65.308502"
+       y2="144.75717"
+       id="linearGradient2589"
+       xlink:href="#linearGradient4671"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(100.2702,99.61116)" />
+    <linearGradient
+       x1="172.94208"
+       y1="77.475983"
+       x2="26.670298"
+       y2="76.313133"
+       id="linearGradient2248"
+       xlink:href="#linearGradient4689"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(100.2702,99.61116)" />
+    <linearGradient
+       x1="224.23996"
+       y1="144.75717"
+       x2="-65.308502"
+       y2="144.75717"
+       id="linearGradient2250"
+       xlink:href="#linearGradient4671"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="translate(100.2702,99.61116)" />
+    <linearGradient
+       x1="224.23996"
+       y1="144.75717"
+       x2="-65.308502"
+       y2="144.75717"
+       id="linearGradient2255"
+       xlink:href="#linearGradient4671"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.562541,0,0,0.567972,-11.5974,-7.60954)" />
+    <linearGradient
+       x1="172.94208"
+       y1="76.176224"
+       x2="26.670298"
+       y2="76.313133"
+       id="linearGradient2258"
+       xlink:href="#linearGradient4689"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.562541,0,0,0.567972,-11.5974,-7.60954)" />
+    <radialGradient
+       cx="61.518883"
+       cy="132.28575"
+       r="29.036913"
+       fx="61.518883"
+       fy="132.28575"
+       id="radialGradient2801"
+       xlink:href="#linearGradient2795"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1,0,0,0.177966,0,108.7434)" />
+    <linearGradient
+       x1="150.96111"
+       y1="192.35176"
+       x2="112.03144"
+       y2="137.27299"
+       id="linearGradient1475"
+       xlink:href="#linearGradient4671"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.562541,0,0,0.567972,-9.399749,-5.305317)" />
+    <linearGradient
+       x1="26.648937"
+       y1="20.603781"
+       x2="135.66525"
+       y2="114.39767"
+       id="linearGradient1478"
+       xlink:href="#linearGradient4689"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.562541,0,0,0.567972,-9.399749,-5.305317)" />
+    <radialGradient
+       cx="61.518883"
+       cy="132.28575"
+       r="29.036913"
+       fx="61.518883"
+       fy="132.28575"
+       id="radialGradient1480"
+       xlink:href="#linearGradient2795"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.382716e-8,-0.296405,1.43676,4.683673e-7,-128.544,150.5202)" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2795"
+       id="radialGradient2421"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.7490565e-8,-0.239947,1.054668,3.7915457e-7,-78.109429,148.85906)"
+       cx="61.518883"
+       cy="132.28575"
+       fx="61.518883"
+       fy="132.28575"
+       r="29.036913" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4671-8"
+       id="linearGradient3826-6"
+       x1="36.970898"
+       y1="54.646763"
+       x2="87.704681"
+       y2="54.646763"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       id="linearGradient4671-8">
+      <stop
+         style="stop-color:#ffd43b;stop-opacity:1"
+         offset="0"
+         id="stop4673-8" />
+      <stop
+         style="stop-color:#ffe873;stop-opacity:1"
+         offset="1"
+         id="stop4675-2" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient3812"
+       id="linearGradient3818"
+       x1="78.012024"
+       y1="80.302933"
+       x2="124.67964"
+       y2="28.603327"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4671-0"
+       id="linearGradient4097"
+       x1="-205.05431"
+       y1="55.606441"
+       x2="-64.806259"
+       y2="55.606441"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4689-9"
+       id="linearGradient4377"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.562541,0,0,0.567972,-9.399749,-5.305317)"
+       x1="26.648937"
+       y1="20.603781"
+       x2="135.66525"
+       y2="114.39767" />
+    <linearGradient
+       id="linearGradient4689-9">
+      <stop
+         style="stop-color:#5a9fd4;stop-opacity:1"
+         offset="0"
+         id="stop4691-4" />
+      <stop
+         style="stop-color:#306998;stop-opacity:1"
+         offset="1"
+         id="stop4693-6" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient4671-0"
+       id="linearGradient4374"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.562541,0,0,0.567972,-9.399749,-5.305317)"
+       x1="150.96111"
+       y1="192.35176"
+       x2="112.03144"
+       y2="137.27299" />
+    <linearGradient
+       id="linearGradient4671-0">
+      <stop
+         style="stop-color:#ffd43b;stop-opacity:1"
+         offset="0"
+         id="stop4673-3" />
+      <stop
+         style="stop-color:#ffe873;stop-opacity:1"
+         offset="1"
+         id="stop4675-6" />
+    </linearGradient>
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2795-2"
+       id="radialGradient4370"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.7490565e-8,-0.23994696,1.054668,3.7915457e-7,-78.109429,148.85906)"
+       cx="61.518883"
+       cy="132.28575"
+       fx="61.518883"
+       fy="132.28575"
+       r="29.036913" />
+    <linearGradient
+       id="linearGradient2795-2">
+      <stop
+         style="stop-color:#b8b8b8;stop-opacity:0.49803922"
+         offset="0"
+         id="stop2797-4" />
+      <stop
+         style="stop-color:#7f7f7f;stop-opacity:0"
+         offset="1"
+         id="stop2799-5" />
+    </linearGradient>
+    <radialGradient
+       r="29.036913"
+       fy="132.28575"
+       fx="61.518883"
+       cy="132.28575"
+       cx="61.518883"
+       gradientTransform="matrix(1.7490565e-8,-0.23994696,1.054668,3.7915457e-7,-78.109429,148.85906)"
+       gradientUnits="userSpaceOnUse"
+       id="radialGradient4416"
+       xlink:href="#linearGradient2795-2"
+       inkscape:collect="always" />
+    <radialGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2795-2"
+       id="radialGradient4458"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.2864026e-8,-0.17647709,0.77569117,2.7886202e-7,-26.468105,126.78403)"
+       cx="61.518883"
+       cy="132.28575"
+       fx="61.518883"
+       fy="132.28575"
+       r="29.036913" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient6481"
+       id="linearGradient6479"
+       x1="-158.6674"
+       y1="46.147835"
+       x2="-78.777054"
+       y2="46.147835"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(2.0600988,0,0,2.0600988,293.35282,15.425527)" />
+  </defs>
+  <path
+     sodipodi:type="arc"
+     style="fill:url(#linearGradient4097);stroke:none;stroke-opacity:1;fill-opacity:1.0"
+     id="path4089"
+     sodipodi:cx="-134.93028"
+     sodipodi:cy="55.606441"
+     sodipodi:rx="69.624023"
+     sodipodi:ry="51.543369"
+     d="m -65.306259,55.606441 a 69.624023,51.543369 0 1 1 -139.248051,0 69.624023,51.543369 0 1 1 139.248051,0 z"
+     transform="translate(211.03096,8.635538)" />
+  <path
+     inkscape:connector-curvature="0"
+     d="m 76.316126,27.404597 c -9.167009,0.04257 -17.921288,0.824402 -25.624146,2.187424 -22.69166,4.00887 -26.811595,12.399787 -26.811595,27.874061 l 0,20.436814 53.623186,0 0,6.812269 -3.339702,33.912115 50.740901,-12.82264 c 4.93564,0.10584 11.42175,-6.328919 6.15952,-48.338558 0,-14.532187 -12.25955,-25.448698 -26.81161,-27.874061 C 95.041031,28.05862 85.483112,27.361995 76.316126,27.404597 z M 47.317113,43.841543 c 5.538896,0 10.062145,4.597138 10.062145,10.249652 0,5.632485 -4.523 [...]
+     style="fill:url(#linearGradient6479);fill-opacity:1;fill-rule:nonzero"
+     id="path1948"
+     sodipodi:nodetypes="scscccccccssssss" />
+  <path
+     style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#db945f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:9.58500000000000090;marker:none;visibility:visible;display:inline;overfl [...]
+     d="m 77.306851,8.1694723 c -42.510551,0 -77.413721,20.0662467 -77.413721,53.2120357 0,8.286447 2.1477156,16.195516 6.0335163,23.397993 3.8858007,7.202478 9.5096867,13.698363 16.4620267,19.158439 6.952341,5.46008 15.233136,9.88436 24.432756,12.94361 9.199619,3.05926 42.526071,31.19983 53.153709,31.19983 5.313822,0 -21.121472,-14.05573 -18.222782,-20.92935 2.445252,-5.79838 20.364304,-8.74085 24.965674,-10.27048 9.20273,-3.05926 17.48768,-7.48353 24.44418,-12.94361 6.9565,-5.460076 12 [...]
+     id="path3032"
+     inkscape:connector-curvature="0"
+     sodipodi:nodetypes="ssssssssssssssssssss" />
+</svg>
diff --git a/guidata/tests/dist/guidata/images/max.png b/guidata/tests/dist/guidata/images/max.png
new file mode 100644
index 0000000..60bf1e3
Binary files /dev/null and b/guidata/tests/dist/guidata/images/max.png differ
diff --git a/guidata/tests/dist/guidata/images/min.png b/guidata/tests/dist/guidata/images/min.png
new file mode 100644
index 0000000..11ba5f3
Binary files /dev/null and b/guidata/tests/dist/guidata/images/min.png differ
diff --git a/guidata/tests/dist/guidata/images/none.png b/guidata/tests/dist/guidata/images/none.png
new file mode 100644
index 0000000..93c302e
Binary files /dev/null and b/guidata/tests/dist/guidata/images/none.png differ
diff --git a/guidata/tests/dist/guidata/images/not_found.png b/guidata/tests/dist/guidata/images/not_found.png
new file mode 100644
index 0000000..4cece58
Binary files /dev/null and b/guidata/tests/dist/guidata/images/not_found.png differ
diff --git a/guidata/tests/dist/guidata/images/python.png b/guidata/tests/dist/guidata/images/python.png
new file mode 100644
index 0000000..c792875
Binary files /dev/null and b/guidata/tests/dist/guidata/images/python.png differ
diff --git a/guidata/tests/dist/guidata/images/quickview.png b/guidata/tests/dist/guidata/images/quickview.png
new file mode 100644
index 0000000..75321f3
Binary files /dev/null and b/guidata/tests/dist/guidata/images/quickview.png differ
diff --git a/guidata/tests/dist/guidata/images/save_all.png b/guidata/tests/dist/guidata/images/save_all.png
new file mode 100644
index 0000000..14e8a30
Binary files /dev/null and b/guidata/tests/dist/guidata/images/save_all.png differ
diff --git a/guidata/tests/dist/guidata/images/selection.png b/guidata/tests/dist/guidata/images/selection.png
new file mode 100644
index 0000000..b4909e7
Binary files /dev/null and b/guidata/tests/dist/guidata/images/selection.png differ
diff --git a/guidata/tests/dist/guidata/images/settings.png b/guidata/tests/dist/guidata/images/settings.png
new file mode 100644
index 0000000..c30eaf1
Binary files /dev/null and b/guidata/tests/dist/guidata/images/settings.png differ
diff --git a/guidata/tests/dist/guidata/images/shape.png b/guidata/tests/dist/guidata/images/shape.png
new file mode 100644
index 0000000..b7ec27a
Binary files /dev/null and b/guidata/tests/dist/guidata/images/shape.png differ
diff --git a/guidata/tests/dist/guidata/images/xmax.png b/guidata/tests/dist/guidata/images/xmax.png
new file mode 100644
index 0000000..2e4a846
Binary files /dev/null and b/guidata/tests/dist/guidata/images/xmax.png differ
diff --git a/guidata/tests/dist/guidata/images/xmin.png b/guidata/tests/dist/guidata/images/xmin.png
new file mode 100644
index 0000000..87deb93
Binary files /dev/null and b/guidata/tests/dist/guidata/images/xmin.png differ
diff --git a/guidata/tests/dist/guidata/locale/fr/LC_MESSAGES/guidata.mo b/guidata/tests/dist/guidata/locale/fr/LC_MESSAGES/guidata.mo
new file mode 100644
index 0000000..9a9539f
Binary files /dev/null and b/guidata/tests/dist/guidata/locale/fr/LC_MESSAGES/guidata.mo differ
diff --git a/guidata/tests/dist/tk/demos/images/ouster.png b/guidata/tests/dist/tk/demos/images/ouster.png
new file mode 100644
index 0000000..7be42ab
Binary files /dev/null and b/guidata/tests/dist/tk/demos/images/ouster.png differ
diff --git a/guidata/tests/dist/tk/images/lamp.png b/guidata/tests/dist/tk/images/lamp.png
new file mode 100644
index 0000000..5445746
Binary files /dev/null and b/guidata/tests/dist/tk/images/lamp.png differ
diff --git a/guidata/tests/dist/tk/images/lamp.svg b/guidata/tests/dist/tk/images/lamp.svg
new file mode 100644
index 0000000..aa34765
--- /dev/null
+++ b/guidata/tests/dist/tk/images/lamp.svg
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="256"
+   height="256"
+   id="svg2"
+   sodipodi:version="0.32"
+   inkscape:version="0.46"
+   version="1.0"
+   sodipodi:docname="lamp.svg"
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"
+   inkscape:export-filename="C:\Users\pat\Documents\SVG\wish\lamp.png"
+   inkscape:export-xdpi="45"
+   inkscape:export-ydpi="45">
+  <defs
+     id="defs4">
+    <inkscape:perspective
+       sodipodi:type="inkscape:persp3d"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       id="perspective10" />
+    <inkscape:perspective
+       id="perspective4202"
+       inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+       inkscape:vp_z="744.09448 : 526.18109 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 526.18109 : 1"
+       sodipodi:type="inkscape:persp3d" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     gridtolerance="10000"
+     guidetolerance="10"
+     objecttolerance="10"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.9765625"
+     inkscape:cx="122.94071"
+     inkscape:cy="132.27976"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1253"
+     inkscape:window-height="696"
+     inkscape:window-x="155"
+     inkscape:window-y="130" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title>Wish</dc:title>
+        <cc:license
+           rdf:resource="http://creativecommons.org/licenses/by-nc-sa/3.0/" />
+      </cc:Work>
+      <cc:License
+         rdf:about="http://creativecommons.org/licenses/by-nc-sa/3.0/">
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Reproduction" />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#Distribution" />
+        <cc:requires
+           rdf:resource="http://creativecommons.org/ns#Notice" />
+        <cc:requires
+           rdf:resource="http://creativecommons.org/ns#Attribution" />
+        <cc:prohibits
+           rdf:resource="http://creativecommons.org/ns#CommercialUse" />
+        <cc:permits
+           rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+        <cc:requires
+           rdf:resource="http://creativecommons.org/ns#ShareAlike" />
+      </cc:License>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <path
+       id="path4244"
+       d="M 415.15644,157.10949 C 415.95395,156.55285 413.63871,156.20026 408.98022,156.16891 C 400.39605,156.11114 394.03714,153.62619 389.90404,148.71428 C 386.80837,145.03529 386.70005,142.56479 389.55139,140.67157 C 392.33793,138.82138 391.59696,137.74624 384.94986,133.99485 C 377.10186,129.56571 367.45876,120.11083 361.01771,110.52982 C 356.2238,103.39891 354.835,102.02199 351.39782,100.99218 C 348.07028,99.995225 347.3807,99.349945 347.3807,97.233135 C 347.3807,95.827615 348.28389, [...]
+       style="fill:#a19ea5" />
+    <path
+       id="path4242"
+       d="M 105.76326,194.33186 C 96.199481,191.3282 86.035511,183.95952 84.415432,178.8551 C 83.669624,176.50526 84.619431,173.43151 87.043677,170.34958 C 89.131529,167.6953 90.839771,164.85771 90.839771,164.04381 C 90.839771,163.22992 85.918717,159.94111 79.904096,156.73534 C 65.654177,149.14022 48.534772,133.52161 39.035518,119.44956 C 25.94837,100.06246 20.676575,94.528555 15.260318,94.492261 C 12.544659,94.474078 9.7834525,93.586577 9.1243032,92.52005 C 7.1111542,89.262706 9.8582449 [...]
+       style="fill:#edd400"
+       sodipodi:nodetypes="cssssssscccsssssssssssssssssssssssssscccc" />
+    <path
+       id="path4238"
+       d="M 105.76326,195.26015 C 91.2682,190.70773 79.926103,178.96138 85.064191,173.82331 C 86.412111,172.47539 90.329525,173.11166 98.078673,175.93715 C 114.43988,181.90274 127.59098,183.59079 140.28535,181.35472 C 153.94689,178.94829 158.14857,176.20124 155.47497,171.42379 C 153.72375,168.29452 151.50157,168.02067 131.82394,168.50911 C 119.87893,168.8056 106.35554,168.19755 101.77196,167.15787 C 89.698721,164.41931 70.093174,152.93068 56.939947,140.88681 C 44.534571,129.52772 29.1951 [...]
+       style="fill:#555753"
+       sodipodi:nodetypes="cssssssssssscccsssssssssssssscccsssssssssssssssssssscccccssscccc" />
+    <path
+       id="path4234"
+       d="M 110.50482,194.3016 C 101.29684,192.13337 94.533525,188.48684 89.271383,182.85325 C 82.390918,175.4871 85.936884,174.28107 99.528813,179.36455 C 115.59245,185.37247 143.30992,186.28633 152.7661,181.11982 C 159.03409,177.69523 160.98588,170.45868 156.43581,167.51383 C 155.17435,166.69739 142.9955,165.96174 129.37171,165.87907 C 108.80987,165.75428 102.74285,165.05333 93.663859,161.75352 C 73.025491,154.25244 49.561448,135.01491 39.768427,117.56612 C 35.780389,110.46041 36.41132 [...]
+       style="fill:#000000;fill-opacity:1"
+       sodipodi:nodetypes="cssssssssssssssssssssssssssssssssssssscccccsssssssccssccssssc" />
+  </g>
+</svg>
diff --git a/guidata/userconfig.py b/guidata/userconfig.py
index ca54dd3..f59a081 100644
--- a/guidata/userconfig.py
+++ b/guidata/userconfig.py
@@ -281,7 +281,8 @@ class UserConfig(cp.ConfigParser):
     def get_default(self, section, option):
         """
         Get Default value for a given (section, option)
-        -> useful for type checking in 'get' method
+
+        Useful for type checking in 'get' method
         """
         section = self.__check_section_option(section, option)
         options = self.defaults.get(section, {})

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/guidata.git



More information about the debian-science-commits mailing list