2009-11-03  Paul Pogonyshev  <pogonyshev@gmx.net>

	--- Release 0.1.2 ---

	* NEWS: Update.
	* TODO: Update.

	* setup.py: Also include new 'gtktree._impl' package.

	* MANIFEST.in: Also distribute 'generate-documentation.py' and
	'docs/reST.css'.

	* gtktree/_impl/tree_node.py (TreeNode.delete_child_node)
	(TreeNode.insert_child_node): New abstract methods.
	(TreeNode.hierarchic_copy): New method.
	(DefaultTreeNode.delete_child_node)
	(DefaultTreeNode.insert_child_node): Override and define via
	'child_nodes' methods.
	(_DefaultTreeNodeChildren.insert): New method.
	(_DefaultTreeNodeChildren.__delitem__): Fix slice deletion by
	reversing index list.
	(_DefaultTreeNodeChildren.__setitem__): Implement extend slice
	setting.

	* gtktree/model.py (RowObjectTreeModel._get_drag_data): Return a
	node, not row object if the model is node-based.
	(RowObjectListStore.__gtype_name__): Fix.
	(RowObjectTreeStore): Implement gtk.TreeDragSource and
	gtk.TreeDragDest.
	(RowObjectTreeStore.__gtype_name__): Add.
	(RowObjectTreeStore.node_based): Override and return true.
	(RowObjectTreeStore.on_iter_n_children): Handle root node.

	* examples/editing_tree.py: Enable drag'n'drop in the tree view.

	* test/list_store.py (_create_foo_list_store): Break out to the
	top level.

	* test/tree_store.py (DefaultTreeNodeTestCase): New test case,
	break out of 'RowObjectTreeStoreTestCase', as most tests there (at
	the moment) actually test nodes, not the model.
	(DefaultTreeNodeTestCase.test_set_item_1)
	(DefaultTreeNodeTestCase.test_set_slice_1)
	(DefaultTreeNodeTestCase.test_delete_1)
	(DefaultTreeNodeTestCase.test_delete_slice_1): New tests.
	(_create_foo_tree_store): Break out to the top level.

	* docs/reST.css: Tweak table of contents appearance.

2009-11-02  Paul Pogonyshev  <pogonyshev@gmx.net>

	* gtktree/_impl/tree_node.py (TreeNode.has_child_nodes_currently):
	New property.
	(_DefaultTreeNodeChildren.__delitem__): Implement slice deletions.
	(_DefaultTreeNodeChildren): Properly override __getslice__() and
	__delslice__() if needed.
	(LazyDefaultTreeNode): New class.
	(_Placeholder): New internal class.

	* examples/lazy_tree_structure.ui.xml:
	* examples/lazy_tree_structure.py: New example.

	* examples/README: Describe it.

	* docs/py-gtktree.txt: Expand with new sections.  Create stubs for
	missing sections.

	* docs/reST.css: Don't justify paragraphs.

2009-11-01  Paul Pogonyshev  <pogonyshev@gmx.net>

	* gtktree/model.py (RowObjectTreeModel.node_based): New property.
	(RowObjectTreeModel.get_node, RowObjectTreeModel._do_get_node):
	New methods.
	(RowObjectTreeStore): New class.
	(_RootTreeNode): New internal class.

	* gtktree/_impl/__init__.py:
	* gtktree/_impl/tree_node.py: New files.

	* gtktree/util.py (TreeViewUtils.get_selected_row)
	(TreeViewUtils.get_selected_node): New functions.
	(_check_tree_model): New internal function.

	* test/_common.py: New file, break out of 'test/list_store.py'.

	* test/tree_store.py: New test file.

	* examples/simple_tree.ui.xml:
	* examples/simple_tree.py:
	* examples/editing_tree.ui.xml:
	* examples/editing_tree.py: Two new examples.

	* examples/README: Describe two new example programs.

	* NEWS: Update.

2009-01-02  Paul Pogonyshev  <pogonyshev@gmx.net>

	--- Release 0.1.1 ---

	* NEWS: Update.

	* docs/py-gtktree.txt: Fix some method declarations after the
	latest 'model.py' changes.  Add copyright notice and simple
	permissive license.

	* README (Frequently Asked Questions): New section.
	(Copyrights and Licenses): Mention the license for
	'docs/py-gtktree.txt'.

	* gtktree/model.py (RowObjectListStore.index)
	(RowObjectListStore.insert_after, RowObjectListStore._do_insert)
	(RowObjectListStore.pop, RowObjectListStore.reorder)
	(RowObjectListStore.move_to, RowObjectListStore.__getitem__)
	(RowObjectListStore.__setitem__, RowObjectListStore.__delitem__)
	(RowObjectListStore._do_get_iter): Revamp all index access to use
	either _get_existing_row_index() or _get_insertion_point() for
	unification.
	(RowObjectListStore._get_existing_row_index): Use operator.index()
	to handle __index__() method as Python itself does.
	(RowObjectListStore._get_clamped_row_index): Remove method.
	(RowObjectListStore._get_insertion_point): New method, similar to
	removed one above, but fixed and generalized.

	* (Globally): Update copyright notices.

2008-12-30  Paul Pogonyshev  <pogonyshev@gmx.net>

	* generate-documentation.py: New file.

	* docs/py-gtktree.txt: Remove draft warning.  Use definition lists
	in reference part.

	* docs/reST.css: New file.

	* run-tests.py: Change to the top distribution directory first.

2008-12-29  Paul Pogonyshev  <pogonyshev@gmx.net>

	* test/list_store.py (RowObjectListStoreTestCase.test_set_slice)
	(RowObjectListStoreTestCase.test_set_extended_slice): New tests.

	* gtktree/model.py (RowObjectListStore.__setitem__): Implement
	assignment to slices.

	* docs/py-gtktree.txt: Document assignment to slices and remove
	disclaimers about its being unimplemented.

	* TODO: Remove the implemented item.

2008-12-28  Paul Pogonyshev  <pogonyshev@gmx.net>

	* setup.py: Fix author email and download url.

	* run-tests.py: Work also after fresh check-out (i.e. before
	'./setup.py' is run for the first time).



Changes before the project registration on Launchpad (2008-12-28) were not logged.


  Copyright (C) 2008, 2009 Paul Pogonyshev.

  Copying and distribution of this file, with or without modification,
  are permitted provided the copyright notice and this notice are preserved.



Local Variables:
coding: utf-8
End:
