Phoenix Logo

phoenix_title wx.lib.agw.ultimatelistctrl.UltimateListCtrl

UltimateListCtrl is a class that mimics the behaviour of ListCtrl, 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 list control.


class_hierarchy Class Hierarchy

Inheritance diagram for class UltimateListCtrl:

appearance Control Appearance


wxMSW

wxMSW

wxMAC

wxMAC

wxGTK

wxGTK


super_classes Known Superclasses

wx.Control


method_summary Methods Summary

__init__ Default class constructor.
Append Append an item to the UltimateListCtrl.
Arrange Arranges the items in icon or small icon view.
AssignImageList Assigns the image list associated with the control.
ClearAll Deletes everything in UltimateListCtrl.
ClearColumnImage Clears all the images in the specified column.
ClientToScreen Converts to screen coordinates from coordinates relative to this window.
ClientToScreenXY Converts to screen coordinates from coordinates relative to this window.
CreateOrDestroyFooterWindowAsNeeded Creates or destroys the footer window depending on the window style flags.
CreateOrDestroyHeaderWindowAsNeeded Creates or destroys the header window depending on the window style flags.
DeleteAllColumns Deletes all the column in UltimateListCtrl.
DeleteAllItems Deletes all items in the UltimateListCtrl.
DeleteColumn Deletes the specified column.
DeleteItem Deletes the specified item.
DeleteItemWindow Deletes the window associated to an item (if any).
DoGetBestSize Gets the size which best suits the window: for a control, it would be the
DoLayout Layouts the header, main and footer windows. This is an auxiliary method to avoid code
EditLabel Starts editing an item label.
EnableItem Enables/disables an item.
EnableSelectionGradient Globally enables/disables drawing of gradient selections.
EnableSelectionVista Globally enables/disables drawing of Windows Vista selections.
EnsureVisible Ensures this item is visible.
FindItem Find an item whose label matches this string.
FindItemAtPos Find an item nearest this position.
FindItemData Find an item whose data matches this data.
Focus Focus and show the given item.
GetAGWWindowStyleFlag Returns the UltimateListCtrl AGW-specific style flag.
GetBackgroundColour Returns the background colour of the window.
GetBackgroundImage Returns the UltimateListCtrl background image (if any).
GetClassDefaultAttributes Returns the default font and colours which are used by the control. This is
GetColumn Returns information about this column.
GetColumnCount Returns the total number of columns in the UltimateListCtrl.
GetColumnWidth Returns the column width for the input column.
GetCountPerPage Returns the number of items that can fit vertically in the visible area
GetDefaultBorder Returns the default window border.
GetDisabledTextColour Returns the items disabled colour.
GetDropTarget Returns the associated drop target, which may be None.
GetEditControl Returns a pointer to the edit UltimateListTextCtrl if the item is being edited or
GetFirstGradientColour Returns the first gradient colour for gradient-style selections.
GetFirstSelected Return first selected item, or -1 when none is selected.
GetFocusedItem Returns the currently focused item or -1 if none is focused.
GetFooterHeight Returns the UltimateListHeaderWindow height, in pixels.
GetForegroundColour Returns the foreground colour of the window.
GetGradientStyle Returns the gradient style for gradient-style selections.
GetHeaderHeight Returns the UltimateListHeaderWindow height, in pixels.
GetHyperTextFont Returns the font used to render an hypertext item.
GetHyperTextNewColour Returns the colour used to render a non-visited hypertext item.
GetHyperTextVisitedColour Returns the colour used to render a visited hypertext item.
GetImageList Returns the image list associated with the control.
GetItem Returns the information about the input item.
GetItemBackgroundColour Returns the item background colour.
GetItemCount Returns the number of items in the UltimateListCtrl.
GetItemCustomRenderer Returns the custom renderer used to draw the input item (if any).
GetItemData Gets the application-defined data associated with this item.
GetItemFont Returns the item font.
GetItemKind Returns the item kind.
GetItemOverFlow Returns if the item is in the overflow state.
GetItemPosition Returns the position of the item, in icon or small icon view.
GetItemPyData Returns the data for the item, which can be any Python object.
GetItemRect Returns the rectangle representing the item’s size and position, in physical
GetItemSpacing Returns the spacing between item texts and icons, in pixels.
GetItemState Returns the item state flags for the input item.
GetItemText Returns the item text.
GetItemTextColour Returns the item text colour.
GetItemVisited Returns whether an hypertext item was visited.
GetItemWindow Returns the window associated to the item (if any).
GetItemWindowEnabled Returns whether the window associated to the item is enabled.
GetNextItem Searches for an item with the given geometry or state, starting from item
GetNextSelected Returns subsequent selected items, or -1 when no more are selected.
GetScrolledWin Returns the header window owner.
GetScrollPos Returns the scrollbar position.
GetScrollRange Returns the scrollbar range in pixels.
GetScrollThumb Returns the scrollbar size in pixels.
GetSecondGradientColour Returns the second gradient colour for gradient-style selections.
GetSelectedItemCount Returns the number of selected items in UltimateListCtrl.
GetSubItemRect Returns the rectangle representing the size and position, in physical coordinates,
GetTextColour Returns the UltimateListCtrl foreground colour.
GetTopItem Gets the index of the topmost visible item when in list or report view.
GetUserLineHeight Returns the custom value for the UltimateListCtrl item height, if previously set with
GetViewRect Returns the rectangle taken by all items in the control. In other words,
GetWaterMark Returns the UltimateListCtrl watermark image (if any), displayed in the
HasAGWFlag Returns True if the window has the given flag bit set.
HasFooter Returns True if UltimateListCtrl has a footer window.
HasHeader Returns True if UltimateListCtrl has a header window.
HitTest HitTest method for a UltimateListCtrl.
InsertColumn Inserts a column into UltimateListCtrl.
InsertColumnInfo Inserts a column into UltimateListCtrl.
InsertImageItem Inserts an image item at the given location.
InsertImageStringItem Inserts an image+string item at the given location.
InsertItem Inserts an item into UltimateListCtrl.
InsertStringItem Inserts a string item at the given location.
IsColumnShown Returns True if the input column is shown, False if it is hidden.
IsItemChecked Returns whether an item is checked or not.
IsItemEnabled Returns whether an item is enabled or not.
IsItemHyperText Returns whether an item is hypertext or not.
IsSelected Returns True if the item is selected.
IsVirtual Returns True if the UltimateListCtrl has the ULC_VIRTUAL style set.
OnGetItemAttr This function may be overloaded in the derived class for a control with
OnGetItemCheck This function may be overloaded in the derived class for a control with
OnGetItemColumnCheck This function must be overloaded in the derived class for a control with
OnGetItemColumnImage This function must be overloaded in the derived class for a control with
OnGetItemColumnKind This function must be overloaded in the derived class for a control with
OnGetItemImage This function must be overloaded in the derived class for a control with
OnGetItemKind This function must be overloaded in the derived class for a control with
OnGetItemText This function must be overloaded in the derived class for a control with
OnGetItemTextColour This function must be overloaded in the derived class for a control with
OnGetItemToolTip This function must be overloaded in the derived class for a control with
OnInternalIdle This method is normally only used internally, but sometimes an application
OnSetFocus Handles the wx.EVT_SET_FOCUS event for UltimateListCtrl.
OnSize Handles the wx.EVT_SIZE event for UltimateListCtrl.
PopupMenu Pops up the given menu at the specified coordinates, relative to this window,
Refresh Causes this window, and all of its children recursively (except under wxGTK1
RefreshItem Redraws the given item.
RefreshItems Redraws the items between itemFrom and itemTo.
ScreenToClient Converts from screen to client window coordinates.
ScreenToClientXY Converts from screen to client window coordinates.
ScrollList Scrolls the UltimateListCtrl.
Select Selects/deselects an item.
SetAGWWindowStyleFlag Sets the UltimateListCtrl AGW-specific style flag.
SetBackgroundColour Changes the background colour of UltimateListCtrl.
SetBackgroundImage Sets the UltimateListCtrl background image.
SetColumn Sets information about this column.
SetColumnCustomRenderer Associate a custom renderer to this column’s header.
SetColumnImage Sets one or more images to the specified column.
SetColumnShown Sets the specified column as shown or hidden.
SetColumnToolTip Sets the tooltip for the column header
SetColumnWidth Sets the column width.
SetCursor Sets the window’s cursor.
SetDisabledTextColour Sets the items disabled colour.
SetDropTarget Associates a drop target with this window.
SetFirstGradientColour Sets the first gradient colour for gradient-style selections.
SetFocus This sets the window to receive keyboard input.
SetFont Sets the UltimateListCtrl font.
SetFooterCustomRenderer Associate a custom renderer with the footer - all columns will use it.
SetFooterHeight Sets the UltimateListHeaderWindow height, in pixels. This overrides the default
SetForegroundColour Changes the foreground colour of UltimateListCtrl.
SetGradientStyle Sets the gradient style for gradient-style selections.
SetHeaderCustomRenderer Associate a custom renderer with the header - all columns will use it.
SetHeaderHeight Sets the UltimateListHeaderWindow height, in pixels. This overrides the default
SetHyperTextFont Sets the font used to render hypertext items.
SetHyperTextNewColour Sets the colour used to render a non-visited hypertext item.
SetHyperTextVisitedColour Sets the colour used to render a visited hypertext item.
SetImageList Sets the image list associated with the control.
SetItem Sets the information about the input item.
SetItemBackgroundColour Sets the item background colour.
SetItemColumnImage Sets a Python list of image indexes associated with the item in the input
SetItemCount Sets the total number of items we handle.
SetItemCustomRenderer Associate a custom renderer to this item.
SetItemData Sets the application-defined data associated with this item.
SetItemFont Sets the item font.
SetItemHyperText Sets whether the item is hypertext or not.
SetItemImage Sets a Python list of image indexes associated with the item.
SetItemKind Sets the item kind.
SetItemOverFlow Sets the item in the overflow/non overflow state.
SetItemPosition Sets the position of the item, in icon or small icon view.
SetItemPyData Sets the data for the item, which can be any Python object.
SetItemSpacing Sets the spacing between item texts and icons.
SetItemState Sets the item state flags for the input item.
SetItemText Sets the item text.
SetItemTextColour Sets the item text colour.
SetItemVisited Sets whether an hypertext item was visited or not.
SetItemWindow Sets the window for the given item.
SetItemWindowEnabled Enables/disables the window associated to the item.
SetScrollPos Sets the scrollbar position.
SetSecondGradientColour Sets the second gradient colour for gradient-style selections.
SetSingleStyle Adds or removes a single window style.
SetStringItem Sets a string or image at the given location.
SetTextColour Sets the UltimateListCtrl foreground colour.
SetUserLineHeight Sets a custom value for the UltimateListCtrl item height.
SetWaterMark Sets the UltimateListCtrl watermark image to be displayed in the bottom
SortItems Call this function to sort the items in the UltimateListCtrl. Sorting is done
Update Calling this method immediately repaints the invalidated area of the window

api Class API



class UltimateListCtrl(wx.Control)

UltimateListCtrl is a class that mimics the behaviour of ListCtrl, 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 list control.


Methods



__init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.DefaultSize, style=0, agwStyle=0, validator=wx.DefaultValidator, name="UltimateListCtrl")

