=== 1.9.25 ===
2009-04-15 George Y. Kussumoto <george@async.com.br>

	Release 1.9.25

2009-04-14: Severin Heiniger <severinheiniger@gmail.com>
	reviewed by: jdahlin@async.com.br

	* kiwi/dist.py: Do not overwrite custom cmdclass entries.

2009-03-10 George Y. Kussumoto <george@async.com.br>
	reviewed by: romaia@async.com.br

	* kiwi/ui/widgets/combo.py: Added get_selected_data method in
	ProxyComboEntry class, in order to fix some issues with completetion.

2009-02-27 George Y. Kussumoto <george@async.com.br>
	reviewed by: romaia@async.com.br

	* kiwi/ui/search.py: Added SearchFilter get_description method for each
	subclass and an accessor for all search filters in a SearchContainer.

2009-02-19  Ronaldo Maia  <romaia@async.com.br>

	reviewed by: george@async.com.br

	* kiwi/ui/search.py: Refactor advanced search interface to use less space.

2009-02-13  Ronaldo Maia  <romaia@async.com.br>

	reviewed by: george@async.com.br

	* kiwi/db/query.py:
	* kiwi/db/sqlalch.py:
	* kiwi/db/sqlobj.py:
	* kiwi/db/stormintegration.py:
	* kiwi/ui/objectlist.py:
	* kiwi/ui/search.py:
	Add an advanced search, disabled by default

=== 1.9.24 ===
2009-01-27 George Y. Kussumoto <george@async.com.br>

	Release 1.9.24

2009-01-15  Ronaldo Maia  <romaia@async.com.br>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/currency.py:
	* tests/test_datatypes.py:
	currency is formating the value wrong. Fixes bug 3855

2008-11-13  Ronaldo Maia  <romaia@async.com.br>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/entry.py:
	* kiwi/ui/entrycompletion.py:
	When the value of the ComboEntry changes, the object is not updated
	sometimes. Fixes Bug 3673

2008-11-07  Ronaldo Maia  <romaia@async.com.br>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* examples/awesomecombo.py:
	* kiwi/ui/cellrenderer.py:
	* kiwi/ui/comboentry.py:
	Enable multi-line ComboEntry options, similar to firefox's toolbar.
	Fixes 3843.

2008-11-03  Ronaldo Maia  <romaia@async.com.br>

	* kiwi/ui/comboentry.py: Keep the toggle button the same size as the
							 entry and position the popup correctly. Fixes
							 3841

2008-10-28  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/builderloader.py:
	* kiwi/ui/views.py:
	Add initial support for loading GtkBuilder files

=== 1.9.23 ===
2008-09-10 George Y. Kussumoto <george@async.com.br>

	Release 1.9.23

2008-07-14  George Y. Kussumoto  <george@async.com.br>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/objectlist.py: ColoredColumn - data_func should receive the model
							 object instead of the attribute value.

2008-07-11  Ronaldo Maia  <romaia@async.com.br>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/objectlist.py: Enable more than one color on a ColoredColumn

2008-06-23  Ronaldo Maia  <romaia@async.com.br>

	reviewed by: Christian Reis  <kiko@async.com.br>

	* kiwi/ui/views.py:
	Allow user to specify the widget directly when attaching a slave.

2008-06-05  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/datatypes.py:
	Make Mr Buildbot a happy camper

2008-06-05  Johan Dahlin  <jdahlin@async.com.br>

	* glade3-plugin/kiwiwidgets.py:
	* glade3-plugin/kiwiwidgets.xml:
	* glade3-plugin/setup.py:
	Update the glade3 plugin to Juan's latest revival
	of catalog support in glade3

2008-06-05  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/gazpacholoader.py:
	Remove duplicate converters

	* kiwi/datatypes.py:
	* kiwi/ui/proxy.py:
	* kiwi/ui/proxywidget.py:
	* kiwi/ui/widgets/button.py:
	* tests/test_CheckButton.py:
	* tests/test_Entry.py:
	* tests/test_Scale.py:
	* tests/test_SpinButton.py:
	* tests/test_proxy.py:
	* tests/test_utils.py:
	Change data_type property from object to string and update tests
	and callsites.

2008-06-05  Johan Dahlin  <jdahlin@async.com.br>

	reviewed by: <delete if not using a buddy>

	* debian/changelog:
	* glade3-plugin/kiwiwidgets.py:
	* glade3-plugin/kiwiwidgets.xml:
	* glade3-plugin/setup.py:
	* kiwi/datatypes.py:
	* kiwi/ui/proxy.py:
	* kiwi/ui/proxywidget.py:
	* kiwi/ui/widgets/button.py:
	* tests/test_CheckButton.py:
	* tests/test_Entry.py:
	* tests/test_Scale.py:
	* tests/test_SpinButton.py:
	* tests/test_proxy.py:
	* tests/test_utils.py:

=== 1.9.22 ===
2008-05-29 George Y. Kussumoto <george@async.com.br>
	* NEWS:
	* debian/changelog:
	* doc/howto.tex:
	* doc/release-checklist.txt:
	* kiwi/__version__.py:
	* kiwi.spec:
	Release 1.9.22

2008-05-29  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/dateentry.py:
	Improve documentation a bit

2008-04-17  Ronaldo Maia  <romaia@async.com.br>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* examples/listdialog.py:
	* kiwi/ui/objectlist.py:
	* kiwi/ui/widgets/contextmenu.py:
	Add support for context menus in objectlist

2008-04-14  Johan Dahlin  <johan@gnome.org>

	* kiwi/ui/objectlist.py (Column.attach): Do not expand stock columns.

