John,

The tutorial is fantastic. Great job.

I'd recommend adding a section and an example on how to use the
GenericTreeModel. I've found the TreeStore and ListStore to not be very
practical for large lists. 

The GenericTreeModel is a little intimidating the first time you use it.
The only example I've been able to find doesn't handle inserting,
deleting, and updating rows. 

Don

On Thu, 2004-05-27 at 11:38, John Finlay wrote:
> I've added some content to the section on the TreeView widget. It needs 
> more work but I'd like to get some feedback on it. It's at:
> 
> http://www.moeraki.com/pygtktutorial/pygtk2tutorial/ch-TreeViewWidget.html
> 
> The current contents are:
> 
>     14.1. Overview
>     
> <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/ch-TreeViewWidget.html#sec-TreeViewOverview>
>     14.2. The TreeModel Interface and Data Stores
>     <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-TreeModelInterface.html>
> 
>         14.2.1. Introduction
>         
> <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-TreeModelInterface.html#sec-TreeModelIntroduction>
>         14.2.2. Creating TreeStore and ListStore Objects
>         
> <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-TreeModelInterface.html#sec-CreatingTreeStoreAndListStore>
>         14.2.3. Referring to TreeModel Rows
>         
> <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-TreeModelInterface.html#sec-ReferringToTreModelRows>
>         14.2.4. Adding Rows
>         
> <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-TreeModelInterface.html#sec-AddingStoreRows>
>         14.2.5. Removing Rows
>         
> <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-TreeModelInterface.html#sec-RemovingStoreRows>
>         14.2.6. Managing Row Data
>         
> <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-TreeModelInterface.html#sec-ManagingRowData>
>         14.2.7. Python Protocol Support
>         
> <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-TreeModelInterface.html#sec-PythonProtocolSupport>
> 
>     14.3. TreeViews
>     <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-TreeViews.html>
> 
>         14.3.1. Creating a TreeView
>         
> <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-TreeViews.html#sec-CreatingTreeView>
>         14.3.2. Getting and Setting the TreeView Model
>         
> <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-TreeViews.html#sec-TreeViewModelAccess>
>         14.3.3. Setting TreeView Properties
>         
> <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-TreeViews.html#sec-TreeViewProperties>
> 
>     14.4. CellRenderers
>     <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-CellRenderers.html>
> 
>         14.4.1. Overview
>         
> <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-CellRenderers.html#sec-CellRendererOverview>
>         14.4.2. CellRenderer Types
>         
> <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-CellRenderers.html#sec-CellRendererTypes>
>         14.4.3. CellRenderer Properties
>         
> <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-CellRenderers.html#sec-CellRendererProperties>
>         14.4.4. CellRenderer Attributes
>         
> <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-CellRenderers.html#sec-CellRendererAttributes>
>         14.4.5. Cell Data Function
>         
> <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-CellRenderers.html#sec-CellDataFunction>
>         14.4.6. CellRendererText Markup
>         
> <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-CellRenderers.html#sec-CellRendererTextMarkup>
> 
>     14.5. TreeViewColumns
>     <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-TreeViewColumns.html>
> 
>         14.5.1. Creating TreeViewColumns
>         
> <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-TreeViewColumns.html#sec-CreatingTreeViewColumns>
>         14.5.2. Managing CellRenderers
>         
> <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-TreeViewColumns.html#ManagingCellRenderers>
> 
>     14.6. Manipulating TreeViews
>     
> <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-ManipulatingTreeViews.html>
> 
>         14.6.1. Managing Columns
>         
> <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-ManipulatingTreeViews.html#sec-ManagingColumns>
>         14.6.2. Managing Child Rows
>         
> <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-ManipulatingTreeViews.html#sec-ManagingChildRows>
> 
>     14.7. TreeSelections
>     <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-TreeSelections.html>
> 
>         14.7.1. Getting the TreeSelection
>         
> <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-TreeSelections.html#sec-GettingTheTreeSelection>
>         14.7.2. TreeSelection Modes
>         
> <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-TreeSelections.html#sec-TreeSelectionMode>
>         14.7.3. Retrieving the Selection
>         
> <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-TreeSelections.html#sec-RetrievingTheSelection>
>         14.7.4. Using a TreeSelection Function
>         
> <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-TreeSelections.html#sec-TreeSelectionFunction>
>         14.7.5. Selecting and Unselecting Rows
>         
> <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-TreeSelections.html#sec-SelectingAndUnselectingRows>
> 
>     14.8. TreeView Drag and Drop
>     
> <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-TreeViewDragAndDrop.html>
> 
>         14.8.1. Drag and Drop Reordering
>         
> <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-TreeViewDragAndDrop.html#DragDropReordering>
>         14.8.2. External Drag and Drop
>         
> <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-TreeViewDragAndDrop.html#sec-ExternalDragDrop>
>         14.8.3. TreeView Drag and Drop Example
>         
> <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-TreeViewDragAndDrop.html#sec-TreeViewDnDExample>
> 
>     14.9. TreeModelSort and TreeModelFilter
>     
> <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-TreeModelSortAndTreeModelFilter.html>
> 
>         14.9.1. TreeModelSort
>         
> <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-TreeModelSortAndTreeModelFilter.html#sec-TreeModelSort>
>         14.9.2. TreeModelFilter
>         
> <http://www.moeraki.com/pygtktutorial/pygtk2tutorial/sec-TreeModelSortAndTreeModelFilter.html#sec-TreeModelFilter>
> 
> 
> 
> I also created a PDF version of the tutorial:
> 
> http://www.moeraki.com/pygtktutorial/pygtk2-tut.pdf
> 
> Please send me comments about errors, omissions, confusing parts, 
> stupidities, etc.
> 
> Thanks
> 
> John
> 
> _______________________________________________
> pygtk mailing list   [EMAIL PROTECTED]
> http://www.daa.com.au/mailman/listinfo/pygtk
> Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/
> 
> 

_______________________________________________
pygtk mailing list   [EMAIL PROTECTED]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/

Reply via email to