Default class constructor.

Parameters:
  • parent – parent window. Must not be None;
  • id – window identifier. A value of -1 indicates a default value;
  • pos – the control position. A value of (-1, -1) indicates a default position, chosen by either the windowing system or wxPython, depending on platform;
  • size – the control size. A value of (-1, -1) indicates a default size, chosen by either the windowing system or wxPython, depending on platform;
  • style – the underlying wx.Control window style;
  • agwStyle – the AGW-specific window style; can be almost any combination of the following bits:
    Window Styles Hex Value Description
    ULC_VRULES 0x1 Draws light vertical rules between rows in report mode.
    ULC_HRULES 0x2 Draws light horizontal rules between rows in report mode.
    ULC_ICON 0x4 Large icon view, with optional labels.
    ULC_SMALL_ICON 0x8 Small icon view, with optional labels.
    ULC_LIST 0x10 Multicolumn list view, with optional small icons. Columns are computed automatically, i.e. you don’t set columns as in ULC_REPORT. In other words, the list wraps, unlike a ListBox.
    ULC_REPORT 0x20 Single or multicolumn report view, with optional header.
    ULC_ALIGN_TOP 0x40 Icons align to the top. Win32 default, Win32 only.
    ULC_ALIGN_LEFT 0x80 Icons align to the left.
    ULC_AUTOARRANGE 0x100 Icons arrange themselves. Win32 only.
    ULC_VIRTUAL 0x200 The application provides items text on demand. May only be used with ULC_REPORT.
    ULC_EDIT_LABELS 0x400 Labels are editable: the application will be notified when editing starts.
    ULC_NO_HEADER 0x800 No header in report mode.
    ULC_NO_SORT_HEADER 0x1000 No Docs.
    ULC_SINGLE_SEL 0x2000 Single selection (default is multiple).
    ULC_SORT_ASCENDING 0x4000 Sort in ascending order. (You must still supply a comparison callback in ListCtrl.SortItems.)
    ULC_SORT_DESCENDING 0x8000 Sort in descending order. (You must still supply a comparison callback in ListCtrl.SortItems.)
    ULC_TILE 0x10000 Each item appears as a full-sized icon with a label of one or more lines beside it (partially implemented).
    ULC_NO_HIGHLIGHT 0x20000 No highlight when an item is selected.
    ULC_STICKY_HIGHLIGHT 0x40000 Items are selected by simply hovering on them, with no need to click on them.
    ULC_STICKY_NOSELEVENT 0x80000 Don’t send a selection event when using ULC_STICKY_HIGHLIGHT style.
    ULC_SEND_LEFTCLICK 0x100000 Send a left click event when an item is selected.
    ULC_HAS_VARIABLE_ROW_HEIGHT 0x200000 The list has variable row heights.
    ULC_AUTO_CHECK_CHILD 0x400000 When a column header has a checkbox associated, auto-check all the subitems in that column.
    ULC_AUTO_TOGGLE_CHILD 0x800000 When a column header has a checkbox associated, toggle all the subitems in that column.
    ULC_AUTO_CHECK_PARENT 0x1000000 Only meaningful foe checkbox-type items: when an item is checked/unchecked its column header item is checked/unchecked as well.
    ULC_SHOW_TOOLTIPS 0x2000000 Show tooltips for ellipsized items/subitems (text too long to be shown in the available space) containing the full item/subitem text.
    ULC_HOT_TRACKING 0x4000000 Enable hot tracking of items on mouse motion.
    ULC_BORDER_SELECT 0x8000000 Changes border colour whan an item is selected, instead of highlighting the item.
    ULC_TRACK_SELECT 0x10000000 Enables hot-track selection in a list control. Hot track selection means that an item is automatically selected when the cursor remains over the item for a certain period of time. The delay is retrieved on Windows using the win32api call win32gui.SystemParametersInfo(win32con.SPI_GETMOUSEHOVERTIME), and is defaulted to 400ms on other platforms. This style applies to all views of UltimateListCtrl.
    ULC_HEADER_IN_ALL_VIEWS 0x20000000 Show column headers in all view modes.
    ULC_NO_FULL_ROW_SELECT 0x40000000 When an item is selected, the only the item in the first column is highlighted.
    ULC_FOOTER 0x80000000 Show a footer too (only when header is present).
    ULC_USER_ROW_HEIGHT 0x100000000 Allows to set a custom row height (one value for all the items, only in report mode).
  • validator – the window validator;
  • name – the window name.


Append(self, entry)

Append an item to the UltimateListCtrl.

Parameters:entry – should be a sequence with an item for each column.