2008-04-11  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/widgets/colorbutton.py:
	Store colors as strings instead of gdk.Color instances in the model.

2008-04-10  Johan Dahlin  <johan@gnome.org>

	* kiwi/ui/objectlist.py (Column.attach): Set expand to False
	for pixbuf columns.

2008-04-10  Ali Afshar <aafshar@gmail.com>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* examples/search_sqlalch.py:
	* kiwi/db/sqlalch.py:
	Add SQLAlchemy support in the search interface. Fixes #3668

2008-04-10  Johan Dahlin  <jdahlin@async.com.br>

	* gazpacho-plugin/kiwiwidgets.xml:
	* gazpacho-plugin/resources/kiwiwidgets/kiwicolorbutton.png:
	* kiwi/ui/gazpacholoader.py:
	Add initial support for GtkColorButton. Needs a bit of adjustment
	on the gazpacho side aswell.

2008-04-09  Johan Dahlin  <johan@gnome.org>

	* kiwi/ui/listdialog.py (ListSlave.__init__): 
	Add refresh() and clear() methods.

	* kiwi/ui/objectlist.py (ObjectList._setup_columns): Fix error message
	so it actually shows something useful.
	Set context header menu text to the capitalized attribute name if the
	the normal title is empty.
	
2008-04-08  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/listdialog.py:
	Rename ListDialog to ListSlave and add subclass
	which joins a gtk.Dialog and a ListSlave

2008-03-18  Johan Dahlin  <johan@gnome.org>

	* kiwi/ui/gazpacholoader.py:
	Speculative fix for:
	File kiwi/ui/gazpacholoader.py, line 218, in _editor_edit
	    proxy.set_value(model[active_iter][1])
	TypeError: could not parse subscript as a tree path

=== 1.9.21 ===
2008-03-17 George Y. Kussumoto <george@async.com.br>
	* NEWS:
	* debian/changelog:
	* doc/howto.tex:
	* doc/release-checklist.txt:
	* kiwi/__version__.py:
	* kiwi.spec:
	Release 1.9.21 

2008-03-07  Fabio Morbec  <fabio@async.com.br>
	* Makefile: Correcting the svn address

2008-03-07  Ronaldo Maia  <romaia@async.com.br>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/comboentry.py:
	* kiwi/ui/entrycompletion.py: Handle case when entry completion is poping
	up and the entry loses focus. Fixes bug #3639

2008-03-06  Johan Dahlin  <johan@gnome.org>

	* po/es_CL: Added Spanish/Chilean translation
	(Gabriel Felipe Cornejo Salas)

2008-03-03  Johan Dahlin  <johan@gnome.org>

	* po/es_ES: Added Spanish translation
	(Jose Martin)

2008-02-20  Johan Dahlin  <johan@gnome.org>

	* kiwi/ui/listdialog.py: PEP-8ify

2008-02-13  Johan Dahlin  <johan@gnome.org>

	* po/pl.po:
	Update polish translation (Jarek Zgoda)

=== 1.9.20 ===
2008-01-31 Fabio Morbec <fabio@async.com.br>
	* NEWS:
	* debian/changelog:
	* doc/howto.tex:
	* doc/release-checklist.txt:
	* kiwi/__version__.py:
	* kiwi.spec:
	Release 1.9.20

2008-01-17  Johan Dahlin  <johan@gnome.org>

	* kiwi/ui/views.py (SignalBroker.on_widget_name__signal_name): 
	After was broken, all signals were connected using after instead of
	on by default. on -> connect, after -> connect_after now, really.
	Based on patch by Arek Korbik

2007-12-04  Johan Dahlin  <johan@gnome.org>

	* AUTHORS (Maintainers): Add Brad.

	* kiwi/ui/delegates.py (ProxySlaveDelegate): Add. Patch by
	Brad Crittenden

2007-11-22  Johan Dahlin  <johan@gnome.org>

	* examples/list/stockicon.py (Fruit.__init__):
	Add an example of this.

	* kiwi/ui/objectlist.py (Column): Add a new property
	column which references to another column to be able to
	pack two cell renderers into the same column

2007-11-20  Johan Dahlin  <johan@gnome.org>

	* kiwi/ui/objectlist.py: Only call column.set_expander_column
	once, and on the right instance. Found by George.

2007-11-13  Ali Afshar <aafshar@gmail.com>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/db/stormintegration.py: 
	Add support for Storm in our DB API,

	* examples/search_storm.py: add an example

	Fixes for #3408

2007-11-13  Johan Dahlin  <johan@gnome.org>

	* po/it.po: Add italian translation, fixes #3582 
	(Sandro Bonazzola)

=== 1.9.19 ===
2007-11-06 Fabio Morbec <fabio@async.com.br>
	* NEWS:
	* debian/changelog:
	* doc/howto.tex:
	* doc/release-checklist.txt:
	* kiwi/__version__.py
	* kiwi.spec
	Release 1.9.19

2007-11-04  Johan Dahlin  <johan@gnome.org>

	* kiwi/ui/entry.py: catch NameError instead of AttributeError,
	fixes gnome bug #479510 (Richard Hult)

2007-10-31  Mauricio Vieira  <mauricio.vieira@gmail.com>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* AUTHORS (Maintainers): Add Mauricio

	* kiwi/ui/gazpacholoader.py:
	* kiwi/ui/widgets/scale.py:
	* tests/test_Scale.py:
	* tests/test_proxy.py:
	* tests/test_utils.py:
	Add support for Proxy scale widget, fixes #3578

