Hi all,
I've just committed my Christmas set of changes. There's quite a bit here:
- Label.xs correct -truncate option processing, as SS_.*ELLIPSIS.*
styles are not single bits
Using the Win32::GUI::Label -truncate option was broken - fixed it.
Note that this option can only be used with WinNT and higher (i.e. it
is ignored by Win98).
- NotifyIcon.xs, GUI_Options.cpp, GUI.pm re-work NofifyIcon
class. Add balloon tooltips. Add support for message behaviour. Add
support for setfocus. Add documentation. (Tracker: 1065072)
- t\05_NotifyIcon*.t, MANIFEST Notify Icon Tests added
- samples\NotifyIcon.pl, MANIFEST add demo app
Re-worked the NotifyIcon class, added Balloon tips (for Shell.dll
version 5 and higher only - IIRC that's Win2K and higher only).
Deprecated (with warning) nasty old way of calling Delete(-id => ... )
to remove an icon; deprecated need to set -id option in constructor;
Added documentation, sample and tests
New options -ballooon_tip, -balloon_title, -balloon_icon and
-balloon_timeout; New methods ShowBalloon(), HideBalloon(),
SetFocus(), SetBehaviour(); See documentation for details.
- GUI.pm Changed initial value of $Win32::GUI::MenuIdCounter to avoid ID
clash with predefined WM_COMMAND values (IDOK, IDCANCEL, etc.)
Discovered that a Window with -dialogui => 1 and no default button
fired the first menu item when ENTER pressed. Fixed.
- GUI.xs Fix SendMessageTimeout to match documentation and return
undef on failure. (XSRETURN_UNDEF rather than XSRETURN_NO).
- GUI.pm corrected documentation of default values for autohscroll
and autovscroll in Textfield documentation
- GUI_MessageLoops.cpp added processing of WM_NEXTDLGCTL to
CommonMessageLoop to allow for tabbing out of multiline Textfields
when using -dialogui
- GUI_MessageLoops.cpp fixed WM_ERASEBKGND (Tracker:1363141)
WM_ERASEBKGND was not doing its stuff when called from BeginPaint
by DefWindowProc, and we had a -background option. This due to
BeginPaint Validating the update region before calling WM_ERASEBKGND
- Splitter.xs, GUI_Helpers.cpp, GUI.h re-worked splitter class.
(Tracker:1363141)
Re-wrote the splitter class, in an attempt to fix the problems
reported in Tracker 133141 (drawing problems). Fixed several
potential problems (related to losing mouse capture without getting
a mouse-up), but not this one. It looks like it is a RichEdit
re-draw problem, and nothing to do with the splitter class. I'll
deal with this in a seperate mail.
- RichEdit.xs made -background and -foreground work
- GUI_MessageLoops.cpp made -background work for Splitter windows
- GUI_Helpers.cpp removed an unnecessary dTHX, replacing it with
PERLUD_FETCH
- Upped version to 1.03_02
As my NotifyIcon.pl sample has a dependancy on these code changes,
allowing use Win32::GUI 1.03_02;
Compiles and tests OK on Win98, VC++ 6. I haven't tried MinGW or
Cygwin environments. The NotifyIcon changes have been tried on Win2K,
but I haven't run the new NotifyIcon tests there.
Regards,
Rob.
Regard