Arrange(self, flag)

Arranges the items in icon or small icon view.

Parameters:flag – one of the following bits:
Alignment Flag Hex Value Description
ULC_ALIGN_DEFAULT 0x0 Default alignment
ULC_ALIGN_SNAP_TO_GRID 0x3 Snap to grid

Note

This method is currently unimplemented and does nothing.



AssignImageList(self, imageList, which)

Assigns the image list associated with the control.

Parameters:
  • imageList – an instance of wx.ImageList or an instance of PyImageList;
  • which – one of wx.IMAGE_LIST_NORMAL, wx.IMAGE_LIST_SMALL, wx.IMAGE_LIST_STATE (the last is unimplemented).

Note

Using PyImageList enables you to have images of different size inside the image list. In your derived class, instead of doing this:

imageList = wx.ImageList(16, 16)
imageList.Add(someBitmap)
self.SetImageList(imageList, wx.IMAGE_LIST_SMALL)

You should do this:

imageList = PyImageList(16, 16)
imageList.Add(someBitmap)
self.SetImageList(imageList, wx.IMAGE_LIST_SMALL)


ClearAll(self)

Deletes everything in UltimateListCtrl.



ClearColumnImage(self, col)

Clears all the images in the specified column.

Parameters:col – the column index;


ClientToScreen(self, pointOrTuple)

Converts to screen coordinates from coordinates relative to this window.

Parameters:pointOrTuple – an instance of wx.Point or a tuple representing the x, y coordinates for this point.
Returns:the coordinates relative to the screen.

Note

Overridden from wx.Control.



ClientToScreenXY(self, x, y)

Converts to screen coordinates from coordinates relative to this window.

Parameters:
  • x – an integer specifying the x client coordinate;
  • y – an integer specifying the y client coordinate.
Returns:

the coordinates relative to the screen.

Note

Overridden from wx.Control.



CreateOrDestroyFooterWindowAsNeeded(self)

Creates or destroys the footer window depending on the window style flags.



CreateOrDestroyHeaderWindowAsNeeded(self)

Creates or destroys the header window depending on the window style flags.



DeleteAllColumns(self)

Deletes all the column in UltimateListCtrl.



DeleteAllItems(self)

Deletes all items in the UltimateListCtrl.

Note

This function does not send the EVT_LIST_DELETE_ITEM event because deleting many items from the control would be too slow then (unlike DeleteItem).



DeleteColumn(self, col)

Deletes the specified column.

Parameters:col – the index of the column to delete.


DeleteItem(self, item)

Deletes the specified item.

Parameters:item – the index of the item to delete.

Note

This function sends the EVT_LIST_DELETE_ITEM event for the item being deleted.



DeleteItemWindow(self, itemOrId, col=0)

Deletes the window associated to an item (if any).

Parameters:
  • itemOrId – an instance of UltimateListItem or the item index;
  • col – the column index to which the input item belongs to.


DoGetBestSize(self)

Gets the size which best suits the window: for a control, it would be the minimal size which doesn’t truncate the control, for a panel - the same size as it would have after a call to Fit().



DoLayout(self)

Layouts the header, main and footer windows. This is an auxiliary method to avoid code duplication.



EditLabel(self, item)

Starts editing an item label.

Parameters:item – the index of the item to edit.


EnableItem(self, itemOrId, col=0, enable=True)

Enables/disables an item.

Parameters:
  • itemOrId – an instance of UltimateListItem or the item index;
  • col – the column index to which the input item belongs to;
  • enableTrue to enable the item, False otherwise.


EnableSelectionGradient(self, enable=True)

Globally enables/disables drawing of gradient selections.

Parameters:enableTrue to enable gradient-style selections, False to disable it.

Note

Calling this method disables any Vista-style selection previously enabled.



EnableSelectionVista(self, enable=True)

Globally enables/disables drawing of Windows Vista selections.

Parameters:enableTrue to enable Vista-style selections, False to disable it.

Note

Calling this method disables any gradient-style selection previously enabled.



EnsureVisible(self, item)

Ensures this item is visible.

Parameters:index – the index of the item to scroll into view.


FindItem(self, start, str, partial=False)

Find an item whose label matches this string.

Parameters:
  • start – the starting point of the input string or the beginning if start is -1;
  • string – the string to look for matches;
  • partial – if True then this method will look for items which begin with string.

Note

The string comparison is case insensitive.



FindItemAtPos(self, start, pt)

Find an item nearest this position.

Parameters:pt – an instance of wx.Point.


FindItemData(self, start, data)

Find an item whose data matches this data.

Parameters:
  • start – the starting point of the input data or the beginning if start is -1;
  • data – the data to look for matches.


Focus(self, idx)

Focus and show the given item.

Parameters:idx – the index of the item to be focused.


GetAGWWindowStyleFlag(self)

Returns the UltimateListCtrl AGW-specific style flag.

See also

SetAGWWindowStyleFlag for a list of possible style flags.



GetBackgroundColour(self)

Returns the background colour of the window.

Note

Overridden from wx.Control.



GetBackgroundImage(self)

Returns the UltimateListCtrl background image (if any).

Note

At present, the background image can only be used in “tile” mode.

Todo

Support background images also in stretch and centered modes.



GetClassDefaultAttributes(self, variant)

Returns the default font and colours which are used by the control. This is useful if you want to use the same font or colour in your own control as in a standard control – which is a much better idea than hard coding specific colours or fonts which might look completely out of place on the users system, especially if it uses themes.

This static method is “overridden’’ in many derived classes and so calling, for example, Button.GetClassDefaultAttributes () will typically return the values appropriate for a button which will be normally different from those returned by, say, ListCtrl.GetClassDefaultAttributes ().

Note

The VisualAttributes structure has at least the fields font, colFg and colBg. All of them may be invalid if it was not possible to determine the default control appearance or, especially for the background colour, if the field doesn’t make sense as is the case for colBg for the controls with themed background.

Note

Overridden from wx.Control.



GetColumn(self, col)

Returns information about this column.

Parameters:col – an integer specifying the column index.


GetColumnCount(self)

Returns the total number of columns in the UltimateListCtrl.



GetColumnWidth(self, col)

Returns the column width for the input column.

Parameters:col – an integer specifying the column index.


GetCountPerPage(self)

Returns the number of items that can fit vertically in the visible area of the UltimateListCtrl (list or report view) or the total number of items in the list control (icon or small icon view).



GetDefaultBorder(self)

Returns the default window border.



GetDisabledTextColour(self)

Returns the items disabled colour.



GetDropTarget(self)

Returns the associated drop target, which may be None.

Note

Overridden from wx.Control.



GetEditControl(self)

Returns a pointer to the edit UltimateListTextCtrl if the item is being edited or None otherwise (it is assumed that no more than one item may be edited simultaneously).



GetFirstGradientColour(self)

Returns the first gradient colour for gradient-style selections.



GetFirstSelected(self)

Return first selected item, or -1 when none is selected.



GetFocusedItem(self)

Returns the currently focused item or -1 if none is focused.



GetFooterHeight(self)

Returns the UltimateListHeaderWindow height, in pixels.



GetForegroundColour(self)

Returns the foreground colour of the window.

Note

Overridden from wx.Control.



GetGradientStyle(self)

Returns the gradient style for gradient-style selections.

Returns:0 for horizontal gradient-style selections, 1 for vertical gradient-style selections.


GetHeaderHeight(self)

Returns the UltimateListHeaderWindow height, in pixels.



GetHyperTextFont(self)

Returns the font used to render an hypertext item.



GetHyperTextNewColour(self)

Returns the colour used to render a non-visited hypertext item.



GetHyperTextVisitedColour(self)

Returns the colour used to render a visited hypertext item.



GetImageList(self, which)

Returns the image list associated with the control.

Parameters:which – one of wx.IMAGE_LIST_NORMAL, wx.IMAGE_LIST_SMALL, wx.IMAGE_LIST_STATE (the last is unimplemented).

Note

