Hi Jez,

I didnt say there wouldn't be bugs in it :)

I've updated the CVS, it was a stupid mistake (casting a tooltip handle to
an imagelist handle - DUH), so it should work now. Let me know of any other
bugs, I'm sure there will be plenty as I did not have time to fully test
things like imagelists on it.

Steve

----- Original Message ----- 
From: "Jez White" <[EMAIL PROTECTED]>
To: "Stephen Pick" <[EMAIL PROTECTED]>; "Win32 GUI Hackers (E-mail)"
<perl-win32-gui-hackers@lists.sourceforge.net>
Sent: Tuesday, February 17, 2004 7:24 PM
Subject: Re: [perl-win32-gui-hackers] CVS update: Toolbars


I'm having problems building using ming. I get the following error:

C:\development\Win32-GUI-0.0.670>nmake install

Microsoft (R) Program Maintenance Utility   Version 1.50
Copyright (c) Microsoft Corp 1988-94. All rights reserved.

        C:\Perl\bin\perl.exe -IC:\Perl\lib -IC:\Perl\lib
C:\Perl\lib\ExtUtils/xs
ubpp  -typemap C:\Perl\lib\ExtUtils\typemap -typemap typemap Toolbar.xs >
Toolba
r.cpp




    gcc -c  -g -O2 -DWIN32 -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-
strict-aliasing -DPERL_MSVCRT_READFIX -g -O2    -DVERSION=\"0.0.670\"  -DXS_
VERS
ION=\"0.0.670\" -DHASATTRIBUTE -IC:\Perl\lib\CORE -D__MINGW__ Toolbar.cpp
Toolbar.xs: In function `BOOL Toolbar_onParseOption(char*, SV*,
   tagPERLWIN32GUI_CREATESTRUCT*)':
Toolbar.xs:24: cannot convert `_IMAGELIST*' to `HWND__*' in assignment
Toolbar.xs: In function `void
   XS_Win32__GUI__Toolbar_ChangeBitmap(PerlInterpreter*, CV*)':
Toolbar.xs:320: warning: cast from pointer to integer of different size
NMAKE : fatal error U1077: 'C:\WINDOWS\system32\cmd.exe' : return code '0x1'
Stop.

If I comment out the line, it builds ok.

Cheers,

jez.
----- Original Message ----- 
From: "Stephen Pick" <[EMAIL PROTECTED]>
To: "Win32-Gui-Users (E-mail)" <[EMAIL PROTECTED]>;
"Win32 GUI Hackers (E-mail)" <perl-win32-gui-hackers@lists.sourceforge.net>
Sent: Tuesday, February 17, 2004 1:58 PM
Subject: [perl-win32-gui-hackers] CVS update: Toolbars


Hi,

I've just spent the morning converting and documenting Rammy's perl toolbar
functions into XS. They're now in the CVS.

The new functions are as follows:
# (@)METHOD:SetButtonState(BUTTON, STATE)
# (@)METHOD:SetStyle(STYLE)
# (@)METHOD:SetExtendedStyle(STYLE)
# (@)METHOD:GetStyle(STYLE)
# (@)METHOD:MoveButton(BUTTON, TARGET)
# (@)METHOD:SetImageList(IMAGELIST)
# (@)METHOD:SetHotImageList(IMAGELIST)
# (@)METHOD:SetDisabledImageList(IMAGELIST)
# (@)METHOD:GetImageList()
# (@)METHOD:GetHotImageList()
# (@)METHOD:GetDisabledImageList()
# (@)METHOD:ChangeBitmap(BUTTON, BITMAP)
# (@)METHOD:CheckButton(BUTTON, CHECKED)
# (@)METHOD:DeleteButton(BUTTON)
# (@)METHOD:SetToolTips(TOOLTIP)

SetToolTips is not really needed, as you should be able to assign a tooltip
object using the -tooltip option when constructing the toolbar now. Same
thing with SetImageList; you should be able to use -imagelist to set an
imagelist now.

Note that there is already a Padding() method for the toolbar so I didnt add
Rammy's padding one which seemed to do a similar thing. I've also
(hopefully) fixed the "tooltips crash application on exit" bug that appeared
when I ran Rammy's test code.

There is some safety checking on SetImageList, AddBitmap and ChangeBitmap.
You cannot call SetImageList and AddBitmap/ChangeBitmap on the same toolbar
as microsoft says this would be a really bad idea, so you get a croak about
it if you try it.

Another thing is, I've modified the ButtonClick event so that when a button
that has the TBSTYLE_DROPDOWN style applied to it is clicked, an extra
argument gets passed to ButtonClick with the value of 1. This allows you to
tell if you need to show a drop-down menu.

There have been a ton of constants added to GUI.pm and GUI_Constants.cpp, so
you can use most of the regular toolbar styles, extended styles, button
styles etc. One word of warning is to avoid using the BTNS_*** constants and
use the TBSTYLE_*** equivalents instead, as the availability of the BTNS_***
constants depends on the headers and compiler used (they're a new thing).

I added dwFlags to the USERDATA and CREATESTRUCT structs. This dword is
intended to store any per-object flags needed. for instance, the toolbar
uses FLAGS_TB_HASBITMAPS to remember if AddBitmap has been called and
complain if the user attempts to SetImageList on the same toolbar object.
Developers: add flags as you see fit.

One last thing. We're running out of mask bits in the NEM. Are they really
needed? The mask only appears to be used as a speed thing (to avoid doing a
hash lookup for each event) so perhaps it would be more sensible to group
some events together or something? Thoughts please...

Steve


-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id56&alloc_id438&op=ick
_______________________________________________
Perl-Win32-GUI-Hackers mailing list
Perl-Win32-GUI-Hackers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/perl-win32-gui-hackers



-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id56&alloc_id438&op=ick
_______________________________________________
Perl-Win32-GUI-Hackers mailing list
Perl-Win32-GUI-Hackers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/perl-win32-gui-hackers


Reply via email to