UltimateListCtrl Feature Request and possible bug

Hi,

I noticed when I ran the UltimateListCtrl with wx.LC_ICON style enabled demo from the wxPython 2.9.2.4 demo with Python 2.7.2 on Windows 7 (32-bit), the first column had two lines for “Artist Name”. I’m pretty sure it shouldn’t look like that, but then again, why does it have columns in the first place? Also I see on Windows 7 that there’s now a “Content” view in Windows Explorer. Are there any plans to add that to the UltimateListCtrl?

Thanks! I think I’m going to write about this widget on my blog soon.

···

Mike Driscoll

Blog: http://blog.pythonlibrary.org

Hi Mike,

Hi,

I noticed when I ran the UltimateListCtrl with wx.LC_ICON style enabled demo from the wxPython 2.9.2.4 demo with Python 2.7.2 on Windows 7 (32-bit), the first column had two lines for “Artist Name”. I’m pretty sure it shouldn’t look like that, but then again, why does it have columns in the first place?

What you are witnessing are actually two features of ULC, not two bugs. For the first one, if you look at the code, the column text is set as “Artist\nName” (with a newline character) and this is something the standard wx.LIstCtrl did not support when I first wrote ULC (i.e., multiline column texts, and I am not sure if wx.ListCtrl supports it even now).

The second one comes from a Microsft quirk, and it is the style termed ULC_HEADER_IN_ALL_VIEWS, which basically shows the columns irrespectively of which other style you choose (wx.LC_REPORT, wx.LC_ICON, wx.LC_SMALL_ICON and so on). This is possibly one of the most useless style I ever came across in Microsoft UIs, but this is the explanation given by MS:

http://msdn.microsoft.com/en-us/library/bb774732.aspx

LVS_EX_HEADERINALLVIEWS

Windows Vista. Show column headers in all view modes.

Also I see on Windows 7 that there’s now a “Content” view in Windows Explorer. Are there any plans to add that to the UltimateListCtrl?

Unfortunately this has not been implemented yet, and it is not the only thing missing. Explorer has also the “Tile” view, for which there already is a style reserved in ULC, called ULC_TILE, and the docstrings in ULC state:

ULC_TILE: Each item appears as a full-sized icon with a label of one or more lines beside it (partially implemented).

The code logic is already in ULC, but none of the drawing methods have been implemented. For the “Content” view, nothing is there at the moment but of course I would like to implement both the “Content” and “Tile” modes, based on the column names. If you would like to give it a try at coding them, I’ll give as much help as I can.

Thanks! I think I’m going to write about this widget on my blog soon.

I will be the first one to visit your blog!

Andrea.

“Imagination Is The Only Weapon In The War Against Reality.”

http://xoomer.alice.it/infinity77/

import PyQt4.QtGui

Traceback (most recent call last):

File “”, line 1, in

ImportError: No module named PyQt4.QtGui

import pygtk

Traceback (most recent call last):

File “”, line 1, in

ImportError: No module named pygtk

···

On 28 October 2011 23:56, Mike Driscoll wrote:

import wx

I forgot to mention that the “Content” effect of Explorer in Windows 7 can be easily be created using custom renderers in ULC, and maybe I’ll add a demo on how to do it in the AGW demos for ULC.

Andrea.

“Imagination Is The Only Weapon In The War Against Reality.”

http://xoomer.alice.it/infinity77/

···

On 29 October 2011 22:58, Andrea Gavana wrote:

Hi Mike,

On 28 October 2011 23:56, Mike Driscoll wrote:

Also I see on Windows 7 that there’s now a “Content” view in Windows Explorer. Are there any plans to add that to the UltimateListCtrl?

Unfortunately this has not been implemented yet, and it is not the only thing missing. Explorer has also the “Tile” view, for which there already is a style reserved in ULC, called ULC_TILE, and the docstrings in ULC state:

ULC_TILE: Each item appears as a full-sized icon with a label of one or more lines beside it (partially implemented).

The code logic is already in ULC, but none of the drawing methods have been implemented. For the “Content” view, nothing is there at the moment but of course I would like to implement both the “Content” and “Tile” modes, based on the column names. If you would like to give it a try at coding them, I’ll give as much help as I can.

Hi Andrea,

···

On Sat, Oct 29, 2011 at 2:58 PM, Andrea Gavana andrea.gavana@gmail.com wrote:

Hi Mike,

On 28 October 2011 23:56, Mike Driscoll wrote:

Hi,

I noticed when I ran the UltimateListCtrl with wx.LC_ICON style enabled demo from the wxPython 2.9.2.4 demo with Python 2.7.2 on Windows 7 (32-bit), the first column had two lines for “Artist Name”. I’m pretty sure it shouldn’t look like that, but then again, why does it have columns in the first place?