2007-10-04  Fabio Morbec  <fabio@async.com.br>

	reviewed by: Christian Reis  <kiko@async.com.br>

	* kiwi/ui/objectlist.py (SummaryLabel.update_total): An error occur
	in SummaryLabel when update_total try to sum Decimal with None.
	Fixes #3557

2007-09-14  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/widgets/combo.py (_EasyComboBoxHelper.get_selected): Return 
	None instead of raising AssertionError when nothing has been 
	inserted yet.

=== 1.9.18 ===
2007-09-11 Fabio Morbec <fabio@async.com.br>
	* NEWS:
	* debian/changelog:
	* doc/howto.tex:
	* kiwi/__version__.py
	* kiwi.spec
	Release 1.9.18

=== 1.9.17 ===
2007-07-31 Fabio Morbec  <fabio@async.com.br>

	* NEWS:
	* debian/changelog:
	* doc/howto.tex:
	* kiwi/__version__.py:
	Release 1.9.17

2007-08-28  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/gazpacholoader.py:
	* gazpacho-plugin/kiwiwidgets.xml: Add gazpacho support for scale 
	widgets too.

	* kiwi/ui/widgets/scale.py: Add HScale/VScale, based on patch by
	Mauricio B. C. Vieira.

2007-08-26  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/objectlist.py (Column, ObjectList): Remove the cache
	property.
	(ObjectList): Refactor column and renderer handling to the
	Column

2007-08-22  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/listdialog.py (ListContainer._on_list__row_activated): 
	If we're editable open fire up edit signal when double clicking

2007-08-02  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/objectlist.py: Add basic DND support

2007-07-25  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/entry.py (KiwiEntry.prefill): Handle duplicate entries
	by adding (n) to the end of the name

2007-07-25  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/objectlist.py (Column.as_string): Call format_func before
	checking the format and the datatype, it should override everything.

