diff options
author | SVN-Git Migration <python-modules-team@lists.alioth.debian.org> | 2015-10-08 09:27:57 -0700 |
---|---|---|
committer | SVN-Git Migration <python-modules-team@lists.alioth.debian.org> | 2015-10-08 09:27:57 -0700 |
commit | 928ccf929c26a5344c224303b5108e99c2eb597a (patch) | |
tree | 6d371148311fe4467b0c9a208e9c36d24380c75e /ChangeLog |
Imported Upstream version 1.9.8
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 2696 |
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 + |