As UltimateListCtrl allows you to use a standard wx.ImageList or PyImageList, the returned object depends on which kind of image list you chose.



GetItem(self, itemOrId, col=0)

Returns the information about the input item.

Parameters:
  • itemOrId – an instance of UltimateListItem or an integer specifying the item index;
  • col – the column to which the item belongs to.


GetItemBackgroundColour(self, item)

Returns the item background colour.

Parameters:item – the index of the item.


GetItemCount(self)

Returns the number of items in the UltimateListCtrl.



GetItemCustomRenderer(self, itemOrId, col=0)

Returns the custom renderer used to draw the input item (if any).

Parameters:
  • itemOrId – an instance of UltimateListItem or the item index;
  • col – the column index to which the input item belongs to.


GetItemData(self, item)

Gets the application-defined data associated with this item.

Parameters:item – an integer specifying the item index.


GetItemFont(self, item)

Returns the item font.

Parameters:item – the index of the item.


GetItemKind(self, itemOrId, col=0)

Returns the item kind.

Parameters:
  • itemOrId – an instance of UltimateListItem or the item index;
  • col – the column index to which the input item belongs to.

See also

SetItemKind for a list of valid item kinds.



GetItemOverFlow(self, itemOrId, col=0)

Returns if the item is in the overflow state.

An item/subitem may overwrite neighboring items/subitems if its text would not normally fit in the space allotted to it.

Parameters:
  • itemOrId – an instance of UltimateListItem or the item index;
  • col – the column index to which the input item belongs to.


GetItemPosition(self, item)

Returns the position of the item, in icon or small icon view.

Parameters:item – the row in which the item lives.


GetItemPyData(self, item)

Returns the data for the item, which can be any Python object.

Parameters:item – an integer specifying the item index.

Note

Please note that Python data is associated with the item and not with subitems.



GetItemRect(self, item, code=ULC_RECT_BOUNDS)

Returns the rectangle representing the item’s size and position, in physical coordinates.

Parameters:
  • item – the row in which the item lives;
  • code – one of ULC_RECT_BOUNDS, ULC_RECT_ICON, ULC_RECT_LABEL.


GetItemSpacing(self, isSmall=False)

Returns the spacing between item texts and icons, in pixels.

Parameters:isSmallTrue if using a wx.IMAGE_LIST_SMALL image list, False if using a wx.IMAGE_LIST_NORMAL image list.


GetItemState(self, item, stateMask)

Returns the item state flags for the input item.

Parameters:
  • item – the index of the item;
  • stateMask – the bitmask for the state flag.

See also

SetItemState for a list of valid state flags.



GetItemText(self, item)

Returns the item text.

Parameters:item – an instance of UltimateListItem or an integer specifying the item index.


GetItemTextColour(self, item)

Returns the item text colour.

Parameters:item – the index of the item.


GetItemVisited(self, itemOrId, col=0)

Returns whether an hypertext item was visited.

Parameters:
  • itemOrId – an instance of UltimateListItem or the item index;
  • col – the column index to which the input item belongs to.


GetItemWindow(self, itemOrId, col=0)

Returns the window associated to the item (if any).

Parameters:
  • itemOrId – an instance of UltimateListItem or the item index;
  • col – the column index to which the input item belongs to.


GetItemWindowEnabled(self, itemOrId, col=0)

Returns whether the window associated to the item is enabled.

Parameters:
  • itemOrId – an instance of UltimateListItem or the item index;
  • col – the column index to which the input item belongs to;


GetNextItem(self, item, geometry=ULC_NEXT_ALL, state=ULC_STATE_DONTCARE)

Searches for an item with the given geometry or state, starting from item but excluding the item itself.

Parameters:
  • item – the item at which starting the search. If set to -1, the first item that matches the specified flags will be returned.
  • geometry – can be one of:
    Geometry Flag Hex Value Description
    ULC_NEXT_ABOVE 0x0 Searches for an item above the specified item
    ULC_NEXT_ALL 0x1 Searches for subsequent item by index
    ULC_NEXT_BELOW 0x2 Searches for an item below the specified item
    ULC_NEXT_LEFT 0x3 Searches for an item to the left of the specified item
    ULC_NEXT_RIGHT 0x4 Searches for an item to the right of the specified item
  • state – any combination of the following bits:
    State Bits Hex Value Description
    ULC_STATE_DONTCARE 0x0 Don’t care what the state is
    ULC_STATE_DROPHILITED 0x1 The item is highlighted to receive a drop event
    ULC_STATE_FOCUSED 0x2 The item has the focus
    ULC_STATE_SELECTED 0x4 The item is selected
    ULC_STATE_CUT 0x8 The item is in the cut state
    ULC_STATE_DISABLED 0x10 The item is disabled
    ULC_STATE_FILTERED 0x20 The item has been filtered
    ULC_STATE_INUSE 0x40 The item is in use
    ULC_STATE_PICKED 0x80 The item has been picked
    ULC_STATE_SOURCE 0x100 The item is a drag and drop source
Returns:

The first item with given state following item or -1 if no such item found.

Note

This function may be used to find all selected items in the control like this:

item = -1

while 1:
    item = listctrl.GetNextItem(item, ULC_NEXT_ALL, ULC_STATE_SELECTED)

    if item == -1:
        break

    # This item is selected - do whatever is needed with it

    wx.LogMessage("Item %ld is selected."%item)


GetNextSelected(self, item)

Returns subsequent selected items, or -1 when no more are selected.

Parameters:item – the index of the item.


GetScrolledWin(self)

Returns the header window owner.



GetScrollPos(self)

Returns the scrollbar position.

Note

This method is forwarded to UltimateListMainWindow.



GetScrollRange(self)

Returns the scrollbar range in pixels.

Note

This method is forwarded to UltimateListMainWindow.



GetScrollThumb(self)

Returns the scrollbar size in pixels.

Note

This method is forwarded to UltimateListMainWindow.



GetSecondGradientColour(self)

Returns the second gradient colour for gradient-style selections.



GetSelectedItemCount(self)

Returns the number of selected items in UltimateListCtrl.



GetSubItemRect(self, item, subItem, code)

Returns the rectangle representing the size and position, in physical coordinates, of the given subitem, i.e. the part of the row item in the column subItem.

Parameters:
  • item – the row in which the item lives;
  • subItem – the column in which the item lives. If set equal to the special value ULC_GETSUBITEMRECT_WHOLEITEM the return value is the same as for GetItemRect;
  • code – one of ULC_RECT_BOUNDS, ULC_RECT_ICON, ULC_RECT_LABEL.

Note

This method is only meaningful when the UltimateListCtrl is in the report mode.



GetTextColour(self)

Returns the UltimateListCtrl foreground colour.



GetTopItem(self)

Gets the index of the topmost visible item when in list or report view.



GetUserLineHeight(self)

Returns the custom value for the UltimateListCtrl item height, if previously set with SetUserLineHeight.

Note

This method can be used only with ULC_REPORT and ULC_USER_ROW_HEIGHT styles set.



GetViewRect(self)

Returns the rectangle taken by all items in the control. In other words, if the controls client size were equal to the size of this rectangle, no scrollbars would be needed and no free space would be left.

Note

This function only works in the icon and small icon views, not in list or report views.



GetWaterMark(self)

Returns the UltimateListCtrl watermark image (if any), displayed in the bottom right part of the window.

Todo

Better support for this is needed.



HasAGWFlag(self, flag)

Returns True if the window has the given flag bit set.

Parameters:flag – the window style to check.

See also

SetAGWWindowStyleFlag for a list of valid window styles.



HasFooter(self)

Returns True if UltimateListCtrl has a footer window.



HasHeader(self)

Returns True if UltimateListCtrl has a header window.



HitTest(self, pointOrTuple)

HitTest method for a UltimateListCtrl.

Parameters:pointOrTuple – an instance of wx.Point or a tuple representing the mouse x, y position.

See also

UltimateListMainWindow.HitTestLine() for a list of return flags.



