summaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorSVN-Git Migration <python-modules-team@lists.alioth.debian.org>2015-10-08 09:27:57 -0700
committerSVN-Git Migration <python-modules-team@lists.alioth.debian.org>2015-10-08 09:27:57 -0700
commit928ccf929c26a5344c224303b5108e99c2eb597a (patch)
tree6d371148311fe4467b0c9a208e9c36d24380c75e /ChangeLog
Imported Upstream version 1.9.8
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog2696
1 files changed, 2696 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..e134d95
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,2696 @@
+=== 1.9.8 ===
+2006-04-25 Johan Dahlin <jdahlin@async.com.br>
+
+ * NEWS: Update
+
+2006-04-25 Ronaldo Maia <romaia@async.com.br>
+
+ reviewed by: jdahlin
+
+ * kiwi/ui/objectlist.py (Column.as_string): Use a slightly
+ different logic to convert to a string, fixes boolean radio
+ columns
+
+2006-04-25 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/environ.py: Add support for .gz and .bz2 compressed
+ glade files, supported by recent gazpacho versions.
+ Also check in the current directory when everything else
+ fails. Based on patch by Sidnei da Silva, fixes #2409
+
+2006-04-24 Ronaldo Maia <romaia@async.com.br>
+
+ reviewed by: jdahlin
+
+ * kiwi/ui/objectlist.py: fixing when data is None in as_string
+ * tests/test_ObjectList.py: a test case when data is None
+
+2006-04-24 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/test/main.py:
+ * kiwi/ui/test/player.py:
+ Run the script in a separate thread and the application
+ in the main thread. Makes it easier to integrate the testsuite
+ in applications that can't be run in threads.
+
+2006-04-19 Ronaldo Maia <romaia@async.com.br>
+
+ reviewed by: jdahlin
+
+ * examples/framework/sizegroup/shell.glade:
+ * examples/framework/sizegroup/slave_view.glade:
+ * examples/framework/sizegroup/slave_view2.glade:
+ * examples/framework/sizegroup/slaves.py:
+ Sizegroup merging example
+ * kiwi/ui/views.py:
+ When attaching a slave, merge the sizegroups with the same name
+
+2006-04-19 Johan Dahlin <johan@gnome.org>
+
+ * kiwi/ui/objectlist.py (_ContextMenu._on_menuitem__activate):
+ Call row_changed for all rows after changing the visibility a
+ column. This will make the treeview remeasure nicely.
+
+2006-04-18 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/widgets/radiobutton.py (ProxyRadioButton.__init__): Set
+ the group after calling the parents constructor, otherwise we'll
+ get :toggled emitted before the object is initialized properly.
+
+2006-04-12 Patrick K O'Brien <pobrien@orbtech.com>
+
+ reviewed by: Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/objectlist.py (ObjectList.__init__):
+ Add row-activated signal and make the old double-click signal
+ only be emitted when a double-click on the list. Fixes #2526
+
+2006-04-11 Ronaldo Maia <romaia@async.com.br>
+
+ reviewed by: jdahlin
+
+ * kiwi/ui/objectlist.py: always use a converter to set the
+ contents of a column in a ObjectList. Fixes #2523
+
+2006-04-10 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/combomixin.py (ComboMixin.prefill)
+ (ComboMixin.append_item): Check for basestring instead of str
+ so Unicode can be used, thanks to Alceste Scalas
+
+2006-04-07 Patrick K O'Brien <pobrien@orbtech.com>
+
+ reviewed by: Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/objectlist.py: only respond to the toggled event
+ when a boolean column is set to editable. Fixes #2525
+
+2006-04-06 Ronaldo Maia <romaia@async.com.br>
+
+ reviewed by: jdahlin
+
+ * kiwi/ui/entry.py:
+ * kiwi/ui/icon.py:
+ * kiwi/ui/proxywidget.py:
+ * kiwi/ui/widgets/combo.py:
+ * kiwi/ui/widgets/spinbutton.py:
+ Refactor tooltips to fix bug #1954
+
+2006-04-06 Ronaldo Maia <romaia@async.com.br>
+
+ reviewed by: jdahlin
+
+ * examples/validation/personalinformation.py:
+ * kiwi/ui/entry.py:
+ * kiwi/ui/widgets/entry.py:
+ * tests/test_Entry.py:
+ Changed mask characters and some clean-ups. Fixes #2519
+
+2006-04-04 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/entry.py: Clean up the handling of the exact_completion
+ property.
+
+ * kiwi/python.py: Get rid of GObject stuff in base classes, move
+ it to kiwi utils
+ * kiwi/utils.py: inline class initiable meta here
+
+2006-03-30 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/dateentry.py (DateEntry.__init__):
+ Only set the mask if it's not empty
+
+ * kiwi/ui/widgets/entry.py (ProxyEntry.set_mask_for_data_type):
+ Instead of skipping, try to do an educated guess of the mask.
+
+2006-03-30 Ronaldo Maia <romaia@async.com.br>
+
+ reviewed by: jdahlin
+
+ * kiwi/ui/proxywidget.py: update the validation error tooltip
+ every time the value changes (for tooltips that containg the
+ invalid value)
+ * po/kiwi.pot:
+ * po/pt_BR.po: new translations
+ * po/sv.po:
+
+2005-03-29 Ali Afshar <aafshar@gmail.com>
+
+ reviewed by: Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/widgets/colorbutton.py:
+ * kiwi/ui/widgets/fontbutton.py:
+ Add proxy widgets for gtk.ColorButton and gtk.FontButton.
+ Fixes #2511
+
+2006-03-29 Ronaldo Maia <romaia@async.com.br>
+
+ reviewed by: jdahlin
+
+ * kiwi/ui/gazpacholoader.py:
+ * po/kiwi.pot:
+ * po/pt_BR.po:
+ * po/sv.po:
+ pt_BR translation
+
+2006-03-29 Ronaldo Maia <romaia@async.com.br>
+
+ reviewed by: jdahlin
+
+ * kiwi/ui/widgets/spinbutton.py: No need to press enter to notify that
+ the value of the spinbutton changed.
+ * tests/test_proxy.py: Fixing some tests and adding new ones.
+
+2006-03-28 Ronaldo Maia <romaia@async.com.br>
+
+ reviewed by: jdahlin
+
+ * examples/framework/diary/diary2.py: When the list is empty, pass None
+ to proxy.set_model
+ * examples/framework/news/news4.py: Fixing methods, so they work
+ properly with both callbacks and keyactions.
+
+2006-03-26 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/desktopparser.py: Add a GKeyFile inspired .desktop parser
+
+2006-03-24 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/comboentry.py:
+ * kiwi/ui/entry.py:
+ * kiwi/ui/widgets/combo.py:
+ * kiwi/ui/widgets/entry.py:
+ In ProxyComboEntry, only listen to content-changed on the ProxyEntry.
+ In ProxyEntry, work around GtkEntry::changed which sometimes is emitted
+ twice when set_text is called.
+ In KiwiEntry.get_selected_by_iter, return None if the text from the
+ model doesn't match the text
+
+2006-03-23 Johan Dahlin <jdahlin@async.com.br>
+
+ * gazpacho-plugin/kiwiwidgets.xml:
+ * kiwi/ui/gazpacholoader.py:
+ * kiwi/ui/widgets/checkbutton.py:
+ * kiwi/ui/widgets/entry.py:
+ * kiwi/ui/widgets/filechooser.py:
+ * kiwi/ui/widgets/label.py:
+ * kiwi/ui/widgets/radiobutton.py:
+ * kiwi/ui/widgets/spinbutton.py:
+ * kiwi/ui/widgets/textview.py:
+ * tests/test_CheckButton.py:
+ * tests/test_Label.py:
+ * tests/test_SpinButton.py:
+ * tests/test_utils.py:
+ Rename all widgets to Proxy..., update gazpacho and tests.
+
+2006-03-23 Ronaldo Maia,,, <romaia@async.com.br>
+
+ reviewed by: jdahlin:
+
+ * kiwi/ui/proxy.py: allow None to be passed to proxy.set_model
+ * kiwi/ui/widgets/checkbutton.py:
+ * kiwi/ui/widgets/radiobutton.py:
+ Allow None to be passed to update
+
+2006-03-23 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/datatypes.py: Move setlocale() call to __init__.py
+
+ * kiwi/environ.py (Library.enable_translation): Refactor a little bit
+ try to locate the .mo file and give a warning if it cannot
+ be found.
+
+2006-03-22 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/dist.py (KiwiInstallLib._write_dictionary): Replace / with
+ os.sep on win32, fixes installation.
+
+ * kiwi/ui/entry.py:
+ * kiwi/ui/widgets/entry.py:
+ * tests/test_Entry.py:
+ Move stuff from ProxyEntry to KiwiEntry, use
+ a kiwi entry in the ComboEntry.
+
+2006-03-22 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/proxy.py: Rename from kiwi.proxies
+ * kiwi/acccessor.py: Rename from accessors
+ * kiwi/model.py: Rename from model
+
+ * kiwi/proxies.py:
+ Reorganize, Deprecate new_model, Rename model to _model and
+ add a property.
+
+ * kiwi/interfaces.py:
+ * kiwi/proxywidget.py:
+ Document/reorganize signals
+
+2006-03-21 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/proxywidget.py:
+ * kiwi/ui/proxywidget.py:
+ * kiwi/ui/widgets/checkbutton.py:
+ * kiwi/ui/widgets/combo.py:
+ * kiwi/ui/widgets/entry.py:
+ * kiwi/ui/widgets/filechooser.py:
+ * kiwi/ui/widgets/label.py:
+ * kiwi/ui/widgets/proxy.py:
+ * kiwi/ui/widgets/radiobutton.py:
+ * kiwi/ui/widgets/spinbutton.py:
+ * kiwi/ui/widgets/textview.py:
+ Rename mixins and move out of kiwi/ui/widgets/
+
+2006-03-21 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/interfaces.py:
+ * kiwi/proxies.py:
+ * kiwi/ui/views.py:
+ * kiwi/ui/widgets/proxy.py:
+ Rename interfaces and start to document
+
+2006-03-21 Johan Dahlin <jdahlin@async.com.br>
+
+ * gazpacho-plugin/kiwiwidgets.xml:
+ * tools/glade_conversor.py (filters):
+ Update to reflect renames.
+
+ * kiwi/ui/widgets/radiobutton.py (RadioButton.__init__): Rename
+ RadioButton to ProxyRadioButton.
+ Add gtk.RadioButton compatible arguments to ProxyRadioButton
+
+ * kiwi/ui/widgets/entry.py: Rename Entry to ProxyEntry
+
+ * kiwi/ui/gazpacholoader.py (GazpachoWidgetTree.__init__):
+ Print deprecation warnings inside a glade file nicely
+
+ * kiwi/python.py (deprecationwarn, disabledeprecationcall): New
+ functions, to manage deprecation warnings
+
+2005-12-14 Ali Afshar <aafshar@gmail.com>
+
+ reviewed by: Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/widgets/filechooser.py:
+ Add widget support for filechooserbutton and filechooserdialog.
+
+2006-03-21 Johan Dahlin <jdahlin@async.com.br>
+
+
+ * kiwi/dist.py (setup): Add a distutils setup() replacement to
+ simplify installation of kiwi packages.
+
+ * kiwi/__init__.py:
+ * kiwi/environ.py:
+ * kiwi/log.py:
+ Simplify localization for uninstalled applications. Use proper logging
+ in environment
+
+2006-03-20 Ronaldo Maia <romaia@async.com.br>
+
+ reviewed by: jdahlin
+
+ * kiwi/datatypes.py:
+ * tests/test_datatypes.py:
+ Output a string in a locale dependent way, even if a format is not
+ provided
+ Fixes #2486
+
+2006-03-20 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/component.py:
+ * kiwi/interfaces.py:
+ * kiwi/proxies.py:
+ * kiwi/ui/views.py:
+ * kiwi/ui/widgets/proxy.py:
+ * tests/test_component.py:
+ Add implements() and providedBy() in a (almost) zope.interface
+ compatible way. Plenty of tests.
+ Fixes #2501
+
+2006-03-20 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/decorators.py (deprecated.wrapper): Add an optional log argument
+
+ * kiwi/log.py (_log_levels): Add a global log object
+
+2006-03-17 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/comboentry.py (ComboEntry._on_entry_completion__match_selected): When entry completion is used, update the iter in the treeview aswell.
+
+2006-03-13 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/comboentry.py (_ComboEntryPopup.popup):
+ Set the height on the treeview instead of the popup window.
+
+=== 1.9.7 ===
+2006-03-11 Johan Dahlin <jdahlin@async.com.br>
+
+ * NEWS: Update
+
+2006-03-07 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/dateentry.py:
+ * kiwi/ui/entry.py:
+ * kiwi/ui/widgets/entry.py:
+
+ Make sure the width of the dateentry is not longer than
+ it needs to be, don't expand at all.
+
+2006-03-06 Johan Dahlin <jdahlin@async.com.br>
+
+ * gazpacho-plugin/kiwiwidgets.py:
+ * gazpacho-plugin/kiwiwidgets.xml:
+ * kiwi/ui/gazpacholoader.py:
+ * kiwi/ui/hyperlink.py:
+
+ Add gazpacho support for hyperlink.
+
+2006-03-06 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/component.py:
+ (get_utility): Add limited support for zope.interfaces.
+
+2006-03-05 Johan Dahlin <jdahlin@async.com.br>
+
+ * gazpacho-plugin/kiwiwidgets.xml:
+ * kiwi/ui/dateentry.py:
+ * kiwi/ui/gazpacholoader.py:
+ * kiwi/ui/widgets/entry.py:
+ * tests/test_dateentry.py:
+
+ Add a DateEntry which has a toggle button that popups a calendar.
+
+2006-03-05 Johan Dahlin <jdahlin@async.com.br>
+
+ * setup.py (version): Use the new features
+
+ * kiwi/dist.py: Add support for $sysconfdir and add an install_data
+ subclass which replaces variables. Fetch name from distribution object
+ instead of subclass. Refactoring and cleanups
+
+2006-03-02 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/datatypes.py (_IntConverter.as_string):
+ Do not use a locale specific way of formatting integers.
+
+ * tests/test_datatypes.py (IntTest.testAsStringUS)
+ (IntTest.testAsStringUS): Add a test
+
+2006-03-01 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/objectlist.py (ObjectList.remove): Add an optional select
+ argument to be consistent with append.
+
+ * kiwi/ui/widgets/radiobutton.py (RadioButton._on_group_changed):
+ Emit content changed when any radio button in the group changes
+
+2006-02-24 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/widgets/combo.py:
+ * kiwi/ui/widgets/entry.py:
+ * tests/test_comboentry.py:
+
+ Add support for comboentry.select_item_by_data.
+ Add tests and remove ComboMixin interface from ProxyComboEntry.
+ Rename _create_completion to _get_completion.
+ Reorganize methods in comboentry to match the
+
+2006-02-24 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/datatypes.py (_BaseDateTimeConverter.get_format): Remove
+ seconds and AM/PM for now, since we don't have enough infrastructure
+ to support optional AM/PM.
+ (filter_locale): Refactor to a function and replace decimal point
+ with a .
+
+ * tests/test_datatypes.py (CurrencyTest.testFormatBR):
+ Add tests for decimal points which are not .
+
+2006-02-23 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/icon.py (IconEntry.deconstruct):
+ Add support for drawing the icon on the left side and when xalign
+ is higher than 0.5, draw the icon on the left side.
+
+ * kiwi/datatypes.py (_BaseDateTimeConverter.from_string):
+ * kiwi/ui/widgets/entry.py (DATE_MASK_TABLE):
+ Add support for datetime.time
+
+ * kiwi/ui/comboentry.py (ComboEntry.prefill):
+ Use entry.prefill
+
+ * kiwi/ui/widgets/entry.py (Entry.prefill): New method
+ (Entry.set_completion_strings): Deprecate and use
+ prefill internally
+
+2006-02-23 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/widgets/entry.py: Split out mask and icon
+ to a separate entry which doesn't depend on the framework.
+ Make get_empty_mask() public.
+
+2006-02-22 Johan Dahlin <jdahlin@async.com.br>
+
+ * examples/framework/diary/diary.glade:
+ * examples/framework/diary/diary.py:
+ * kiwi/proxies.py:
+ * kiwi/ui/delegates.py:
+ * kiwi/ui/gazpacholoader.py:
+ * kiwi/ui/libgladeloader.py:
+ * kiwi/ui/views.py:
+ Add ProxyDelegate and example. Rename proxy.new_model to
+ proxy.set_model.
+ Add sizegroup merging support (disabled).
+ Add show_and_loop method on the view.
+ Remove a few mutable default arguments.
+
+2006-02-21 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/widgets/entry.py (Entry.set_text): Set the cursor
+ after the inserted text
+ (Entry.prop_set_data_type): Right align entries which contain
+ numbers by default
+
+ * kiwi/ui/objectlist.py: Add Column.editable_attribute which
+ is a row (object) specific way of saying if an attribute
+ is editable or not.
+
+2006-02-18 Patrick K O'Brien <pobrien@orbtech.com>
+
+ reviewed by: Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/dist.py (TemplateInstallLib.install): win32 install fix
+ Fixes bug 2446
+
+=== 1.9.6 ===
+2006-02-17 Johan Dahlin <jdahlin@async.com.br>
+
+ * NEWS: 1.9.6
+
+ * kiwi/ui/widgets/entry.py:
+ (Entry._set_mask_for_data_type, Entry.prop_set_data_type):
+ For datetime objects, set a default mask
+ (Entry._insert_mask): Split into two
+ (Entry.read): If the input is just the empty mask
+ return an empty string.
+
+ * tests/test_Entry.py:
+ Add paste/cut support. Refactor cleanup.
+ Add a couple of basic tests.
+
+2006-02-16 Johan Dahlin <jdahlin@async.com.br>
+
+ * examples/validation/personalinformation.py:
+ * kiwi/ui/widgets/entry.py:
+ Add basic mask support to entry, still needs a few
+ improvements. Also add a simple example.
+
+2006-02-15 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/comboentry.py:
+ * kiwi/utils.py:
+ * tests/test_gazpacholoader.py:
+ * tests/test_utils.py:
+
+ 2.6 compatibility added
+
+2006-02-15 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/utils.py (PropertyMeta._update_bases): Make sure subclassing
+ of a combobox works
+
+ * tests/test_utils.py (Subclassing.testCombo): Add a test for this
+
+ * gazpacho-plugin/kiwiwidgets.xml:
+ * kiwi/ui/comboboxentry.py:
+ * kiwi/ui/comboentry.py:
+ * kiwi/ui/combomixin.py:
+ * kiwi/ui/gazpacholoader.py:
+ * kiwi/ui/widgets/combo.py:
+ * kiwi/ui/widgets/combobox.py:
+ * kiwi/ui/widgets/list.py:
+ * tools/glade_conversor.py:
+
+ Refactor combos, beginning of gazpacho/proxy support for comboentry.
+
+2006-02-14 Johan Dahlin <jdahlin@async.com.br>
+
+ * examples/framework/news/news2.py:
+ * examples/framework/news/news3.py:
+ * examples/framework/news/news4.py:
+ * examples/list/editable.py:
+ * examples/list/kitchensink.py:
+ * examples/list/radio.py:
+ * examples/list/searchbar.py:
+ * examples/list/simple.py:
+ * examples/list/sortable.py:
+ * examples/list/stockicon.py:
+ * gazpacho-plugin/kiwiwidgets.xml:
+ * kiwi/ui/gazpacholoader.py:
+ * kiwi/ui/objectlist.py:
+ * kiwi/ui/test/listener.py:
+ * kiwi/ui/widgets/list.py:
+ * tests/test_List.py:
+ * tests/test_ObjectList.py:
+ * tools/glade_conversor.py:
+
+ Rename List to ObjectList and move it to kiwi.ui.
+ Update examples, tests, callsites and conversion helpers.
+ Keep a backwards compatibility layer.
+
+2006-02-14 Johan Dahlin <jdahlin@async.com.br>
+
+ * tests/test_utils.py: Add tests for various scenarios
+
+ * kiwi/python.py: Use __init__ instead of __new__ in
+ ClassInittableMetaType.
+
+ * kiwi/utils.py: Simplify, make sure the GObject Meta class
+ registers the GType instead of ourselves. That's the only way
+ to make it honor __gtype_name__ in PyGTK 2.8.x. Remove
+ some backwards compatibility code. And add a hack to make
+ it pickup signals and properties.
+
+2006-02-13 Johan Dahlin <jdahlin@async.com.br>
+
+ * examples/comboentry.py:
+ * kiwi/ui/comboentry.py:
+ Add a comboentry and example
+
+2006-02-13 Johan Dahlin <jdahlin@async.com.br>
+
+ * examples/validation/personalinformation.glade:
+ * examples/validation/personalinformation.py:
+ * kiwi/datatypes.py:
+ * kiwi/ui/gazpacholoader.py:
+ * tests/test_datatypes.py:
+
+ Add a unicode datatype, tests and modify a model attribute in
+ personalinformation to use it.
+
+2006-02-09 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/component.py:
+ * kiwi/interfaces.py:
+ * tests/test_component.py:
+ Add a very basic component system, based on code by Ali Asfhar
+
+2006-02-09 Johan Dahlin <jdahlin@async.com.br>
+
+ * tests/test_argcheck.py: 100% coverage here
+
+ * kiwi/argcheck.py: Remove tests, they're in tests/ now
+
+ * tools/showcoverage: Steal from gazpacho (who stole from flumotion)
+
+ * kiwi/ui/widgets/list.py (List.index): Use is None instead of if,
+ return treeiter instead or item.iter.
+ (List.__iter__): Implement __iter__ in returned object so iter(klist)
+ works.
+
+ * tests/test_List.py: Add tests. Unit coverage up to 50% globally now.
+
+2006-02-08 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/widgets/list.py:
+ * tests/test_List.py:
+
+ Add klist::has-rows and tests.
+
+2006-02-04 Johan Dahlin <jdahlin@async.com.br>
+
+ * setup.py: Move kiwiwidgets to a subdirectory to mirror the layout
+ of the installed resources.
+
+2006-02-03 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/widgets/list.py (List._setup_columns): If there are no
+ expanded columns add a fake one after the last one.
+
+2006-02-03 Patrick K O'Brien <pobrien@orbtech.com>
+
+ reviewed by: Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/widgets/list.py: Use set_sort_column_id
+ better with column ids. Simplify _on_column__clicked.
+ When switching columns, always set to ascending sorting.
+ Fixes #2420
+
+2006-02-01 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/dialogs.py: Really make it follow the HIG.
+ Copied some code from eel-alert-dialog.c
+
+ Import stuff from gazpacho, save, open, BaseDialog
+
+2006-02-01 Patrick K O'Brien <pobrien@orbtech.com>
+
+ reviewed by: Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/argcheck.py:
+ * tests/test_argcheck.py:
+
+ Add parenthesis in percent checker, so it actually works and
+ does not allow values above 100. Add unit tests.
+
+=== 1.9.5 ===
+2006-01-30 Johan Dahlin <jdahlin@async.com.br>
+
+ * NEWS: Update
+
+ * kiwi/environ.py (Library.__init__): Do not use an empty from list,
+ it'll fail otherwise
+
+=== 1.9.4 ===
+2006-01-27 Johan Dahlin <jdahlin@async.com.br>
+
+ * NEWS: Update
+
+ * kiwi/proxies.py (Proxy.update_many): New method, like update but
+ takes a sequence instead
+
+2006-01-25 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/proxies.py (Proxy.remove_widget, Proxy.add_widget): Add, to
+ be able to add and remove widgets dynamically. Based on patch
+ by Henrique Romano
+
+ * kiwi/ui/test/common.py (Base.get_object): New function, to avoid
+ accessing private members from subclasses.
+
+ * kiwi/ui/test/player.py (Player.delete_window): delete the
+ reference to the window, so it can be destroyed properly and
+ new windows can be put here, eg when we reopen the dialog.
+
+2006-01-24 Henrique Romano <henrique@async.com.br>
+
+ * kiwi/ui/widgets/label.py (Label.set_underline):
+ Implements set_underline method and a minor cleanup on all the other
+ text properties setters.
+
+2006-01-23 Johan Dahlin <jdahlin@async.com.br>
+
+ * examples/list/stockicon.py: New example to demonstrate this feature.
+
+ * kiwi/ui/widgets/list.py: Add Column:use_stock and Column:icon-size.
+
+2006-01-16 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/python.py (Settable): Another idea from twisted imported,
+ and improved.
+
+ * kiwi/ui/test/listener.py: Pass signals to event types.
+ Add a SkipEvent exception to be able to filter inside the
+ event. Fix DoubleClick event on the list to be caught earlier.
+
+ * kiwi/ui/test/player.py (ThreadSafeFunction._invoke):
+ Refactor to always return False after the call.
+
+ * kiwi/ui/test/listener.py: Add a new event for toolbutton clicks.
+
+2006-01-13 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/widgets/combobox.py (ComboBox.clear): Emit content-changed
+ here so the model is updated.
+
+ * kiwi/ui/test/listener.py:
+ * kiwi/ui/widgets/list.py:
+ Add get_selected_row_number() and double_click() methods to the
+ klist.
+
+ Add support for List::double-click signal in the ui test.
+
+ Fixes #2385
+
+2006-01-13 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/test/common.py: Add support for GtkToolButtons
+
+ * kiwi/ui/test/player.py:
+ Update UI tests, to be able to run several times in the same
+ process as done in stoqs ui test framework.
+
+2006-01-13 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/environ.py: Add support for py2exe, based on
+ patch by Carlos Augusto Marcicano
+
+ * kiwi/argcheck.py (argcheck._type_check): Add support for sending
+ in the default value, even if the type is diffent
+
+ * tests/test_argcheck.py (ArgTest.func_none): Add test for this
+
+2006-01-10 Johan Dahlin <jdahlin@async.com.br>
+
+ * examples/list/searchbar.py: New example
+
+ * kiwi/ui/widgets/list.py (List.add_list):
+ Be a bit smarter when cleaning the list, instead of removing
+ all items, check if they're inserted first.
+ Refactor remove and remove type sniffing.
+ (Column.__init__): Set data_type to string as default.
+
+2006-01-09 Johan Dahlin <jdahlin@async.com.br>
+
+ * tests/test_datatypes.py: Check if the locale is present before
+ running the tests. Fixes #2377
+
+2006-01-03 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/tasklet.py: Add a decorator, patch by Gustavo.
+ Fixes 2368
+
+2006-01-03 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/datatypes.py (_BaseDateTimeConverter.get_lang_constant):
+ Move lang_constant from being a class variable to an accessor
+ since its undefined on win32. Fixes #2358
+
+2005-12-16 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/environ.py (Library, Library.__init__): improve doc string
+
+=== kiwi 1.9.3 ===
+2005-12-15 Johan Dahlin <jdahlin@async.com.br>
+
+ * NEWS: Added
+ * kiwi/__version__.py: Bump
+
+2005-12-15 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/widgets/list.py: Subclass propertyobject.
+
+2005-12-14 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/widgets/list.py (SummaryLabel.update_total): Use
+ get_attribute and always convert to float.
+
+ * kiwi/ui/views.py (SlaveView): Add simple notebook
+ validation support. It'll mark the text of the labels
+ red if there are any widgets inside which are mandatory
+ or invalid. Fixes bug 2286.
+
+2005-12-14 Ali Afshar <aafshar@gmail.com>
+
+ reviewed by: Johan Dahlin <jdahlin@async.com.br>
+
+ * examples/hyperlink/hyperlink_demo.py:
+ * kiwi/ui/hyperlink.py:
+
+2005-12-14 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/delegates.py (SlaveDelegate.__init__)
+ (Delegate.__init__): API Change,
+ move keyactions to the end of the list, to be as compatible
+ as possible with the parent klasses.
+
+ * kiwi/ui/delegates.py:
+ * kiwi/ui/views.py:
+ Cleanups:
+ - Make a few variables private, remove duplicated code.
+ - Reorganize variables
+ - Refactor functionallity to methods
+
+2005-12-13 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/widgets/list.py: Add support for check buttons
+ in kiwi lists. Also emit cell-edited when changing a radio
+ button.
+
+ * kiwi/datatypes.py (currency):
+ (CurrencyConverter):
+ Add support for currency.
+ (format_price): Use currency.format
+
+ * kiwi/ui/widgets/list.py (List._cell_data_func): Add support for
+ currency here.
+
+2005-12-09 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/dialogs.py: Add dialogs, stolen and extended from gazpacho.
+
+2005-12-06 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/test/common.py:
+ * kiwi/ui/test/listener.py:
+ * kiwi/ui/test/player.py:
+ Add API documentation, almost complete now.
+ Also add a timeout for accessing widgets, this will help us to handle
+ situations where it takes some time for some widgets to be created.
+ Also ignore eventual errors when the window is closed.
+ Fix support for selection of multiple rows in KiwiList and
+ add support for ComboBox.
+
+ * tools/epyrun:
+ Do not ignore directories called test.
+
+2005-12-06 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/datatypes.py (BoolConverter.from_string): Do not
+ return a function, instead call the function and return the
+ value of it. Sigh.
+ (BoolConverter.from_string): Always return a boolean, default
+ to False
+
+2005-12-05 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/datatypes.py (converter): New baseclass
+ (BaseDateTimeConverter): New baseclass for datetime.*
+ (DateTimeConverter):
+ (TimeConverter): New converters
+
+ * kiwi/ui/widgets/list.py
+ (List): Use datatype converter to convert to and from strings.
+ Add some optimizations, save the converter instance and send it as an argument
+ to the callbacks.
+
+ * kiwi/ui/widgets/list.py (List.select_paths): New method, selects
+ a list of paths.
+
+ * kiwi/proxies.py (Proxy._setup_widgets):
+ Cleanups:
+ Use consistent exception messages
+ Add and use ProxyError instead of TypeError
+ Add a new check to ensure that there are no unsupported
+ widgets added.
+ Change a warning into an exception
+ (Proxy._initialize_widgets): Remove error handler,
+ unused and a hack, unique clashes will be handled
+ in other ways.
+
+2005-12-03 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/test/listener.py:
+ * kiwi/ui/test/player.py:
+
+ Improve the generated output format to be readable, remove
+ some old stuff.
+
+2005-12-02 Johan Dahlin <jdahlin@async.com.br>
+
+ * bin/kiwi-ui-test:
+ * kiwi/ui/test/__init__.py:
+ * kiwi/ui/test/common.py:
+ * kiwi/ui/test/listener.py:
+ * kiwi/ui/test/main.py:
+ * kiwi/ui/test/player.py:
+ Check-in initial gui testing framework.
+ A recorder, which generates code which uses a simple
+ player object.
+
+2005-12-01 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/dist.py (get_site_packages_dir):
+ New function, to handle installation of modules in the site-packages
+ directory in a platform independent way.
+
+ * setup.py (version): Use it here.
+ Fixes bug #2326 (Carlos Augusto Marcicano)
+
+2005-11-28 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/gazpacholoader.py (DataTypeProperty.save): Handle None,
+ since it's now an allowed type
+
+2005-11-26 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/widgets/list.py (List.remove): Remove the iter from the
+ cache before remove the row.
+
+2005-11-24 Henrique Romano <henrique@async.com.br>
+
+ reviewed by: Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/argcheck.py:
+ Allowing a "extra_check" function be called to validate
+ data after type_check is executed over all the
+ parameters.
+
+2005-11-24 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/datatypes.py:
+ * kiwi/interfaces.py:
+ * kiwi/log.py:
+ * kiwi/proxies.py:
+ * kiwi/ui/gadgets.py:
+ * kiwi/ui/views.py:
+ * kiwi/ui/widgets/checkbutton.py:
+ * kiwi/ui/widgets/combobox.py:
+ * kiwi/ui/widgets/entry.py:
+ * kiwi/ui/widgets/label.py:
+ * kiwi/ui/widgets/proxy.py:
+ * kiwi/ui/widgets/radiobutton.py:
+ * kiwi/ui/widgets/spinbutton.py:
+ * kiwi/ui/widgets/textview.py:
+ Validation progress:
+ - Empty date fields are now working
+ - ValueUnset are not checked everywhere in the widgets
+ - Fadeout works reliably
+ - validate calls read() instead, since it can now raise
+ exceptions
+ - _as_string/_from_string were inverted.
+ Logging improvements:
+ - Add logging to proxy/view/fade
+
+2005-11-23 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/datatypes.py:
+ * kiwi/interfaces.py:
+ * kiwi/python.py:
+ * kiwi/ui/widgets/checkbutton.py:
+ * kiwi/ui/widgets/combobox.py:
+ * kiwi/ui/widgets/entry.py:
+ * kiwi/ui/widgets/label.py:
+ * kiwi/ui/widgets/proxy.py:
+ * kiwi/ui/widgets/radiobutton.py:
+ * kiwi/ui/widgets/spinbutton.py:
+ * kiwi/ui/widgets/textview.py:
+ * kiwi/utils.py:
+ Use PropertyObject for all widgets. Simplifies property
+ handling. Merge in properties, even for non gobjects for
+ all bases when using PropertyObject, so we can put properties
+ and signals in the WidgetMixins.
+ Add allowed_data_types, useful for SpinButton and RadioButton.
+
+2005-11-22 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/widgets/entry.py:
+ * kiwi/ui/widgets/label.py:
+ * kiwi/ui/widgets/proxy.py:
+ * kiwi/ui/widgets/radiobutton.py:
+ * kiwi/ui/widgets/textview.py:
+ Simplify, rename and privatize string converters.
+
+2005-11-22 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/interfaces.py:
+ * kiwi/proxies.py:
+ * kiwi/ui/widgets/proxy.py:
+ Kill default-value property
+
+2005-11-22 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/datatypes.py: Handle format == None, for all converters.
+
+ * setup.py (version):
+ * MANIFEST.in:
+ Install & include AUTHORS NEWS README in the tarball
+ Do not include .pyc files in the tarball
+
+=== kiwi 1.9.2 ===
+2005-11-21 Johan Dahlin <jdahlin@async.com.br>
+
+ * NEWS: Added
+ * kiwi/__version__.py: Bump
+
+2005-11-21 Johan Dahlin <jdahlin@async.com.br>
+
+ * examples/tasklet/simple.py:
+ * examples/tasklet/test-tasklet.py:
+ * examples/tasklet/test-tasklet2.py:
+ * kiwi/tasklet.py:
+ Add gtasklet from Gustavo Carneiro.
+
+2005-11-21 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/controllers.py:
+ * kiwi/datatypes.py:
+ * kiwi/decorators.py:
+ * kiwi/dist.py:
+ * kiwi/environ.py:
+ * kiwi/i18n/__init__.py:
+ * kiwi/i18n/i18n.py:
+ * kiwi/interfaces.py:
+ * kiwi/models.py:
+ * kiwi/python.py:
+ * kiwi/ui/__init__.py:
+ * kiwi/ui/gadgets.py:
+ * kiwi/ui/gazpacholoader.py:
+ * kiwi/utils.py:
+
+ Add docstrings
+
+ * tools/epyrun:
+ Helper for running epydoc
+
+2005-11-16 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/widgets/list.py:
+ Add cache property to column useful when using accessors which
+ can be expensive to compute.
+
+2005-11-15 Johan Dahlin <johan@gnome.org>
+
+ * kiwi/ui/widgets/list.py (List._load): Catch StopIteration, in case
+ we have an empty list.
+
+2005-11-14 Gustavo Sverzut Barbieri <barbieri@gmail.com>
+
+ reviewed by: Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/gazpacholoader.py:
+ Do not use get_name for getting the name of objects, since it's only
+ present for GtkWidgets, instead use get_data('gazpacho::object-id'),
+ which is set on all objects. Fixes #2231.
+
+2005-11-14 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/widgets/list.py (SummaryLabel.update_total): Remove
+ erroneousness show.
+ (ListLabel.set_value): Rename from set_text
+
+2005-11-11 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/widgets/list.py (ListLabel):
+ Add a new label, (actually an hbox), which can be put under or on
+ top of a KiwiList to have a label vertically aligned with
+ a column.
+ (SummaryLabel): Subclass of ListLabel which summarizes the
+ values of a column.
+
+ * kiwi/ui/widgets/checkbutton.py (CheckButton.prop_set_data_type):
+ Accept string here.
+
+ * kiwi/ui/widgets/proxy.py (WidgetMixinSupportValidation): Refactor
+ emitting of validation-changed since we also need to emit it when
+ calling set_[valid|invalid|blank] and not only in validate_data.
+ Fixes validation of mandatory entry with completion enabled.
+
+2005-11-10 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/proxies.py:
+ * kiwi/ui/widgets/combobox.py:
+ * kiwi/ui/widgets/proxy.py:
+ * kiwi/ui/widgets/spinbutton.py:
+ Move validate_data out of read, and do it manually afterwards,
+ there's only two call sites anyway.
+
+2005-11-09 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/gadgets.py:
+ * kiwi/ui/views.py:
+ * kiwi/ui/widgets/checkbutton.py:
+ * kiwi/ui/widgets/combobox.py:
+ * kiwi/ui/widgets/entry.py:
+ * kiwi/ui/widgets/label.py:
+ * kiwi/ui/widgets/list.py:
+ * kiwi/ui/widgets/radiobutton.py:
+ * kiwi/ui/widgets/spinbutton.py:
+ * kiwi/ui/widgets/textview.py:
+ * kiwi/utils.py:
+
+ Add new method utils.type_register, use it everywhere.
+
+2005-11-09 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/widgets/proxy.py
+ (WidgetMixinSupportValidation.validate_data): Only set blank for
+ mandatory widgets and when data is empty. Always convert '' to None
+ for non-string types.
+
+ * kiwi/ui/widgets/entry.py (Entry.read): Remove a couple of big hacks
+
+2005-11-08 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/widgets/entry.py (Entry.read): Add a hack to try to fix
+ validation for empty entries.
+
+ * kiwi/controllers.py (BaseController.__init__): Add support for
+ automatic keyboard accelerators of type key_name or key_modifier_name.
+
+ * kiwi/ui/widgets/proxy.py (WidgetMixinSupportValidation.set_invalid):
+ Only connect to done here, that's the only place where we need to
+ use it. When done, set text and icon. Also disconnect the signal
+ so it won't be called multiple times.
+
+ * kiwi/ui/widgets/entry.py (Entry._update_current_object): Add custom
+ validation, when using objects.
+
+ * kiwi/ui/gadgets.py (FadeOut.start): Add additional state, so we know
+ if we're done when start() is called multiple times. Always emit done,
+ since we're depending on it in other places.
+
+ * kiwi/ui/widgets/proxy.py (WidgetMixinSupportValidation.don): Wait
+ until the completion is done to set the text.
+
+ * kiwi/ui/gazpacholoader.py (EntryDataType.get_data_types): Add Object,
+ useful when using entry completion.
+
+2005-11-07 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/gadgets.py (FadeOut.stop): Simplify, use delayed.stop, avoids
+ extra state and makes it reliable. Add API documentation.
+
+ * kiwi/decorators.py (delayed.stop): New function
+
+ * kiwi/ui/widgets/proxy.py (WidgetMixinSupportValidation.set_blank)
+ (WidgetMixinSupportValidation.set_invalid)
+ (WidgetMixinSupportValidation.set_valid): Make public and add
+ API documentation.
+
+2005-11-03 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/dist.py (compile_po_files): Handle the case when msgfmt
+ is not found, print a warning and returning nothing, instead of
+ failing later on.
+
+2005-11-01 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/environ.py (app): Add global app reference
+ (Library.__init__): Add better error messages and insert
+ $prefix/lib/pythonX.Y/site-packages into sys.path
+
+2005-10-31 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/icon.py (IconEntry.update_background): Handle insensitive
+ widgets aswell, always use the current state instead of hard coding
+ GTK_STATE_NORMAL.
+
+2005-10-14 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/gadgets.py:
+ * kiwi/ui/widgets/proxy.py:
+ Add two signals (color-changed and done) to FadeOut and move it out
+ to gadgets.
+
+2005-10-14 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/interfaces.py:
+ * kiwi/proxies.py:
+ * kiwi/ui/widgets/combobox.py:
+ * kiwi/ui/widgets/entry.py:
+ * kiwi/ui/widgets/proxy.py:
+ * kiwi/ui/widgets/spinbutton.py:
+ Do validation in read, simplifies the interaction between the proxy
+ and the widgets.
+ Add some basic documentation to the proxy/validation "interfaces".
+
+2005-10-13 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/proxies.py:
+ * kiwi/ui/widgets/checkbutton.py:
+ * kiwi/ui/widgets/combobox.py:
+ * kiwi/ui/widgets/entry.py:
+ * kiwi/ui/widgets/label.py:
+ * kiwi/ui/widgets/proxy.py:
+ * kiwi/ui/widgets/radiobutton.py:
+ * kiwi/ui/widgets/spinbutton.py:
+ * kiwi/ui/widgets/textview.py:
+ Kill WidgetMixin.update, move the check it did to the proxy itself.
+
+2005-10-13 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/widgets/entry.py (Entry.do_unrealize):
+ * kiwi/ui/widgets/spinbutton.py (SpinButton.do_unrealize):
+ Chain to parents realize so the parent gets a chance to
+ free the relevent resources.
+
+2005-10-11 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/widgets/combobox.py:
+ * kiwi/ui/widgets/entry.py:
+ * kiwi/ui/widgets/list.py:
+ * kiwi/ui/widgets/proxy.py:
+ * kiwi/ui/widgets/spinbutton.py:
+ * kiwi/ui/widgets/textview.py:
+ Redo validation. Fixes #2123
+
+2005-10-10 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/widgets/list.py (ColoredColumn): New column.
+ (Column): Add two new hooks, renderer_func & on_attach_renderer
+
+2005-10-09 Johan Dahlin <johan@gnome.org>
+
+ * kiwi/__init__.py:
+ * kiwi/dist.py:
+ * kiwi/environ.py:
+ * kiwi/ui/wizard.py:
+ * setup.py:
+
+ Add infrastructure for handling installed/uninstalled mode.
+ Introduces Library and Application instances in kiwi.environ.
+ Add distutils helpers. Use environ.Library in for kiwi itself (yay
+ dogfooding). Remove old hack in wizard.
+
+2005-10-08 Johan Dahlin <johan@gnome.org>
+
+ * kiwi/argcheck.py (argcheck.__call__):
+ Check so the number of arguments are equal before checking
+ default values, so the user can get a useful exception
+
+ * tests/test_argcheck.py (ArgTest.method2): Add a
+ few more tests.
+
+2005-10-07 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/gazpacholoader.py (DataTypeProperty.save):
+ Do not show editor for Radio/Check, they're always boolean.
+
+2005-10-06 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/widgets/list.py (List.refresh): New method.
+
+2005-09-30 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/widgets/comboboxentry.py (BaseComboBoxEntry): A
+ reimplementation of GtkComboBoxEntry in python. The main difference
+ between this one and the gtk+ one is that we put our own
+ entry (a kiwi entry) instead of the standard one, which allows
+ us to do put an icon in the right part, used by the validation.
+
+ * kiwi/ui/widgets/tooltips.py (Tooltip.__init__): Add a tooltips
+ implementation, which is a bit more flexible than the one in Gtk+.
+ Currently unused.
+
+ * tests/test_argcheck.py (ArgTest.testUserDefined): Add some basic
+ tests.
+
+ * kiwi/argcheck.py: Move in decorator from fiscalprinter.
+ Add some additional tests and support for checking default values.
+
+2005-09-28 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/widgets/list.py:
+ (List): do not save iterator in instance, save the iterators
+ in a local table.
+
+ * kiwi/ui/widgets/list.py:
+ (List.count, List.index, List.extend): Add
+ (List.insert, List.pop, List.reverse, List.sort): Add stubs
+ (List.append, List.remove, List.update): Rename
+ (List.add_instance, List.remove_instance, List.update_instance)
+ (List.select_instance): Add backwards compat wrappers
+ (List._load): Clean up, add iterator support.
+ (List.select): Check selection mode
+
+ * kiwi/utils.py (deprecated): New decorator
+
+ * kiwi/ui/widgets/list.py:
+ Remove a couple of methods, now when we have the iter in the instance.
+
+2005-09-27 Johan Dahlin <johan@gnome.org>
+
+ * kiwi/ui/widgets/list.py (List.get_previous, List.get_next): New
+ methods.
+ (List.add_instance, List._load): Set instance.iter upon insertion.
+ (Column.__init__): Raise ValueError if iter is used, it's reserved
+ (List.select): Rename from select_instance, use iter from
+ instance, scroll to cell.
+
+2005-09-27 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/accessors.py (CacheControl.invalidate): Use DefaultValue instead of
+ AttributeError. Fixes bug #695: Do not eat AttributeError's triggered
+ in kgetattr accessors.
+
+2005-09-21 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/widgets/combobox.py (ComboBox.__init__): Only emit changed
+ once.
+
+2005-09-20 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/widgets/entry.py: Add support for objects mapped
+ to strings for entry completion. Also add a property, exact-completion
+ which decides if it should be case insensitive and match substrings.
+ Fixes bug #2150
+
+ * tests/test_List.py: Make it pass again
+
+ * kiwi/ui/widgets/list.py (List.get_columns): Return the columns here
+ instead of the column definition string.
+ (List.do_get_property): Access the column string directly here.
+
+2005-09-16 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/gazpacholoader.py:
+ Clean up /a bit/, fixes #2144 by inheriting from ComboBoxAdatper aswell.
+
+2005-09-15 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/gazpacholoader.py (DataTypeProperty.save): Add support for
+ data-type in KiwiLabel, fixes #2141
+
+2005-09-13 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/utils.py: AMD64 fix ported from gazpachos copy.
+
+2005-09-06 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/datatypes.py (FloatConverter._filter_locale): Rewrite, easier
+ to read and understand now. Can't remember all bugs it fixes.
+ (IntConverter.from_string): Remove the thousand separators.
+
+2005-09-05 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/datatypes.py (format_price): Implement a function to format
+ a number according to the current currency.
+
+ * tests/test_datatypes.py (DataTypesTest.testFormatPrice):
+ some basic tests.
+
+ * kiwi/ui/widgets/list.py:
+ Add radio property to Column and set the radio property of
+ the CellRendererToggle if it's set to True. Add a new callback
+ for handling CellRendererToogle::toggled which updates the value
+ of the model.
+
+2005-09-05 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/widgets/list.py (List._setup_columns):
+ Add check for sortable, add a searchable check.
+ (Column): Add a searchable property.
+ (List._setup_column): Set up a search equal func
+ (List._search_equal_func): Define here, checks if
+ the string starts with the value, seems to be the expected behavior.
+
+2005-09-01 Henrique Romano <henrique@async.com.br>
+
+ * kiwi/ui/widgets/list.py (List._setup_columns):
+ Just verifying if more than one column has the sorted attribute, if
+ so raise ValueError.
+
+2005-06-14 Henrique Romano <henrique@async.com.br>
+
+ reviewed by: Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/gazpacholoader.py: Update to work with gazpacho trunk.
+ Add better data-type filters for various widgets.
+
+2005-08-02 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/widgets/list.py (Column, List): Add support for cell editing.
+
+2005-08-01 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/widgets/list.py (Column): subclass GObject implicitly.
+
+ * kiwi/utils.py (PropertyObject): update to use ClassInittableObject
+ refactor a little bit and add extra checks so we don't accidentally
+ try to register a GObject type for it.
+ Move out so it's not a subclass of GObject, but require it to
+ be a subclass of GObject, this will make it possible to use
+ the class for GObject subclasses
+
+ * kiwi/python.py: New file, add ClassInittableObject.
+
+2005-07-29 Johan Dahlin <jdahlin@async.com.br>
+
+ * bin/kiwi-i18n:
+ * kiwi/i18n/__init__.py:
+ * kiwi/i18n/i18n.py:
+ * kiwi/i18n/msgfmt.py:
+ * kiwi/i18n/pygettext.py:
+ Add kiwi-i18n and copy in msgfmt/pygettext from the python
+ distribution, modify msgfmt slightly to be usable from outside
+ of the script.
+
+2005-07-28 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/proxies.py:
+ * kiwi/ui/views.py:
+ * kiwi/ui/widgets/proxy.py:
+ It turned out that the last patch was not flexible enough.
+ Slaves and proxies had to be attached in the correct order, and
+ sometimes the validation state of the widgets were not emitted.
+
+ This patch changes the following two things:
+ 1) Always emit validation state for all widgets when attaching
+ a proxy to a view
+ 2) Always emit validation state for slaves attached to views
+
+2005-07-27 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/widgets/list.py (Column.__init__): Mark title_pixmap as
+ todo, since it's not implemented yet. Sort the other properties after
+ the doc string. Add tooltips doc string.
+ (List._cell_data_func): Clean up a little bit and add support for
+ format func
+ (Column): Add format_func attribute, documentation and
+ basic error handling
+ (Column.from_string): Make it a classmethod, not a staticmethod
+
+2005-07-26 Johan Dahlin <jdahlin@async.com.br>
+
+ * examples/lang.glade:
+ * examples/slaves.py:
+ * kiwi/interfaces.py:
+ * kiwi/ui/views.py:
+ * kiwi/ui/widgets/proxy.py:
+ Add per view validation, including example. Fixes #2096
+ r=kiko
+
+2005-07-15 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/widgets/list.py (Column): Almost a complete rewrite,
+ using a GObject and properties.
+
+ * kiwi/utils.py: Add a new PropertyObject, fix gproperty to work
+ with float,int and enums
+
+2005-07-14 Johan Dahlin <jdahlin@async.com.br>
+
+ * tests/test_utils.py (SliceTest): Add tests for slicerange
+ * kiwi/ui/widgets/list.py: Clean up treemodel usage, use python api
+ and define COL_MODEL as 0 and use it everywhere
+ (List.__getitem__): Fix slicing once and for all.
+
+2005-07-13 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/widgets/list.py (List.add_list): Remove selection,
+ GtkTreeView is different from a GtkCList, if this turns out to be
+ a problem we'll rewrite/readd this code.
+ (List.get_column_by_name): New method
+ (List.__init__): require a list or column, tuples are not allowed
+ (List.add_instance): Remove selection restore here aswell
+ (List.__getitem__): Oh my, fix slicing.
+
+2005-07-12 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/widgets/list.py (List.__contains__): Clean up,
+ use == instead of is
+ (List.__setitem__, List.__getitem__): Support strings, refactor
+ (List.__iter__): Impl.
+ (List.get_selected, List.get_selected_rows): Separate, mimic gtk+
+ closely.
+ (List.__init__): Select first item in list if we selection is allowed
+ and we're inserting a list.
+
+2005-07-11 Johan Dahlin <jdahlin@async.com.br>
+
+ * examples/completion.py:
+ * gazpacho-plugin/kiwi2.xml:
+ * kiwi/ui/widgets/entry.py:
+
+ Add entry completion support and a small example.
+
+== 1.9.0 released ==
+2005-06-28 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/__init__.py: Kill pygtk.require() it won't be missed since
+ all systems which we can run on has pygtk 2.x installed as default.
+ Should also speed up imports.
+
+ * kiwi/__init__.py:
+ * kiwi/environ.py:
+ * kiwi/interfaces.py:
+ * kiwi/ui/gazpacholoader.py:
+ * kiwi/ui/libgladeloader.py:
+ * kiwi/ui/loader.py:
+ * kiwi/ui/views.py:
+
+ Kill loader. Move glade/imagepath handling to kiwi.environ.
+ Move abstract adaptor to kiwi.interfaces
+
+2005-06-28 Johan Dahlin <jdahlin@async.com.br>
+
+ * README:
+ * kiwi/__init__.py:
+ * kiwi/ui/gazpacholoader.py:
+ * kiwi/ui/libgladeloader.py:
+ * kiwi/ui/loader.py:
+ * kiwi/ui/views.py:
+
+ How much I hate this, but: Write a libglade loader to use as fallback
+ when gazpacho cannot be found. Add a hook to require gazpacho.
+
+2005-06-27 Johan Dahlin <jdahlin@async.com.br>
+
+ * kiwi/ui/views.py: Allow us to function without a broker.
+
+ * kiwi/ui/gadgets.py:
+ * kiwi/ui/widgets/label.py:
+ * kiwi/ui/widgets/proxy.py:
+ * kiwi/utils.py:
+
+ Move gtk related functions from kiwi.utils to kiwi.ui.gadgets
+
+2005-06-27 Johan Dahlin <jdahlin@async.com.br>
+
+ * examples/PersonalInformation/personalinformation.py:
+ * kiwi/initgtk.py:
+ * kiwi/ui/__init__.py:
+ * kiwi/ui/views.py:
+ * kiwi/ui/wizard.py:
+
+ Kill initgtk, move quit_if_last to views and
+ pygtk.require() to kiwi.ui, adds a warning.
+
+2005-06-27 Johan Dahlin <jdahlin@async.com.br>
+
+ * examples/PersonalInformation/personalinformation.glade:
+ * examples/PersonalInformation/personalinformation.py:
+ * gazpacho-plugin/kiwi2.py:
+ * kiwi/interfaces.py:
+ * kiwi/proxies.py:
+ * kiwi/ui/delegates.py:
+ * kiwi/ui/views.py:
+ * kiwi/ui/widgets/__init__.py:
+ * kiwi/ui/widgets/checkbutton.py:
+ * kiwi/ui/widgets/combobox.py:
+ * kiwi/ui/widgets/datatypes.py:
+ * kiwi/ui/widgets/entry.py:
+ * kiwi/ui/widgets/label.py:
+ * kiwi/ui/widgets/proxy.py:
+ * kiwi/ui/widgets/radiobutton.py:
+ * kiwi/ui/widgets/spinbutton.py:
+ * kiwi/ui/widgets/textview.py:
+
+ Make the personinformation example work again.
+
+2005-06-20 Johan Dahlin <jdahlin@async.com.br>
+
+ * Kiwi2/Widgets/ComboBox.py:
+ * Kiwi2/Widgets/WidgetProxy.py:
+ * examples/PersonalInformation/personalinformation.glade:
+ * examples/PersonalInformation/personalinformation.py:
+
+ More validation work, allow non-string types to be validated.
+ ComboBox cleanups, adding a mode variable (string or data) which
+ helps. ComboBoxEntry only works for normal mode, editable,
+ searchable and auto-completion currently broken
+
+2005-06-18 Johan Dahlin <jdahlin@async.com.br>
+
+ * Kiwi2/Widgets/WidgetProxy.py
+ (MixinSupportValidation._check_for_complaints): quit the idle, stops
+ us from eating up the CPU.
+
+ * Kiwi2/Delegates.py:
+ * Kiwi2/Models.py:
+ * Kiwi2/Proxies.py:
+ * Kiwi2/Widgets/CheckButton.py:
+ * Kiwi2/Widgets/List.py:
+ * Kiwi2/Widgets/RadioButton.py:
+ * Kiwi2/Widgets/Wizard.py:
+
+ More imports cleanup, remove unused cruft.
+
+2005-06-18 Johan Dahlin <jdahlin@async.com.br>
+
+ * Kiwi2/Delegates.py:
+ * Kiwi2/Proxies.py:
+ * Kiwi2/Views.py:
+ * Kiwi2/Widgets/Entry.py:
+ * Kiwi2/Widgets/Label.py:
+ * Kiwi2/Widgets/SpinButton.py:
+ * Kiwi2/Widgets/TextView.py:
+ * Kiwi2/Widgets/WidgetProxy.py:
+ * Kiwi2/__init__.py:
+ * examples/News/news2.py:
+ * examples/News/news4.py:
+ * examples/PersonalInformation/personalinformation.py:
+ * examples/Wizard/survey.py:
+ * tests/Proxies/None.py:
+ * tests/Proxies/Separator.py:
+ * tests/test_Action.py:
+ * tests/test_CheckButton.py:
+ * tests/test_Entry.py:
+ * tests/test_Label.py:
+ * tests/test_List.py:
+ * tests/test_SpinButton.py:
+
+ Remove unused imports. Clean up the rest we touched
+ Remove Proxies.OldVirtualProxy
+
+2005-06-18 Johan Dahlin <jdahlin@async.com.br>
+
+ * Kiwi2/Proxies.py:
+ * Kiwi2/Views.py:
+ * Kiwi2/Widgets/ComboBox.py:
+ * Kiwi2/Widgets/Entry.py:
+ * Kiwi2/Widgets/SpinButton.py:
+ * Kiwi2/Widgets/TextView.py:
+ * Kiwi2/Widgets/WidgetProxy.py:
+ * examples/PersonalInformation/personalinformation.py:
+
+ Rework validation. Only validate when the model content changes.
+ Simplify internal implementation of validation.
+ Fix ComboBoxEntry validation once for all.
+ Updated example and added comments and docstrings
+
+2005-06-14 Johan Dahlin <jdahlin@async.com.br>
+
+ * gazpacho-plugin/kiwi2.py: Clean up and fix a bug, when moving rows
+ update up/down buttons.
+
+2005-06-14 Henrique Romano <henrique@async.com.br>
+
+ reviewed by: Johan Dahlin <jdahlin@async.com.br>
+
+ * Kiwi2/Views.py: Correcting the way as widgets verification is made.
+
+2005-06-14 Johan Dahlin <jdahlin@async.com.br>
+
+ * Kiwi2/Widgets/List.py:
+ * gazpacho-plugin/kiwi2.xml:
+
+ Add List::selection-mode
+
+2005-06-13 Henrique Romano <henrique@async.com.br>
+
+ reviewed by: Johan Dahlin <jdahlin@async.com.br>
+
+ * Kiwi2/Widgets/TextView.py: Just removing a useless callback.
+
+2005-06-07 Henrique Romano <henrique@async.com.br>
+
+ * Kiwi2/Proxies.py: Also block/unblock all signals connected when
+ updating widgets.
+ * Kiwi2/Views.py: Allow signal_name to be None, if so block/unblock all
+ the connected
+
+2005-06-01 Henrique Romano <henrique@async.com.br>
+
+ reviwed by: Johan Dahlin <jdahlin@async.com.br>
+
+ * Kiwi2/Widgets/WidgetProxy.py:
+ * Kiwi2/datatypes.py:
+ * examples/PersonalInformation/personalinformation.py:
+ * tests/test_datatypes.py:
+ Add set_format, update testsuite.
+
+2005-05-30 Johan Dahlin <jdahlin@async.com.br>
+
+ * Kiwi2/Widgets/List.py:
+ * Kiwi2/Widgets/WidgetProxy.py:
+ * Kiwi2/Widgets/datatypes.py:
+
+ Clean up datatypes. Introduce ConverterRegistry which is global object
+ you can use to convert to and from strings. Use the new API
+ everywhere, cleanup WidgetProxy a little bit.
+
+2005-05-25 Johan Dahlin <jdahlin@async.com.br>
+
+ * Kiwi2/Views.py (SlaveView.attach_slave): Change show_all
+ into show.
+
+2005-05-24 Johan Dahlin <jdahlin@async.com.br>
+
+ * Kiwi2/Delegates.py:
+ * Kiwi2/Models.py:
+ * Kiwi2/Proxies.py:
+ * Kiwi2/Views.py:
+ * Kiwi2/Widgets/CheckButton.py:
+ * Kiwi2/Widgets/ComboBox.py:
+ * Kiwi2/Widgets/WidgetProxy.py:
+ * Kiwi2/Widgets/Wizard.py:
+ * Kiwi2/utils.py:
+ pychecker fixes, remove ListDelegate. (replaced by the List widget)
+
+2005-05-24 Johan Dahlin <jdahlin@async.com.br>
+
+ * Kiwi2/Widgets/List.py: Clean up column handling a bit futher.
+ Make pychecker happy. Remove decimal separator, we depend on 2.3
+ where we can set LC_NUMERIC properly
+
+2005-05-23 Johan Dahlin <jdahlin@async.com.br>
+
+ * Kiwi2/Views.py (SignalBroker.handler_block,
+ SignalBroker.handler_unblock): New methods, to block a signal tied
+ to a widget. Patch by Henrique
+
+ * Kiwi2/Widgets/List.py: Ensure we can't hide all columns.
+ (ContextMenu): New object, factor out context menu from List. Make
+ rebuild it when columns change lazily. It now displays the columns
+ in correct order when columns are moved (or added/removed).
+
+2005-05-20 Johan Dahlin <jdahlin@async.com.br>
+
+ * Kiwi2/Widgets/ComboBox.py: First validate, then return
+ return get_selected_data(), which will return the data if you have
+ some, otherwise the label will be returned. Fixes bug reported
+ by Henrique.
+
+ * Kiwi2/Widgets/List.py: Clean up justification handling.
+ Rename col_definition to column, and always refer to treeview columns
+ as treeview_column, to avoid confusion.
+ (List): Setup sorting in a slightly saner way
+
+2005-05-19 Johan Dahlin <jdahlin@async.com.br>
+
+ * Kiwi2/Controllers.py:
+ * Kiwi2/Proxies.py:
+ * Kiwi2/Views.py:
+ * Kiwi2/Widgets/List.py:
+ * Kiwi2/utils.py: Update docstrings, to make epydoc happy
+ * doc/Makefile: Clean up and add some more files
+
+ * Kiwi2/WidgetProxies: Remove
+
+2005-05-19 Johan Dahlin <jdahlin@async.com.br>
+
+ * AUTHORS:
+ * Kiwi2/Controllers.py:
+ * Kiwi2/Delegates.py:
+ * Kiwi2/Models.py:
+ * Kiwi2/Proxies.py:
+ * Kiwi2/Views.py:
+ * Kiwi2/Widgets/CheckButton.py:
+ * Kiwi2/Widgets/ComboBox.py:
+ * Kiwi2/Widgets/Entry.py:
+ * Kiwi2/Widgets/Label.py:
+ * Kiwi2/Widgets/List.py:
+ * Kiwi2/Widgets/RadioButton.py:
+ * Kiwi2/Widgets/SpinButton.py:
+ * Kiwi2/Widgets/TextView.py:
+ * Kiwi2/Widgets/WidgetProxy.py:
+ * Kiwi2/Widgets/Wizard.py:
+ * Kiwi2/Widgets/__init__.py:
+ * Kiwi2/Widgets/datatypes.py:
+ * Kiwi2/__init__.py:
+ * Kiwi2/accessors.py:
+ * Kiwi2/initgtk.py:
+ * Kiwi2/utils.py:
+ * Kiwi2/version.py:
+
+ Update authors, remove #! in all files and
+ add licenses to a few files.
+
+2005-05-19 Johan Dahlin <jdahlin@async.com.br>
+
+ * Kiwi2/Widgets/CheckButton.py:
+ * Kiwi2/Widgets/ComboBox.py:
+ * Kiwi2/Widgets/Entry.py:
+ * Kiwi2/Widgets/Label.py:
+ * Kiwi2/Widgets/List.py:
+ * Kiwi2/Widgets/RadioButton.py:
+ * Kiwi2/Widgets/SpinButton.py:
+ * Kiwi2/Widgets/TextView.py:
+ * Kiwi2/Widgets/__init__.py:
+ * Kiwi2/__init__.py:
+
+ Add documentation strings
+
+2005-05-19 Lorenzo Gil Sanchez <lgs@sicem.biz>
+
+ * Kiwi2/Widgets/WidgetProxy.py (MixinSupportValidation._validate_data):
+ if the data is None don't try to validate
+
+ * examples/PersonalInformation/personalinformation.py: validators
+ don't need to handler the None case now.
+
+ * Kiwi2/Widgets/SpinButton.py (SpinButton.update): fix stupid mistake
+
+ * Kiwi2/Widgets/WidgetProxy.py (MixinSupportValidation.set_mandatory):
+ don't redraw the widget here since that is done in the validate_data
+ method.
+
+ * examples/PersonalInformation/personalinformation.py :
+ fix this example by allowing data to be None in the weight
+ validation
+
+ * Kiwi2/Widgets/SpinButton.py: simplify this class but using just
+ the changed signal and forget about value-changed and output signals.
+ Fix it for gtk+ 2.4 using the same technique as in the Entry
+
+ * Kiwi2/Widgets/Entry.py:
+ (Entry.__init__): setup the chain function in the constructor
+ instead of the expose handler
+
+ * Kiwi2/Widgets/ComboBox.py:
+ - Make expose events work with GTK 2.4 and 2.6
+ - Put as much validation code as possible in MixinSupportValidation
+ - Add some comments and docstring to parts that are not trivial
+ - Fix drawing mandatory icons. Now when somebody changes a widget
+ (either a proxy or the user) we check if the widget is empty to
+ draw the mandatory icon (if the widget mandatory prop is True)
+ - Reuse the validate signal in the ComboBoxEntry to perform aditional
+ validations
+
+ * Kiwi2/Widgets/WidgetProxy.py (MixinSupportValidation.is_correct)
+ (MixinSupportValidation._validate_data)
+ (MixinSupportValidation.__init__): properly initialize and manage
+ the _blank_data attribute
+
+ * Kiwi2/Views.py (SlaveView.check_widgets_validity)
+ (SlaveView.register_validate_function): use the is_correct method
+ to check if the data of a widget is ok. Document the
+ register_validate_function to understand the meaning of its only
+ parameter
+ (SlaveView.attach_slave): show the slave after the attacment process
+
+ * Kiwi2/Widgets/WidgetProxy.py (MixinSupportValidation.__init__):
+ changed self.valid_data to self._blank_data to avoid confusing
+ names
+
+ * Kiwi2/Widgets/ComboBox.py (ComboBoxEntry.read): fix validation
+ errors that were going to the console instead of showing in the
+ interface.
+ Update the model when the user edit the entry
+ Don't listen to model row changes since we don't want to inform our
+ proxy about them and we don't need to do anything special in the
+ comboboxentry itself
+
+ * Kiwi2/Proxies.py (Proxy._initialize_widgets): block the widgets
+ when we initialize them so we don't get updates back to the model
+
+2005-05-18 Johan Dahlin <jdahlin@async.com.br>
+
+ * Kiwi2/Widgets/List.py: Add expand property to Column.
+
+2005-05-18 Lorenzo Gil Sanchez <lgs@sicem.biz>
+
+ * Kiwi2/Widgets/ComboBox.py (ComboProxyMixin.select_item_by_data)
+ (ComboProxyMixin.select_item_by_label): improve error messages to
+ easily detect programming errors.
+
+ * Kiwi2/Proxies.py (Proxy._setup_widgets): provides the widget name
+ in the warning message. Now is much easier to fix this programming
+ error.
+
+2005-05-17 Lorenzo Gil Sanchez <lgs@sicem.biz>
+
+ * Kiwi2/Widgets/List.py (Column.set_from_string, Column.__str__):
+ swap the order the tooltip and format are read/wrote since that's
+ the order Gazpacho is expecting
+
+2005-05-17 Johan Dahlin <jdahlin@async.com.br>
+
+ * Kiwi2/Widgets/List.py (List._setup_columns): Check if it's
+ configured before adding the columns, prevents the columns from
+ being added twice when specifying data_types for all columns.
+
+2005-05-16 Lorenzo Gil Sanchez <lgs@sicem.biz>
+
+ * Kiwi2/Widgets/List.py (List.add_list): if we add an empty list
+ we should not select and focus any row
+
+2005-05-16 Johan Dahlin <jdahlin@async.com.br>
+
+ * Kiwi2/Widgets/List.py: Reformat to fit in 79 columns.
+
+2005-05-14 Johan Dahlin <jdahlin@async.com.br>
+
+ * Kiwi2/Widgets/List.py: Protect selection, it's None if called
+ after List is destroyed.
+
+ * Kiwi2/initgtk.py: Guard pygtk.require, so we can import gtk before
+
+2005-05-12 Lorenzo Gil Sanchez <lgs@sicem.biz>
+
+ * Kiwi2/Widgets/List.py (List._create_column)
+ (List._on_header__button_release_event): change the event from
+ button_press to button_release to fix a bug related to right
+ click menu on the List headers
+
+2005-05-12 Johan Dahlin <jdahlin@async.com.br>
+
+ * Kiwi2/Widgets/List.py:
+ * Kiwi2/Widgets/datatypes.py:
+ Add support for Column.Data, does not allow it for booleans.
+ Remove some unused code and comments from gazpacho.
+ Use locale.format to format strings, also use this for
+ float types.
+
+ r=lgs
+
+2005-05-10 Johan Dahlin <jdahlin@async.com.br>
+
+ * Kiwi2/Widgets/List.py (List._setup_column): Fix justification.
+
+2005-05-10 Lorenzo Gil Sanchez <lgs@sicem.biz>
+
+ * Kiwi2/Widgets/List.py (str2type): remove the default data type
+ attribute following kiko's suggestion since it's cleaner and
+ easier to detect future errors.
+
+2005-05-09 Sidnei da Silva <sidnei@awkly.org>
+
+ reviewed by Johan Dahlin <jdahlin@async.com.br>
+
+ * setup.py (packages): add Kiwi2.Widgets.
+
+2005-05-07 Lorenzo Gil Sanchez <lgs@sicem.biz>
+
+ * Kiwi2/Widgets/List.py: added support for dates in KiwiList.
+ (List._on_column__clicked): removed some code that should
+ never been there
+
+2005-05-04 Gustavo Rahal <gustavo@async.com.br>
+
+ * Kiwi2/Widgets/Kiwi2/RadioButton.py: fixed error data-value
+ * Kiwi2/Widgets/Kiwi2/List.py: minor code improvements from comments
+ of last checkin
+ * Kiwi2/Widgets/Kiwi2/Label.py: now kiwilabels have the ability to
+ update the model
+ * Kiwi2/Widgets/Kiwi2/WidgetProxy.py: minor fix in do_get_property
+
+2005-05-03 Gustavo Rahal <gustavo@async.com.br>
+
+ * tests/test_Entry.py: test now checks for ValueUnset instead of None
+ * Kiwi2/Widgets/ComboBox.py: proper error checking
+ * Kiwi2/Widgets/List.py: column with number are right justified by
+ default. Fixed justification error
+
+2005-04-26 Gustavo Rahal <gustavo@async.com.br>
+
+ * Kiwi2/Widgets/List.py: fixed bug 1962
+
+2005-04-26 Gustavo Rahal <gustavo@async.com.br>
+
+ * Kiwi2/Widgets/SpinButton.py: minor cosmetic change in code to be
+ similar to other widgets.
+ * Kiwi2/Widgets/TextView.py: is data is None set text as empty
+
+2005-04-25 Johan Dahlin <jdahlin@async.com.br>
+
+ reviewed by: Gustavo
+
+ * Kiwi2/Proxies.py:
+ * Kiwi2/Widgets/ComboBox.py:
+ * Kiwi2/Widgets/WidgetProxy.py: use ValueUnset instead of None for
+ MixinSupportValidation._validate_data. Update widgets slightly for this
+ Fixes #1961
+
+2005-04-25 Gustavo Rahal <gustavo@async.com.br>
+
+ * Kiwi2/Widgets/ComboBox.py: bugs fixes. 1955, 1953, 1952, 1923
+ * Kiwi2/Widgets/TextView.py
+ * Kiwi2/Widgets/Entry.py
+ * Kiwi2/Widgets/SpinButton.py: checking of pygtk version done inside
+ init
+ * Kiwi2/Widgets/WidgetProxy.py: now check widgets validity is only
+ called when the widget is attached to a view/delegate
+
+2005-04-25 Johan Dahlin <jdahlin@async.com.br>
+
+ * Kiwi2/Views.py: Compare references, since some widgets overrides
+ equality checks (eg, __nonzero__ for ComboBoxEntry)
+
+2005-04-19 Gustavo Rahal <gustavo@async.com.br>
+
+ * Kiwi2/View.py:
+ * Kiwi2/Widgets/ComboBox.py:
+ * Kiwi2/Widgets/TextView.py
+ * Kiwi2/Widgets/List.py:
+ * Kiwi2/Widgets/Entry.py
+ * Kiwi2/Widgets/SpinButton.py:
+ * Kiwi2/Widgets/WidgetProxy.py: code clean up
+ * gazpacho-plugin/kiwi2.py: added support for object data-type
+ * Kiwi2/Widgets/datatype.py: added support for object data-type
+
+2005-04-19 Daniel Saran R. da Cunha <daniel@async.com.br>
+
+ * Kiwi2/Widgets/ComboBox.py (ComboBoxEntry): Now ComboBoxEntry works
+ properly with objects
+
+2005-04-19 Gustavo Rahal <gustavo@async.com.br>
+
+ * Kiwi2/Proxies.py: all widgets will have an attribute that specify the
+ views/delegate/etc... that owns it.
+ * Kiwi2/Views.py: added a global validation that check for correctness
+ on all widgets,
+ * Kiwi2/Widgets/ComboBox.py: refactoring, added ability to add items to
+ the comboboxentry list (dafault it not to add).
+ * Kiwi2/Widgets/List.py: added ability to slice kiwilist model
+ * Kiwi2/Widgets/TextView.py:
+ * Kiwi2/Widgets/Entry.py:
+ * Kiwi2/Widgets/SpinButton.py: code refactoring due to changes on
+ combobox. Some minor changes due to pygtk 2.6
+ * Kiwi2/Widgets/WidgetProxy.py: code refactoring
+ * Kiwi2/examples/PersonalInformation/personalinformation.py: shows how
+ to use global validation
+
+2005-04-13 Daniel Saran R. da Cunha <daniel@async.com.br>
+
+ * Kiwi2/Widgets/ComboBox.py: make the Widget work properly with
+ ValueUnset
+
+2005-04-13 Gustavo Rahal <gustavo@asyn.com.br>
+
+ * tests/test_Entry.py: test work with different locales
+ * Kiwi2/Widgets/ComboBox.py: apparently mandatory icon is displayed
+ correctly at all times! Uhu!
+ * Kiwi2/Widgets/TextView.py:
+ * Kiwi2/Widgets/Entry.py:
+ * Kiwi2/Widgets/SpinButton.py:
+ * Kiwi2/Widgets/WidgetProxy.py: moved code around
+
+2005-04-13 Gustavo Rahal <gustavo@async.com.br>
+
+ * Kiwi2/Widgets/TextView.py: added Kiwi TextView Widget
+ * Kiwi2/Widgets/ComboBox.py: fixed mandatory icon display
+ * Kiwi2/Widgets/CheckButton.py: renamed MixinSupportMandatory to
+ MixinSupportValidation
+ * Kiwi2/Widgets/RadioButton.py: same as CheckButton
+ * Kiwi2/Widgets/__init__.py: added Kiwi TextView Widget
+ * Kiwi2/Widgets/Entry.py: moved validation code to
+ WidgetProxy.MixinSupportValidation
+ * Kiwi2/Widgets/SpinButton.py: code reorganization to support
+ custom validation
+ * Kiwi2/Widgets/WidgetProxy.py: added custom validation code to the
+ MixinSupportValidation class.
+ * gazpacho-plugin/pixmaps/kiwitextview.png: added icon
+ * gazpacho-plugin/kiwi2.xml: added kiwitextview
+ * examples/PersonalInformation/personalinformation.py: added custom
+ validation examples
+ * examples/PersonalInformation/personalinformation.glade: added more
+ widgets for custom validation examples
+
+2005-04-11 Gustavo Rahal <gustavo@async.com.br>
+
+ * Kiwi2/Widgets/CheckButton: fixed minor name mistake
+ * Kiwi2/examples/survey.py: renamed survey object
+ * Kiwi2/Views.py: added support for non-glade files to be slaves
+ * Kiwi2/Widgets/Wizard.py: wizard interface is not a glade file anymore
+
+2005-04-08 Gustavo Rahal <gustavo@async.com.br>
+
+ * Kiwi2/Widgets/ComboBox.py:
+ * Kiwi2/Widgets/Entry.py:
+ * Kiwi2/Widgets/SpinButtonpy: added mandatory input capabilities
+ * Kiwi2/Widgets/WidgetProxy.py: renamed class WidgetProxyMinin to Mixin and created a new class named MixinSupportMandatory for Kiwi Widgets that needs to be set as mandatory
+ * Kiwi2/Widgets/RadioButton.py:
+ * Kiwi2/Widgets/Label.py:
+ * Kiwi2/Widgets/CheckButton.py: class renaming
+
+2005-04-07 Lorenzo Gil Sanchez <lgs@sicem.biz>
+
+ * Kiwi2/Widgets/ComboBox.py:
+ * Kiwi2/Widgets/CheckButton.py:
+ * Kiwi2/Widgets/RadioButton.py:
+ * Kiwi2/Widgets/Label.py:
+ * Kiwi2/Widgets/Entry.py:
+ * Kiwi2/Widgets/WidgetProxy.py:
+ * Kiwi2/Widgets/SpinButtonpy: make the widgets play nicely
+ with ValueUnset
+
+ * Kiwi2/Widgets/datatypes.py (set_date_format): fix a typo
+
+ * Kiwi2/Proxies.py (Proxy._initialize_widgets): allow to call
+ update on the widgets with ValueUnset
+
+ * tests/actions.glade: updated the format of the glade file
+
+ * tests/test_datatypes.py (DataTypesTest.teststr2date): update the
+ exceptions that are raised when the dates are wrong
+
+2005-04-06 Gustavo Rahal <gustavo@async.com.br>
+
+ * some code refactor of last commit
+
+2005-04-05 Gustavo Rahal <gustavo@async.com.br>
+
+ * Kiwi2/Widgets/Entry.py: fixed and improved input checking
+ * Kiwi2/Widgets/datatypes.py: improve float number and date
+ checkings to support locale variations
+ * examples/PersonalInformation/personalinformation.py: added
+ height entry
+ * test/test_Entry.py: added KiwiEntry test case
+
+2005-04-01 Evandro Vale Miquelito <evandro@async.com.br>
+
+ * Kiwi2/Widgets/List.py:
+ Adding a new select_instance method.
+
+2005-04-01 Daniel Saran R. da Cunha <daniel@async.com.br>
+
+ * Kiwi2/Widgets/ComboBox.py (ComboProxyMixin.select_item_by_data):
+ Cleaning the code
+
+2005-04-01 Daniel Saran R. da Cunha <daniel@async.com.br>
+
+ * Kiwi2/Widgets/ComboBox.py (ComboProxyMixin.select_item_by_data):
+ Don't try to select a row if there is no data in the combo.
+
+2005-03-30 Gustavo Rahal <gustavo@async.com.br>
+
+ * doc/Makefile: generates epydoc api
+
+2005-03-30 Gustavo Rahal <gustavo@async.com.br>
+
+ * Kiwi2/Widgets/Label.py: added support for bold, italic and size
+ attributes for labels
+ * tests/test_Label.py: added a test case for Labels
+
+2005-03-30 Gustavo Rahal <gustavo@async.com.br>
+
+ * Kiwi2/Widgets/SpinButton.py: fixed set_data_type function
+ * Kiwi2/Widgets/WidgetProxy.py: fixed __init__.py to set initial values
+ for _data_type and _model_attribute
+
+2005-03-30 Daniel Saran R. da Cunha <daniel@async.com.br>
+
+ * Kiwi2/Widgets/ComboBox.py: ComboBox now use the data, when it exists,
+ instead of label of its items to update the model and view.
+
+2005-03-29 Gustavo Rahal <gustavo@async.com.br>
+
+ * Kiwi2/Widgets/SpinButton.py: added Spin Button support to Kiwi
+ * Kiwi2/Widgets/__init__.py: spinbutton
+ * Kiwi2/tests/test_SpinButton.py: test spinbutton
+ * Kiwi2/gazpacho-plugin/kiwi2.xml: spin button
+ * Kiwi2/gazpacho-plugin/kiwi2.py: new SpinBtnDataTypeAdaptor to deal
+ with int and float only
+
+2001-12-02 Daniel Saran R. da Cunha <daniel@async.com.br>
+
+ * Kiwi2/Widgets/WidgetProxy.py: don't try to set the widget content
+ if the data is None
+
+ * Kiwi2/Widgets/RadioButton.py: don't update the view if there is no
+ data in the model
+
+2005-03-29 Lorenzo Gil Sanchez <lgs@sicem.biz>
+
+ * Kiwi2/Widgets/RadioButton.py (RadioButton.read): fixed small stylist
+ problems
+
+2001-12-02 Daniel Saran R. da Cunha <daniel@async.com.br>
+
+ * Kiwi2/Widgets/RadioButton.py: fix for a wrong return type
+
+2005-03-29 Lorenzo Gil Sanchez <lgs@sicem.biz>
+
+ * Kiwi2/__init__.py (imagepath):
+ * Kiwi2/Views.py (GazpachoWidgetTree.__init__): use a path resolver
+ to correctly load images
+ (image_path_resolver):
+
+2005-03-24 Gustavo Rahal <gustavo@async.com.br>
+
+ * Kiwi2/__init__.py: fixed KIWI_GLADE_PATH
+ * Kiwi2/Widgets/Wizard.py: new wizard widget
+ * Kiwi2/Widgets/Wizard.glade: glade file that defines the structure of
+ the wizard.
+ * Kiwi2/examples/Wizard: directory with a new three step wizard example
+ * Kiwi2/Widgets/CheckButton.py: since default data-types of widgets are
+ string is was necessary a modication on the constructor to set to
+ boolean
+ * Kiwi2/Widgets/__init__.py: added Wizard widget
+
+2005-03-24 Lorenzo Gil Sanchez <lgs@sicem.biz>
+
+ * Kiwi2/Widgets/WidgetProxy.py (WidgetProxyMixin.update): add a warning
+ when setting None in a widget
+
+ * Kiwi2/examples/PersonalInformation: validation example
+
+ * Kiwi2/Widgets/Entry.py: inform the user if he made a mistake while
+ typing a entry by setting the background of the entry and adding a
+ tooltip with a message explaining the error
+
+ * Kiwi2/Widgets/datatypes.py (str2int, str2float): custom converter
+ functions that raise exceptions with nice messages if they find
+ errors in the data the user enters
+
+ * Kiwi2/Widgets/WidgetProxy.py:
+ (WidgetProxyMixin.set_default_value): allow to set a custom default
+ value
+ (WidgetProxyMixin.__init__): added a flag to know if the user set
+ a default value different that the default value associated with the
+ data type
+
+ * Kiwi2/utils.py (merge_colors): function to merge the background of
+ a widget between two different colors
+
+ * Kiwi2/Proxies.py (Proxy._on_widget__content_changed): only update
+ the model if the data is correct
+
+2005-03-24 Gustavo Rahal <gustavo@async.com.br>
+
+ * Kiwi2/Widgets/CheckButton.py: bool data-type is an object not a string
+ anymore
+
+
+2001-11-27 Daniel Saran R. da Cunha <daniel@async.com.br>
+
+ * Kiwi2/Widgets/Label.py (Label.set_color): method to change label's
+ color
+
+2005-03-23 Lorenzo Gil Sanchez <lgs@sicem.biz>
+
+ * gazpacho-plugin/kiwi2.py (DataTypeAdaptor.create_editor): add support
+ for date types
+
+2001-11-27 Daniel Saran R. da Cunha <daniel@async.com.br>
+
+ * examples/SexSelection: New example to test Radio Button
+
+ * Kiwi2/Widgets/WidgetProxy.py (WidgetProxyMixin.__init__): The default
+ data type is a string because we always need a default. Otherwise
+ gazpacho doesn't save this property.
+
+ * gazpacho-plugin/kiwi2.xml:
+ * Kiwi2/Widgets/__init__.py:
+ * Kiwi2/Widgets/RadioButton.py : support for Radio Buttons
+
+2005-03-23 Lorenzo Gil Sanchez <lgs@sicem.biz>
+
+ * Kiwi2/Widgets/datatypes.py: added a date type and functions to
+ set a data from a string a viceversa
+
+ * tests/test_datatypes.py: added some tests for the datetypes
+
+ * tests/test_Action.py:
+ * tests/test_BaseView.py:
+ * tests/test_CheckButton.py:
+ * tests/test_ComboBox.py:
+ * tests/test_Delegate.py:
+ * tests/test_Entry.py:
+ * tests/test_List.py: don't use delays and remove all the non essential
+ refreshes. Also make it more unittest friendly
+
+2001-11-26 Daniel Saran R. da Cunha <daniel@async.com.br>
+
+ * gazpacho-plugin/kiwi2.xml:
+ * gazpacho-plugin/kiwi2.py (DataTypeAdaptor.create_editor): now the
+ data-type does not need custom setter (neither getters). This fix a
+ bug about Gazpacho not saving the data type properties.
+
+ * gazpacho-plugin/kiwi2.xml: disabled hadjustment and vadjustment
+ properties on the List since they are ScrollWindow properties that
+ do not make sense with the list.
+
+2005-03-22 Lorenzo Gil Sanchez <lgs@sicem.biz>
+
+ * gazpacho-plugin/kiwi2.py (DataTypeAdaptor.create_editor): handle
+ data-types as objects, not as strings
+
+ * Kiwi2/Widgets/WidgetProxy.py: make data-type be an object property
+ instead of a string one.
+
+ * Kiwi2/Widgets/List.py:
+ * Kiwi2/Widgets/datatypes.py:
+ * Kiwi2/Widgets/__init__.py: put all the type functionality in
+ datatypes.py
+
+ * Kiwi2/Proxies.py (Proxy._setup_widgets): make sure all the
+ KiwiWidgets have a data-type
+
+ * Kiwi2/Widgets/ComboBox.py (ComboBoxEntry.__init__): fixed a typo
+
+2005-03-22 Johan Dahlin <johan@async.com.br>
+
+ * Kiwi2/Controllers.py:
+ * Kiwi2/Delegates.py:
+ * Kiwi2/Proxies.py:
+ * Kiwi2/Views.py:
+ * Kiwi2/WidgetProxies/Base.py:
+ * Kiwi2/WidgetProxies/CheckButton.py:
+ * Kiwi2/WidgetProxies/Entry.py:
+ * Kiwi2/WidgetProxies/OptionMenu.py:
+ * Kiwi2/Widgets/List.py:
+ * Kiwi2/Widgets/WidgetProxy.py:
+ * Kiwi2/accessors.py:
+ * Kiwi2/initgtk.py:
+
+ Convert exceptions to use raise(x) instead of raise, x
+
+2005-03-22 Johan Dahlin <jdahlin@async.com.br>
+
+ * Kiwi2/Widgets/ComboBox.py (ComboProxyMixin.__len__): Add
+ (ComboBox.clear): Call ComboProxyMixin.clear
+ (ComboBoxEntry.clear): Ditto
+ (ComboProxyMixin.get_selected_label): Add
+ (ComboProxyMixin.select_item_by_position)
+ (ComboProxyMixin.select_item_by_label)
+ (ComboProxyMixin.select_item_by_data): Simplify
+
+2005-03-22 Gustavo Rahal <gustavo@async.com.br>
+
+ * Kiwi2/tests/test_CheckButton.py: added a test for CheckButtons
+ * Kiwi2/Widgets/CheckButton.py: test for bool value in set_data_type
+
+2005-03-22 Gustavo Rahal <gustavo@async.com.br>
+
+ * Kiwi2/Widgets/CheckButton.py: added Checkbutton kiwi widget
+ * Kiwi2/Widgets/__init__.py: support for Checkbutton
+ * kiwi2.xml: added checkbutton to gazpacho-plugin
+
+2005-03-22 Johan Dahlin <jdahlin@async.com.br>
+
+ * Kiwi2/Widgets/ComboBox.py
+ (ComboProxyMixin.select_item_by_label): Use iter_next, not
+ next_iter!
+ (ComboProxyMixin.get_selected_data): Impl. for Henrique.
+
+2005-03-22 Lorenzo Gil Sanchez <lgs@sicem.biz>
+
+ * examples/NewsForm/newsform.py: added a size field to test
+ validations in integer entries
+
+ * Kiwi2/Widgets/WidgetProxy.py (WidgetProxyMixin.__init__): allow to
+ initialize a widget with None values for their properties so we
+ can correctly get the default value when setting the data type
+
+ * gazpacho-plugin/kiwi2.xml: disable text-column which is not useful
+ in ComboBoxEntry
+
+ * Kiwi2/Widgets/ComboBox.py (ComboProxyMixin.prefill): allow
+ prefill with the empty list
+
+ * examples/FavouriteColor/color2.py: example of ComboBoxEntry
+
+ * examples/FavouriteColor/color.py: example of ComboBox
+
+ * kiwi2.xml: added combos to gazpacho-plugin
+
+ * Kiwi2/Widgets/__init__.py:
+ * Kiwi2/Widgets/ComboBox.py: first support for ComboBoxes
+ (old OptionMenu) and ComboBoxEntries (old Combos)
+
+2005-03-21 Evandro Vale Miquelito <evandro@async.com.br>
+
+ * Kiwi2/Widgets/List.py (List.update_instance): A small fix for
+ update_instance method. Now we verify if the instance even
+ exists in the list.
+
+2005-03-21 Lorenzo Gil Sanchez <lgs@sicem.biz>
+
+ * tests/test_List.py (DataTests.testContains): added a test for
+ __contains__
+ (DataTests.testUpdatingOneInstance): fixed test
+
+ * Kiwi2/Widgets/List.py (List.update_instance): added update_instance
+ (List.__contains__): added __contains__ method
+
+ * tests/test_List.py (DataTests.testUpdatingOneInstance): added a test
+ for update_instance
+
+2005-03-18 Lorenzo Gil Sanchez <lgs@sicem.biz>
+
+ * tests/test_List.py (DataTests.testClearList): added test for the
+ clear method
+
+ * Kiwi2/Widgets/List.py (List.clear): added
+
+ * Kiwi2/Views.py (SignalBroker._autoconnect_by_method_name): allow
+ to connect to the actions objects and also improve error message
+ when a method's signature is bad
+
+ * Kiwi2/Widgets/List.py (List.remove_instance): added
+
+ * tests/test_List.py: added several tests for removing and adding data
+ to the list
+
+ * tests/test_Action.py: test that menubars and toolbars work with
+ Kiwi autoconnect mechanism
+
+ * tests/test_Delegate.py: added tests to make sure that a signal
+ handler is only called once
+
+2005-03-16 Lorenzo Gil Sanchez <lgs@sicem.biz>
+
+ * Kiwi2/Views.py (SlaveView._init_glade_adaptor): allow the container
+ name to have the same name as the gladefile. Fix a bug with Daniel code
+
+2005-03-15 Lorenzo Gil Sanchez <lgs@sicem.biz>
+
+ * gazpacho-plugin/kiwi2.xml: add a libglade-module attribute since that
+ is used now for writing the 'requires' tag
+
+ * gazpacho-plugin/kiwi2.py: change the order of the arguments in the
+ update_editor methods since that was changed in Gazpacho
+
+2005-03-11 Lorenzo Gil Sanchez <lgs@sicem.biz>
+
+ * Kiwi2/Views.py (GladeSignalBroker._connect_glade_signals): remove
+ the double connection
+
+ * tests/test_Delegate.py (DelegateTest.testButtons): add another test
+ to check if the callbacks are being called more than one time
+
+ * Kiwi2/Widgets/List.py: add two extra flags: _columns_created and
+ _columns_configured to avoid creating the columns several times
+
+ * tests/test_List.py (ListTest.testAddingOneInstance): improve test
+ to check that the columns remain sane
+
+2005-03-10 Lorenzo Gil Sanchez <lgs@sicem.biz>
+
+ * Kiwi2/Views.py (GladeSignalBroker._connect_glade_signals): don't
+ call autoconnect_by_method_name twice
+
+ * Kiwi2/utils.py (get_foreground): fix the call to gdk_color_to_string
+
+ * Kiwi2/Views.py (SlaveView.__init__): if we don't have a toplevel
+ try to get it from the toplevel_name attribute
+
+ * Kiwi2/Widgets/List.py (List): fixed several minor bugs discovered
+ by writing a simple test
+
+ * Kiwi2/Views.py (SlaveView): use Johan gsignal and gproperty functions
+ to make the code more readable
+
+ * Kiwi2/Widgets/List.py: remove some print debugging stuff
+
+ * Kiwi2/Views.py (find_in_gladepath): fixed a typo
+
+ * examples/* adapt examples to work with the new changes
+
+ * Kiwi2/Controllers.py: don't use string module and ListType and
+ TupleType.
+
+ * Kiwi2/utils.py: put here some useful functions that are needed from
+ several different places.
+
+ * Kiwi2/Widgets/List.py:
+ * Kiwi2/Widgets/Entry.py:
+ * Kiwi2/Widgets/Label.py:
+ * Kiwi2/Widgets/__init__.py:
+ * Kiwi2/Widgets/WidgetProxy.py: new module to keep the KiwiWidgets.
+ These widgets inherit from a gtk widget and from WidgetProxyMixin,
+ which provides the functionality to work together with the Proxy
+ Kiwi Framework class.
+
+ * Kiwi2/__init__.py: move some utility functions to utils.py and
+ better API of gladepath
+
+ * Kiwi2/Delegates.py: remove GladeDelegate and GladeSlaveDelegate and
+ put more arguments to Delegate and SlaveDelegate so we keep the
+ same functionality.
+
+ * Kiwi2/Views.py: remove GladeView and GladeSlaveView. Rename
+ AbstractView to SlaveView so now we just have SlaveView and BaseView
+ and they now how to handle glade files if the user gives them the
+ apropiate constructor argument.
+ Also, add add_proxy method to the views and make them work with
+ proxies by composition.
+
+ * Kiwi2/Proxies.py: change the VirtualProxy class to be the only Proxy
+ class and work by composition of the View classes
+
+ * gazpacho-plugin/kiwi2.py:
+ * gazpacho-plugin/kiwi2.xml: added support for Kiwi Label and Kiwi
+ Entry
+
+ * gazpacho-plugin/README: added a note about how to create kiwi widget
+ icons
+
+2005-03-07 Lorenzo Gil Sanchez <lgs@sicem.biz>
+
+ * Kiwi2/List.py (List.__init__): fix a typo
+
+ * examples/Faren/faren3.py: this one uses a GladeDelegate
+
+ * examples/Faren/faren2.py: second version of Faren example
+
+ * examples/Faren/faren.py: ported the basic Temperature example
+
+ * examples/Simple/simple.py: ported another example to Kiwi2
+
+2005-03-05 Lorenzo Gil Sanchez <lgs@sicem.biz>
+
+ * Kiwi2/Views.py (GazpachoWidgetTree.__init__): move the gladename
+ and gladefile class attributes to GladeSlaveView and GladeView. Fix
+ #1843
+ (GladeSlaveView, GladeView):
+
+ * examples/HeyPlanet/heyglade3.py (MyView.gladefile): provide an
+ example of setting the gladefile as a class attribute
+
+ * Kiwi2/Delegates.py: add a keyactions argument to all the Delegates
+ so we can use it for the Controller
+
+ * examples/News/news4.py (Shell.__init__): provide an example of
+ keyactions
+
+ * Kiwi2/initgtk.py (quit_if_last): also quit if there is no toplevels
+ (e.g., this function was called after hiding the last toplevel)
+
+ * examples/News/news3.py (Shell.on_ok__clicked): stay on the safe
+ side by checking if there is something selected
+
+ * Kiwi2/Views.py (BaseView._setup_keypress_handler): put this
+ method only in BaseView to avoid warnings
+
+ * Kiwi2/List.py: use kgetattr instead of getattr when accesing the
+ attributes of an instance
+
+ * Kiwi2/initgtk.py (quit_if_last): don't treat hide windows as
+ toplevels when seeing if we need to quit because usually there are
+ several windows in a glade file.
+
+2005-03-04 Lorenzo Gil Sanchez <lgs@sicem.biz>
+
+ * Kiwi2/Views.py (SignalBroker): super() only works with new style
+ classes
+
+2005-03-03 Lorenzo Gil Sanchez <lgs@sicem.biz>
+
+ * Kiwi2/List.py (List.add_list): block and unblock the selection signal
+ on the selection object instead of the treeview object
+ (List._load): add a progress_handler (non used so far) argument so
+ the call from add_list() works
+ (List._create_best_renderer_for_type): don't make the cells editable
+ until we have a 'editable' property to switch this feature on and off.
+ This is needed so we can still double click on the rows
+
+ * Kiwi2/Views.py (GladeSlaveView.__init__): fix some errors so we can
+ use this view
+
+ * examples/News/news4.py: new version using a GladeSlaveDelegate with
+ the KiwList in the file news_list.glade. Note how the column
+ definitions are in the glade file this time and how we setup
+ the signals of the KiwiList as any other widget.
+
+2005-03-02 Lorenzo Gil Sanchez <lgs@sicem.biz>
+
+ * Kiwi2/List.py: several changes to make the Columns serializable and
+ so we can use List from Gazpacho
+
+ * Kiwi2/__init__.py (ValueUnset): put this class at the beginning to
+ avoid import problems
+ (str2bool, str2enum, str2type): utility functions
+
+2005-02-28 Lorenzo Gil Sanchez <lgs@sicem.biz>
+
+ * Kiwi2/List.py: renamed KiwiList to List
+ * Kiwi2/Delegates.py (ListDelegate.__init__):
+ * examples/News/news3.py:
+ * examples/News/news2.py:
+
+ * Kiwi2/Delegates.py (KiwiListDelegate.__init__): don't need a
+ scroll window anymore since that functionality is already in the
+ KiwiList.
+
+ * examples/News/news3.py: don't use KiwiListDelegate anymore but just
+ a simple SlaveDelegate. Also fix the small bug about the color
+
+ * Kiwi2/List.py (KiwiList.__init__): for now, use right click button
+ on the header to show the popup menu. Thunderbird style button on top
+ of the vertical scrollbar will be done later.
+
+2005-02-26 Lorenzo Gil Sanchez <lgs@sicem.biz>
+
+ * examples/News/news3.py: adapt the example to use the new signal
+ feature of the KiwiList
+
+ * Kiwi2/List.py: improve the List with a menu to show/hide columns
+ and do column sorting and reordering.
+
+ * Kiwi2/Delegates.py: move more things into KiwiList from
+ KiwiListDelegate. Use signals in KiwiList for the selection and
+ double click events.
+
+ * Kiwi2/Views.py: optimize color conversion to string by using
+ shifts instead of divisions
+
+ * tests/run_all_tests.py: fix the first line of the script
+
+2005-02-21 Lorenzo Gil Sanchez <lgs@sicem.biz>
+
+ * Kiwi2/AbstractViews.py: we don't use this file anymore. Its contents
+ were moved to Views.py
+
+ * Kiwi2/__init__.py: put the ValueUnset class here so we avoid
+ some cyclic dependencies
+
+ * Kiwi2/Views.py (GladeSignalBroker._connect_glade_signals): make
+ AbstractView inherit form GObject so we can enjoy GSignals in the
+ views.
+ (BaseView.connect): can't proxy these methods anymore because we
+ have our own signals now
+
+ * Kiwi2/Delegates.py: added the KiwiListDelegated. Not sure if we
+ should deprecate this delegate now that we are pushing all the
+ functionality to the Kiwi2.List class.
+
+ * Kiwi2/initgtk.py: we need gobject for signals
+
+ * examples/News/news3.py:
+ * examples/News/news2.py: converted examples to use Kiwi2
+
+2005-02-18 Lorenzo Gil Sanchez <lgs@sicem.biz>
+
+ * Kiwi2/Views.py: implement attach_slave for GazpachoTree and so for
+ GladeView and GladeSlaveView
+
+ * Kiwi2/initgtk.py (quit_if_last): only see TOPLEVEL windows, no
+ POPUPs
+
+ * examples/News/news.py: adapted to Kiwi2. Also use TreeView instead
+ of CList
+
+2005-02-17 Lorenzo Gil Sanchez <lgs@sicem.biz>
+
+ * Kiwi2/Views.py: forget about GazpachoViews. Make GladeView and
+ GladeSlaveView use Gazpacho internally with delegation and don't use
+ AbstractGladeView anymore. I still need to implement attach_slave
+ with this delegation aproach.
+
+ * Kiwi2/Delegates.py: minor PEP-8 changes and change Kiwi to Kiwi2
+
+ * tests/run_all_tests.py: convenience script to run all of the tests
+
+ * tests/test_BaseViewInherit.py: adapted to run under unittest
+
+ * examples/HeyPlanet/heygazpacho3.py: copy of heygazpacho3.py using
+ Gazpachoview
+
+ * examples/HeyPlanet/heygazpacho2.py: copy of heyglade2.py using
+ GazpachoView
+
+ * examples/HeyPlanet/heygazpacho.py: copy of heyglade.py using
+ GazpachoView
+
+ * Kiwi2/initgtk.py (quit_if_last): mainquit is deprecated, did you know
+ that?
+
+ * examples/HeyPlanet/heyglade3.py:
+ * examples/HeyPlanet/heyglade2.py:
+ * examples/HeyPlanet/heyglade.py:
+ * examples/HeyPlanet/hey.py: adapted to Kiwi2
+
+ * examples/HeyPlanet/hey.glade: generated by Gazpacho, not Glade-2
+
+2005-02-16 Lorenzo Gil Sanchez <lgs@sicem.biz>
+
+ * tests/test_BaseView.py: make all the tests run under the unittest
+ facilities. Integrate test_BaseView2.py here also.
+
+ * Kiwi2/Views.py (AbstractView._gdk_color_to_string)
+ (AbstractView.get_background, AbstractView.get_foreground): provide
+ method to get the colors of a widget in the #XXXXX format
+ - Comment out the classes we don't care about right now:
+ GladeSlaveView and GladeView
+
+ * Kiwi2/initgtk.py: don't load main_quit, it's deprecated
+ (quit_if_last): add this function to be used as a delete-event handler
+ so the user can open and close windows without worrying about when
+ to call gtk.mainquit
+
+2005-02-11 Lorenzo Gil Sanchez <lgs@sicem.biz>
+
+ * Kiwi2/__init__.py (standard_widgets): fixed a bug about not importing
+ sys and using sys.stderr
+
+ * Kiwi2/AbstractViews.py (SignalBroker.__init__): refactor SignalBroker
+ __init__ method so subclasses can customize it
+ (SignalBroker._do_connections): new method that do all the connections
+ this signal broker is supposed to make. In the base SignalBroker it
+ only calls _autoconnect_by_method_name but in GladeSignalBroker it
+ also calls _connect_glade_signals
+
+2005-02-10 Lorenzo Gil Sanchez <lgs@sicem.biz>
+
+ * Kiwi2/initgtk.py: added explanation on why do we have a separate
+ initgtk.py module
+
+2005-02-05 Lorenzo Gil Sanchez <lgs@sicem.biz>
+
+ * setup.py: remove non used imports
+