.. wxPython Phoenix documentation

   This file was generated by Phoenix's sphinx generator and associated
   tools, do not edit by hand.

   Copyright: (c) 2011-2020 by Total Control Software
   License:   wxWindows License

.. include:: headings.inc

.. currentmodule:: wx.lib.agw.hypertreelist

.. highlight:: python



.. _wx.lib.agw.hypertreelist.TreeListHeaderWindow:

==========================================================================================================================================
|phoenix_title|  **wx.lib.agw.hypertreelist.TreeListHeaderWindow**
==========================================================================================================================================

A window which holds the header of :class:`HyperTreeList`. 



|

|class_hierarchy| Class Hierarchy
=================================

.. raw:: html

   <div id="toggleBlock" onclick="return toggleVisibility(this)" class="closed" style="cursor:pointer;">
   <img id="toggleBlock-trigger" src="_static/images/closed.png"/>
   Inheritance diagram for class <strong>TreeListHeaderWindow</strong>:
   </div>
   <div id="toggleBlock-summary" style="display:block;"></div>
   <div id="toggleBlock-content" style="display:none;">
   <p class="graphviz">
   <center><img src="_static/images/inheritance/wx.lib.agw.hypertreelist.TreeListHeaderWindow_inheritance.png" alt="Inheritance diagram of TreeListHeaderWindow" usemap="#dummy" class="inheritance"/></center>
   <script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script>
   <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.lib.agw.hypertreelist.TreeListHeaderWindow.html" title="wx.lib.agw.hypertreelist.TreeListHeaderWindow" alt="" coords="5,315,336,344"/> <area shape="rect" id="node2" href="wx.Window.html" title="wx.Window" alt="" coords="122,237,219,267"/> <area shape="rect" id="node3" href="wx.WindowBase.html" title="wx.WindowBase" alt="" coords="106,160,235,189"/> <area shape="rect" id="node4" href="wx.EvtHandler.html" title="wx.EvtHandler" alt="" coords="112,83,229,112"/> <area shape="rect" id="node5" href="wx.Object.html" title="wx.Object" alt="" coords="67,5,154,35"/> <area shape="rect" id="node6" href="wx.Trackable.html" title="wx.Trackable" alt="" coords="179,5,285,35"/> </map> 
   </p>
   </div>

|


|super_classes| Known Superclasses
==================================

:class:`wx.Window`

|


|method_summary| Methods Summary
================================

