# Version 1 # ## Version 1.8.0 ## Changes: * Added generic widgets: array, dictionary, text and code editors. * Removed `spyderlib`/`spyder` dependency. * Added setter method on DataItem object for "help" text (fixed part of the tooltip). ## Version 1.7.9 ## Changes: * Added PySide2 support: guidata is now compatible with Python 2.7, Python 3.4+, PyQt4, PyQt5 and PySide2! ## Version 1.7.8 ## Changes: * Added PyQt4/PyQt5/PySide automatic switch depending on installed libraries * Moved documentation to ## Version 1.7.7 ## Bug fixes: * Fixed Spyder v4.0 compatibility issues. ## Version 1.7.6 ## Bug fixes: * Fixed Spyder v3.0 compatibility issues. ## Version 1.7.5 ## Bug fixes: * `FilesOpenItem.check_value` : if value is None, return False (avoids "None Type object is not iterable" error) ## Version 1.7.4 ## Bug fixes: * Fixed compatibility issue with Python 3.5.1rc1 (Issue #32: RecursionError in `userconfig.UserConfig.get`) * `HDF5Reader.read_object_list`: fixed division by zero (when count was 1) * `hdf5io`: fixed Python3 compatibility issue with unicode_hdf type converter ## Version 1.7.3 ## Features: * Added CHM documentation to wheel package * hdf5io: added support for a progress bar callback in "read_object_list" (this allows implementing a progress dialog widget showing the progress when reading an object list in an HDF5 file) Bug fixes: * Python 3 compatibility: fixed `hdf5io.HDF5Writer.write_object_list` method * data items: * StringItem: when `notempty` parameter was set to True, item value was not checked at startup (expected orange background) * disthelpers: * Supporting recent versions of SciPy, h5py and IPython * Fixed compatibility issue (workaround) with IPython on Python 2.7 (that is the "collection.sys cx_Freeze error") ## Version 1.7.2 ## Bug fixes: * Fixed compatibility issues with old versions of Spyder () * disthelpers: * vs2008 option was ignored * added 'C:\Program Files (x86)' to bin includes (cx_Freeze) * Data items/callbacks: fixed callbacks for ChoiceItem (or derived items) which were triggered when other widgets were triggering their own callbacks... Other changes: * Added test for item callbacks * dataset.datatypes.FormatProp/new behavior: added `ignore_error` argument, default to True (ignores string formatting error: ValueError) * disthelpers: * Distribution.Setup: added `target_dir` option * Distribution.build: added `create_archive` option to create a ZIP archive after building the package * cx_Freeze: added support for multiple executables * added support for h5py 2.0 * added support for Maplotlib 1.1 * Allow DateTime edit widgets to popup calendar ## Version 1.4.0 ## Possible API compatibility issues: * disthelpers: removed functions remove_build_dist, add_module_data_files, add_text_data_file, get_default_excludes, get_default_includes, get_default_dll_excludes, create_vs2008_data_files (...) which were replaced by a class named Distribution, see the new disthelpers test for more details (tests/dishelpers.py) * reorganized utils and configtools modules Other changes: * disthelpers: replaced almost all functions by a class named Distribution, and added support for cx_Freeze (module remains compatible with py2exe), see the new disthelpers test for more details (tests/dishelpers.py) * reorganized utils and configtools modules ## Version 1.3.2 ## Since this version, `guidata` is compatible with PyQt4 API #1 *and* API #2. Please read carefully the coding guidelines which have been recently added to the documentation. Possible API compatibility issues: * Removed deprecated wrappers around QFileDialog's static methods (use the wrappers provided by `guidata.qt.compat` instead): * getExistingDirectory, getOpenFileName, getOpenFileNames, getSaveFileName Bug fixes: * qtwidgets.ShowFloatArrayWidget: fixed string float formatting issue (replaced %f by %g) * Fixed compatiblity issues with PyQt v4.4 (Contributor: Carlos Pascual) * Fixed missing 'child_title' attribute error with FileOpenItem, FilesOpenItem, FileSaveItem and DirectoryItem * (Fixes Issue 8) disthelpers.add_modules was failing when vs2008=False Other changes: * added *this* changelog * qtwidgets: removed ProgressPopUp dialog (it is now recommended to use QProgressDialog instead, which is pretty much identical) * Replaced QScintilla by spyderlib (as a dependency for array editor, code editor (test launcher) and dict editor) * qtwidgets.DockWidgetMixin: added method 'setup_dockwidget' to change dockwidget's features, location and allowed areas after class instantiation * guidata.utils.utf8_to_unicode: translated error message in english * Add support for 'int' in hdf5 save function * guidata.dataset/Numeric items (FloatItem, IntItem): added option 'unit' (automatically add suffix ' (unit)' to label in edit mode and suffix ' unit' to value in read-only mode) * Improved dataset `__str__` method: code refactoring with read-only dataset widgets (DataItem: added methods 'format_string' and 'get_string_value', DataSet: added method 'to_string') * Added coding guidelines to the documentation * guidata.dataset.qtwidget: added specific widget (ShowBooleanWidget) for read-only display of bool items (text is striked out when value is False) * guidata.hdf5io.Dset: added missing keyword argument 'optional' (same effect as parent class Attr) * guidata.dataset.dataitems.IntItem objects: added support for sliders (fixes Issue 9) with option slider=True (see documentation) ## Version 1.3.1 ## Bug fixes: * setup.py: added svg icons to data files * gettext helpers were not working on Linux (Windows install pygettext was hardcoded) Other changes: * hdf5io: printing error messages in sys.stderr + added more infos when failing to load attribute ## Version 1.3.0 ## Bug fixes: * setup.py: added svg icons to data files * gettext helpers were not working on Linux (Windows install pygettext was hardcoded) * DataSet/bugfix: comment/title options now override the DataSet class `__doc__` attribute * Added missing option 'basedir' for FilesOpenItem * DirectoryItem: fixed missing child_title attribute bug * For all DataSet GUI representation, the comment text is now word-wrapped * Bugfix: recent versions of PyQt don't like the QApplication reference to be stored in modules (why is that?) * Bugfix/tests: always keep a reference to the QApplication instance Other changes: * setup.py: added source archive download url * Tests: now creating real temporary files and cleaning up at exit * qtAllow a callback on LineEditWidget to notify about text changes (use set_prop("display", "callback", callback)) * qthelpers: provide wrapper for qt.getOpen/SaveFileName to work around win32 bug * qtwidgets: optionally hide apply button in DataSetEditGroupBox * added module guidata.qtwidgets (moved some generic widgets from guidata.qthelpers and from other external packages) * qthelpers: added helper 'create_groupbox' (QGroupBox object creation) * Array editor: updated code from Spyder's array editor (original code) * Added package guidata.editors: contains editor widgets derived from Spyder editor widgets (array editor, dictionary editor, text editor) * Array editor: added option to set row/col labels (resp. ylabels and xlabels) * ButtonItem: changed callback arguments to*instance* (DataSet object), *value* (item value), *parent* (button's parent widget) * editors.DictEditor.DictEditor: moved options from constructor to 'setup' method (like ArrayEditor's setup_and_check), added parent widget to constructor options * Added DictItem type: simple button to edit a dictionary * editors.DictEditor.DictEditor/bugfixes: added action "Insert" to context menu for an empty dictionary + fixed inline unicode editing (was showing the error message "Unable to assign data to item") * guidata.qtwidgets: added 'DockableWidgetMixin' to fabricate any dockable QWidget class * gettext helpers: added support for individual module translation (until now, only whole packages were supported) * DataSetShowGroupBox/DataSetEditGroupBox: **kwargs may now be passed to the DataSet constructor * disthelpers: added 'scipy.io' to supported modules (includes) * Added new "value_callback" display property: this function is called when QLineEdit text has changed (item value is passed) * Added option to pass a text formatting function in DataSetShowWidget