Update of /cvsroot/perl-win32-gui/Win32-GUI/Win32-GUI-ReleaseNotes In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21242/Win32-GUI-ReleaseNotes
Added Files: Makefile.PL ReleaseNotes.pod RN_0_0_502.pod RN_0_0_588.pod RN_0_0_665.pod RN_0_0_670.pod RN_0_0_671.pod RN_0_99_1.pod RN_1_0.pod RN_1_02.pod RN_1_03.pod RN_1_04.pod Log Message: Doc updates and add Win32::GUI::ReleaseNotes --- NEW FILE: RN_0_0_588.pod --- =head1 Win32::GUI::ReleaseNotes::RN_0_0_588 This is the release notes for Version 0.0.588 of Win32::GUI =head1 Release Date 21st January, 2001 =head1 Summary of Changes This version solves various bugs, including: - memory leak - out of memory error with the -filter option in GetOpenFileName and GetSaveFileName - lot of warnings in Win32::GUI::Dialog B<PLEASE NOTE:> I've made heavy changes in the internal working of the module, so I'm not 100% sure that everything works fine. The good news is that the module is a lot faster now :-) Please make extensive tests, and report anything that used to work and doesn't anymore. =head1 Contributors to this release Unknown =cut --- NEW FILE: RN_0_99_1.pod --- =head1 Win32::GUI::ReleaseNotes::RN_0_99_1 This is the release notes for Version 0.99_1 of Win32::GUI =head1 Release Date 2nd October, 2004 =head1 Summary of Changes This is first Release candidate for Win32::GUI v1.0. This version is a main development branch of Win32::GUI based on a rewritten base code. - Completely new base code. - Full NEM/OEM support. - Lot of control Win32 API method. - Preserved Perl context. - New DoModal. - More documentation. - MDI application support. - Add MonthCal control. ... =head1 CHANGELOG + [Laurent Rocher] : - Readme.txt, readme, GUI.pm, GUI.xs + VERSION to 0.99_1 for first release candidate to 1.0 - Add somes samples + [Glenn W Munroe] : - ListView.xs : + Add more events and new style flag. + [Glenn Linderman] : - GUI.pm + Bump VERSION to 0.0.682 - GUI.xs : + Minor fix to -multisel handling for GetOpenFileName + Fix to Scroll to support 32 bit range for SB_THUMBTRACK and SB_THUMBPOSITION - samples/BitmapScroll.pl + Enhancements. + [Laurent Rocher] : - MakeFile.pl, MakeFile_m.pl + Use tab as space in rule for use with dmake - GUI.pm, GUI.xs + Add -brush option for Win32::GUI::Class. - GUI_Helper.cpp + classname_From and handle_From : Replace strlen as static string length. - Window.xs, GUI_MessageLoops.cpp, Samples\BitmpaScroll.pl : + Move Paint event in Window_onEvent. + Use DoEvent_Paint function like Graphic - ToolTip.xs : + Add -balloon option + [Glenn Linderman] : - GUI.xs : + Deprecate -overdriveprompt in favor of -overwriteprompt in GetSaveFileName + [Glenn Linderman] : - GUI.xs : + Add extra, optional parameter to Win32::GUI::Scroll to better support dynamic display of windows when scrolling. The internals add support for the SB_THUMBTRACK event. + [Glenn Linderman] : - GUI.pm : + Add definition of @acc to Win32::GUI::AcceleratorTable::new to avoid cumulative accelerator key references among windows + [Jeremy White] : Added -onPaint event for windows - Window.xs, GUI_MessageLoops.cpp + Added -onPaint event for windows + [Laurent Rocher] : - GUI.pm, GUI_Constants.cpp : + Add MessageBox return value constants. - GUI.xs : + Create : Force a window name for all control. + Add MessageBeep. + ChooseFont : Change -size by -pointsize option and return value. - GUI_Events.cpp : + DoEvent_Menu : Add Self for NEM event. - GUI_Helpers.cpp : + Perlud_Free : Check if svSelf is a valid SV before use it. - GUI_MessageLoops.cpp : + WindowMsgLoop : Add WM_INITMENU event. - Textfield.xs : + Fix EN_UPDATE event handler name. + New Methods : CanPaste & HaveSel. - Window.xs: + New InitMenu event. - Samples\Notepad.pl : New file + [Jeremy White] : Added example and new function - samples\BitmapScroll.pl - GUI.xs + Added LoadString Function + [Glenn Linderman] : Fix GetOpenFileName - GUI.h: + change VERSION - GUI.xs: + change GetOpenFileName to support -multisel => N, where N is multiplied by 4000 to obtain the results buffer size. The minimum results buffer size is 256 for N <= 0, and 4000 for N == 1. + [Laurent Rocher] : Add MonthCal Control - MonthCall.xs : New file - GUI.h : + Add new event argtype for SV*. + New MonthCall control callback function and constant. - GUI.pm : + Add MonthCall control. - GUI_Constants.cpp : + Add MonthCall class constant. - GUI_Events.cpp : + DoEvent : Add new type argument for SV*. - GUI_Helpers.cpp : + Add MonthCall control. - Makefile.pl, Makefile_m.pl : + Add MonthCall.xs - Samples\MonthCal.pl : New file - Docs\DoDoc.pl : + Add MonthCall.xs + [Steven M. Martin] : Fix TextField -prompt option. - GUI.pm : + Win32::GUI::Textfield new : Fix TextField -prompt option when prompt left was negative. + [Jeremy White] : New Events for Treeview control - TreeView.xs + Added BeginLabelEdit Event + Added EndLabelEdit Event + [Laurent Rocher] : Fix IdFirstChild option for MDIClient. - GUI.pm : + Remove registered class for MDIClient. - GUI.xs : + RegisterClassEx : Remove MDIClient value for -widget option. + Create : SubClass MDIClient window. + Added SetActiveWindow. - GUI_MessageLoops.cpp : + MDIClientMsgLoop: Rewrite as simple subclass MsgLoop. - MDI.xs : + MDIClient_onPreCreate : Change classname. + MDIChild_onPreCreate : Change default style. + [Laurent Rocher] : Restore AUTOLOAD - GUI.pm : + Uncomment AUTOLOAD + Add AUTOLOAD to MDIFrame, MDIClient. + [Laurent Rocher] : Add MDI Window Support and Fix Tied property & Window Destruction. - GUI.h : + Added new MDI Constants and Callback functions. + Added a dwData field in PERLWIN32GUI_USERDATA. - GUI.pm : + _new : Fix tied hash property. + Comment AUTOLOAD in Win32::GUI::Window : Is usefull ? + New Win32::GUI::MDIFrame, Win32::GUI::MDIClient, Win32::GUI::MDIChild class. + Win32::GUI::WindowProps : Fix Destroy managing. + Register new class for MDI. - GUI.xs : + In GetKeyboardState : Use a stack array for key. + In RegisterClassEx : + Added MDIFrame, MDIClient, MDIChild widget option. + Avoid reccursive Window Msg Loop call. + In Create : + Use a weaken reference for perlpud->SvSelf for clean reference count and memory free. + Added MDI support. + Added dwData field support. + In Change : Added MDI support. + In Dialog, DoEvents, DoModal : Added MDI event loop support. + LockWindowUpdate : Rewrite shorter. - GUI_Constants.cpp : + Added MDI class constants. - GUI_Helpers.cpp : + Addes MDI class callback. + Perlud_Free : Correct destruction problem. - GUI_MessageLoops.cpp : + In CommonMsgLoop : Don't manage WM_GETMINMAXINFO for MDI Child. + In WindowMsgLoop : + Added support for WndProc call. + For WM_DESTROY, call default MsgLoop before free perlud. + Handle WM_MDIACTIVATE & WM_SETFOCUS for MDI Window. + Added DefMDIFrameLoop and MDIFrameMsgLoop for MDIFrame Window. + Added MDIClientMsgLoop for MDICLient window. + Added DefMDIChildLoop and MDIChildMsgLoop for MDIChild Window. - GUI_Options.cpp : + In ParseWindowOptions : Added a missing else for class specific option parsing. - Makefile.pl & Makefile_m.pl : Add new MDI.xs file. - MDI.xs : Manage MDI window. - Window.xs : Remove MDI class and add MDI event documentation. - Samples\MDI.pl : New Sample form MDI use. - Docs\DoDoc.pl : Add new MDI.xs file. + [Jeremy White] : DoModal bug fix (windows would flicker) + [Jeremy White] : New methods/functions (from Adhoc.pm by Johan Lindstr?m). - DC.xs + Added SetBrushOrgEx Method + Added GetBrushOrgEx Method - GUI.xs + Added LockWindowUpdate Method + Added GetKeyboardState Function + Added GetAsyncKeyState Function + [Jeremy White] : New DC method - DC.xs + Added DrawIcon Method + [Jeremy White] : New Window method - GUI.pm + Added Center method (Code from Adhoc.pm by Johan Lindstr?m). + [Jeremy White] : Improvements in Windows GDI support. - DC.xs + Changed Region constructors to use object calling convention + [Jeremy White] : Improvements in Windows GDI support. - DC.xs + CreateCompatibleDC method now returns a DC object + Added CreateCompatibleBitmap method + Added Line method (combination of MoveTo and LineTo) + Added Win32::GUI::Region object (used for clipping) + Added CreateRectRgn + Added CreateEllipticRgn + Added CreateRoundRectRgn + Added PtInRegion + Added RectInRegion + Added SetRectRgn + Added OffsetRgn + Added GetRgnBox + Added EqualRgn + Added SelectClipRgn + Added FillRgn + Added FrameRgn + Added InvertRgn + Added PaintRgn + [Laurent Rocher] : Add new options and documentation. - Button.xs : + Add new style option and documentation. - Combobox.xs + Add new style option and documentation. - Header.xs + Add new style option and documentation. - GUI_Helper.cpp : + CreateObjectWithHandle : Fix memory leak - GUI.pm : + Add documentation. - Label.xs : + Add new option. - Rebar.xs : + Add new option. - Trackbar.xs : + Add documentation. - Window.xs : + Add documentation. + [Laurent Rocher] : Complet ImageList and TabStrip API. - Font.xs : + Improve parsing font options. - GUI.h : + Add new prototype. - GUI.pm : + Add method AddMasked for ImageList. + Add method Change for NotifyIcon. - ImageList.xs: + Add new methods and documentation. - StatusBar.xs: + Add new style option. - TabStrip.xs: + Add new methods, styles options and documentation. - Trackbar.xs : + Change styles name options. - Todo : + Complete todo + [Laurent Rocher] : Complet Tooltip API. - GUI.h : + Add new prototype. - GUI_Options.cpp : + Add ParseTooltipOptions. - ToolTip.xs : + Complet API. + [Laurent Rocher] : Fix some build problem with perl5.6 and remove some MinGW warning. + [Laurent Rocher] : Complete API and documentation - Combobox.xs, DateTime.xs, GUI.pm, GUI.xs : + Add some documentation - DC.xs : + Add lot of new methods - GUI.h : + Add some new prototype - GUI_Options.cpp + Add new parse options function. - Header.xs : + Add new methods and styles options. - Label.xs : + Add new styles options. - Listbox.xs : + Add new styles options and documentation. - ListView.xs : + Add new methods, styles options and documentation. - Rebar.xs : + Add new methods, styles options and documentation. - Toolbar.xs : + Add new methods, styles options and documentation. - Trackbar.xs : + Add new styles options and documentation. - TreeView.xs : + Add new styles options and documentation. - TYPEMAP + Add HRGN. + [Laurent Rocher] : New Accelerator event NEM code. - GUI.h : + Add FindChildWindowsProc prototype and search typedef struct. - GUI_Events.cpp : + Rewrite DoEvent_Accelerator. - GUI_Helpers.cpp : + Add FindChildWindowsProc for search a child with specific name. + [Laurent Rocher] - GUI.h : + Add Animate_OpenEx macro for MinGW + Add a IS_MODAL dwPlStyle flag. + Add EnableWindowsProc callback. - GUI.xs : + DoModal() : - Return false if function already in DoModal. - Add a boolean parameter for disable all Top Window and not only parent/caller. - GUI_Helpers.cpp : + Add EnableWindowsProc : Activate or Deactivate current thread top window. - GUI.pm : + Remove Win32::GUI::Window::DESTROY because unecessary and conflict with Win32::GUI::WindowProps. + [Laurent Rocher] - UpDown : + Fix Scroll event. - GUI_Events.cpp : + In DoEvent_* functions : PERLWIN32GUI_EVENTHANDLING is set after event call. + [Laurent Rocher] [#627779] : Not able use with embedded perl [#918896] : No [Dbl]RightClick events in NEM [#921170] : 670: DC Circle strange arguments [#918899] : No NotifyIcon support in NEM [#880798] : Accelerators don't work with NEM Add destroy window mechanism and free perlud ressource when windows destroy Add NEM support for notifyIcon. Add full mouse support (left/middle/right mousedown, mouseup, mouseDblClick) - Annimation.xs : + Correct Event handling and add OpenEx method. - Button.xs : + Use dwFlags & dwFlagsMask in perlcs for set check state. + Fix GetCheck and SetCheck Alias. - Combobox.xs : + Add ComboboxEx ExtendedStyle. + Add some documentation and missing methods. - DC.xs : + Fix Circle method. - GUI.h : + Add new dwFlagsMask value in PERLWIN32GUI_CREATESTRUCT and a BitmaskOptionValueMask macro + Add PERLUD_FREE macro calling new Perlud_Free function. + Add new common Event constant. - GUI.pm : + Win32::GUI::_new : Use tie return value for safe. + Win32::GUI::Window::DESTROY : Change timer/notifyicon clean up (probably no more need). + Win32::GUI::Timer : Change new and Destroy method. We store timer name in -timers parent hash, and Timer object only 1 time as parent child. We don't store window parent reference in Timer object for avoid circular reference. + Win32::GUI::NotifyIcon : Change new and Destroy method. Same mechanism than Timer. + In Win32::GUI::WindowProps HASH mechanism : Add a DESTROY method and call DestroyWindow for remove Self Window. - GUI.xs : + RegisterClassEx() : Unregister class if first register fail, and re-try to register. + Create : Increment self reference when add to parent hash. + DoModal : Remove a forget printf. - GUI_Events.cpp : + DoEvent_Timer() : Change timer name search (related new method change) + DoEvent_NotifyIcon() : Change NotifiIcon name and object search (related new method change) and add NEM event support. - GUI_Helpers.cpp : + Add Perlud_Free : Free all allocated data in perlud (hvEvent, avHooks, svSelf and perlpud). Use PERLUD_FREE macro for call it. - GUI_MessageLoops.cpp : + Add PERLUD_FREE on WN_DESTROY event. + Add new standard event : MouseDblClick, MouseRightDown, MouseRightUp, MouseRightDblClick, MouseMiddleDown, MouseMiddleUp, MouseMiddleDblClick, Char. + Add new NotifyIcon event : DblClick, RightDblClick, MiddleClick, MiddleDblClick. + In CustomMsgLoop : Call ControlMsgLoop if PERLWIN32GUI_INTERACTIVE style flag is set. - GUI_Options.cpp : + ParseNEMEvent : Add new standard event. + Add ParseNotifyIconOptions and ParseNEMNotifyIconEvent : add NEM support for NotifyIcon. - NotifyIcon.xs : + Use ParseNotifyIconOptions for parsing option and NEM event. - Splitter.xs : + Splitter_onEvent : Fix PerlResult return. - Window.xs : + Graphic_onEvent & Graphic_onParseEvent : Clean Interactive graphics event handling. Now, CustomMsgLoop call ControlMsgLoop if PERLWIN32GUI_INTERACTIVE style flag is set. + [Laurent Rocher] - GUI.h : PERLUD_FROM_WND macro return now 0 (MingW Warning). - GUI.pm : + new Graphic method use standard _new creation (and replace hard coded constant) + Fix timer DESTROY - Window.xs : Graphic_onEvent return Perlresult (and not 0). + [Laurent Rocher] [#673252] : Win32::GUI and PERL_CONTEXT [#879424] : Modal Window Support - New Base code : + Separate each control in a specific XS file. + Add callback function for each control (onPreCreate, onParseOption, onPostCreate, onParseEvent, OnEvent). + Rewrite Event Loop. + Merge all event firing code in on function (DoEvent) for OEM and NEM. + New DoModal function. + Improve Change method. + Add lot of control Win32 API method. (Keep alphabetical order and standard API name). + Add new events for control. + Some Clean Up. + Reduce size of allocate structure per window. + Add Perl context handling. - Fix doc tools generator (DoDoc.pl and DoHtml.pl) =head1 Contributors to this release =over =item Glenn Linderman =item Glenn W Munroe =item Jeremy White =item Laurent Rocher =item Steven M. Martin =back =cut --- NEW FILE: Makefile.PL --- #!perl -w use strict; #use warnings; # Makefile.PL for Win32::GUI::ReleaseNotes # $Id: Makefile.PL,v 1.1 2006/07/16 11:09:33 robertemay Exp $ use 5.006; use ExtUtils::MakeMaker; use File::Find(); my $pm_files = { 'ReleaseNotes.pod' => '$(INST_LIBDIR)/ReleaseNotes.pod', }; File::Find::find(sub { $pm_files->{$_} = "\$(INST_LIBDIR)/ReleaseNotes/$_" if /^RN.*\.pod/; }, '.'); my %config = ( NAME => 'Win32::GUI::ReleaseNotes', VERSION => 1.0, ABSTRACT_FROM => 'ReleaseNotes.pod', AUTHOR => 'Robert May <[EMAIL PROTECTED]>', PM => $pm_files, ); WriteMakefile(%config); --- NEW FILE: RN_0_0_665.pod --- =head1 Win32::GUI::ReleaseNotes::RN_0_0_665 This is the release notes for Version 0.0.665 of Win32::GUI =head1 Release Date 26th February, 2002 =head1 Summary of Changes This release of Win32::GUI introduces many new features, the most important being: - the NEM (New Event Model), which allows for something like: $Window->AddButton( -text => 'say hello', -onClick => sub { print "hello, world!\n"; }, ); - tooltips are now supported on most controls with the -tip => STRING option. - ListView checkboxes can now be managed with the ItemCheck() method; there's also a new ItemCheck event for ListViews that gets fired when you toggle an item's checkbox. The biggest changes are in the codebase, which is now split in several files. Please note that something - particularly the NEM - may be broken in this release (you already knew it, huh? ;-) =head1 Contributors to this release Unknown =cut --- NEW FILE: RN_0_0_671.pod --- =head1 Win32::GUI::ReleaseNotes::RN_0_0_671 This is the release notes for Version 0.0.671 of Win32::GUI =head1 Release Date 21st March, 2004 =head1 Summary of Changes This release of Win32::GUI introduces many bug fix and new features the most important being: New : - Add anti-flicker option (-noflicker). - Add new methods and documentation for TabStrip, StatusBar, Rebard, Toolbar. - Add new options for Menu. - Add loading ressources from exe file. - Add SetEvent and GetEvent for NEM event system. - Add support for scrollbar in Window and DialogBox. Fix : - Left() and Top() don't perform translation for non child window. - Update Hook for multiple hooks per message. - Fix some event handling problems. - Fix some doc generation problems. =head1 CHANGELOG + [Laurent Rocher] - GUI.pm : Change version to 0.0.671 - GUI.xs : Change version to 0.0.671 - README : Change version to 0.0.671 - Readme.txt : Change version to 0.0.671 - GUI.h : Add av_delete macro for perl 5.005 - GUI_Events.cpp : In DoEvent_NEM_Menu correct event test (use SvOK). - MANIFEST : Update file + [Steve Pick] - GUI.xs : LoadImage() now tries to find resources in the exe first, and only if that fails does it look on-disk. This means you can use ResHacker or some similar resource editor to add resources to your distributed exe. - GUI.xs : Win32::GUI::LoadResource(NAME) added - loads a resource from the current executable and returns it as a scalar. Resource type must be RCDATA (i.e. raw data). + [Steve Pick] - ListView.xs : Made ListViews aware of the -background option. - Toolbar.xs : Implemented all of Ramy's perl toolbar extension in XS code. Added constants as well. - GUI_Constants.cpp : Added tons of toolbar-related constants. Note that you should probably use the TBSTYLE_xxx constants instead of the BTNS_xxx constants for toolbar button styles right now as the latter doesnt work depending on your compiler. - GUI.pm : Added constants - GUI_Events.cpp : Fixed NeedText so it doesnt crash on exit (needed to extend memory reserved by one byte). Modified the way ButtonClick is handled for toolbars - If a dropdown menu should be expanded, there is a new second argument to ButtonClick which is set to 1. - TreeView.xs : Fix in InsertItem. Wasn't reserving enough memory for the strings form the -text option. - StatusBar.xs : Parts method now detects scalar/array context and returns # parts / list of parts as appropriate - GUI_MessageLoops.cpp : Fix for noflicker (previously, the whole client area was not validated - now it is), also added onPaint event to NEM (for graphic objects). - GUI.xs : Added GetEvent() and SetEvent() methods. GetEvent(EVENTNAME) will return a coderef to the handler for the specified NEM event name (e.g. "Resize"), SetEvent(EVENTNAME,CODEREF) will set a handler for the event. Made AbsLeft() and AbsTop() accept co-ordinates. + [Laurent Rocher] - GUI_MessageLoops.cpp : Revrite WM_CTLCOLOREDIT, WM_CTLCOLORSTATIC, WM_CTLCOLORBTN, WM_CTLCOLORLISTBOX event handling in CommonMsgLoop. Correct Both event handling in NEM_WindowMsgLoop. + [Jez White & Laurent Rocher] - Rebar.xs : Added documentation for all the methods . New methods : ShowBand, HideBand, MoveBand, GetBandBorder, GetBarHeight. Fix BandInfo crash. + [Steve Pick & Laurent Rocher] - GUI.xs : Extended support for scrollbars in a window's non-client area. Added NEM event "onScroll" and OEM event "_Scroll" for Window and DialogBox. New functions for Window/Dialog: $w->ScrollRange(SCROLLBAR,[MIN,MAX]), $w->ScrollPos(SCROLLBAR,[POS]), $w->ScrollPage(SCROLLBAR,[PAGESIZE]), $w->Scroll(SCROLLBAR, OPERATION, POSITION). Docs in source as usual. Check GUI.xs. - GUI_Events and GUI.h : Support for _Scroll and onScroll events for windows / dialogs - GUI_MessageLoops : Fix for $object->Result(x) method, [thanks go to Glenn Linderman for pointing the problem out] - StatusBar.xs : Various fixes and optimizations by Laurent Rocher. - GUI_Constants.cpp : Added Scrollbar constants (SB_*) and statusbar constants (SBT_*) + [Steve Pick] - Added StatusBar.xs to handle new StatusBar methods. Each method is documented in this file, but the documentation has not been re-generated. + [Steve Pick] - GUI.xs : Made ProgressBar aware of -foreground and -background colour settings - GUI.xs : Added Result(handle, code) call for explicitly setting the returned LRESULT from a handler. (normally the value returned from Perl handlers was not returned from their calling wndproc, this allows you to specify a result that will be returned.) - GUI_MessageLoops.cpp : If CommonMsgLoop must be called then it is called before any Hook handlers are called. + [Steve Pick] - GUI.xs : Huge update to Hook() and UnHook(). You can now add multiple hooks per message, catch WM_NOTIFY and WM_COMMAND messages, and it works with both New and Old Event Models. Documentation for both functions is present. - GUI_MessageLoops.cpp : Addition of DoHook() function and DoHook() calls in NEM_WindowMsgLoop, WindowMsgLoop, and NEM_ChildMsgLoop. DoHook is internal. + [Glenn Linderman] - GUI.pm : In MakeMenu, Set a default event name to every item with an empty string. - GUI_Options.cpp : Added new menu options. + [Jeremy White & Laurent Rocher] - TabStip.xs : Add new methods and some documentation. + [Steve Pick] - GUI_MessageLoops.cpp : Added anti-flicker code. - GUI_Options.cpp : Added -noflicker option to window/dialogbox. - GUI.h : Added flickerFree property to USERDATA and CREATESTRUCT structs - GUI.pm : Added documentation line for -noflicker option + [Steve Pick & Laurent Rocher] - GUI.xs : Left() and Top() now not perform ScreenToClient() on the rectangle for non child window. =head1 Contributors to this release =over =item Steve Pick =item Laurent Rocher =item Jez White =item Glenn Linderman =back =cut --- NEW FILE: RN_0_0_670.pod --- =head1 Win32::GUI::ReleaseNotes::RN_0_0_670 This is the release notes for Version 0.0.670 of Win32::GUI =head1 Release Date 11th December, 2003 =head1 Summary of Changes This release of Win32::GUI introduces many bug fix and new features the most important being: New : - add Hook/UnHook methods - new DateTime styles and methods - new RichEdit methods - improve GetOpenFileName / GetSaveFileName. - new _DropFiles Events - SendMessage now support a pointer to a string or a struct in LPARAM. - NEM KeyDown and KeyUp receive new parameter with virtual key value. - NEM Timer event Bug: - Fix accelerator keys - Fix ImageList bug - Fix Windows XP Color - Fix options parsing for TextField - Fix -prompt support on Textfield with -pos and -size option. - Fix DoEvents double events - Fix PeekMessage warm message - Fix menu enabled option. Build : - MinGW support - ActivePerl 5.005 support =head1 CHANGELOG + [Laurent Rocher] - GUI.pm : Change version to 0.0.670 - GUI.h : Set NO_XSLOCKS for perl 5.005 - GUI_MessageLoops.cpp : Fix for perl 5.005 + [Steve Pick] - GUI.xs : Update to Hook() - now returns previous handler coderef on hook reassignment, 0 if no previous assignment, and undef if error. - GUI_MessageLoops.cpp : Added code to call Hook()ed handlers to NEM_ChildMsgLoop + [Laurent Rocher] - GUI.pm : Add AddDatetime, AddGraphics methods - GUI.xs : Fix DoEvents double event, add some DateTime methods (GetTime, SetTime, SetNone, IsNone). - GUI_Options.cpp : Add option parsing for DateTime control (-align, -format, -shownone, -updown) - Typemap : LPARAM handle as string or integer. + [Steve Pick] - GUI.xs : Added Hook and UnHook methods. These let you do $win->Hook(MsgID, \&somesub); to hook a message to a sub. The sub must be a coderef, and is called with self, wparam and lparam args when the message is received by the window. - GUI.h : Addition of avHooks to PERLWIN32GUI_CREATESTRUCT and PERLWIN32GUI_USERDATA. - GUI_MessageLoops.cpp : Addition of hook-calling code to NEM_WindowMsgLoop. + [Laurent Rocher] - GUI.pm : Fix -prompt option for TextField, correct color option for class (Win98SE). - GUI_Options.cpp : Correct -popstyle and -popexstyle like options. + [Glenn Linderman] GUI_Options.cpp : Correct menu -enabled option. + [Steve Pick] GUI.h : Added PERLWIN32GUI_NEM_TIMER event. - GUI.pm: fixed Win32::GUI::Class::new to avoid the "white background" syndrome on Windows 2000. Fixed conditional so that all operating systems with version above and including 5.1 have the no-white-background fix. - GUI_MessageLoops.cpp: added WM_TIMER event to NEM_WindowMsgLoop, now NEM handler -onTimer will be called whenever a timer added to the window triggers. The NAME of the timer is provided as an argument to the handler. - GUI_Options.cpp: Fix to allow -onTimer. - GUI_Events.cpp: NEM Events always returned PerlResult of -2, even if a handler was found and called for the event. Now it returns 0 if everything was successful, as it should judging by the rest of the code. + [Laurent Rocher] Add build with MinGW and ExtUtils-FakeConfig support. You can build Win32-GUI for ActiveState Perl with Free MingW Compiler. See HowTo : http://perso.club-internet.fr/rocherl/Win32GUI.html + [Steve Pick] GUI.pm: Fix ImageList bug + [Glenn Linderman] MessageLoops.cpp: Fix Window Cursor bug (Without return FALSE statement) + [Steve Pick] GUI.xs : Fix PeekMessage (move SvROK in inner if and remove sv_2mortal) + [Aldo Calpini] GUI.pm - fixed Win32::GUI::Class::new to avoid the "white background" syndrome on XP) - fixed a bug with options parsing in Win32::GUI::Textfield::new - reworked a little the code for Win32::GUI::AcceleratorTable + [Glenn Linderman] Accelerator key patch, Correct NotifyIcon DESTROY, add PM_* constants for use with TrackPopupMenu. + [Laurent Rocher] Fix some warnings, Remove unused variables, remove constants.c file. + [Trevor Garside] Add new RichEdit methods. + [Steve Pick & Laurent Rocher] Add parameters for WM_KEYDOWN and WM_KEYUP NEM events in NEM_ChildMsgLoop. + [Johan Lindstrom] Add WM_DROPFILES event in WindowMsgLoop. + [Laurent Rocher] Add new options for GetOpenFileName and GetSaveFileName. + [Jeremy White & Laurent Rocher] Add new datetime control methods and DTS_* styles constants. =head1 Contributors to this release =over =item Jeremy White =item Laurent Rocher =item Johan Lindstrom =item Steve Pick =item Trevor Garside =item Glenn Linderman =item Aldo Calpini =back =cut --- NEW FILE: RN_1_04.pod --- =head1 Win32::GUI::ReleaseNotes::RN_1_04 This is the release notes for Version 1.04 of Win32::GUI =head1 Release Date TBD =head1 IMPORTANT INFORMATION This section details issues that are essential to understand when upgrading from earlier versions fof Win32::GUI. =head2 Exported Constants The way that Win32::GUI exports constants has changed. Ensure that you read the L<"Deprecated feature status"|/"Deprecated feature status"> section of this document so that you understand the backwards compatibility issues. =head2 Dual-life modules This version of Win32::GUI includes the modules L<Win32::GUI::AxWindow|Win32::GUI::AxWindow>, L<Win32::GUI::DIBitmap|Win32::GUI::DIBitmap>, L<Win32::GUI::Grid|Win32::GUI::Grid>, and L<Win32::GUI::Scintilla|Win32::GUI::Scintilla> (originally by Laurent Rocher: L<http://rocherl.club.fr/Win32GUI.html>). Please uninstall any previous versions that you may have installed before installing this version of Win32::GUI. =head1 Summary of Changes This is a summary of changes between V1.03 and V1.04 See the CHANGELOG file in the distribution for the full detail. =head2 New Features =head3 New Packages =over =item L<Win32::GUI::AxWindow|Win32::GUI::AxWindow> =item L<Win32::GUI::Constants|Win32::GUI::Constants> =item L<Win32::GUI::DIBitmap|Win32::GUI::DIBitmap> =item L<Win32::GUI::DropFiles|Win32::GUI::DropFiles> =item L<Win32::GUI::Grid|Win32::GUI::Grid> =item L<Win32::GUI::Scintilla|Win32::GUI::Scintilla> =item L<Win32::GUI::ReleaseNotes|Win32::GUI::ReleaseNotes> =back =head3 New Methods =over =item Win32::GUI L<Acceptfiles|Win32::GUI::Reference::Methods/AcceptFiles> (Tracker: 1323988), L<Animate|Win32::GUI::Reference::Methods/Animate> (Tracker: 1266930), L<ClassData|Win32::GUI::Reference::Methods/ClassData>, L<GetKeyState|Win32::GUI::Reference::Methods/GetKeyState>, L<SetWindowPos|Win32::GUI::Reference::Methods/SetWindowPos> (Tracker: 1469648). =item Win32::GUI::Region L<ExtCreateRegion|Win32::GUI::Region/ExtCreateRegion> (Tracker: 1469648), L<GetRegionData|Win32::GUI::Region/GetRegionData>. =back =head3 New Events =over =item For all Windows L<DropFiles|Win32::GUI::Reference::Events/DropFiles> (Tracker: 1323988). =back =head3 New Documentation =over =item Win32::GUI::ListBox Better documentation for the differences between L<SetCurSel|Win32::GUI::ListBox/SetCurSel> and L<SetSel|Win32::GUI::ListBox/SetSel> (Tracker: 1177898). =item Win32::GUI::Textfield Correct documentation for L<-autohscroll|Win32::GUI::Textfield/autohscroll> and L<-autovscroll|Win32::GUI::Textfield/autovscroll>. =back =head3 Other Features =over =item <TAB> navigation for Textfields <TAB> can now be used to move out of a multi-line Textfield when using the L<-dialogui|Win32::GUI::Reference::Options/dialogui> option on a Window. A L<-wantreturn|Win32::GUI::Textfield/wantreturn> option has been added to stop the <RETURN> key firing the default Click event for a multi-line TextField when using the <-dialogui> option on a Window. This replaces the previous use of C<< -addstyle => ES_WANTRETURN >>. =item Ballon tooltips for NotifyIcon The L<Win32::GUI::NotifyIcon|Win32::GUI::NotifyIcon> pakage has been re-worked. There is now no need to use the L<-id|/"Deprecated feature status"> option, and balloon tooltips are supported on Win2k and above. (Tracker: 1065072) =item More options for Win32::GUI::DoEvents() It is now possible to select with messages you want to process with L<DoEvents|Win32::GUI::Reference::Events/DoEvents>. =item More ways to create cursors, icons and bitmaps The L<Cursor|Win32::GUI::Cursor/new>, L<Icon|Win32::GUI::Icon/new> and L<Bitmap|Win32::GUI::Bitmap/new> constructors have been enhanced to allow creation from resources, including the "standard" windows resources. See the F<standard_images.pl> sample to browse the standard resources. =item Easier way to browse and run the demos A new script F<win32-gui-demos> will be installed in your perl bin directory. You should be able to get a full list of the sample code distributed with Win32::GUI, view the source and run the demos by typing C<win32-gui-demos> at your command prompt. =item Better Splitter implementation The L<Win32::GUI::Splitter|Win32::GUI::Splitter> implementation has been re-written to provide more robust operation. The splitter bar can no longer be moved outside the parent window, which used to result in drawing problems, and the bar itself is now more nicely drawn. (Tracker:1363141) The L<-background|Win32::GUI::Reference::Options/background> option now works for splitter windows. =back =head2 Bug Fixes =head3 Reported Bugs =over =item Fix some crashes (Trackers 1243378 and 1248578) =item Fix some memory leaks (Tracker: 1201190) =item Fix drawing problems with coloured backgrounds (Tracker:1363141) =back =head3 Other Bugs =over =item -background and -forground options now work for RichEdit windows =item The SendMessageTimout implementation now matches the documentation =item -truncate option now works correctly for Label windows =item SetTabStops() method now works for ListBox windows =item The demo code all works =back =head1 Deprecated feature status This section documents features that have been deprecated in this release, or in recent releases, and feature that will be deprecated in up-coming releases. =head2 Win32::GUI::Constants TBD =head2 Win32::GUI::NotifyIcon TBD =head1 Contributors to this release =over =item Robert May =item Reini Urban =item Jeremy White =back =cut --- NEW FILE: RN_1_03.pod --- =head1 Win32::GUI::ReleaseNotes::RN_1_03 This is the release notes for Version 1.03 of Win32::GUI =head1 Release Date 22nd November, 2005 =head1 Summary of Changes This is a summary of changes between V1.02 and V1.03 See the CHANGELOG file in the distribution for the full detail. V1.03 is primarily a bug-fix release. =head2 New Features =head3 New Methods =over =item Win32::GUI GetParent, UserData =item Win32::GUI::DC StretchBlt =back =head3 New Events None. =head3 New Documentation As well as various minor documentation corrections and enhancements: =over =item Win32::GUI GetAsyncKeyState =item Win32::GUI::RichEdit SetCharFormat, GetCharFormat, SetEventMask =item Win32::GUI::Timer New documentation for Win32::GUI::Timer and all Timer methods. =item Win32::GUI::Tutorial Updated all the Tutorial documentation and added tutorial examples to the demos directory. =back =head3 Other Features =over =item Version information in GUI.dll Right-click the DLL to see Version information on the version tab. =item New tests Many tests added =item New samples Added listvew_drag_drop.pl to the samples demonstrating the use of drag/drop with a ListView =item Update ImageList support ImageList support is now complete under MinGW and Cygwin if headers are recent enough (w32api V3.2 or higher) =back =head2 Bug Fixes =head3 Reported Bugs Fix to 4 item call to TrackPopupMenu. Tracker 1241830 GUI.pm Fix to logic in Win32::GUI::Class::new for perl 5.8.6 and above. Tracker:1236053 GUI.pm fixed Win32::GUI::Brush to return undef on failure GUI_messageloops.cpp: Tracker 1246429 fixed WM_CTLCOLORSTATIC for handling readonly Edit controls Tooltip.xs, GUI.xs fixed Tooltip styles (Tracker: 1273134) GUI_MessageLoops.cpp change all mouse event handlers to use GET_X_LPARAM and GET_Y_LPARAM rather than HIWORD and LOWORD (Tracker: 1262098) GUI.xs fixed UnHook() to resolve perl 5.6/5.8 differences in av_delete, causing a warning in perl 5.8 (Tracker: 1164766) GUI.xs: Changed DoModal's use of GetParent to GetWindow(hwnd, GW_OWNER). (Tracker: 1165626) GUI_messageloops.cpp: Tracker:1236283 Change to WM_ERASEBACKGROUND to allow -background to work with windows =head3 Other Bugs GUI_messageloops.cpp: Fixed WM_CTLCOLOR* to use window class background brush if there is one Richedit.xs fix SetCharFormat/GetCharFormat option GUI.pm Timer fixes (Reini Urban) GUI.pm fixed Win32::GUI::DC::new() with no params to return a correct object GUI_Constants.cpp: correct TMP_NONOTIFY to TPM_NONOTIFY (aschwarz1309) Listbox.xs: fixed buffer overrun in GetText causing crash (Jez White) Combobox.xs: fixed buffer overrun in GetLBText causing crash (Jez White) GUI.xs: fixed return value of GetAsyncKeyState Re-worked Win32::GUI::Timer package implementation. Now destruction works correctly. =head1 Contributors to this release =over =item Dan Dascalescu =item Reini Urban =item Jeremy White =item aschwarz1309 =item Robert May =back =cut --- NEW FILE: RN_0_0_502.pod --- =head1 Win32::GUI::ReleaseNotes::RN_0_0_502 This is the release notes for Version 0.0.502 of Win32::GUI =head1 Release Date 12th December, 2000 =head1 Summary of Changes This is the source distribution of Win32::GUI. contains source code (you need a C++ compiler to install the module), documentation and samples. =head1 Contributors to this release Unknown =cut --- NEW FILE: RN_1_0.pod --- =head1 Win32::GUI::ReleaseNotes::RN_1_00 This is the release notes for Version 1.0 of Win32::GUI =head1 Release Date 12th November, 2004 =head1 Summary of Changes This version is a main development branch of Win32::GUI based on a rewritten base code. - Completely new base code. - Full NEM/OEM support. - Lot of control Win32 API method. - Preserved Perl context. - New DoModal. - More documentation. - MDI application support. - Add MonthCal control. =head1 CHANGELOG from v0.99_1 + [Laurent Rocher] : - GUI.pm, GUI.xs, Readme.txt, Readme + VERSION 1.0 + [Jeremy White] : - GUI.xs : + Fix SetEvent + [Laurent Rocher] : - GUI.xs : + Fix MessageBeep XS interface. - Button.xs + Fix -align option =head1 Contributors to this release =over =item Jeremy White =item Laurent Rocher =back =cut --- NEW FILE: RN_1_02.pod --- =head1 Win32::GUI::ReleaseNotes::RN_1_02 This is the release notes for Version 1.02 of Win32::GUI =head1 Release Date 11th July, 2005 =head1 Summary of Changes This is a summary of changes between V1.0 and V1.02 See the CHANGELOG file in the distribution for the full detail. =head2 New Features =head3 New Methods =over =item Win32::GUI ClientToScreen, GetCapture, LoadCursor, SetWindowRgn, ShellExecute, WaitMessage =item Win32::GUI::Menu RemoveMenu =item Win32::GUI::Region CombineRgn =item Win32::GUI::Toolbar GetString =back =head3 New Events =over =item Listview BeginDrag =item ComboxBox CloseUp, DropDown =item Rebar ChevronPushed =back =head3 New Documention General documenation tidy-up. =head3 Other Features =over =item Chevrons for Win32::GUI::Rebar Added support for chevrons to Rebar (see -idealwidth, ChevronPushed event) =item Relative widths for Win32::GUI::GridLayout Added support for relative widths to Win32::GUI::GridLayout =item More ways of using TrackPopupMenu Re-worked TrackPopupMenu, which now allows for obtaining events while tracking a menu =back =head2 Bug Fixes + Fixed crash with UpDown control when using the SetBuddy, Buddy and GetBuddy methods + Fixed crash on program termination with Richedit + Fixed Win32::GUI::EnumMyWindows + Fixed defaults for Trackbar Pos(), Min(), Max(), SelStart() and SelEnd() methods + Hooked events now report errors correctly + Hooked events now work correctly for WM_NOTIFY messages + Toolbar ButtonClick event now fires correctly for dropdown buttons + Toolbar GetButtonInfo, SetButtonInfo methods now work correctly + Label -bitmap option now works as expected + now builds under cygwin + Fixed prototype for Listview method GetOrigin. =head1 Contributors to this release =over =item Jeremy White =item Chris Wearn =item Alexander Romanenko =item Robert May =back =cut --- NEW FILE: ReleaseNotes.pod --- =head1 Win32::GUI::ReleaseNotes Win32::GUI::ReleaseNotes - release notes for Win32::GUI =head1 Releases =over =item Release L<1.04|Win32::GUI::ReleaseNotes::RN_1_04> =item Release L<1.03|Win32::GUI::ReleaseNotes::RN_1_03> =item Release L<1.02|Win32::GUI::ReleaseNotes::RN_1_02> =item Release L<1.0|Win32::GUI::ReleaseNotes::RN_1_0> =item Beta L<0.99_1|Win32::GUI::ReleaseNotes::RN_0_99_1> =item Release L<0.0.671|Win32::GUI::ReleaseNotes::RN_0_0_671> =item Release L<0.0.670|Win32::GUI::ReleaseNotes::RN_0_0_670> =item Release L<0.0.665|Win32::GUI::ReleaseNotes::RN_0_0_665> =item Release L<0.0.588|Win32::GUI::ReleaseNotes::RN_0_0_588> =item Release L<0.0.502|Win32::GUI::ReleaseNotes::RN_0_0_502> =back =head1 Obtaining Win32::GUI =head1 Support =cut