Owl's Blog on .NET development

Component Owl codes Better ListView control all night so you don't have to.

Synergy of Better ListView and Our Applications

When developing sofware application, a custom component of some non-trivial scale is sometimes needed. Complex components are often created in companies as internal, single-purpose projects and never see wider public. This would be the case with our custom ListView component, but its scale and versability convinced us to made it available for others. You can read the story behind, or just take a look on how exactly we use it.

We at Dextronet are developing several desktop applications, which benefits from custom components. Our flagship product Swift To-Do List and ImagingShop (yet in the docks) both needed a serious visual component for major part of its client area. Look at screenshots of these applications:

Swift To-Do List ImagingShop

It may not be noticeable where the ListView-like component is, so there is the highlighted version:

Swift To-Do List ImagingShop

These parts look very different, as the applications have different purpose. One is a task management/sheduling software, and the second is a photo management/editing software.

In the first case, we have to deal with specific requirements like multi-column sorting, cell highlighting, item reordering and of course many, many more

In the second case, photo application required display of arbitrarily-sized thumbnails, custom tooltips and multi-line captions.

It was apparent, that the .NET ListView is not able to fullfill all of these requirements even if we bend and customize it to the limit. ListView is also a visual component of long history dating back to the earliest versions of Microsoft Windows. During its lifetime, it grabbed problematic stuff, that have to be kept for backward compatibility.

And the .NET ListView is a wrapper around all this. It contains hacks and workarounds to make it work more properly. Even with all that, try to display a backround watermark image while retaining Vista visual style. Impossible.

So we designed a control that lacks all the bugs and drawbacks of the .NET ListView while containing all the sweet features. It was ready to use for our needs.

But it has some 40 K lines of code and aspiring to be itself a product. We decided to develop Better ListView as a commercialy available component at the very beginning of its development.

We agreed on this kind of win-win-win strategy (for the end-user, for customer-developer, and for us) and hope all will benefit from maintaining a better Better ListView :-)

Leave a Reply