InsertColumn(self, col, heading, format=ULC_FORMAT_LEFT, width=-1)

Inserts a column into UltimateListCtrl.

Parameters:
  • col – the column index at which we wish to insert a column;
  • heading – the header text;
  • format – the column alignment flag. This can be one of the following bits:
    Alignment Bits Hex Value Description
    ULC_FORMAT_LEFT 0x0 The item is left-aligned
    ULC_FORMAT_RIGHT 0x1 The item is right-aligned
    ULC_FORMAT_CENTRE 0x2 The item is centre-aligned
    ULC_FORMAT_CENTER 0x2 The item is center-aligned
  • width – can be a width in pixels or wx.LIST_AUTOSIZE (-1) or wx.LIST_AUTOSIZE_USEHEADER (-2) or LIST_AUTOSIZE_FILL (-3). wx.LIST_AUTOSIZE will resize the column to the length of its longest item. wx.LIST_AUTOSIZE_USEHEADER will resize the column to the length of the header (Win32) or 80 pixels (other platforms). LIST_AUTOSIZE_FILL will resize the column fill the remaining width of the window.
Returns:

the index at which the column has been inserted.



InsertColumnInfo(self, col, item)

Inserts a column into UltimateListCtrl.

Parameters:
  • col – the column index at which we wish to insert a column;
  • item – an instance of UltimateListItem.
Returns:

the index at which the column has been inserted.



InsertImageItem(self, index, imageIds, it_kind=0)

Inserts an image item at the given location.

Parameters:
  • index – the index at which we wish to insert the item;
  • imageIds – a Python list containing the image indexes for the images associated to this item;
  • it_kind – the item kind.

See also

SetStringItem for a list of valid item kinds.



InsertImageStringItem(self, index, label, imageIds, it_kind=0)

Inserts an image+string item at the given location.

Parameters:
  • index – the index at which we wish to insert the item;
  • label – the item text;
  • imageIds – a Python list containing the image indexes for the images associated to this item;
  • it_kind – the item kind.

See also

SetStringItem for a list of valid item kinds.



InsertItem(self, info)

Inserts an item into UltimateListCtrl.

Parameters:info – an instance of UltimateListItem.


InsertStringItem(self, index, label, it_kind=0)

Inserts a string item at the given location.

Parameters:
  • index – the index at which we wish to insert the item;
  • label – the item text;
  • it_kind – the item kind.

See also

SetStringItem for a list of valid item kinds.



IsColumnShown(self, column)

Returns True if the input column is shown, False if it is hidden.

Parameters:column – an integer specifying the column index.


IsItemChecked(self, itemOrId, col=0)

Returns whether an item is checked or not.

Parameters:
  • itemOrId – an instance of UltimateListItem or the item index;
  • col – the column index to which the input item belongs to.


IsItemEnabled(self, itemOrId, col=0)

Returns whether an item is enabled or not.

Parameters:
  • itemOrId – an instance of UltimateListItem or the item index;
  • col – the column index to which the input item belongs to.


IsItemHyperText(self, itemOrId, col=0)

Returns whether an item is hypertext or not.

Parameters:
  • itemOrId – an instance of UltimateListItem or the item index;
  • col – the column index to which the input item belongs to.


IsSelected(self, idx)

Returns True if the item is selected.

Parameters:idx – the index of the item to check for selection.


IsVirtual(self)

Returns True if the UltimateListCtrl has the ULC_VIRTUAL style set.



OnGetItemAttr(self, item)

This function may be overloaded in the derived class for a control with ULC_VIRTUAL style. It should return the attribute for the specified item or None to use the default appearance parameters.

Parameters:item – an integer specifying the item index.

Note

UltimateListCtrl will not delete the pointer or keep a reference of it. You can return the same UltimateListItemAttr pointer for every OnGetItemAttr call.

Note

The base class version always returns None.



OnGetItemCheck(self, item)

This function may be overloaded in the derived class for a control with ULC_VIRTUAL style. It should return whether a checkbox-like item or a radiobutton-like item is checked or unchecked.

Parameters:item – an integer specifying the item index.

Note

The base class version always returns an empty list.



OnGetItemColumnCheck(self, item, column=0)

This function must be overloaded in the derived class for a control with ULC_VIRTUAL and ULC_REPORT style. It should return whether a checkbox-like item or a radiobutton-like item in the column header is checked or unchecked.

Parameters:item – an integer specifying the item index.

Note

The base class version always returns an empty Python list.



OnGetItemColumnImage(self, item, column=0)

This function must be overloaded in the derived class for a control with ULC_VIRTUAL and ULC_REPORT style. It should return a Python list of indexes representing the images associated to the input item or an empty list for no images.

Parameters:item – an integer specifying the item index.

Note

The base class version always returns an empty Python list.



OnGetItemColumnKind(self, item, column=0)

This function must be overloaded in the derived class for a control with ULC_VIRTUAL style. It should return the item kind for the input item in the header window.

Parameters:
  • item – an integer specifying the item index;
  • column – the column index.

Note

The base class version always returns 0 (a standard item).

See also

SetItemKind for a list of valid item kinds.



OnGetItemImage(self, item)

This function must be overloaded in the derived class for a control with ULC_VIRTUAL style having an image list (if the control doesn’t have an image list, it is not necessary to overload it). It should return a Python list of indexes representing the images associated to the input item or an empty list for no images.

Parameters:item – an integer specifying the item index;

Note

In a control with ULC_REPORT style, OnGetItemImage only gets called for the first column of each line.

Note

The base class version always returns an empty Python list.



OnGetItemKind(self, item)

This function must be overloaded in the derived class for a control with ULC_VIRTUAL style. It should return the item kind for the input item.

Parameters:item – an integer specifying the item index.

Note

The base class version always returns 0 (a standard item).

See also

SetItemKind for a list of valid item kinds.



OnGetItemText(self, item, col)

This function must be overloaded in the derived class for a control with ULC_VIRTUAL style. It should return the string containing the text of the given column for the specified item.

Parameters:
  • item – an integer specifying the item index;
  • col – the column index to which the item belongs to.


OnGetItemTextColour(self, item, col)

This function must be overloaded in the derived class for a control with ULC_VIRTUAL style. It should return a wx.Colour object or None for the default color.

Parameters:
  • item – an integer specifying the item index;
  • col – the column index to which the item belongs to.


OnGetItemToolTip(self, item, col)

This function must be overloaded in the derived class for a control with ULC_VIRTUAL style. It should return the string containing the text of the tooltip for the specified item.

Parameters:
  • item – an integer specifying the item index;
  • col – the column index to which the item belongs to.


OnInternalIdle(self)

This method is normally only used internally, but sometimes an application may need it to implement functionality that should not be disabled by an application defining an OnIdle handler in a derived class.

This method may be used to do delayed painting, for example, and most implementations call wx.Window.UpdateWindowUI in order to send update events to the window in idle time.



OnSetFocus(self, event)

Handles the wx.EVT_SET_FOCUS event for UltimateListCtrl.

Parameters:event – a FocusEvent event to be processed.


OnSize(self, event)

Handles the wx.EVT_SIZE event for UltimateListCtrl.

Parameters:event – a wx.SizeEvent event to be processed.


PopupMenu(self, menu, pos=wx.DefaultPosition)

Pops up the given menu at the specified coordinates, relative to this window, and returns control when the user has dismissed the menu. If a menu item is selected, the corresponding menu event is generated and will be processed as usual. If the coordinates are not specified, the current mouse cursor position is used.

Parameters:
  • menu – an instance of wx.Menu to pop up;
  • pos – the position where the menu will appear.

Note

Overridden from wx.Control.



Refresh(self, eraseBackground=True, rect=None)

Causes this window, and all of its children recursively (except under wxGTK1 where this is not implemented), to be repainted.

Parameters:
  • eraseBackground – If True, the background will be erased;
  • rect – If not None, only the given rectangle will be treated as damaged.

Note

