[Pythoncard-users] Idea/suggestion for sizers
by Simon Willison other posts by this author
Apr 30 2002 11:44AM messages near this date
[Pythoncard-users] More screen shots
|
Re: [Pythoncard-users] Idea/suggestion for sizers
I don't know if this particular approach has been discussed before (I had a
quick look through the archive but didn't spot anything like this) so
here's my take on the sizer problem. At the moment, the position of
components is defined in the resourceEditor as a co-ordinate relative to
the top-left corner of the window. How about allowing the resourceEditor
user to change the "point of reference" for a component to one of the other
three corners? This would require a new property for components specifying
which corner they are relative to, but could allow users to create basic
resizable applications without having to dig in to the code.
As far as user interface goes I was thinking along the lines of the
currently selected corner being highlighted, with the user clicking on
different corners (or selecting them from a menu somewhere) to change the
point of reference. To avoid confusion lines could be displayed on the
canvas connecting the currently selected component to it's relative
corners. I've created a couple of mockup screenshots to show this (they're
hardly works of art but they should help demonstrate the idea):
http://www.bath.ac.uk/~cs1spw/images/PythonCard/relative-top-left.gif
http://www.bath.ac.uk/~cs1spw/images/PythonCard/relative-bottom-left.gif
The other interesting aspect of resizable applications is that some
components should change their dimensions as the page is resized. Looking
at the widgets available for PythonCard it strikes me that only a few
components would actually need to be resizable:
TextArea
StaticLine
StaticBox
Gauge (possibly)
Slider (possibly)
The simplest way of allowing a user to create a resizable component would
seem to be to allow the user to specify the component's dimensions as a
percentage rather than a fixed width in pixels (similar to how tables and
divs can be sized in HTML). I don't know how feasible it is to combine
fixed-relative-to-corner positioning with take-up-as-90%-of-available-space
positioning but from a resourceEditor user perspective the two combined
could create a very powerful but easy to use interface for creating
resizable documents.
That said, one thing that would be nice in the absence of sizer support
would be a "allow this application to be resized" option in the
resourceEditor Background Info dialog. I'd love to turn off the user's
ability to resize my application but I'm not confident enough to dive in
and try to hard code this using native wxPython code.
Regards,
Simon
_______________________________________________
Pythoncard-users mailing list
Pythoncard-users@[...].net
https://lists.sourceforge.net/lists/listinfo/pythoncard-users
Thread:
Simon Willison
Simon Willison
Dan Shafer
Kevin Altis
|