2007-07-24  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/dialogs.py (selectfolder): New function based
	around gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER. Based on patch
	by Paul Eipper (#3490)

	* kiwi/ui/objectlist.py (Column): Add ellipsize and font-desc 
	properties. Handle list without selection. Add a font-desc
	parameter to ListLabel/SummaryLabel

2007-07-19 Fabio Morbec  <fabio@async.com.br>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/widgets/combo.py (ProxyComboBoxEntry.prefill):
	Changed clear_entry param to True

=== 1.9.16 ===
2007-07-16  Johan Dahlin  <jdahlin@async.com.br>

	* NEWS:
	* debian/changelog:
	* doc/howto.tex:
	* kiwi/__version__.py:
	Release 1.9.16

2007-07-16  Johan Dahlin  <jdahlin@async.com.br>

	* po/pl.po: Add polish translation (Jarek Zgoda)

	* kiwi/ui/entry.py: Sometimes the entry completion breaks,
	#2901, patch by Ali Afshar.

2007-07-13  Fabio Morbec  <fabio@async.com.br>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/comboentry.py (ComboEntry._on_entry__scroll_event):
	If don't have data in the model just return

2007-07-02  Johan Dahlin  <jdahlin@async.com.br>

	* glade3-plugin/setup.py (glade3_exists): Check for
	gladeui-1.0 instead of libgladeui-1.0, fixes #3461

	* kiwi/ui/objectlist.py (ObjectTree): Add a row-expanded signal.
	Based on patch by Ali Afshar, fixes #3460

2007-06-14  Ronaldo Maia  <romaia@async.com.br>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* examples/validation/personalinformation.glade:
	* examples/validation/personalinformation.py: Add a currency widget
	* kiwi/ui/widgets/label.py: Set alignment according to the datatype.

2007-06-09  Gustavo J. A. M. Carneiro  <gjc@gnome.org>

	* tests/test_tasklet.py: Disable the emission hook test if
	pygobject doens't support it.
	* kiwi/tasklet.py: Misc. pylint fixes and code cleanup.

	* kiwi/tasklet.py (Tasklet.add_join_callback): Allow passing extra
	user arguments to the callback.
	(Tasklet.start): New start() method to bootstrap the tasklet.
	(Tasklet.__init__): Add parameter to allow constructing tasklets
	without starting them.

	* tests/test_tasklet.py (TestWaitForSignal.testEmissionHook): Tesk
	emission hooks.

	* kiwi/tasklet.py (WaitForSignal): Add support for signal emission
	hooks by allowing the programmer to pass a GObject class instead
	of instance.

2007-06-06  Ronaldo Maia  <romaia@async.com.br>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/widgets/label.py: Allow string replacements in ProxyLabels

2007-05-31  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/proxy.py:
	* kiwi/ui/widgets/checkbutton.py:
	* kiwi/ui/widgets/combo.py:
	* kiwi/ui/widgets/entry.py:
	* kiwi/ui/widgets/radiobutton.py:
	* kiwi/ui/widgets/textview.py:
	* tests/test_proxy.py:

	Make the proxy call widget.update(ValueUnset) for all
	proxy widgets when resetting the model (eg,  proxy.set_model(None)).

2007-05-31  Ali Afshar <aafshar@gmail.com>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/widgets/entry.py:
	* tests/test_Entry.py:
	Fix for #3408, Entry reads valueunset always, when empty

2007-05-31  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/dateentry.py (DateEntry.get_date): Catch ValidationError
	and ignore it.

2007-05-29  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/db/sqlobj.py: Add support for full text indexes under postgres.

	* kiwi/ui/gaxmlloader.py:
	* kiwi/ui/views.py:
	Add support for loading GAXML files

2007-05-28  Ronaldo Maia  <romaia@async.com.br>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/currency.py:
	* kiwi/ui/proxywidget.py: Allow proxy widgets to pass paramenters to the
	datatype converter.
	* kiwi/ui/widgets/entry.py: Never show the currency symbol on currency
	entries. Fixes #3398

2007-05-25  Ali Afshar <aafshar@gmail.com>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* gazpacho-plugin/kiwiwidgets.xml:
	* kiwi/ui/gazpacholoader.py:
	Add gazpacho support for ObjectTree, fixes #3389

=== 1.9.15 ===
2007-05-22  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/environ.py (Library.__init__): Save the
	prefix

2007-05-21  Johan Dahlin  <jdahlin@async.com.br>

	* NEWS:
	* debian/changelog:
	* doc/howto.tex:
	* doc/release-checklist.txt:
	* kiwi/__version__.py:
	Release 1.9.15

2007-05-21  Johan Dahlin  <jdahlin@async.com.br>

	* MANIFEST.in: 
	* doc/Makefile: 
	* tools/epyrun: 
	Use pydoctor instead of epydoc.

	* kiwi/python.py (AttributeForwarder): Add a new class,
	which can be used to forward attributes to another
	object.

2007-05-17  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/datatypes.py (_BaseDateTimeConverter.from_string): 
	Disallow dates before 1900, since the strftime implementation
	on Linux does not allow it.
	Fixes #3363

2007-05-15  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/search.py (SearchSlaveDelegate.set_summary_label): 
	Add support for setting a summary label

2007-05-14  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/search.py (SearchFilter): Inherit from a widget and add a 
	filter-position child property. Add normal properties to the filter
	and the container. Add a common base class and remove a couple of
	methods from the interface

	* tests/test_ObjectList.py (ConstructorTest.testGObjectNew): 
	Add a test

	* kiwi/ui/objectlist.py (ObjectList.__init__): Make sure
	gobject.new works

	Fixes #3343

2007-05-13  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/objectlist.py (Column): Turn attributes into a GObject 
	property.

	* kiwi/ui/search.py (ComboSearchFilter.__init__): Make values optional
	(SearchContainer.add_filter): Only add the executer columns if
	we have an executer set, don't require one.

2007-05-11  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/log.py (set_log_file): Return the file handlers stream,
	useful when the application want to use other means to write
	to the same file.

2007-05-09  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/search.py:
	(SearchSlaveDelegate.disable_search_entry): Add a method to make it
	possible to disable the search entry.
	(DateSearchFilter.set_use_date_entries): New, to disable the
	user selectable date entries
	(DateSearchFilter.get_end_date, DateSearchFilter.get_start_date): New
	accessors
	(DateSearchFilter.select): Add a position argument
	(DateSearchFilter.clear_options): New
	(DateSearchFilter.add_option_fixed)
	(DateSearchFilter.add_option_fixed_interval): New,	
	added methods to make it possible to add fixed dates/interval

2007-05-04  Ali Afshar <aafshar@gmail.com>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/objectlist.py:
	* tests/test_ObjectList.py:
	Objectlist does not set a radio column value to true if
	all values are false.
	Fixes #3339

2007-05-03  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/objectlist.py (ObjectList.insert): 
	* tests/test_ObjectList.py (MethodTest.testInsert): 
	Implement, add tests.

2007-05-03  Ronaldo Maia  <romaia@async.com.br>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/entry.py: (Masks): It was possible to move the cursor outside
	the editable fields sometimes. Fixes #3333
	* tests/test_masks.py: some tests for this case.

2007-04-30  Ali Afshar <aafshar@gmail.com>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/objectlist.py: Add an expander property to the Column.
	Fixes #3336

2007-04-26  Johan Dahlin  <jdahlin@async.com.br>

	* examples/entrymask.py: Add a new example

	* kiwi/__init__.py: Add an explicit version check
	and give up if the version is too old.

2007-04-25  Johan Dahlin  <jdahlin@async.com.br>

	* examples/search.py:
	* kiwi/db/query.py:
	* kiwi/db/sqlobj.py:
	* kiwi/ui/search.py:

	Add auto_search mode, which is enabled by default.
	Add optional columns, callback parameters to add_filter,
	to make it easier to integrate with the query executer.
	Add a generic query callback to the SQLObject executer.
	Use new api in example.

	* kiwi/ui/search.py:
	(DateSearchFilter._update_dates): When switching to a custom
	day, always set both to today.
	When switching to a custom interval, always use today and tomorrow.

2007-04-25  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/search.py (DateSearchFilter.select): Add and reorganize
	internals a bit to be able to select by option_type.

2007-04-25  Ali Afshar <aafshar@gmail.com>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/objectlist.py (ObjectList.grab_focus): 
	Add, fixes #3326

2007-04-20  Johan Dahlin  <jdahlin@async.com.br>

	* examples/search.py: Add an example.
	* kiwi/ui/search.py (DateSearchFilter): Make sure that you cannot
	select a start date after the end date and an end date before the 
	start date. Add some comments explaning what's going on since the
	code is not that trivial any longer.

2007-04-19  Johan Dahlin  <jdahlin@async.com.br>

	* README: Mention that SQLObject is an optional dependency

	* kiwi/db/__init__.py:
	* kiwi/db/query.py:
	* kiwi/db/sqlobj.py:
	* kiwi/enums.py:
	* kiwi/interfaces.py:
	* kiwi/ui/search.py:

	Add a SearchContainer plus database independent infrastructure to
	construct queries. Include a SQLObject plugin

2007-04-19  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/widgets/combo.py (ProxyComboBoxEntry.insert_item)
	(ProxyComboBox.insert_item, _EasyComboBoxHelper.insert_item): 
	Implement insert_item.

2007-04-18  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/dateentry.py (DateEntry.set_date): Allow None which 
	means reset the date
	(DateEntry.get_date): Never return ValueUnset.

	* kiwi/ui/objectlist.py (ObjectList.sort_by_attribute): 
	Add. Fixes #3311, based on patch by Ali Afshar.

2007-04-16  Ali Afshar <aafshar@gmail.com>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/objectlist.py:
	Do not set a pixbuf if the data value is None. Fixes #3310

	* kiwi/ui/objectlist.py: 
	Set the sort columnm id so the columns end up sorted. Fixes #3032

2007-04-10  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/proxywidget.py (ProxyWidgetMixin._as_string): Provide
	a default (string) converter if none is set.

2007-04-08  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/widgets/entry.py (ProxyEntry.__post_init__): Remove
	dirty idle add hack and use __post_init__ instead.

	* kiwi/utils.py (PropertyObject.__post_init__): Add a hook which is
	called after the object construction is finished.

2007-04-03  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/environ.py (Environment.add_resource): Do not append the same resource
	path twice

2007-04-02  Johan Dahlin  <jdahlin@async.com.br>

	* tests/test_Entry.py: Add a test

	* kiwi/ui/widgets/entry.py (ProxyEntry.__init__): 
	Add a workaround for http://bugzilla.gnome.org/show_bug.cgi?id=425501,
	fixes #3259

2007-03-28  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/environ.py (Library.__init__): Only add 
	root/lib/pythonX.Y/site-packages to sys.path if it exists.

=== 1.9.14 ===
2007-03-23  Johan Dahlin  <jdahlin@async.com.br>

	* Makefile:
	* NEWS:
	* debian/changelog:
	* doc/howto.tex:
	* kiwi/__version__.py:
	Release 1.9.14

2007-03-23  Johan Dahlin  <jdahlin@async.com.br>

	* gazpacho-plugin/kiwiwidgets.xml: Re-enable the ObjectList

2006-03-23  Johan Dahlin  <jdahlin@async.com.br>

	* glade3-plugin/kiwiwidgets.py:
	* glade3-plugin/kiwiwidgets.xml:
	* glade3-plugin/setup.py:
	Add Glade-3 plugin based on patch by Ali, fixes #3239

	* kiwi/dist.py:
	Do not require a name parameter to be passed in.

2007-03-22  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/controllers.py (BaseController.on_key_press): gdk.keyval_name
	returns None if there is no name for the key, avoid raising an
	exception in that case, just silently ignore it.

2007-03-20  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/objectlist.py: Set the __gtype_name__ on Column and ObjectTree

2007-03-19  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/objectlist.py (Column): Mention the supported data types 
	in the doc string.

2007-03-05  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/listdialog.py (ListContainer): Add a return value
	to edit-item, inverse bool for remove-item.

	* examples/listdialog.py: New example

	* kiwi/ui/listdialog.py (ListDialog, ListContainer): 
	New dialog to implement 

	* kiwi/enums.py (ListType): new enum

	* kiwi/utils.py (quote): new function

2007-03-01  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/comboentry.py (ComboEntry.set_active_iter): 
	If object is None do not set the text of the entry

2007-02-28  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/objectlist.py (ObjectList.__setitem__):
	Update the cache when replacing an object
	(ObjectList.__contains__): Use iters cache for consitency
	with index() and speed.

2007-02-22  Johan Dahlin  <jdahlin@async.com.br>

	* setup.py (ext_modules): Make sure that the pkgconfig file for
	pygtk-2.0 is installed before checking which version we have.

2007-02-21  Johan Dahlin  <jdahlin@async.com.br>

	Change the extensions of all ui tests to .doctest.
	
	* tests/ui/diary2.doctest: Add two assertion checks.

	* tests/test_ui.py (test_filename): Use subprocess instead of popen2

	* kiwi/ui/test/runner.py (Runner._iterate): Add support for
	checking the return value of a function.
	
2007-02-15  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/gazpacholoader.py (DataTypeAdaptor.update): Set
	some sensible default data-types for the widgets

	* kiwi/ui/gazpacholoader.py (ModelProperty._on_widget__notify): 
	Track the name as the default model-attribute

	* kiwi/ui/proxy.py (Proxy._setup_widget): Do not require 
	model-attribute to be explicitly set. Use the widget name
	if it's not set.

2007-02-14  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/component.py: Make providedBy check in subclasses, makes
	it possible to use personalinformation.py without 
	depending on zope.interface.

2007-02-09  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/dateentry.py (_DateEntryPopup.popup): Filter out ValueUnset.

2007-02-08  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/objectlist.py (ObjectList._treeview_search_equal_func): 
	Make it case-insensitive by default.

2007-02-07  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/icon.py (IconEntry._recompute): Use alternative
	methods to trigger a recompute(), fixes ComboEntry issue since
	::change was emitted when it shouldn't be needed.

2007-02-06  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/widgets/entry.py (ProxyEntry.read): 
	* tests/test_Entry.py (EntryTest.testRead): 
	Return ValueUnset when the entry is empty instead
	of an empty string.

2007-02-04  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi.spec (Requires): 
	* Makefile: 
	* MANIFEST.in: 
	Add rpm spec file.

=== 1.9.13 ===
2007-02-01  Johan Dahlin  <jdahlin@async.com.br>

	* NEWS:
	* debian/changelog:
	* doc/howto.tex:
	* kiwi/__version__.py:

	Release 1.9.13
	
2007-02-01  Johan Dahlin  <jdahlin@async.com.br>

	* setup.py (pkgs): Use pkg-config instead of importing gtk
	which requires a display.

	* MANIFEST.in: Always include _kiwi.c

2007-01-31  Ronaldo Maia <romaia@async.com.br>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/icon.py: Fix workaround for recompute and call it after
	showing an icon on a widget.

=== 1.9.12 ===
2007-01-29  Johan Dahlin  <jdahlin@async.com.br>

	* Makefile:
	* NEWS:
	* debian/changelog:
	* doc/howto.tex:
	* doc/release-checklist.txt:
	* kiwi/__version__.py:
	* po/fr.po:
	* po/kiwi.pot:
	* po/pt_BR.po:
	* po/sv.po:

	1.9.12

2007-01-19  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/comboentry.py (_ComboEntryPopup.set_selected_iter): 
	Try setting the full model if everything else fails.
	Based on patch by Goedson Teixeira Paixao

	Fixes #3099.

2006-11-11  Marco Antonio Porcho Souza  <maporcho@gmail.com>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/datatypes.py (_BaseDateTimeConverter._convert_format): 
	Use YYYY/mm/dd instead %Y/%m/%d in error messages.

	Fixes #3041.

2007-01-16  Johan Dahlin  <jdahlin@async.com.br>

	* po/fr.po: Added French translation contributed by Benoit Myard.

2006-12-06  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/log.py (ReversedGlobalFilter.filter): Use >= instead of >

	* tests/test_log.py (LogTest.testStdErr): Add tests warnings
	printed on the console and to a log file.

	Fixes #2984

2006-12-05  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/objectlist.py (ObjectList.set_visible_rows): Impl.

2006-11-29  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/dist.py (listpackages): Provide better error messages.

2006-11-11  Ali Afshar <aafshar@gmail.com>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/hyperlink.py: Make sure the hyperlink stays within
	it's own allocation. Fixes #2923

2006-11-02  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/objectlist.py (ObjectTree._append_internal): Allow
	specify parents which are objects inserted in the tree.
	(ObjectTree.collapse, ObjectTree.expand): New methods, suggested
	by the incredible Ali
	(ObjectTree): kill ObjectRow, operate on instances inserted into
	the tree instead, to simplify the API

2006-10-29  Johan Dahlin  <johan@gnome.org>

	* kiwi/datatypes.py:
	* kiwi/ui/objectlist.py:
	* examples/list/enumcombo.py:
	* tests/test_datatypes.py:
	Add support an enum data type and tests.
	Add support for displaying an enum as a combo cell renderer in
	the object list and example

2006-10-17  Gustavo J. A. M. Carneiro  <gjc@gnome.org>

	* kiwi/tasklet.py:
	* tests/test_tasklet.py:
	When arming a WaitForTasklet check if the state is zombie and join 
	immediately. Add tests

2006-10-10  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/i18n/i18n.py (compile_po_files): Unlink the old POTFILES.in in case
	of an error. Check the result code of the pot generation, it may fail
	if the encoding is inconsistent.

=== 1.9.11 ===
2006-10-09  Johan Dahlin  <jdahlin@async.com.br>

	* NEWS: 
	* doc/howto.tex:
	* kiwi/__version__.py: Update

	* kiwi/ui/views.py (SlaveView._check_reserved): Raise
	ValueError instead of AttributeError, fixes #1998
	(Sidnei da Silva)

2006-10-09  Ronaldo Maia  <romaia@async.com.br>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/objectlist.py: Add right-click and emit double-click
	only when a row is selected, fixes #2817

2006-10-05  Ronaldo Maia  <romaia@async.com.br>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* examples/validation/personalinformation.glade: Add an example.
	* kiwi/enums.py:
	* kiwi/ui/comboboxentry.py: Use KiwiEntry instead of ProxyEntry
	* kiwi/ui/entry.py: 
	* kiwi/ui/widgets/entry.py:
	* tests/test_BaseView.py: Fix destruction of windows.
	* tests/test_Entry.py: 
	* tests/test_masks.py:

	Refactor mask handling in KiwiEntry. Now it supports the use of fields. 
	Fixes #2838

2006-10-04  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/component.py:
	* tests/test_component.py:
	Add remove_utility and an extra argument to get_utility which
	is similar to dict.get. Add tests too.

2006-09-29  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/entry.py (KiwiEntry.__init__): Make ProxyEntries work with
	PyGTK 2.10 again.

2006-09-27  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/objectlist.py	(Column): Document properties
	(ObjectList): Document signals and properties

2006-09-25  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/environ.py (Library.enable_translation)
	(Library.set_application_domain): Call locale.textdomain/
	locale.bindtextdomain aswell so libglade and other
	applications using libcs translation functions are going
	to work

=== 1.9.10 ===
2006-09-15  Johan Dahlin  <jdahlin@async.com.br>

	* Makefile: add to simplify release process
	* setup.py: install documentation

2006-09-12  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/python.py (enum): Add a new data type

	* tests/test_python.py (EnumTest): and a test

2006-09-09  Gustavo J. A. M. Carneiro  <gjc@gnome.org>

	* tests/test_tasklet.py: Add WaitForCall test.

	* kiwi/tasklet.py (WaitForCall): Add a new WaitForCall wait
	condition, for waiting for a generic callback.

	* tests/test_tasklet.py: Add a few more tests.

	* kiwi/tasklet.py (Tasklet): Better handling of the StopIteration
	exception from tasklets.  Add a new STATE_ZOMBIE state to indicate
	when a tasklet is finished.  Add a new return_value instance
	variable to hold the (surprise!) return value.  Document the
	public instance	variables and STATE_* constants.
	(Tasklet._next_round): When a tasklet sends a message, set the
	'sender' field of the message to the sending tasklet.

2006-09-11  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/views.py (_open_glade): Sniff the content of the file and
	use libglade/gazpacho when appropriate. Fall back to gazpacho since
	dtd has not always been present

2006-09-08  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/delegates.py:
	* kiwi/ui/gazpacholoader.py:
	* kiwi/ui/libgladeloader.py:
	* kiwi/ui/views.py:
	Kill gladename in views, delegates and glade adaptors

2006-09-05  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/dist.py (KiwiInstallLib.generate_template): Use a raw
	string here to allow the use of UNC paths on win32, pointed out
	by Aaron Spike.

2006-08-30  Ronaldo Maia  <romaia@async.com.br>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/entry.py: Improve focus selection support for mask in entries.
	Fixes #2787

2006-08-30  Ronaldo Maia  <romaia@async.com.br>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/currency.py:
	* kiwi/datatypes.py:
	* kiwi/enums.py:
	* kiwi/ui/objectlist.py:
	* kiwi/ui/widgets/entry.py: 
	Alignment support for datatypes. Fixes #2786

2006-08-29  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/enums.py:
	* kiwi/interfaces.py:
	* kiwi/ui/comboentry.py:
	* kiwi/ui/combomixin.py:
	* kiwi/ui/test/recorder.py:
	* kiwi/ui/widgets/combo.py:
	* kiwi/ui/widgets/combobox.py:
	* tests/test_comboentry.py:

	Get rid of ComboMixin, use composition instead.
	Add an IEasyCombo interface reflecting the current state of the adhook 
	interface. Move the combo enums into kiwi.enums.

2006-08-25  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/dist.py (KiwiInstallData.run_install): Take into account --root to the
	distutils install command if it's sent in.

=== 1.9.9 ===
2006-08-23  Johan Dahlin  <jdahlin@async.com.br>

	* NEWS: Update
	* kiwi/__version__.py: Bump

2006-08-23  Ronaldo Maia  <romaia@async.com.br>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/entry.py(set_mask): Check if mask is None before converting it
	to unicode.
	* kiwi/datatypes.py:
	* kiwi/ui/widgets/entry.py:
	Datatype converters should provide a get_mask method. Fixes #2758

2006-08-22  Ronaldo Maia  <romaia@async.com.br>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/gazpacholoader.py: Reload the list of datatypes on every
	update of the datatype editor, so new datatypes may appear.

2006-08-21  Ronaldo Maia <romaia@async.com.br>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/currency.py:
	* kiwi/datatypes.py:
	* kiwi/ui/gazpacholoader.py:
	* kiwi/ui/proxywidget.py:
	* kiwi/ui/widgets/button.py:
	* kiwi/ui/widgets/combo.py:
	* kiwi/ui/widgets/entry.py:
	* kiwi/ui/widgets/filechooser.py:
	* kiwi/ui/widgets/fontbutton.py:
	* kiwi/ui/widgets/label.py:
	* kiwi/ui/widgets/radiobutton.py:
	* kiwi/ui/widgets/textview.py:
	* tests/test_datatypes.py:
	Refactor datatypes and gazpacholoader:
	Each widgets hold the allowed datatypes for itself.
	Add name attribute for the converters.

2006-08-18  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/currency.py: Refactor current to a separate file

	* kiwi/datatypes.py (ConverterRegistry): add a remove method and
	make the add method a bit more robust

	* tests/test_datatypes.py: Add tests

	* po/kiwi.pot: Merge in new translations

	* po/sv.po: Update swedish translation
	* po/pt_BR.po: Update brazilian portuguese translation

2006-08-10  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/__init__.py: 
	* kiwi/__init__.py: 
	Move pygtk import to kiwi/__init__.py so it's called
	before gobject is tried to be imported.

2006-08-02  Aaron Spike   <aaron@ekips.org>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* AUTHORS:
	* kiwi/datatypes.py:
	* kiwi/ui/widgets/entry.py:
	* tests/test_datatypes.py:

	Add proper entry mask support on win32, fixes #2721.

2006-08-02  Ali Afshar <aafshar@gmail.com>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/gadgets.py:
	* kiwi/ui/widgets/entry.py:

	DateEntry breaks when set invalid, fixes #2720.

2006-07-25  Johan Dahlin  <jdahlin@async.com.br>

	reviewed by: Henrique Romano  <henrique@async.com.br>

	* gazpacho-plugin/kiwiwidgets.xml:
	* kiwi/ui/gazpacholoader.py:
	* kiwi/ui/widgets/button.py:
	* tests/test_proxy.py:

	Add ProxyButton support, Fixes #2698

2006-07-21  Ronaldo Maia <romaia@async.com.br>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/datatypes.py: Add a converter for gdk.Pixmap. Fixes #2697
	* tests/test_datatypes.py: and some tests.

2006-07-17  Ronaldo Maia  <romaia@async.com.br>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/proxywidget.py (validate): validate widget when force is True,
	even if not visible nor sensitive. Fixes #2682

2005-03-29  Ali Afshar <aafshar@gmail.com>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	(ValidatableProxyWidgetMixin.set_invalid): 
	Set the background to red and set the tooltips if the fade is 
	disabled, fixes #2685

2006-07-13  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/proxywidget.py:
	* kiwi/ui/comboboxentry.py:
	* kiwi/ui/comboentry.py:
	* kiwi/ui/entry.py:
	* kiwi/ui/gadgets.py:
	* kiwi/ui/icon.py:
	* kiwi/ui/proxywidget.py:
	* kiwi/ui/widgets/spinbutton.py:
	Fetch the right background color instead of hard coding it to white.
	Add a get_background() method to ValidatableProxyWidgetMixin.
	Fixes #2681 (Gustavo Barbieri)

2006-07-03  Ronaldo Maia  <romaia@async.com.br>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/datatypes.py: Decimal does not allow leading/trailing spaces.

2006-06-19  Ronaldo Maia  <romaia@async.com.br>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/widgets/combo.py: ProxyComboEntry extend ComboMixin. 
	Fixes #2656

2006-06-19  Ronaldo Maia  <romaia@async.com.br>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/datatypes.py: Changes the way localeconv is retrived, so it gets
	checked and fixed if necessary, before using it.
	* tests/test_datatypes.py: Add some pickling tests. Fixes #2654

2006-06-12  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/objectlist.py: Add use-markup property on column

	* examples/list/tree.py:
	Add a new example
	
	* kiwi/accessor.py:
	Fix a bug when specifying a default value

	* kiwi/ui/objectlist.py:
	Add ObjectTree

2006-06-12  Ronaldo Maia  <romaia@async.com.br>
	
	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* examples/framework/color/completion.py:
	* kiwi/ui/comboentry.py:
	* kiwi/ui/entry.py:
	* kiwi/ui/entrycompletion.py:
	* kiwi/ui/widgets/entry.py:
	Add KiwiEntryCompletion, that suports custom popup window and treeview, and
	make ComboEntry use this completion.	

2006-06-05  Johan Dahlin  <jdahlin@async.com.br>

	* tests/test_datatypes.py: Import Decimal from datatypes so the tests
	will pass on 2.3

	* kiwi/datatypes.py: Make decimal support conditional

2006-06-01  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/proxy.py:
	* kiwi/ui/proxywidget.py:
	* kiwi/ui/views.py:
	Treat invisible and insensitive widgets specially, eg, do not
	validate them and do not update the value in the model.

2006-05-31  Johan Dahlin  <jdahlin@async.com.br>

	* tests/test_datatypes.py (CurrencyTest.testFormatBR): Add a test 
	and clean up locale handling in other tests.

	* kiwi/datatypes.py (filter_locale): Add a monetary parameter, which
	takes into account the monetary data.

	* kiwi/datatypes.py (currency.__new__): 
	Use filter_locale with monetary=True here, fixes #2632

2006-05-24  David Cook  <dave@davidcook.org>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/objectlist.py: Optimize refresh(), fixes #2612

2006-05-24  David Cook  <dave@davidcook.org>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/objectlist.py: Add a sorted keyword, fixes #2611

2006-05-24  David Cook  <dave@davidcook.org>

	reviewed by: Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/objectlist.py: Remove unnecessary on_column__clicked handler,
	fixes #2610

2006-05-04  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/dist.py: Add support for templates

2006-05-04  Ronaldo Maia  <romaia@async.com.br>

	reviewed by: jdahlin

	* kiwi/ui/objectlist.py: display locale specific information for float,
	decimal and currency datatypes. Fixes #2562

2006-05-03  Ronaldo Maia  <romaia@async.com.br>

	reviewed by: jdahlin

	* kiwi/ui/dateentry.py:
	* kiwi/ui/proxywidget.py:
	* kiwi/ui/widgets/entry.py:
	Add validation for DateEntry widget

2006-04-28  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/test/main.py (excepthook): Add an exception hook
	* tests/runuitests.py:
	* tests/test_ui.py:
	Integrate ui tests into trial, remove old runuitests script.

2006-04-27  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/test/player.py:
	* tests/runuitest.py:
	* tests/ui/diary.py:
	* tests/ui/diary2.py:
	Add a couple of ui tests

2006-04-27  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/test/main.py:
	* kiwi/ui/test/player.py:
	* kiwi/ui/test/recorder.py:
	Improve logging, fix a bug in finish()

2006-04-27  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/widgets/filechooser.py (ProxyFileChooserButton.__init__): 
	Immitate PyGTK implementation argument wise

	* kiwi/ui/test/common.py:
	* kiwi/ui/test/listener.py:
	* kiwi/ui/test/main.py:
	Add optional support for emission hook.

	* README (Kiwi): 
	Mention that PyGObject 2.10.0 is recommended for the UI test
	
2006-04-27  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/widgets/entry.py (ProxyEntry.do_changed): Merge the
	the do_changed methods.

	* kiwi/environ.py (Environment.find_resource): Make sure it's a file

2006-04-26  Ronaldo Maia  <romaia@async.com.br>

	reviewed by: jdahlin

	* kiwi/ui/dateentry.py: Fix DateEntry calendar popup, so it hides
	correctly. Fixes #2545

2006-04-26  Johan Dahlin  <johan@gnome.org>

	* kiwi/dist.py (_VariableExtender.__init__): When prefix is not
	set, use sys.prefix instead.

2006-04-25  Ronaldo Maia  <romaia@async.com.br>

	reviewed by: jdahlin

	* tests/test_ObjectList.py: Add tests for list of RadioButtons

2006-04-25  Johan Dahlin  <jdahlin@async.com.br>

	* kiwi/ui/entry.py (KiwiEntry.prefill): Fix exceptions,
	fixes #2535 (Patrik O'Brien)

=== 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

