[plt-scheme] GUI guides?

From: Hugh Myers (hsmyers at gmail.com)
Date: Mon Jul 6 07:55:46 EDT 2009

Good point. Are you saying this is the wrong approach to correctly
sizing a window displaying a chess font? If so what would you


On Sun, Jul 5, 2009 at 10:00 PM, Hugh Myers<hsmyers at gmail.com> wrote:
> The key to width of text is:
>> (define dc (send c get-dc))
>> (send dc get-text-extent "123456787" (make-object font% 24 "Chess Adventurer" 'symbol))
> 264.0
> 32.0
> 0.0
> 0.0
> This while the dc in question exists...
> --hsm
> On Sun, Jul 5, 2009 at 9:12 PM, Hugh Myers<hsmyers at gmail.com> wrote:
>> Added to list:
>> Care and feeding of Status Line---a subject worth a guide in of itself:
>> Create a status line
>> Open a status line
>> Write to a status line
>> Close a status line
>> Remove a status line
>> Note that the overall status line is partitioned into writable areas.
>> For instance for a chess board, I would want to show the move text,
>> the move number and the move ply (move number without regard to color;
>> ply 1 is move 1 as is ply 2 [white's move followed by black's move
>> etc.]). Perhaps also information on castling, draw information etc. An
>> example rich environment.
>> --hsm
>> On Sun, Jul 5, 2009 at 8:41 PM, Hugh Myers<hsmyers at gmail.com> wrote:
>>> Thanks for the pointer to dc% What you mention seems like a logical
>>> (heaven forbid) arrangement given the concepts involved. Having
>>> survived the age of roll-your-own gui (usually text), original
>>> windows, and then MFC this should be just another notch in my
>>> gui-belt. Even as we e-speak I'm in the middle of investigating frame%
>>> which has some of the answers in my shopping-list. I think one of the
>>> things that will be in my version of 'GUI Editor Guide' will be a list
>>> of what all can be set/modified for a given window. Sometimes it is
>>> easier to pick and choose from such a list than to comb a detailed
>>> reference--- I think as a guide, this approach might be the one to go
>>> with.
>>> --hsm
>>> On Sun, Jul 5, 2009 at 6:51 PM, Ryan Culpepper<ryanc at ccs.neu.edu> wrote:
>>>> Hugh Myers wrote:
>>>>> Am solving some of these as I try and think of questions to ask. Some
>>>>> of the answers raise questions about what is or isn't do-able. For
>>>>> instance given fixed width symbol font (like all chess fonts) it would
>>>>> be nice to ask how wide and how tall a given text string is. This
>>>>> could be used to 'size' the window before display. Nothing I've seen
>>>>> yet even hints that this is possible, yet it seems quit reasonable.
>>>> I think you want 'get-text-extent' in 'dc<%>' (drawing context).
>>>> Here are some rough guidelines:
>>>>  - 'editor<%>' and 'text%' deal with the text, its styles, modifications to
>>>> the text, high-level display concerns (word wrapping, visible/ region, etc).
>>>>  - 'canvas<%>' and 'editor-canvas%' deal with the gui concerns: dimensions
>>>> of the editor widget, its auxiliary gui elements (scrollbars), etc.
>>>>  - 'dc<%>' deals with rendering issues, like how big a string in a
>>>> particular font will be rendered on screen.
>>>> Browsing those classes and interfaces is a good way to get an idea of what
>>>> functionality is available and how it's provided. Remember to look at the
>>>> superclasses and superinterfaces, too.
>>>> Ryan

Posted on the users mailing list.