In praise of ObjectListView

Hi all,
I just wanted to say that ObjectListView
(https://pypi.python.org/pypi/ObjectListView) is a really great tool.
Not only does it let me remove a good amount of extra code, it lets me
know my columns will at least be visible. I kept being told that some
or all of my columns were too small, and I needed to make them wider.
How wide, though, I didn't know, and setting them to auto-size
themselves somehow just made them even smaller.

ObjectListView, though, lets me set "isSpaceFilling" to True and that
makes things as wide as they can be. I still have to mess with the
proportions in some cases, but it's much better than using straight
wx.ListCtrl. I was even able to remove a signal section from my code,
because I don't need it anymore thanks to OLV's ability to refresh
data about the objects it owns. The whole conversion was very easy
once I got the basics down, and I'm not exaggerating when I say that
within an hour (not counting the initial reading of the docs), and
just three test runs of my app, I had my ListCtrl objects converted
and operating as expected.

I haven't yet played with editing, but it looks like I can hook into
that mechanism to easily create dialogs for each cell type. Someone on
this list said that in-place cell editing isn't accessible to screen
readers, but using OLV's system, I think I can make the next best
thing. I'm excited to try this out!

I'm not involved in this project or anything. I've just found it to be
a simple, very useful tool that was surprisingly easy to drop into my
project, and wanted to recommend it. I also wanted to offer thanks to
its creator(s), if any of them happen to see this, and to the person
on this list who suggested I use OLV in the first place. I don't know
about everyone else, but if you're a screen reader user trying to work
out column widths or unable to test column resizing, just use this
package instead. It'll make your life easier in terms of columns, but
also (and this is for anyone, screen reader user or not) in terms of
overall coding.

Hi Alex,

The author Phillip Piper moved on to C# some times ago (still on sourceforge at: ObjectListView — ObjectListView 2.9.1 documentation ) and as I kept using the Python version I did a friendly fork in 2014, after consulting with Phillip, to create a version of ObjectListView which is compatible with wxPython Phoenix and Python version 3 - see https://bitbucket.org/wbruhin/objectlistview the documentation is here ObjectListView — ObjectListView 1.3 documentation and you can install it using pip.

I will not have time to keep maintaining this fork, so if someone has the interest to take it on please let me know.

Werner

···

On 2/16/2016 21:55, Alex Hall wrote:

Hi all,
I just wanted to say that ObjectListView
(ObjectListView · PyPI) is a really great tool.
Not only does it let me remove a good amount of extra code, it lets me
know my columns will at least be visible. I kept being told that some
or all of my columns were too small, and I needed to make them wider.
How wide, though, I didn't know, and setting them to auto-size
themselves somehow just made them even smaller.

ObjectListView, though, lets me set "isSpaceFilling" to True and that
makes things as wide as they can be. I still have to mess with the
proportions in some cases, but it's much better than using straight
wx.ListCtrl. I was even able to remove a signal section from my code,
because I don't need it anymore thanks to OLV's ability to refresh
data about the objects it owns. The whole conversion was very easy
once I got the basics down, and I'm not exaggerating when I say that
within an hour (not counting the initial reading of the docs), and
just three test runs of my app, I had my ListCtrl objects converted
and operating as expected.

I haven't yet played with editing, but it looks like I can hook into
that mechanism to easily create dialogs for each cell type. Someone on
this list said that in-place cell editing isn't accessible to screen
readers, but using OLV's system, I think I can make the next best
thing. I'm excited to try this out!

I'm not involved in this project or anything. I've just found it to be
a simple, very useful tool that was surprisingly easy to drop into my
project, and wanted to recommend it. I also wanted to offer thanks to
its creator(s), if any of them happen to see this, and to the person
on this list who suggested I use OLV in the first place. I don't know
about everyone else, but if you're a screen reader user trying to work
out column widths or unable to test column resizing, just use this
package instead. It'll make your life easier in terms of columns, but
also (and this is for anyone, screen reader user or not) in terms of
overall coding.

I’ve been using this one since I’ve moved from C# to Python (wxPython) in particular. Though the C# version tends to have a lot of writings/discussion on its implementation, I like this simpleness of ObjectListView and infact i have made some subclass on handling the enter key, row selection for my project only.

If you want to add me on the fork of that bitbucket, I really love to contribute. The copy i’m using for my projects are from the fork you made on bitbucket.

Thanks.

···

On Wed, Feb 17, 2016 at 7:17 PM, Werner wernerfbd@gmx.ch wrote:

Hi Alex,

The author Phillip Piper moved on to C# some times ago (still on sourceforge at: http://objectlistview.sourceforge.net/cs/index.html ) and as I kept using the Python version I did a friendly fork in 2014, after consulting with Phillip, to create a version of ObjectListView which is compatible with wxPython Phoenix and Python version 3 - see https://bitbucket.org/wbruhin/objectlistview the documentation is here http://objectlistview-python-edition.readthedocs.org/en/latest/ and you can install it using pip.

I will not have time to keep maintaining this fork, so if someone has the interest to take it on please let me know.

Werner

On 2/16/2016 21:55, Alex Hall wrote:

Hi all,

I just wanted to say that ObjectListView

(https://pypi.python.org/pypi/ObjectListView) is a really great tool.

Not only does it let me remove a good amount of extra code, it lets me

know my columns will at least be visible. I kept being told that some

or all of my columns were too small, and I needed to make them wider.

How wide, though, I didn’t know, and setting them to auto-size

themselves somehow just made them even smaller.

ObjectListView, though, lets me set “isSpaceFilling” to True and that

makes things as wide as they can be. I still have to mess with the

proportions in some cases, but it’s much better than using straight

wx.ListCtrl. I was even able to remove a signal section from my code,

because I don’t need it anymore thanks to OLV’s ability to refresh

data about the objects it owns. The whole conversion was very easy

once I got the basics down, and I’m not exaggerating when I say that

within an hour (not counting the initial reading of the docs), and

just three test runs of my app, I had my ListCtrl objects converted

and operating as expected.

I haven’t yet played with editing, but it looks like I can hook into

that mechanism to easily create dialogs for each cell type. Someone on

this list said that in-place cell editing isn’t accessible to screen

readers, but using OLV’s system, I think I can make the next best

thing. I’m excited to try this out!

I’m not involved in this project or anything. I’ve just found it to be

a simple, very useful tool that was surprisingly easy to drop into my

project, and wanted to recommend it. I also wanted to offer thanks to

its creator(s), if any of them happen to see this, and to the person

on this list who suggested I use OLV in the first place. I don’t know

about everyone else, but if you’re a screen reader user trying to work

out column widths or unable to test column resizing, just use this

package instead. It’ll make your life easier in terms of columns, but

also (and this is for anyone, screen reader user or not) in terms of

overall coding.

You received this message because you are subscribed to the Google Groups “wxPython-users” group.

To unsubscribe from this group and stop receiving emails from it, send an email to wxpython-users+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Hi all,

I'm dredging up an old topic from a few months here. Major thanks to
Werner for providing a fork of OLV which works with Python 3 and Phoenix.

ObjectListView has a lot of great features, but the one I was most
pleasantly surprised to find was the efficient binary searching through
a large list, from the keyboard, using a search prefix. I was about to
roll my own implementation until I spotted this, so it's saved me lots
of time and testing.

However, there is one problem as things currently stand. When handling
keyboard events for search purposes, OLV uses the value of
wx.KeyEvent.GetUnicodeKey, checking whether the return value appears in
string.printable. But of course, string.printable is a string, so this
comparison fails.

Traceback (most recent call last):
  File "C:\Python34\lib\site-packages\ObjectListView\ObjectListView.py",
line 1410, in _HandleChar
    if self._HandleTypingEvent(evt):
  File "C:\Python34\lib\site-packages\ObjectListView\ObjectListView.py",
line 1457, in _HandleTypingEvent
    if uniChar not in string.printable:
TypeError: 'in <string>' requires string as left operand, not int

Has anybody fixed this in their own fork, before I go ahead and file an
issue and possibly a pull request? If not, would it be safe to simply use:

uniChar = chr(evt.GetKeyCode())

Rather than:

uniChar = evt.GetUnicodeKey()

Thanks for any feedback!

···

--
James Scholes
http://twitter.com/JamesScholes

And here comes git :slight_smile:

I intend however, when I find some time, to rewrite the tree, squashing oops commits, for a more compact history - so this fork is temporary. Any objections on that (rewriting the history) ?

I also intend to make it pycharm friendly

I have not looked at the code yet but I am aware since long of objectlistview and the project I maintain is in need of a better list control so I would like to give it a whirl

···

On Wednesday, February 17, 2016 at 12:17:24 PM UTC+1, werner wrote:

Hi Alex,

The author Phillip Piper moved on to C# some times ago (still on
sourceforge at: http://objectlistview.sourceforge.net/cs/index.html )

and as I kept using the Python version I did a friendly fork in 2014,
after consulting with Phillip, to create a version of ObjectListView
which is compatible with wxPython Phoenix and Python version 3 - see
https://bitbucket.org/wbruhin/objectlistview the documentation is here
http://objectlistview-python-edition.readthedocs.org/en/latest/ and you
can install it using pip.

I will not have time to keep maintaining this fork, so if someone has
the interest to take it on please let me know.

Werner

On 2/16/2016 21:55, Alex Hall wrote:

Hi all,

I just wanted to say that ObjectListView

(https://pypi.python.org/pypi/ObjectListView) is a really great tool.

Not only does it let me remove a good amount of extra code, it lets me

know my columns will at least be visible. I kept being told that some

or all of my columns were too small, and I needed to make them wider.

How wide, though, I didn’t know, and setting them to auto-size

themselves somehow just made them even smaller.

ObjectListView, though, lets me set “isSpaceFilling” to True and that

makes things as wide as they can be. I still have to mess with the

proportions in some cases, but it’s much better than using straight

wx.ListCtrl. I was even able to remove a signal section from my code,

because I don’t need it anymore thanks to OLV’s ability to refresh

data about the objects it owns. The whole conversion was very easy

once I got the basics down, and I’m not exaggerating when I say that

within an hour (not counting the initial reading of the docs), and

just three test runs of my app, I had my ListCtrl objects converted

and operating as expected.

I haven’t yet played with editing, but it looks like I can hook into

that mechanism to easily create dialogs for each cell type. Someone on

this list said that in-place cell editing isn’t accessible to screen

readers, but using OLV’s system, I think I can make the next best

thing. I’m excited to try this out!

I’m not involved in this project or anything. I’ve just found it to be

a simple, very useful tool that was surprisingly easy to drop into my

project, and wanted to recommend it. I also wanted to offer thanks to

its creator(s), if any of them happen to see this, and to the person

on this list who suggested I use OLV in the first place. I don’t know

about everyone else, but if you’re a screen reader user trying to work

out column widths or unable to test column resizing, just use this

package instead. It’ll make your life easier in terms of columns, but

also (and this is for anyone, screen reader user or not) in terms of

overall coding.