[MiroDev] preferences panel status
will
willg at bluesock.org
Wed Aug 20 23:05:25 EDT 2008
I whipped together a preferences panel and checked it in.
But... it's got some issues. Here's my brain dump:
1. It comes up on OSX, but the dialog is sized wrong. Clicking on
"tabs" pretty quickly brings up errors, but I think they're with the
widget code. Something about KeyError issues with Wrapper. There's
already a bug for it.
2. It's "functional", but really ugly. It looks like some jackass threw
it together in a 12 hour coding binge to get it done before he left for
8 days of vacation on a beach.
3. I abused the Dialog widget to get this to work. I think either we
should fix Dialog to allow us to set the size or make another derivative
of WindowBase for preference panel. I think the former is a better idea.
4. It uses a totally inappropriate use of Splitter. I'll fix that tomorrow.
5. Some preferences would be better as a spin button instead of a text
entry, but we don't have spin button widgets yet.
6. I wrote some code for bounds checking on integer and float
preferences. If you enter in a "bad number" outside the range, Miro
will fix it. However, there's no indication of what "good numbers" are.
Luc suggested we have tooltips and I think that's a good idea. We
definitely need something that allows us to give more explanation to
what these preferences do.
7. I didn't do the Folders panel. I thought about attempting it, but I
chickened out and decided it could be done later.
8. Since it computes the panels at the time it renders them, it should
allow for platform-specific panels. This theory is untested, but I'll
try to get to testing it tomorrow.
9. The module needs to be cleaned up and documented. I wrote a lot of
helper functions so when we implement a plugins api, we'll have a good
api for plugins to build their own preference panels (theoretically).
It also made writing the panel code easier.
I think that covers it. I'll try to fix some of the outstanding issues
tomorrow.
/will
More information about the Develop
mailing list