.. include:: headings.inc .. module:: lib.mvctree .. currentmodule:: lib.mvctree .. highlight:: python .. _lib.mvctree: ========================================================================================================================================== |phoenix_title| **mvctree** ========================================================================================================================================== MVCTree is a control which handles hierarchical data. It is constructed in model-view-controller architecture, so the display of that data, and the content of the data can be changed greatly without affecting the other parts. MVCTree actually is even more configurable than MVC normally implies, because almost every aspect of it is pluggable: * MVCTree - Overall controller, and the window that actually gets placed in the GUI. * Painter - Paints the control. The 'view' part of MVC. * NodePainter - Paints just the nodes * LinePainter - Paints just the lines between the nodes * TextConverter - Figures out what text to print for each node * Editor - Edits the contents of a node, if the model is editable. * LayoutEngine - Determines initial placement of nodes * Transform - Adjusts positions of nodes for movement or special effects. * TreeModel - Contains the data which the rest of the control acts on. The 'model' part of MVC. Author/Maintainer - Bryn Keller .. note:: This module is *not* supported in any way. Use it however you wish, but be warned that dealing with any consequences is entirly up to you. --Robin |class_summary| Classes Summary =============================== ================================================================================ ================================================================================ :ref:`lib.mvctree.BasicTreeModel` A very simple treemodel implementation, but flexible enough for many needs. :ref:`lib.mvctree.Editor` :ref:`lib.mvctree.FileEditor` :ref:`lib.mvctree.FileWrapper` Node class for FSTreeModel. :ref:`lib.mvctree.FSTreeModel` This treemodel models the filesystem starting from a given path. :ref:`lib.mvctree.LateFSTreeModel` This treemodel models the filesystem starting from a given path. :ref:`lib.mvctree.LayoutEngine` Interface for layout engines. :ref:`lib.mvctree.LinePainter` The linepainter interface. :ref:`lib.mvctree.MVCTree` The main mvc tree class. :ref:`lib.mvctree.MVCTreeEvent` :ref:`lib.mvctree.MVCTreeNode` Used internally by MVCTree to manage its data. Contains information about :ref:`lib.mvctree.MVCTreeNotifyEvent` :ref:`lib.mvctree.NodePainter` This is the interface expected of a nodepainter. :ref:`lib.mvctree.NullTransform` :ref:`lib.mvctree.Painter` This is the interface that MVCTree expects from painters. All painters should :ref:`lib.mvctree.Rect` :ref:`lib.mvctree.StrTextConverter` :ref:`lib.mvctree.TextConverter` TextConverter interface. :ref:`lib.mvctree.Transform` Transform interface. :ref:`lib.mvctree.TreeLayout` :ref:`lib.mvctree.TreeLinePainter` :ref:`lib.mvctree.TreeModel` Interface for tree models :ref:`lib.mvctree.TreeNodePainter` :ref:`lib.mvctree.TreePainter` The default painter class. Uses double-buffering, delegates the painting of nodes and ================================================================================ ================================================================================ | .. toctree:: :maxdepth: 1 :hidden: lib.mvctree.BasicTreeModel lib.mvctree.Editor lib.mvctree.FileEditor lib.mvctree.FileWrapper lib.mvctree.FSTreeModel lib.mvctree.LateFSTreeModel lib.mvctree.LayoutEngine lib.mvctree.LinePainter lib.mvctree.MVCTree lib.mvctree.MVCTreeEvent lib.mvctree.MVCTreeNode lib.mvctree.MVCTreeNotifyEvent lib.mvctree.NodePainter lib.mvctree.NullTransform lib.mvctree.Painter lib.mvctree.Rect lib.mvctree.StrTextConverter lib.mvctree.TextConverter lib.mvctree.Transform lib.mvctree.TreeLayout lib.mvctree.TreeLinePainter lib.mvctree.TreeModel lib.mvctree.TreeNodePainter lib.mvctree.TreePainter