On approximately 1/7/2004 1:47 AM, came the following characters from
the keyboard of Stephen Pick:
Hi,
I've identified about 4000 constants from CommCtl.h and WinUser.h that are not
exported by Win32::GUI.
I've autogenerated a GUI_Constants.cpp but I'm reluctant to add it to the
current CVS as it seems like an incredible bloat.
Perhaps this absolutely huge list of constants could be a support module for
Win32::GUI?
E.g.:
use Win32::GUI::Constants
Good idea or should they just be added to the base Win32::GUI? Remember that in
Perl code these constants are rarely asked for (but are nevertheless
important), so there won't be a noticeable speed hit, just a size increase
(GUI.pm and GUI_Constants.cpp will grow by about 70kb and 800kb respectively).
Steve
Well, I recently added the TPM_* constants directly to Win32::GUI.
One could make the argument that we could just add them as we need them,
or we could be proactive, as you seem to have been, and decide to add
them all. Certainly, there are probably applications for which each
individual constant could be useful.
I guess I don't have a problem with the bloat of adding them directly to
Win32::GUI.
If others do, then perhaps one could write them as separately package
constant packages, if there is a good way to divvy them up. I could see
where they could be useful to people that don't use Win32::GUI but do
use Win32::API, for example. So a structure like
Win32::Constants::WM
Win32::Constants::WM_NOTIFY
Win32::Constants::TPM
etc. Could allow people to simply include the constant packages that
they need. Or maybe that is more trouble than it is worth, given that
they are somewhat dynmaically loaded anyway, so maybe just a single big
package of all the Windows constants would be fine. Or a big package,
but with a clever exports list, that would allow not individual
constants to be exported, but groups like the proposed packages above.
--
Glenn -- http://nevcal.com/
===========================
The best part about procrastination is that you are never bored,
because you have all kinds of things that you should be doing.