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

Reply via email to