What you are witnessing are actually two features of ULC, not two bugs. For the first one, if you look at the code, the column text is set as “Artist\nName” (with a newline character) and this is something the standard wx.LIstCtrl did not support when I first wrote ULC (i.e., multiline column texts, and I am not sure if wx.ListCtrl supports it even now).

The second one comes from a Microsft quirk, and it is the style termed ULC_HEADER_IN_ALL_VIEWS, which basically shows the columns irrespectively of which other style you choose (wx.LC_REPORT, wx.LC_ICON, wx.LC_SMALL_ICON and so on). This is possibly one of the most useless style I ever came across in Microsoft UIs, but this is the explanation given by MS:

http://msdn.microsoft.com/en-us/library/bb774732.aspx

LVS_EX_HEADERINALLVIEWS

Windows Vista. Show column headers in all view modes.

I didn’t know any of that. Thanks for the detailed explanation. I knew there had to be one. I haven’t got my article done, but I got my own simple demo worked up already, so it shouldn’t be too much longer.


Mike Driscoll

Blog: http://blog.pythonlibrary.org

Hi Mike,

Hi Andrea,

Hi Mike,

Hi,

I noticed when I ran the UltimateListCtrl with wx.LC_ICON style enabled demo from the wxPython 2.9.2.4 demo with Python 2.7.2 on Windows 7 (32-bit), the first column had two lines for “Artist Name”. I’m pretty sure it shouldn’t look like that, but then again, why does it have columns in the first place?

What you are witnessing are actually two features of ULC, not two bugs. For the first one, if you look at the code, the column text is set as “Artist\nName” (with a newline character) and this is something the standard wx.LIstCtrl did not support when I first wrote ULC (i.e., multiline column texts, and I am not sure if wx.ListCtrl supports it even now).

The second one comes from a Microsft quirk, and it is the style termed ULC_HEADER_IN_ALL_VIEWS, which basically shows the columns irrespectively of which other style you choose (wx.LC_REPORT, wx.LC_ICON, wx.LC_SMALL_ICON and so on). This is possibly one of the most useless style I ever came across in Microsoft UIs, but this is the explanation given by MS:

http://msdn.microsoft.com/en-us/library/bb774732.aspx

LVS_EX_HEADERINALLVIEWS

Windows Vista. Show column headers in all view modes.

I didn’t know any of that. Thanks for the detailed explanation. I knew there had to be one. I haven’t got my article done, but I got my own simple demo worked up already, so it shouldn’t be too much longer.

Just in case you’re still interested in it, I have added another demo for ULC in SVN, showing how to (more-or-less) reproduce the Windows 7 Explorer behaviour when the “Contents” view is selected using custom renderers in ULC. It’s called “Windows7Explorer_Contents.py” and can be launched standalone or from the main UltimateListCtrl.py demo file.

I’ll add another full-blown Windows 7 Explorer list view (with all the possible views provided by Explorer reproduced using ULC) when I’ll be able to make wxPython stop saying that “icon.SetHandle(hIcon)” generates a Python long int tooooooooooooooo long to be converted into some C++ crappy integer.

Andrea.

“Imagination Is The Only Weapon In The War Against Reality.”
http://xoomer.alice.it/infinity77/

import PyQt4.QtGui

Traceback (most recent call last):

File “”, line 1, in

ImportError: No module named PyQt4.QtGui

import pygtk

Traceback (most recent call last):

File “”, line 1, in

ImportError: No module named pygtk

···

On 30 October 2011 13:48, Mike Driscoll wrote:

On Sat, Oct 29, 2011 at 2:58 PM, Andrea Gavana andrea.gavana@gmail.com wrote:

On 28 October 2011 23:56, Mike Driscoll wrote:

import wx

Hi Andrea,

Just in case you’re still interested in it, I have added another demo for ULC in SVN, showing how to (more-or-less) reproduce the Windows 7 Explorer behaviour when the “Contents” view is selected using custom renderers in ULC. It’s called “Windows7Explorer_Contents.py” and can be launched standalone or from the main UltimateListCtrl.py demo file.

I’ll add another full-blown Windows 7 Explorer list view (with all the possible views provided by Explorer reproduced using ULC) when I’ll be able to make wxPython stop saying that “icon.SetHandle(hIcon)” generates a Python long int tooooooooooooooo long to be converted into some C++ crappy integer.

Andrea.

“Imagination Is The Only Weapon In The War Against Reality.”
http://xoomer.alice.it/infinity77/

This sounds interesting. I’ll take a look. Thanks!

···

Mike Driscoll

Blog: http://blog.pythonlibrary.org