================================================================================ ================================================================================
:meth:`~wx.lib.agw.hypertreelist.TreeListHeaderWindow.__init__`                  Default class constructor.
:meth:`~wx.lib.agw.hypertreelist.TreeListHeaderWindow.AddColumn`                 Appends a column to the :class:`TreeListHeaderWindow`.
:meth:`~wx.lib.agw.hypertreelist.TreeListHeaderWindow.AddColumnInfo`             Appends a column to the :class:`TreeListHeaderWindow`.
:meth:`~wx.lib.agw.hypertreelist.TreeListHeaderWindow.AdjustDC`                  Shifts the :class:`wx.DC` origin to match the position of the main window horizontal
:meth:`~wx.lib.agw.hypertreelist.TreeListHeaderWindow.DrawCurrent`               Draws the column resize line on a :class:`ScreenDC`.
:meth:`~wx.lib.agw.hypertreelist.TreeListHeaderWindow.GetColumn`                 Returns a column item, an instance of :class:`TreeListItem`.
:meth:`~wx.lib.agw.hypertreelist.TreeListHeaderWindow.GetColumnAlignment`        Returns the column text alignment.
:meth:`~wx.lib.agw.hypertreelist.TreeListHeaderWindow.GetColumnColour`           Returns the column text colour.
:meth:`~wx.lib.agw.hypertreelist.TreeListHeaderWindow.GetColumnCount`            Returns the total number of columns.
:meth:`~wx.lib.agw.hypertreelist.TreeListHeaderWindow.GetColumnText`             Returns the column text label.
:meth:`~wx.lib.agw.hypertreelist.TreeListHeaderWindow.GetColumnWidth`            Returns the column width, in pixels.
:meth:`~wx.lib.agw.hypertreelist.TreeListHeaderWindow.GetWidth`                  Returns the total width of all columns.
:meth:`~wx.lib.agw.hypertreelist.TreeListHeaderWindow.InsertColumn`              Inserts a column to the :class:`TreeListHeaderWindow` at the position specified
:meth:`~wx.lib.agw.hypertreelist.TreeListHeaderWindow.InsertColumnInfo`          Inserts a column to the :class:`TreeListHeaderWindow` at the position specified
:meth:`~wx.lib.agw.hypertreelist.TreeListHeaderWindow.IsColumnEditable`          Returns ``True`` if the column is editable, ``False`` otherwise.
:meth:`~wx.lib.agw.hypertreelist.TreeListHeaderWindow.IsColumnShown`             Returns ``True`` if the column is shown, ``False`` if it is hidden.
:meth:`~wx.lib.agw.hypertreelist.TreeListHeaderWindow.OnMouse`                   Handles the ``wx.EVT_MOUSE_EVENTS`` event for :class:`TreeListHeaderWindow`.
:meth:`~wx.lib.agw.hypertreelist.TreeListHeaderWindow.OnPaint`                   Handles the ``wx.EVT_PAINT`` event for :class:`TreeListHeaderWindow`.
:meth:`~wx.lib.agw.hypertreelist.TreeListHeaderWindow.OnSetFocus`                Handles the ``wx.EVT_SET_FOCUS`` event for :class:`TreeListHeaderWindow`.
:meth:`~wx.lib.agw.hypertreelist.TreeListHeaderWindow.RefreshColLabel`           Redraws the column.
:meth:`~wx.lib.agw.hypertreelist.TreeListHeaderWindow.RemoveColumn`              Removes a column from the :class:`TreeListHeaderWindow`.
:meth:`~wx.lib.agw.hypertreelist.TreeListHeaderWindow.SendListEvent`             Sends a :class:`ListEvent` for the parent window.
:meth:`~wx.lib.agw.hypertreelist.TreeListHeaderWindow.SetBuffered`               Sets/unsets the double buffering for the header.
:meth:`~wx.lib.agw.hypertreelist.TreeListHeaderWindow.SetColumn`                 Sets a column using an instance of :class:`TreeListColumnInfo`.
:meth:`~wx.lib.agw.hypertreelist.TreeListHeaderWindow.SetColumnAlignment`        Sets the column text alignment.
:meth:`~wx.lib.agw.hypertreelist.TreeListHeaderWindow.SetColumnColour`           Sets the column text colour.
:meth:`~wx.lib.agw.hypertreelist.TreeListHeaderWindow.SetColumnText`             Sets the column text label.
:meth:`~wx.lib.agw.hypertreelist.TreeListHeaderWindow.SetColumnWidth`            Sets the column width, in pixels.
:meth:`~wx.lib.agw.hypertreelist.TreeListHeaderWindow.SetCustomRenderer`         Associate a custom renderer with the header - all columns will use it
:meth:`~wx.lib.agw.hypertreelist.TreeListHeaderWindow.SetSortIcon`               Sets the sort icon to be displayed in the column header.
:meth:`~wx.lib.agw.hypertreelist.TreeListHeaderWindow.XToCol`                    Returns the column that corresponds to the logical input `x` coordinate.
================================================================================ ================================================================================


|


|api| Class API
===============