Note that repainting doesn’t happen immediately but only during the next event loop iteration, if you need to update the window immediately you should use Update instead.

Note

Overridden from wx.Control.



RefreshItem(self, item)

Redraws the given item.

Parameters:item – an integer specifying the item index;

Note

This is only useful for the virtual list controls as without calling this function the displayed value of the item doesn’t change even when the underlying data does change.



RefreshItems(self, itemFrom, itemTo)

Redraws the items between itemFrom and itemTo. The starting item must be less than or equal to the ending one.

Just as RefreshItem this is only useful for virtual list controls

Parameters:
  • itemFrom – the first index of the refresh range;
  • itemTo – the last index of the refresh range.


ScreenToClient(self, pointOrTuple)

Converts from screen to client window coordinates.

Parameters:pointOrTuple – an instance of wx.Point or a tuple representing the x, y coordinates for this point.
Returns:the coordinates relative to this window.

Note

Overridden from wx.Control.



ScreenToClientXY(self, x, y)

Converts from screen to client window coordinates.

Parameters:
  • x – an integer specifying the x screen coordinate;
  • y – an integer specifying the y screen coordinate.
Returns:

the coordinates relative to this window.

Note

Overridden from wx.Control.



ScrollList(self, dx, dy)

Scrolls the UltimateListCtrl.

Parameters:
  • dx – if in icon, small icon or report view mode, specifies the number of pixels to scroll. If in list view mode, dx specifies the number of columns to scroll.
  • dy – always specifies the number of pixels to scroll vertically.


Select(self, idx, on=True)

Selects/deselects an item.

Parameters:
  • idx – the index of the item to select;
  • onTrue to select the item, False to deselect it.


SetAGWWindowStyleFlag(self, style)

Sets the UltimateListCtrl AGW-specific style flag.

Parameters:style – the AGW-specific window style; can be almost any combination of the following bits:
Window Styles Hex Value Description
ULC_VRULES 0x1 Draws light vertical rules between rows in report mode.
ULC_HRULES 0x2 Draws light horizontal rules between rows in report mode.
ULC_ICON 0x4 Large icon view, with optional labels.
ULC_SMALL_ICON 0x8 Small icon view, with optional labels.
ULC_LIST 0x10 Multicolumn list view, with optional small icons. Columns are computed automatically, i.e. you don’t set columns as in ULC_REPORT. In other words, the list wraps, unlike a ListBox.
ULC_REPORT 0x20 Single or multicolumn report view, with optional header.
ULC_ALIGN_TOP 0x40 Icons align to the top. Win32 default, Win32 only.
ULC_ALIGN_LEFT 0x80 Icons align to the left.
ULC_AUTOARRANGE 0x100 Icons arrange themselves. Win32 only.
ULC_VIRTUAL 0x200 The application provides items text on demand. May only be used with ULC_REPORT.
ULC_EDIT_LABELS 0x400 Labels are editable: the application will be notified when editing starts.
ULC_NO_HEADER 0x800 No header in report mode.
ULC_NO_SORT_HEADER 0x1000 No Docs.
ULC_SINGLE_SEL 0x2000 Single selection (default is multiple).
ULC_SORT_ASCENDING 0x4000 Sort in ascending order. (You must still supply a comparison callback in ListCtrl.SortItems.)
ULC_SORT_DESCENDING 0x8000 Sort in descending order. (You must still supply a comparison callback in ListCtrl.SortItems.)
ULC_TILE 0x10000 Each item appears as a full-sized icon with a label of one or more lines beside it (partially implemented).
ULC_NO_HIGHLIGHT 0x20000 No highlight when an item is selected.
ULC_STICKY_HIGHLIGHT 0x40000 Items are selected by simply hovering on them, with no need to click on them.
ULC_STICKY_NOSELEVENT 0x80000 Don’t send a selection event when using ULC_STICKY_HIGHLIGHT style.
ULC_SEND_LEFTCLICK 0x100000 Send a left click event when an item is selected.
ULC_HAS_VARIABLE_ROW_HEIGHT 0x200000 The list has variable row heights.
ULC_AUTO_CHECK_CHILD 0x400000 When a column header has a checkbox associated, auto-check all the subitems in that column.
ULC_AUTO_TOGGLE_CHILD 0x800000 When a column header has a checkbox associated, toggle all the subitems in that column.
ULC_AUTO_CHECK_PARENT 0x1000000 Only meaningful foe checkbox-type items: when an item is checked/unchecked its column header item is checked/unchecked as well.
ULC_SHOW_TOOLTIPS 0x2000000 Show tooltips for ellipsized items/subitems (text too long to be shown in the available space) containing the full item/subitem text.
ULC_HOT_TRACKING 0x4000000 Enable hot tracking of items on mouse motion.
ULC_BORDER_SELECT 0x8000000 Changes border colour whan an item is selected, instead of highlighting the item.
ULC_TRACK_SELECT 0x10000000 Enables hot-track selection in a list control. Hot track selection means that an item is automatically selected when the cursor remains over the item for a certain period of time. The delay is retrieved on Windows using the win32api call win32gui.SystemParametersInfo(win32con.SPI_GETMOUSEHOVERTIME), and is defaulted to 400ms on other platforms. This style applies to all views of UltimateListCtrl.
ULC_HEADER_IN_ALL_VIEWS 0x20000000 Show column headers in all view modes.
ULC_NO_FULL_ROW_SELECT 0x40000000 When an item is selected, the only the item in the first column is highlighted.
ULC_FOOTER 0x80000000 Show a footer too (only when header is present).
ULC_USER_ROW_HEIGHT 0x100000000 Allows to set a custom row height (one value for all the items, only in report mode).


SetBackgroundColour(self, colour)

Changes the background colour of UltimateListCtrl.

Parameters:colour – the colour to be used as the background colour, pass NullColour to reset to the default colour.

Note

The background colour is usually painted by the default EraseEvent event handler function under Windows and automatically under GTK.

Note

Setting the background colour does not cause an immediate refresh, so you may wish to call wx.Window.ClearBackground or wx.Window.Refresh after calling this function.

Note

Overridden from wx.Control.



SetBackgroundImage(self, image=None)

Sets the UltimateListCtrl background image.

Parameters:image – if not None, an instance of wx.Bitmap.

Note

At present, the background image can only be used in “tile” mode.

Todo

Support background images also in stretch and centered modes.



SetColumn(self, col, item)

Sets information about this column.

Parameters:
  • col – an integer specifying the column index;
  • item – an instance of UltimateListItem.


SetColumnCustomRenderer(self, col=0, renderer=None)

Associate a custom renderer to this column’s header.

Parameters:
  • col – the column index.
  • renderer – a class able to correctly render the input item.

Note

the renderer class must implement the methods DrawHeaderButton and GetForegroundColor.



SetColumnImage(self, col, image)

Sets one or more images to the specified column.

Parameters:
  • col – the column index;
  • image – a Python list containing the image indexes for the images associated to this column item.


SetColumnShown(self, column, shown=True)

Sets the specified column as shown or hidden.

Parameters:
  • column – an integer specifying the column index;
  • shownTrue to show the column, False to hide it.


SetColumnToolTip(self, col, tip)

Sets the tooltip for the column header

Parameters:
  • col – the column index;
  • tip – the tooltip text


SetColumnWidth(self, col, width)

Sets the column width.

Parameters:width – can be a width in pixels or wx.LIST_AUTOSIZE (-1) or wx.LIST_AUTOSIZE_USEHEADER (-2) or LIST_AUTOSIZE_FILL (-3). wx.LIST_AUTOSIZE will resize the column to the length of its longest item. wx.LIST_AUTOSIZE_USEHEADER will resize the column to the length of the header (Win32) or 80 pixels (other platforms). LIST_AUTOSIZE_FILL will resize the column fill the remaining width of the window.

Note

In small or normal icon view, col must be -1, and the column width is set for all columns.



SetCursor(self, cursor)

Sets the window’s cursor.

