greetings,
it's long time with no news, I hope some of you are still playing
with the module ;-)
I think I'll throw out Win32::GUI next release on the mailing list 
somewhere in the weekend, and I wanted to anticipate some of the
news/changes so far:

New control classes:
    Win32::GUI::Timer
    Win32::GUI::UpDown
    Win32::GUI::Slider
    Win32::GUI::Animation
    Win32::GUI::Tooltip
they are all pretty operative except tooltips, on which I'm
still working on.

New non-control classes:
    Win32::GUI::DC
    Win32::GUI::Brush
    Win32::GUI::Pen
they are intended to do some colorful drawing in a window :-)
supported DC methods are:
    AbortPath
    Arc
    BeginPath
    BkMode
    Circle
    Ellipse
    EndPath
    Fill
    FillPath
    GetPixel
    InvertRect
    LineTo
    MapMode
    MoveTo
    Pie
    Rectangle
    Restore
    Save
    SetPixel
    StrokeAndFillPath
    StrokePath
    TextColor
    TextOut
phew! I think there's enough to have some fun, for now :-)

I've also added a cool SaveBMP() function to dump the content 
of a window into a bitmap file.

...and now for the big things: architectural changes!
the biggest one is that basically you don't need to
create variables to access a window's controls, eg.
you don't need:

$Button1 = $Window->AddButton( ... );

but, instead:
   
$Window->AddButton(
    -name => "Button1",
    ...
);

and "Button1" (the -name of the child control) becomes a key in 
the $Window object (read: hash), so that you can access its methods 
with:

$Window->{"Button1"}->Text();

furthermore, I've tweaked an AUTOLOAD mechanism that enables
such "keys" to be seen as subroutines, so you can even use:

$Window->Button1->Text();

to reduce your typing stress ;-)
of course, the old way is still "supported", eg. is always valid
to have a $Button1 variable.
I've tested all this and it seems to work fairly, let me know
what do you think and... hold your breath for the next build :-)

other than that, I'm working on some *precious* suggestions
by Dave Roth (you're great, Dave! :-) to have a version that
will work with every perl build around (ActivePerl 5xx, 
ActiveState 3xx, "core" 5.004 and 5.005) and to extend the
message processing and event triggering capabilities.
great things, but I didn't had time yet to make it real...

hope that's enough to keep you awake :-)

bye,
Aldo Calpini
<[EMAIL PROTECTED]>

 LIBERA ME DOMINE DE MORTE AETERNA
 IN DIE ILLA TREMENDA
 QUANDO COELI MOVENDI SUNT 
 ET TERRA





Reply via email to