.. class:: TreeListHeaderWindow(wx.Window)

   A window which holds the header of :class:`HyperTreeList`. 

   .. method:: __init__(self, parent, id=wx.ID_ANY, owner=None, pos=wx.DefaultPosition, size=wx.DefaultSize, style=0, name="wxtreelistctrlcolumntitles")

      Default class constructor.
      
      :param `parent`: the window parent. Must not be ``None``;
      :param `id`: window identifier. A value of -1 indicates a default value;
      :param `owner`: the window owner, in this case an instance of :class:`TreeListMainWindow`;
      :param `pos`: the control position. A value of (-1, -1) indicates a default position,
       chosen by either the windowing system or wxPython, depending on platform;
      :param `size`: the control size. A value of (-1, -1) indicates a default size,
       chosen by either the windowing system or wxPython, depending on platform;
      :param `style`: the window style;
      :param `name`: the window name.


   .. method:: AddColumn(self, text, width=_DEFAULT_COL_WIDTH, flag=wx.ALIGN_LEFT, image=-1, shown=True, colour=None, edit=False)

      Appends a column to the :class:`TreeListHeaderWindow`.
      
      :param `text`: the column text label;
      :param `width`: the column width in pixels;
      :param `flag`: the column alignment flag, one of ``wx.ALIGN_LEFT``,
       ``wx.ALIGN_RIGHT``, ``wx.ALIGN_CENTER``;
      :param `image`: an index within the normal image list assigned to
       :class:`HyperTreeList` specifying the image to use for the column;
      :param `shown`: ``True`` to show the column, ``False`` to hide it;
      :param `colour`: a valid :class:`wx.Colour`, representing the text foreground colour
       for the column;
      :param `edit`: ``True`` to set the column as editable, ``False`` otherwise.


   .. method:: AddColumnInfo(self, colInfo)

      Appends a column to the :class:`TreeListHeaderWindow`.
      
      :param `colInfo`: an instance of :class:`TreeListColumnInfo`.


   .. method:: AdjustDC(self, dc)

      Shifts the :class:`wx.DC` origin to match the position of the main window horizontal
      scrollbar: this allows us to always use logical coordinates.
      
      :param `dc`: an instance of :class:`wx.DC`.


   .. method:: DrawCurrent(self)

      Draws the column resize line on a :class:`ScreenDC`. 


   .. method:: GetColumn(self, column)

      Returns a column item, an instance of :class:`TreeListItem`.
      
      :param `column`: an integer specifying the column index.


   .. method:: GetColumnAlignment(self, column)

      Returns the column text alignment.
      
      :param `column`: an integer specifying the column index.


   .. method:: GetColumnColour(self, column)

      Returns the column text colour.
      
      :param `column`: an integer specifying the column index.


   .. method:: GetColumnCount(self)

      Returns the total number of columns. 


   .. method:: GetColumnText(self, column)

      Returns the column text label.
      
      :param `column`: an integer specifying the column index.


   .. method:: GetColumnWidth(self, column)

      Returns the column width, in pixels.
      
      :param `column`: an integer specifying the column index.


   .. method:: GetWidth(self)

      Returns the total width of all columns. 


   .. method:: InsertColumn(self, before, text, width=_DEFAULT_COL_WIDTH, flag=wx.ALIGN_LEFT, image=-1, shown=True, colour=None, edit=False)

      Inserts a column to the :class:`TreeListHeaderWindow` at the position specified
      by `before`.
      
      :param `before`: the index at which we wish to insert the new column;
      :param `text`: the column text label;
      :param `width`: the column width in pixels;
      :param `flag`: the column alignment flag, one of ``wx.ALIGN_LEFT``,
       ``wx.ALIGN_RIGHT``, ``wx.ALIGN_CENTER``;
      :param `image`: an index within the normal image list assigned to
       :class:`HyperTreeList` specifying the image to use for the column;
      :param `shown`: ``True`` to show the column, ``False`` to hide it;
      :param `colour`: a valid :class:`wx.Colour`, representing the text foreground colour
       for the column;
      :param `edit`: ``True`` to set the column as editable, ``False`` otherwise.


   .. method:: InsertColumnInfo(self, before, colInfo)

      Inserts a column to the :class:`TreeListHeaderWindow` at the position specified
      by `before`.
      
      :param `before`: the index at which we wish to insert the new column;
      :param `colInfo`: an instance of :class:`TreeListColumnInfo`.


   .. method:: IsColumnEditable(self, column)

      Returns ``True`` if the column is editable, ``False`` otherwise.
      
      :param `column`: an integer specifying the column index.


   .. method:: IsColumnShown(self, column)

      Returns ``True`` if the column is shown, ``False`` if it is hidden.
      
      :param `column`: an integer specifying the column index.


   .. method:: OnMouse(self, event)

      Handles the ``wx.EVT_MOUSE_EVENTS`` event for :class:`TreeListHeaderWindow`.
      
      :param `event`: a :class:`MouseEvent` event to be processed.


   .. method:: OnPaint(self, event)

      Handles the ``wx.EVT_PAINT`` event for :class:`TreeListHeaderWindow`.
      
      :param `event`: a :class:`PaintEvent` event to be processed.


   .. method:: OnSetFocus(self, event)

      Handles the ``wx.EVT_SET_FOCUS`` event for :class:`TreeListHeaderWindow`.
      
      :param `event`: a :class:`FocusEvent` event to be processed.


   .. method:: RefreshColLabel(self, col)

      Redraws the column.
      
      :param `col`: the index of the column to redraw.


   .. method:: RemoveColumn(self, column)

      Removes a column from the :class:`TreeListHeaderWindow`.
      
      :param `column`: an integer specifying the column index.


   .. method:: SendListEvent(self, evtType, pos)

      Sends a :class:`ListEvent` for the parent window.
      
      :param `evtType`: the event type;
      :param `pos`: an instance of :class:`wx.Point`.


   .. method:: SetBuffered(self, buffered)

      Sets/unsets the double buffering for the header.
      
      :param `buffered`: ``True`` to use double-buffering, ``False`` otherwise.
      
      :note: Currently double-buffering is only enabled by default for Windows XP.


   .. method:: SetColumn(self, column, info)

      Sets a column using an instance of :class:`TreeListColumnInfo`.
      
      :param `column`: an integer specifying the column index;
      :param `info`: an instance of :class:`TreeListColumnInfo`.


   .. method:: SetColumnAlignment(self, column, flag)

      Sets the column text alignment.
      
      :param `column`: an integer specifying the column index;
      :param `flag`: the new text alignment flag.
      
      :see: :meth:`TreeListColumnInfo.SetAlignment() <TreeListColumnInfo.SetAlignment>` for a list of valid alignment
       flags.


   .. method:: SetColumnColour(self, column, colour)

      Sets the column text colour.
      
      :param `column`: an integer specifying the column index;
      :param `colour`: a valid :class:`wx.Colour` object.


   .. method:: SetColumnText(self, column, text)

      Sets the column text label.
      
      :param `column`: an integer specifying the column index;
      :param `text`: the new column label.


   .. method:: SetColumnWidth(self, column, width)

      Sets the column width, in pixels.
      
      :param `column`: an integer specifying the column index;
      :param `width`: the new width for the column, in pixels.


   .. method:: SetCustomRenderer(self, renderer=None)

      Associate a custom renderer with the header - all columns will use it
      
      :param `renderer`: a class able to correctly render header buttons
      
      :note: the renderer class **must** implement the method `DrawHeaderButton`


   .. method:: SetSortIcon(self, column, sortIcon, colour=None)

      Sets the sort icon to be displayed in the column header.
      
      The sort icon will be displayed in the specified column number
      and all other columns will have the sort icon cleared.
      
      :param `column`: an integer specifying the column index;
      :param `sortIcon`: the sort icon to display, one of ``wx.HDR_SORT_ICON_NONE``,
       ``wx.HDR_SORT_ICON_UP``, ``wx.HDR_SORT_ICON_DOWN``.
      :param `colour`: the colour of the sort icon as a wx.Colour. Optional.
       Set to ``None`` to restore native colour.


   .. method:: XToCol(self, x)

      Returns the column that corresponds to the logical input `x` coordinate.
      
      :param `x`: the `x` position to evaluate.
      
      :return: The column that corresponds to the logical input `x` coordinate,
       or ``wx.NOT_FOUND`` if there is no column at the `x` position.


