   id add pathOrReference row-list
        Add rows as children to the pathOrReference pathOrReference. The
        new rows are placed behind existing rows. Use the empty path {}
        to add toplevel rows. The command returns a list of paths to every
        new row. If the column type is "image", the entry must be a percent
        string of type file which determines the image file to be loaded
        (e.g. ("%/./gnocl.png")

        Command Options
            -singleRow
                type: boolean (default: false)
                If set to true, row-list is not a list of rows but only a list
                of elements for a single row. This option exists only to simplify
                the addition of one single row.

            -singleColumn
                type: boolean (default: false)
                If set to true, row-list is not a list of rows but only a list
                of one element for every row. This option exists only to simplify
                the addition of one single column.

    id addBegin pathOrReference row-list
        Same as add, but adds the new rows before existing rows.

    id addEnd pathOrReference row-list
        Same as add.

    id cellConfigure pathOrReference column [-option value...]
        Configure a cell.

        Command Options
            -value
                Value of the cell. The type must correspond to the type of the column.

            -visible
                type: boolean (default: 1)
                Whether this cell is visible.

    id collapse [-option value...]
            Collapse a row.

            Command Options
                -path
                    type: pathOrReference (default: 0)
                    Which row to collapse.

    id columnCget column option
        Returns the value for one column option. The option may have any
        of the values accepted by columnConfigure. TODO: not yet all options implemented.

    id columnConfigure column [-option value...]
        Configure a column

        Command Options
            -autoResize
                type: boolean (default: true)
                Whether the width of the column should automatically increase if necessary

            -onCellData
                type: string (default: "")
                Command which is executed, before the content of a cell is rendered.
                This can be used to configure the cells dependent on their content.
                The command must return valid row configuration options (e.g. "-foreground red").
                Before evaluation the following percent strings are substituted:
                    %w widget name
                    %p path of the cell
                    %v value (content) of the cell

            -onEdited
                type: string (default: "")
                Only valid for editable columns. Command which is executed,
                if a cell in this column is edited.
                Before evaluation the following percent strings are substituted
                    %w widget name
                    %p path of selected cell
                    %v new text (value)

            -onToggled
                type: string (default: "")
                Only valid for boolean columns. Command which is executed, if
                it a cell in this column is toggled.
                Before evaluation the following percent strings are substituted:
                    %w widget name
                    %p path of selected cell

            -visible
                type: boolean (default: 1)
                Whether this column is visible.

            -clickable
                type: boolean
                Whether it can be clicked on the column header and sort this column.

            -title
                type: string (default: "")
                Title of the column.

            -resizable
                type: boolean (default: 1)
                Whether the column can be resized by the user.

            -reorderable
                type: boolean (default: 1)
                Whether the column can be moved to another place in the tree.

            -minWidth
                type: integer
                Minimum width of the column in pixel.

            -maxWidth
                type: integer
                Maximum width of the column in pixel.

            -titleAlign
                type: left, center, right or a float between 0 and 1
                Horizontal alignment of the title.

            -align
                type: a list of the horizontal and vertical alignment or one of
                topLeft, top, topRight, left, center, right, bottomLeft, bottom, or bottomRight
                Alignment of the cells.

            -width
                type: integer
                Width of the cells.

            -height
                type: integer
                Height of the cells.

            -xPad
                type: integer
                Horizontal padding of the column.

            -yPad
                type: integer
                Vertical padding of the column.

            -background
                type: color
                Background color of the cells.

            -foreground
                type: color
                Foreground color of the cells.

            -font
                type: FONT
                Font used for the rendering of the cells.

            -fontFamily
                Font family used for the rendering of the cells.

            -fontStyle
                type: ONEOF normal, oblique, italic (default: normal)
                Font style used for the rendering of the cells.

            -fontVariant
                type: ONEOF normal, smallCaps (default: normal)
                Font variant used for the rendering of the cells.

            -fontWeight
                type: ONEOF ultralight, light, normal, bold, ultrabold, heavy (default: normal)
                Font weight used for the rendering of the cells.

            -fontRise
                type: integer (default: 0)
                How many pixels the text should be risen.

            -fontStretch
                type: ONEOF ultraCondensed, extraCondensed, condensed, semiCondensed,
                normal, semiExpanded, expanded, extraExpanded, ultraExpanded (default: normal)
                Font stretch used for the rendering of the cells.

            -fontSize
                type: integer
                Font size used for the rendering of the cells.

            -fontScale
                type: float ORONEOF xx-small, x-small, small, medium, large,
                x-large, xx-large (default: normal)
                Font scale used for the rendering of the cells.

            -strikethrough
                type: boolean (default: 0)
                Whether the text is struck through.

            -underline
                type: ONEOF none, single, float, low (default: none)
                How the text in the cells should be underlined.

            -editable
                type: boolean (default: 0)
                Whether the text in the cells can be edited.

    id configure [-option value...]
        Configure the widget. Option may have any of the values accepted by
        the tree command except from columns and -types.

    id coordsToPath x y
        Calculates from the given windows coordinates x and y (for example
        aquired from the onButtonPress callback) to a path. Returns a list
        of four elements: a path, a column, x cell coordinate and y cell coordinate.

    id delete
        Deletes the widget and the associated tcl command.

    id deleteReference reference
        Deletes a reference. The reference may not be used after it has been deleted.

    id erase startPathOrReference ?endPathOrReference?
        Deletes all rows between startPathOrReference and endPathOrReference.
        Deletes only one row if only startPathOrReference is given. If endPathOrReference
        is "end" deletes all child rows of the parent of startPathOrReference
        starting at startPathOrReference. "erase 0 end" deletes all rows.

    id expand [-option value...]
        Expand a row.

        Command Options
            -path
                type: pathOrReference (default: 0)
                Which row to expand.

            -recursive
                type: boolean (default: 1)
                Whether to expand all children recursively.

    id get pathOrReference column
        Get the value of one cell.

    id getNumChildren ?pathOrReference?
        Returns the number of children for the given pathOrReference. If
        no pathOrReference is given the number of top level rows is returned.

    id getReference path
        Returns a reference to path.

    id getSelection
        Returns a list of the paths of the selected rows.

    id onSelectionChanged
        Executes the onSelectionChanged command, if there is any. Otherwise does nothing.
        Tcl command which is executed if the item selected is changed.
        Before evaluation the following percent strings are substituated:
            %w widget name
            %p list of paths of the selection

    id setSelection pathOrReference-list [-option value...]
        Selects each row that is given in pathOrReference-list. The onSelectionChanged
        callback is not called. If pathOrReference is "all" all rows are selected.
        To select more than one row, selectionMode must be set to multiple or extended.

        Command Options
            -add
                type: boolean (default: false)
                If set to true, the given rows are added to the selection, else
                the selection contains only the given rows.

            -unselect
                type: boolean (default: false)
                If set to true, the selection is removed from the given rows.

            -single
                type: boolean (default: false)
                If set to true, pathOrReference-list is not a list of paths but
                only one single pathOrReference. This option exists only to simplify
                the selection of one single row.

    id referenceToPath reference
        Returns the path of reference.

    id scrollToPosition [-option value...]
        Scrolls the widget so that the specified row is visible. If only "-column"
        is given, the widget is scrolled only horizontal so that this column is visible.
        If neither "-column" nor "-path" is given, the widget is scrolled to the
        last expanded row.

        Command Options
            -align
                type: a list of the horizontal and vertical alignment or one of
                topLeft, top, topRight, left, center, right, bottomLeft, bottom, or bottomRight
                Specifies where the row shall be shown.

            -path
                type: pathOrReference
                Specifies which row shall be shown.

            -column
                type: integer
                Specifies which column shall be shown.

    id setCursor pathOrReference [-option value...]
        Sets the cursor to a specific row.

        Command Options
            -column
                type: integer
                Sets the cursor to a specific column in the row

            -startEdit
                type: boolean (default: 0)
                Whether to start editing the cell given by column and row.
                The column has to be editable and the tree has to be realized.
