Hi All, I commit new stuff. I add reference of Sourceforge Tracker BUG and RFE in changelog. I close someone but need to check if other can be already close or fix.
Changelog : [#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. Ouf ;o) I try to commit less thing next time. Laurent