Parameters:cursor – specifies the cursor that the window should normally display. The cursor may be NullCursor in which case the window cursor will be reset back to default.

Note

The window cursor also sets it for the children of the window implicitly.

Note

Overridden from wx.Control.



SetDisabledTextColour(self, colour)

Sets the items disabled colour.

Parameters:colour – an instance of wx.Colour.


SetDropTarget(self, dropTarget)

Associates a drop target with this window. If the window already has a drop target, it is deleted.

Parameters:dropTarget – an instance of DropTarget.

Note

Overridden from wx.Control.



SetFirstGradientColour(self, colour=None)

Sets the first gradient colour for gradient-style selections.

Parameters:colour – if not None, a valid wx.Colour instance. Otherwise, the colour is taken from the system value wx.SYS_COLOUR_HIGHLIGHT.


SetFocus(self)

This sets the window to receive keyboard input.



SetFont(self, font)

Sets the UltimateListCtrl font.

Parameters:font – a valid wx.Font instance.

Note

Overridden from wx.Control.



SetFooterCustomRenderer(self, renderer=None)

Associate a custom renderer with the footer - all columns will use it.

Parameters:renderer – a class able to correctly render header buttons

Note

the renderer class must implement the methods DrawHeaderButton and GetForegroundColor.



SetFooterHeight(self, height)

Sets the UltimateListHeaderWindow height, in pixels. This overrides the default footer window size derived from RendererNative. If height is None, the default behaviour is restored.

Parameters:height – the footer window height, in pixels (if it is None, the default height obtained using RendererNative is used).


SetForegroundColour(self, colour)

Changes the foreground colour of UltimateListCtrl.

Parameters:colour – the colour to be used as the foreground colour, pass NullColour to reset to the default colour.

Note

Overridden from wx.Control.



SetGradientStyle(self, vertical=0)

Sets the gradient style for gradient-style selections.

Parameters:vertical – 0 for horizontal gradient-style selections, 1 for vertical gradient-style selections.


SetHeaderCustomRenderer(self, renderer=None)

Associate a custom renderer with the header - all columns will use it.

Parameters:renderer – a class able to correctly render header buttons

Note

the renderer class must implement the methods DrawHeaderButton and GetForegroundColor.



SetHeaderHeight(self, height)

Sets the UltimateListHeaderWindow height, in pixels. This overrides the default header window size derived from RendererNative. If height is None, the default behaviour is restored.

Parameters:height – the header window height, in pixels (if it is None, the default height obtained using RendererNative is used).


SetHyperTextFont(self, font)

Sets the font used to render hypertext items.

Parameters:font – a valid wx.Font instance.


SetHyperTextNewColour(self, colour)

Sets the colour used to render a non-visited hypertext item.

Parameters:colour – a valid wx.Colour instance.


SetHyperTextVisitedColour(self, colour)

Sets the colour used to render a visited hypertext item.

Parameters:colour – a valid wx.Colour instance.


SetImageList(self, imageList, which)

Sets the image list associated with the control.

Parameters:
  • imageList – an instance of wx.ImageList or an instance of PyImageList;
  • which – one of wx.IMAGE_LIST_NORMAL, wx.IMAGE_LIST_SMALL, wx.IMAGE_LIST_STATE (the last is unimplemented).

Note

Using PyImageList enables you to have images of different size inside the image list. In your derived class, instead of doing this:

imageList = wx.ImageList(16, 16)
imageList.Add(someBitmap)
self.SetImageList(imageList, wx.IMAGE_LIST_SMALL)

You should do this:

imageList = PyImageList(16, 16)
imageList.Add(someBitmap)
self.SetImageList(imageList, wx.IMAGE_LIST_SMALL)


SetItem(self, info)

Sets the information about the input item.

Parameters:info – an instance of UltimateListItem.


SetItemBackgroundColour(self, item, col)

Sets the item background colour.

Parameters:
  • item – the index of the item;
  • col – a valid wx.Colour object.


SetItemColumnImage(self, item, column, image)

Sets a Python list of image indexes associated with the item in the input column.

Parameters:
  • item – an integer specifying the item index;
  • column – the column to which the item belongs to;
  • image – a Python list of indexes into the image list associated with the UltimateListCtrl.


SetItemCount(self, count)

Sets the total number of items we handle.

Parameters:count – the total number of items we handle.


SetItemCustomRenderer(self, itemOrId, col=0, renderer=None)

Associate a custom renderer to this item.

Parameters:
  • itemOrId – an instance of UltimateListItem or the item index;
  • col – the column index to which the input item belongs to;
  • renderer – a class able to correctly render the input item.

Note

the renderer class must implement the methods DrawSubItem, GetLineHeight and GetSubItemWidth.



SetItemData(self, item, data)

Sets the application-defined data associated with this item.

Parameters:
  • item – an integer specifying the item index;
  • data – the data to be associated with the input item.

Note

This function cannot be used to associate pointers with the control items, use SetItemPyData instead.



SetItemFont(self, item, f)

Sets the item font.

Parameters:
  • item – the index of the item;
  • f – a valid wx.Font object.


SetItemHyperText(self, itemOrId, col=0, hyper=True)

Sets whether the item is hypertext or not.

Parameters:
  • itemOrId – an instance of UltimateListItem or the item index;
  • col – the column index to which the input item belongs to;
  • hyperTrue to have an item with hypertext behaviour, False otherwise.


SetItemImage(self, item, image, selImage=-1)

Sets a Python list of image indexes associated with the item.

Parameters:
  • item – an integer specifying the item index;
  • image – a Python list of indexes into the image list associated with the UltimateListCtrl. In report view, this only sets the images for the first column;
  • selImage – not used at present.


SetItemKind(self, itemOrId, col=0, kind=0)

Sets the item kind.

Parameters:
  • itemOrId – an instance of UltimateListItem or the item index;
  • col – the column index to which the input item belongs to;
  • kind – may be one of the following integers:
    Item Kind Description
    0 A normal item
    1 A checkbox-like item
    2 A radiobutton-type item


SetItemOverFlow(self, itemOrId, col=0, over=True)

Sets the item in the overflow/non overflow state.

An item/subitem may overwrite neighboring items/subitems if its text would not normally fit in the space allotted to it.

Parameters:
  • itemOrId – an instance of UltimateListItem or the item index;
  • col – the column index to which the input item belongs to;
  • overTrue to set the item in a overflow state, False otherwise.


SetItemPosition(self, item, pos)

Sets the position of the item, in icon or small icon view.

Parameters:
  • item – the row in which the item lives;
  • pos – the item position.

Note

This method is currently unimplemented and does nothing.



SetItemPyData(self, item, pyData)

Sets the data for the item, which can be any Python object.

Parameters:
  • item – an integer specifying the item index;
  • pyData – any Python object.

Note

Please note that Python data is associated with the item and not with subitems.



SetItemSpacing(self, spacing, isSmall=False)

Sets the spacing between item texts and icons.

Parameters:
  • spacing – the spacing between item texts and icons, in pixels;
  • isSmallTrue if using a wx.IMAGE_LIST_SMALL image list, False if using a wx.IMAGE_LIST_NORMAL image list.


SetItemState(self, item, state, stateMask)

Sets the item state flags for the input item.

Parameters:
  • item – the index of the item; if defaulted to -1, the state flag will be set for all the items;
  • state – any combination of the following bits:
    State Bits Hex Value Description
    ULC_STATE_DONTCARE 0x0 Don’t care what the state is
    ULC_STATE_DROPHILITED 0x1 The item is highlighted to receive a drop event
    ULC_STATE_FOCUSED 0x2 The item has the focus
    ULC_STATE_SELECTED 0x4 The item is selected
    ULC_STATE_CUT 0x8 The item is in the cut state
    ULC_STATE_DISABLED 0x10 The item is disabled
    ULC_STATE_FILTERED 0x20 The item has been filtered
    ULC_STATE_INUSE 0x40 The item is in use
    ULC_STATE_PICKED 0x80 The item has been picked
    ULC_STATE_SOURCE 0x100 The item is a drag and drop source
  • stateMask – the bitmask for the state flag.


