Update of /cvsroot/perl-win32-gui/Win32-GUI
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30555
Modified Files:
CHANGELOG GUI.h GUI.pm GUI.rc GUI.xs GUI_Constants.cpp
ImageList.xs Makefile.PL RichEdit.xs
Log Message:
Bug fixes, update tutorial, add tutorial samples
Index: GUI.xs
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/GUI.xs,v
retrieving revision 1.44
retrieving revision 1.45
diff -C2 -d -r1.44 -r1.45
*** GUI.xs 1 Oct 2005 18:00:38 -0000 1.44
--- GUI.xs 5 Oct 2005 22:20:48 -0000 1.45
***************
*** 1089,1094 ****
perlud->dwPlStyle |= PERLWIN32GUI_ISMODAL;
! // Find is parent window if any or use ActiveWindow
! parent = GetParent(handle);
if (parent == NULL) {
parent = GetActiveWindow();
--- 1089,1094 ----
perlud->dwPlStyle |= PERLWIN32GUI_ISMODAL;
! // Find its owner window if any or use ActiveWindow
! parent = GetWindow(handle, GW_OWNER);
if (parent == NULL) {
parent = GetActiveWindow();
Index: GUI.rc
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/GUI.rc,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** GUI.rc 3 Aug 2005 21:45:56 -0000 1.4
--- GUI.rc 5 Oct 2005 22:20:48 -0000 1.5
***************
*** 8,13 ****
1 VERSIONINFO
! FILEVERSION 1,02,01,00
! PRODUCTVERSION 1,02,01,00
FILEOS VOS__WINDOWS32
FILETYPE VFT_DLL
--- 8,13 ----
1 VERSIONINFO
! FILEVERSION 1,02,02,00
! PRODUCTVERSION 1,02,02,00
FILEOS VOS__WINDOWS32
FILETYPE VFT_DLL
***************
*** 17,24 ****
BLOCK "040904E4"
{
! VALUE "Comments" , "Win32::GUI Perl module v1.02_01"
VALUE "CompanyName" , "Open Source"
VALUE "FileDescription" , "perl-win32-gui Perl
extension"
! VALUE "FileVersion" , "1.02_01"
VALUE "InternalName" , "GUI.dll"
VALUE "LegalCopyright" , "Copyright © Aldo Caplini
1997..2005"
--- 17,24 ----
BLOCK "040904E4"
{
! VALUE "Comments" , "Win32::GUI Perl module v1.02_02"
VALUE "CompanyName" , "Open Source"
VALUE "FileDescription" , "perl-win32-gui Perl
extension"
! VALUE "FileVersion" , "1.02_02"
VALUE "InternalName" , "GUI.dll"
VALUE "LegalCopyright" , "Copyright © Aldo Caplini
1997..2005"
***************
*** 26,30 ****
VALUE "OriginalFilename" , "GUI.dll"
VALUE "ProductName" , "Win32::GUI"
! VALUE "ProductVersion" , "1.02_01"
}
}
--- 26,30 ----
VALUE "OriginalFilename" , "GUI.dll"
VALUE "ProductName" , "Win32::GUI"
! VALUE "ProductVersion" , "1.02_02"
}
}
Index: RichEdit.xs
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/RichEdit.xs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** RichEdit.xs 1 Oct 2005 18:00:39 -0000 1.5
--- RichEdit.xs 5 Oct 2005 22:20:49 -0000 1.6
***************
*** 675,679 ****
###########################################################################
# (@)METHOD:SetEventMask(MASK)
! #
LRESULT
SetEventMask(handle, mask)
--- 675,709 ----
###########################################################################
# (@)METHOD:SetEventMask(MASK)
! # The SetEventMask() method sets the event mask for a rich edit control.
! # The event mask specifies which notification messages the control sends
! # to its parent window. MASK is any combination of:
! #
! # ENM_CHANGE Sends EN_CHANGE notifications.
! # ENM_CORRECTTEXT Sends EN_CORRECTTEXT notifications.
! # ENM_DRAGDROPDONE Sends EN_DRAGDROPDONE notifications.
! # ENM_DROPFILES Sends EN_DROPFILES notifications.
! # ENM_IMECHANGE Microsoft Rich Edit 1.0 only: Sends EN_IMECHANGE
! # notifications when the IME conversion status has
! # changed. Only for Asian-language versions of the
! # operating system.
! # ENM_KEYEVENTS Sends EN_MSGFILTER notifications for keyboard
events.
! # ENM_LINK Rich Edit 2.0 and later: Sends EN_LINK
notifications when
! # the mouse pointer is over text that has the
CFE_LINK and
! # one of several mouse actions is performed.
! # ENM_MOUSEEVENTS Sends EN_MSGFILTER notifications for mouse events.
! # ENM_OBJECTPOSITIONS Sends EN_OBJECTPOSITIONS notifications.
! # ENM_PROTECTED Sends EN_PROTECTED notifications.
! # ENM_REQUESTRESIZE Sends EN_REQUESTRESIZE notifications.
! # ENM_SCROLL Sends EN_HSCROLL and EN_VSCROLL notifications.
! # ENM_SCROLLEVENTS Sends EN_MSGFILTER notifications for mouse wheel
events.
! # ENM_SELCHANGE Sends EN_SELCHANGE notifications.
! # ENM_UPDATE Sends EN_UPDATE notifications. Rich Edit 2.0 and
later:
! # this flag is ignored and the EN_UPDATE
notifications are
! # always sent. However, if Rich Edit 3.0 emulates
Rich Edit
! # 1.0, you must use this flag to send EN_UPDATE
notifications.
! #
! # The default event mask before any is set is ENM_NONE. Returns the
previous
! # event mask.
!
LRESULT
SetEventMask(handle, mask)
Index: Makefile.PL
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/Makefile.PL,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** Makefile.PL 3 Aug 2005 21:45:57 -0000 1.12
--- Makefile.PL 5 Oct 2005 22:20:49 -0000 1.13
***************
*** 324,328 ****
$(NOECHO) $(PERL) -I$(BUILD_TOOLS) $(BUILD_TOOLS)/doHTMLDocs.pl
! all:: poddocs
DOC_FRAG
--- 324,328 ----
$(NOECHO) $(PERL) -I$(BUILD_TOOLS) $(BUILD_TOOLS)/doHTMLDocs.pl
! all:: poddocs demos
DOC_FRAG
***************
*** 340,344 ****
$(CP) samples/* $(INST_DEMO)
! ppmdist: all htmldocs demos
$(TAR) --exclude="*.pod" -$(TARFLAGS) $(DISTNAME).tar blib
$(COMPRESS) $(DISTNAME).tar
--- 340,344 ----
$(CP) samples/* $(INST_DEMO)
! ppmdist: all htmldocs
$(TAR) --exclude="*.pod" -$(TARFLAGS) $(DISTNAME).tar blib
$(COMPRESS) $(DISTNAME).tar
Index: GUI.pm
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/GUI.pm,v
retrieving revision 1.32
retrieving revision 1.33
diff -C2 -d -r1.32 -r1.33
*** GUI.pm 25 Aug 2005 19:30:17 -0000 1.32
--- GUI.pm 5 Oct 2005 22:20:48 -0000 1.33
***************
*** 25,29 ****
# STATIC OBJECT PROPERTIES
#
! $VERSION = "1.02_01"; # For MakeMaker
$XS_VERSION = $VERSION; # For dynaloader
$VERSION = eval $VERSION; # For Perl (see perldoc perlmodstyle)
--- 25,29 ----
# STATIC OBJECT PROPERTIES
#
! $VERSION = "1.02_02"; # For MakeMaker
$XS_VERSION = $VERSION; # For dynaloader
$VERSION = eval $VERSION; # For Perl (see perldoc perlmodstyle)
***************
*** 1826,1829 ****
--- 1826,1835 ----
# Most of the methods and events that apply to a
L<TextField|Win32::GUI::Textfield>
# also apply to Win32::GUI::RichEdit.
+ #
+ # Note that in order for most events to be triggered you must call the
+ # SetEventMask() method, to set the events that you want to be triggered.
+ # See SetEventMask().
+ #
+ # By default Win32::GUI::RichEdit uses Rich Edit 1.0.
package Win32::GUI::RichEdit;
@ISA = qw(
***************
*** 2035,2039 ****
# Create and manipulate slider controls
#
! # See Win32::GUI::Trackbar
#
package Win32::GUI::Trackbar;
--- 2041,2045 ----
# Create and manipulate slider controls
#
! # See L<Win32::GUI::Trackbar|Win32::GUI::TrackBar>
#
package Win32::GUI::Trackbar;
Index: CHANGELOG
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/CHANGELOG,v
retrieving revision 1.63
retrieving revision 1.64
diff -C2 -d -r1.63 -r1.64
*** CHANGELOG 1 Oct 2005 18:00:38 -0000 1.63
--- CHANGELOG 5 Oct 2005 22:20:48 -0000 1.64
***************
*** 7,10 ****
--- 7,25 ----
===================
+ + [Robert May] : 4 Oct 2005 - Bug fixes and preparing for 1.03 release
+ - Makefile.PL added 'demos' target as dependancy for 'all', so that
+ samples get included in ActiveState PPM
+ - GUI_Constants.cpp: correct TMP_NONOTIFY to TPM_NONOTIFY (aschwarz1309)
+ - GUI.pm, RichEdit.xs: added documentation for SetEventMask method
+ (Tracker: 1242808)
+ - GUI.pm upped version to 1.02_02
+ - GUI.h, ImageList.xs allowed missing ImageList_* functions to be compiled
+ in under MinGW and Cygwin, if w32api package has high enough version
+ - GUI.xs: Changed DoModal's use of GetParent to GetWindow(hwnd, GW_OWNER).
+ See http://support.microsoft.com/default.aspx?scid=kb;en-us;84190 for
+ more information (Tracker: 1165626)
+ - Updated all the Tutorial documentation and added tutorial examples to
+ the samples directory.
+
+ [Robert May] :
- GUI.h added GET_X_LPARAM and GET_Y_LPARAM macros (from windowsX.h)
Index: ImageList.xs
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/ImageList.xs,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** ImageList.xs 3 Oct 2005 19:39:40 -0000 1.6
--- ImageList.xs 5 Oct 2005 22:20:49 -0000 1.7
***************
*** 70,75 ****
UINT flag
CODE:
! // Not supported in MinGW
! #ifdef __MINGW32__
RETVAL = FALSE;
#else
--- 70,76 ----
UINT flag
CODE:
! // Not supported in MinGW w32api package prior to v3.2
! #ifdef W32G_BROKENW32API
! W32G_WARN_UNSUPPORTED("ImageList_Copy missing from build");
RETVAL = FALSE;
#else
***************
*** 179,184 ****
param.dwRop = rop;
! // Not supported in MinGW
! #ifdef __MINGW32__
RETVAL = FALSE;
#else
--- 180,186 ----
param.dwRop = rop;
! // Not supported in MinGW w32api package prior to v3.2
! #ifdef W32G_BROKENW32API
! W32G_WARN_UNSUPPORTED("ImageList_DrawIndirect missing from build");
RETVAL = FALSE;
#else
***************
*** 197,202 ****
HIMAGELIST hdup;
PPCODE:
! // Not supported in MinGW
! #ifdef __MINGW32__
XSRETURN_UNDEF;
#else
--- 199,205 ----
HIMAGELIST hdup;
PPCODE:
! // Not supported in MinGW w32api package prior to v3.2
! #ifdef W32G_BROKENW32API
! W32G_WARN_UNSUPPORTED("ImageList_Duplicate missing from build");
XSRETURN_UNDEF;
#else
Index: GUI_Constants.cpp
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/GUI_Constants.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** GUI_Constants.cpp 31 May 2004 17:41:29 -0000 1.5
--- GUI_Constants.cpp 5 Oct 2005 22:20:49 -0000 1.6
***************
*** 1772,1778 ****
goto not_there;
#endif
! if (strEQ(name, "TMP_NONOTIFY"))
! #ifdef TMP_NONOTIFY
! return TMP_NONOTIFY;
#else
goto not_there;
--- 1772,1778 ----
goto not_there;
#endif
! if (strEQ(name, "TPM_NONOTIFY"))
! #ifdef TPM_NONOTIFY
! return TPM_NONOTIFY;
#else
goto not_there;
Index: GUI.h
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/GUI.h,v
retrieving revision 1.19
retrieving revision 1.20
diff -C2 -d -r1.19 -r1.20
*** GUI.h 1 Oct 2005 18:00:38 -0000 1.19
--- GUI.h 5 Oct 2005 22:20:48 -0000 1.20
***************
*** 65,68 ****
--- 65,69 ----
# define W32G_WARN if(PL_dowarn & G_WARN_ON) warn
# define W32G_WARN_DEPRECATED if(PL_dowarn & G_WARN_ON) warn
+ # define W32G_WARN_UNSUPPORTED if(PL_dowarn & G_WARN_ON) warn
//# define W32G_WARN W32G_lexwarn
//# define W32G_WARN_DEPRECATED W32G_lexwarn_deprecated
***************
*** 70,73 ****
--- 71,75 ----
# define W32G_WARN if(PL_dowarn) warn
# define W32G_WARN_DEPRECATED if(PL_dowarn) warn
+ # define W32G_WARN_UNSUPPORTED if(PL_dowarn) warn
#endif
***************
*** 688,691 ****
--- 690,701 ----
// MinGW patch
#if defined(__MINGW32__) || defined(__CYGWIN__)
+ // There are some ImageList_* functions that we use that
+ // are only correctly implemented in the MINGW w32api package
+ // version 3.2 and higher:
+ #include <w32api.h> // to get w32api package version
+ #if (__W32API_MAJOR_VERSION < 3) && (__W32API_MINOR_VERSION < 2)
+ #define W32G_BROKENW32API
+ #endif
+
#define WNDPROC_CAST WNDPROC
#define LWNDPROC_CAST WNDPROC