Package wx :: Package lib :: Package agw :: Module hypertreelist

[frames | no frames]

## Module wx.lib.agw.hypertreelist

    Description
    ===========

    HyperTreeList is a class that mimics the behaviour of wx.gizmos.TreeListCtrl, with
    almost the same base functionalities plus some more enhancements. This class does
    not rely on the native control, as it is a full owner-drawn tree-list control.

    HyperTreeList is somewhat an hybrid between CustomTreeCtrl and wx.gizmos.TreeListCtrl.

    In addition to the standard wx.gizmos.TreeListCtrl behaviour this class supports:

    * CheckBox-type items: checkboxes are easy to handle, just selected or unselected
      state with no particular issues in handling the item's children;

    * RadioButton-type items: since I elected to put radiobuttons in HyperTreeList, I
      needed some way to handle them, that made sense. So, I used the following approach:
         - All peer-nodes that are radiobuttons will be mutually exclusive. In other words,
           only one of a set of radiobuttons that share a common parent can be checked at
           once. If a radiobutton node becomes checked, then all of its peer radiobuttons
           must be unchecked.
         - If a radiobutton node becomes unchecked, then all of its child nodes will become
           inactive.

    * Hyperlink-type items: they look like an hyperlink, with the proper mouse cursor on
      hovering.

    * Multiline text items.

    * Enabling/disabling items (together with their plain or grayed out icons).

    * Whatever non-toplevel widget can be attached next to a tree item.

    * Whatever non-toplevel widget can be attached next to a list item.

    * Column headers are fully customizable in terms of icons, colour, font, alignment etc...

    * Default selection style, gradient (horizontal/vertical) selection style and Windows
      Vista selection style.

    * Customized drag and drop images built on the fly.

    * Setting the HyperTreeList item buttons to a personalized imagelist.

    * Setting the HyperTreeList check/radio item icons to a personalized imagelist.

    * Changing the style of the lines that connect the items (in terms of wx.Pen styles).

    * Using an image as a HyperTreeList background (currently only in "tile" mode).

    And a lot more. Check the demo for an almost complete review of the functionalities.

    Base Functionalities
    ====================

    HyperTreeList supports all the wx.TreeCtrl styles, except:
      - TR_EXTENDED: supports for this style is on the todo list (Am I sure of this?).

    Plus it has 3 more styles to handle checkbox-type items:
      - TR_AUTO_CHECK_CHILD : automatically checks/unchecks the item children;
      - TR_AUTO_CHECK_PARENT : automatically checks/unchecks the item parent;
      - TR_AUTO_TOGGLE_CHILD: automatically toggles the item children.

    All the methods available in wx.gizmos.TreeListCtrl are also available in HyperTreeList.

    Events
    ======

    All the events supported by wx.gizmos.TreeListCtrl are also available in HyperTreeList,
    with a few exceptions:

      - EVT_TREE_GET_INFO (don't know what this means);
      - EVT_TREE_SET_INFO (don't know what this means);
      - EVT_TREE_ITEM_MIDDLE_CLICK (not implemented, but easy to add);
      - EVT_TREE_STATE_IMAGE_CLICK: no need for that, look at the checking events below.

    Plus, HyperTreeList supports the events related to the checkbutton-type items:

      - EVT_TREE_ITEM_CHECKING: an item is being checked;
      - EVT_TREE_ITEM_CHECKED: an item has been checked.

    And to hyperlink-type items:

      - EVT_TREE_ITEM_HYPERLINK: an hyperlink item has been clicked (this event is sent
        after the EVT_TREE_SEL_CHANGED event).

    Supported Platforms
    ===================

    HyperTreeList has been tested on the following platforms:
      * Windows (Windows XP);

    Latest Revision: Andrea Gavana @ 15 Oct 2008, 22.00 GMT
    Version 0.4

Classes
`EditTextCtrl` |
`HyperTreeList` |
`TreeListColumnInfo` |
`TreeListHeaderWindow` |
`TreeListItem` |
`TreeListMainWindow` |

Generated by Epydoc 2.1.20050511.rpd on Mon Feb 16 12:53:33 2009 | http://epydoc.sf.net