SetItemText(self, item, text)

Sets the item text.

Parameters:
  • item – an instance of UltimateListItem or an integer specifying the item index;
  • text – the new item text.


SetItemTextColour(self, item, col)

Sets the item text colour.

Parameters:
  • item – the index of the item;
  • col – a valid wx.Colour object.


SetItemVisited(self, itemOrId, col=0, visited=True)

Sets whether an hypertext item was visited or not.

Parameters:
  • itemOrId – an instance of UltimateListItem or the item index;
  • col – the column index to which the input item belongs to;
  • visitedTrue to mark an hypertext item as visited, False otherwise.


SetItemWindow(self, itemOrId, col=0, wnd=None, expand=False)

Sets the window for the given item.

Parameters:
  • itemOrId – an instance of UltimateListItem or the item index;
  • col – the column index to which the input item belongs to;
  • wnd – a non-toplevel window to be displayed next to the item;
  • expandTrue to expand the column where the item/subitem lives, so that the window will be fully visible.


SetItemWindowEnabled(self, itemOrId, col=0, enable=True)

Enables/disables the window associated to the item.

Parameters:
  • itemOrId – an instance of UltimateListItem or the item index;
  • col – the column index to which the input item belongs to;
  • enableTrue to enable the associated window, False to disable it.


SetScrollPos(self, orientation, pos, refresh=True)

Sets the scrollbar position.

Parameters:
  • orientation – determines the scrollbar whose position is to be set. May be wx.HORIZONTAL or wx.VERTICAL;
  • pos – the scrollbar position in scroll units;
  • refreshTrue to redraw the scrollbar, False otherwise.

Note

This method is forwarded to UltimateListMainWindow.



SetSecondGradientColour(self, colour=None)

Sets the second gradient colour for gradient-style selections.

Parameters:colour – if not None, a valid wx.Colour instance. Otherwise, the colour generated is a slightly darker version of the UltimateListCtrl background colour.


SetSingleStyle(self, style, add=True)

Adds or removes a single window style.

Parameters:
  • style – can be one of the following bits:
    Window Styles Hex Value Description
    ULC_VRULES 0x1 Draws light vertical rules between rows in report mode.
    ULC_HRULES 0x2 Draws light horizontal rules between rows in report mode.
    ULC_ICON 0x4 Large icon view, with optional labels.
    ULC_SMALL_ICON 0x8 Small icon view, with optional labels.
    ULC_LIST 0x10 Multicolumn list view, with optional small icons. Columns are computed automatically, i.e. you don’t set columns as in ULC_REPORT. In other words, the list wraps, unlike a ListBox.
    ULC_REPORT 0x20 Single or multicolumn report view, with optional header.
    ULC_ALIGN_TOP 0x40 Icons align to the top. Win32 default, Win32 only.
    ULC_ALIGN_LEFT 0x80 Icons align to the left.
    ULC_AUTOARRANGE 0x100 Icons arrange themselves. Win32 only.
    ULC_VIRTUAL 0x200 The application provides items text on demand. May only be used with ULC_REPORT.
    ULC_EDIT_LABELS 0x400 Labels are editable: the application will be notified when editing starts.
    ULC_NO_HEADER 0x800 No header in report mode.
    ULC_NO_SORT_HEADER 0x1000 No Docs.
    ULC_SINGLE_SEL 0x2000 Single selection (default is multiple).
    ULC_SORT_ASCENDING 0x4000 Sort in ascending order. (You must still supply a comparison callback in ListCtrl.SortItems.)
    ULC_SORT_DESCENDING 0x8000 Sort in descending order. (You must still supply a comparison callback in ListCtrl.SortItems.)
    ULC_TILE 0x10000 Each item appears as a full-sized icon with a label of one or more lines beside it (partially implemented).
    ULC_NO_HIGHLIGHT 0x20000 No highlight when an item is selected.
    ULC_STICKY_HIGHLIGHT 0x40000 Items are selected by simply hovering on them, with no need to click on them.
    ULC_STICKY_NOSELEVENT 0x80000 Don’t send a selection event when using ULC_STICKY_HIGHLIGHT style.
    ULC_SEND_LEFTCLICK 0x100000 Send a left click event when an item is selected.
    ULC_HAS_VARIABLE_ROW_HEIGHT 0x200000 The list has variable row heights.
    ULC_AUTO_CHECK_CHILD 0x400000 When a column header has a checkbox associated, auto-check all the subitems in that column.
    ULC_AUTO_TOGGLE_CHILD 0x800000 When a column header has a checkbox associated, toggle all the subitems in that column.
    ULC_AUTO_CHECK_PARENT 0x1000000 Only meaningful foe checkbox-type items: when an item is checked/unchecked its column header item is checked/unchecked as well.
    ULC_SHOW_TOOLTIPS 0x2000000 Show tooltips for ellipsized items/subitems (text too long to be shown in the available space) containing the full item/subitem text.
    ULC_HOT_TRACKING 0x4000000 Enable hot tracking of items on mouse motion.
    ULC_BORDER_SELECT 0x8000000 Changes border colour whan an item is selected, instead of highlighting the item.
    ULC_TRACK_SELECT 0x10000000 Enables hot-track selection in a list control. Hot track selection means that an item is automatically selected when the cursor remains over the item for a certain period of time. The delay is retrieved on Windows using the win32api call win32gui.SystemParametersInfo(win32con.SPI_GETMOUSEHOVERTIME), and is defaulted to 400ms on other platforms. This style applies to all views of UltimateListCtrl.
    ULC_HEADER_IN_ALL_VIEWS 0x20000000 Show column headers in all view modes.
    ULC_NO_FULL_ROW_SELECT 0x40000000 When an item is selected, the only the item in the first column is highlighted.
    ULC_FOOTER 0x80000000 Show a footer too (only when header is present).
  • addTrue to add the window style, False to remove it.

Note

The style ULC_VIRTUAL can not be set/unset after construction.



SetStringItem(self, index, col, label, imageIds=[], it_kind=0)

Sets a string or image at the given location.

Parameters:
  • index – the item index;
  • col – the column to which the item belongs to;
  • label – the item text;
  • imageIds – a Python list containing the image indexes for the images associated to this item;
  • it_kind – the item kind. May be one of the following integers:
    Item Kind Description
    0 A normal item
    1 A checkbox-like item
    2 A radiobutton-type item


SetTextColour(self, col)

Sets the UltimateListCtrl foreground colour.

Parameters:col – a valid wx.Colour object.


SetUserLineHeight(self, height)

Sets a custom value for the UltimateListCtrl item height.

Parameters:height – the custom height for all the items, in pixels.

Note

This method can be used only with ULC_REPORT and ULC_USER_ROW_HEIGHT styles set.



SetWaterMark(self, watermark=None)

Sets the UltimateListCtrl watermark image to be displayed in the bottom right part of the window.

Parameters:watermark – if not None, an instance of wx.Bitmap.

Todo

Better support for this is needed.



SortItems(self, func=None)

Call this function to sort the items in the UltimateListCtrl. Sorting is done using the specified function func. This function must have the following prototype:

def OnCompareItems(self, line1, line2):

    DoSomething(line1, line2)
    # function code

It is called each time when the two items must be compared and should return 0 if the items are equal, negative value if the first item is less than the second one and positive value if the first one is greater than the second one.

Parameters:func – the method to use to sort the items. The default is to use the UltimateListMainWindow.OnCompareItems() method.


Update(self)

Calling this method immediately repaints the invalidated area of the window and all of its children recursively while this would usually only happen when the flow of control returns to the event loop.

Note

This function doesn’t invalidate any area of the window so nothing happens if nothing has been invalidated (i.e. marked as requiring a redraw). Use Refresh first if you want to immediately redraw the window unconditionally.

Note

Overridden from wx.Control.