Update of /cvsroot/perl-win32-gui/Win32-GUI/Win32-GUI-AxWindow In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22088
Modified Files: AxWindow.pm AxWindow.xs Changes Makefile.PL TYPEMAP Added Files: AxWindowRC.PL TODO Removed Files: AxWindow.html MANIFEST README Log Message: Merge AxWindow into core distribution --- NEW FILE: AxWindowRC.PL --- #!perl -w use strict; use warnings; use ExtUtils::MakeMaker; # $Id: AxWindowRC.PL,v 1.1 2006/06/11 15:46:49 robertemay Exp $ # perl script to produce the RC file for # Win32::GUI::AxWindow create Resource # file with a VERSIONINFO section # The variables: my %info = ( Version => MM->parse_version('AxWindow.pm'), Dllname => 'AxWindow.dll', Years => '2003..2006', Win32GUIVersion => MM->parse_version('../GUI.pm'), ); # Open the target file if ( @ARGV > 0 ) { my $file = $ARGV[0]; open(my $fh, '>', $file) or die qq(Failed to open '$file': $!); select $fh; } { my $fileVersion = $info{Version}; $fileVersion .= "_00" unless $fileVersion =~ m/_/; $info{FileVersion} = sprintf("%02d,%02d,%02d,00", $fileVersion =~ m/^(.*)\.([^_]*)_?(.*)$/); my $prodVersion = $info{Win32GUIVersion}; $prodVersion .= "_00" unless $prodVersion =~ m/_/; $info{ProductVersion} = sprintf("%02d,%02d,%02d,00", $prodVersion =~ m/^(.*)\.([^_]*)_?(.*)$/); } print <<"__RC"; #include "Winver.h" 1 VERSIONINFO FILEVERSION $info{FileVersion} PRODUCTVERSION $info{ProductVersion} FILEOS VOS__WINDOWS32 FILETYPE VFT_DLL { BLOCK "StringFileInfo" { BLOCK "040904E4" { VALUE "Comments" , "Win32::GUI::AxWindow, part of the perl Win32::GUI module." VALUE "CompanyName" , "perl-win32-gui.sourceforge.net" VALUE "FileDescription" , "Win32::GUI::AxWindow perl extension" VALUE "FileVersion" , "$info{Version}" VALUE "InternalName" , "$info{Dllname}" VALUE "LegalCopyright" , "Copyright © Laurent Rocher $info{Years}" VALUE "LegalTrademarks" , "GNU and Artistic licences" VALUE "OriginalFilename" , "$info{Dllname}" VALUE "ProductName" , "Win32::GUI perl extension" VALUE "ProductVersion" , "$info{Win32GUIVersion}" } } BLOCK "VarFileInfo" { VALUE "Translation", 0x0409, 0x04E4 } } __RC exit(0); __END__ Index: Makefile.PL =================================================================== RCS file: /cvsroot/perl-win32-gui/Win32-GUI/Win32-GUI-AxWindow/Makefile.PL,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Makefile.PL 1 Nov 2005 12:32:28 -0000 1.1 --- Makefile.PL 11 Jun 2006 15:46:51 -0000 1.2 *************** *** 1,34 **** use ExtUtils::MakeMaker; ! # See lib/ExtUtils/MakeMaker.pm for details of how to influence ! # the contents of the Makefile that is written. ! WriteMakefile( ! 'NAME' => 'Win32::GUI::AxWindow', ! 'VERSION_FROM' => 'AxWindow.pm', # finds $VERSION ! 'XS' => { 'AxWindow.xs' => 'AxWindow.cpp' }, ! 'LIBS' => ['atl.lib'], # e.g., '-lm' ! 'INC' => '', # e.g., '-I/usr/include/other' ! ($] eq '5.00503') ! ? ( ! 'DEFINE' => '-DPERL_5005', # e.g., '-DHAVE_SOMETHING' ! ) : ( ! 'DEFINE' => '', # e.g., '-DHAVE_SOMETHING' ! ), ! ($] ge '5.005') ! ? ( ! 'AUTHOR' => 'ROCHER Laurent ([EMAIL PROTECTED])', ! 'ABSTRACT' => 'Add ActiveX Control Hosting in Win32::GUI', ! ) ! : (), ); ! sub MY::xs_c { ! ' ! .xs.c: ! $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.c ! .xs.cpp: ! $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.cpp ! '; } --- 1,88 ---- + #!perl -w + use strict; + use warnings; + + # Makefile.PL for Win32::GUI::AxWindow + # $Id$ + + use 5.006; + use Config; use ExtUtils::MakeMaker; ! use File::Find(); ! ! my @demos; ! File::Find::find(sub { push @demos, $File::Find::name if $File::Find::name =~ /\.(pl|pm|avi)$/ }, 'demos'); ! ! my %config = ( ! NAME => 'Win32::GUI::AxWindow', ! VERSION_FROM => 'AxWindow.pm', ! ABSTRACT_FROM => 'AxWindow.pm', ! AUTHOR => 'ROCHER Laurent ([EMAIL PROTECTED])', ! PL_FILES => {'AxWindowRC.PL' => '$(BASEEXT).rc', }, ! XS => {'AxWindow.xs' => 'AxWindow.cpp' }, ! OBJECT => '$(BASEEXT)$(OBJ_EXT) $(BASEEXT).res', ! LIBS => ['-latl'], ! macro => {RC => 'rc.exe', ! RCFLAGS => '', ! INST_DEMODIR => '$(INST_LIB)/Win32/GUI/demos/$(BASEEXT)', ! DEMOS => "@demos", }, ! clean => {FILES => '*.rc *.res', }, ); ! # if building using gcc (MinGW or cygwin) use windres ! # as the resource compiler ! # and the MinGW C++ standard library ! if($Config{cc} =~ /gcc/i) { ! $config{macro}->{RC} = 'windres'; ! $config{macro}->{RCFLAGS} = '-O coff -o $*.res'; ! $config{LIBS} = [':nodefault -lcomctl32 -lmsvcp60']; ! } ! # Can only build with mscv. ! if($Config{cc} !~ /cl/i) { ! print <<__EXPLAIN; ! Win32::GUI::AxWindow can only be built using MSVC, not '$Config{cc}', ! as it depends on the Microsoft Active Template Library (ATL). ! Win32::GUI::AxWindow will be skipped during the current build process. ! __EXPLAIN ! ExtUtils::MakeMaker::WriteEmptyMakefile(NAME => 'Win32::GUI::AxWindow'); ! } ! else { ! WriteMakefile(%config); ! } ! ! package MY; ! ! sub xs_c { ! my $inherited = shift->SUPER::xs_c(@_); ! $inherited =~ s/\.c/.cpp/g; ! return $inherited; ! } ! ! # Add rule for .rc to .res conversion ! # Add rules to install demo scripts ! sub postamble { ! return <<'__POSTAMBLE'; ! ! # Win32::GUI::DIBitmap RC section ! ! .rc.res: ! $(RC) $(RCFLAGS) $< ! ! # Win32::GUI::DIBitmap demo script section ! ! pure_all :: demo_to_blib ! $(NOECHO) $(NOOP) ! ! demo_to_blib: $(DEMOS) ! $(NOECHO) $(MKPATH) $(INST_DEMODIR) ! $(CP) $? $(INST_DEMODIR) ! $(NOECHO) $(TOUCH) demo_to_blib ! ! clean :: ! -$(RM_F) demo_to_blib ! ! __POSTAMBLE } Index: AxWindow.pm =================================================================== RCS file: /cvsroot/perl-win32-gui/Win32-GUI/Win32-GUI-AxWindow/AxWindow.pm,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** AxWindow.pm 1 Nov 2005 12:32:28 -0000 1.1 --- AxWindow.pm 11 Jun 2006 15:46:48 -0000 1.2 *************** *** 1,22 **** package Win32::GUI::AxWindow; ! use vars qw($VERSION @ISA @EXPORT @EXPORT_OK); ! use Win32::GUI; ! require Exporter; ! require DynaLoader; ! require AutoLoader; ! @ISA = qw(Exporter DynaLoader Win32::GUI::Window); ! # Items to export into callers namespace by default. Note: do not export ! # names by default without a very good reason. Use EXPORT_OK instead. ! # Do not simply export all your public functions/methods/constants. ! @EXPORT = qw(); ! $VERSION = '0.07'; ! bootstrap Win32::GUI::AxWindow $VERSION; ! # Preloaded methods go here. # Initialise --- 1,22 ---- package Win32::GUI::AxWindow; ! # $Id$ ! use strict; ! use warnings; ! use Carp; ! use Win32::GUI qw(WS_CHILD WS_CLIPCHILDREN WS_VISIBLE WS_TABSTOP ! WS_HSCROLL WS_VSCROLL WS_DISABLED); ! require DynaLoader; ! our @ISA = qw(DynaLoader Win32::GUI::Window); ! our $VERSION = 0.08; ! my $XS_VERSION = $VERSION; ! $VERSION = eval $VERSION; ! ! bootstrap Win32::GUI::AxWindow $XS_VERSION; # Initialise *************** *** 30,35 **** } - # Autoload methods go after =cut, and are processed by the autosplit program. - # # new : Create a new ActiveX Window --- 30,33 ---- *************** *** 144,148 **** 1; __END__ - # Below is the stub of documentation for your module. You better edit it! =head1 NAME --- 142,145 ---- *************** *** 152,183 **** =head1 SYNOPSIS ! use Win32::GUI; use Win32::GUI::AxWindow; # Main Window ! $Window = new Win32::GUI::Window ( ! -name => "Window", ! -title => "Win32::GUI::AxWindow test", ! -post => [100, 100], ! -size => [400, 400], ); # Add a WebBrowser AxtiveX ! $Control = new Win32::GUI::AxWindow ( ! -parent => $Window, ! -name => "Control", ! -control => "Shell.Explorer.2", ! # -control => "{8856F961-340A-11D0-A96B-00C04FD705A2}", ! -pos => [0, 0], ! -size => [400, 400], ); # Register some event $Control->RegisterEvent("StatusTextChange", ! sub { ! $self = shift; ! $eventid = shift; ! print "Event : ", @_, "\n"; ! } ); # Call Method --- 149,179 ---- =head1 SYNOPSIS ! use Win32::GUI(); use Win32::GUI::AxWindow; # Main Window ! $Window = new Win32::GUI::Window( ! -name => "Window", ! -title => "Win32::GUI::AxWindow test", ! -pos => [100, 100], ! -size => [400, 400], ); # Add a WebBrowser AxtiveX ! $Control = new Win32::GUI::AxWindow ( ! -parent => $Window, ! -name => "Control", ! -control => "Shell.Explorer", ! -pos => [0, 0], ! -size => [400, 400], ); # Register some event $Control->RegisterEvent("StatusTextChange", ! sub { ! $self = shift; ! $eventid = shift; ! print "Event : ", @_, "\n"; ! } ); # Call Method *************** *** 190,217 **** # Main window event handler - sub Window_Terminate { - - return -1; - } - sub Window_Resize { ! ! if (defined $Window) { ! ($width, $height) = ($Window->GetClientRect)[2..3]; ! $Control->Move (0, 0); ! $Control->Resize ($width, $height); ! } } - =head1 DESCRIPTION =head2 AxWindow =item C<new> (...) ! Create a new ActiveX window. ! options : -parent => parent window (Required) --- 186,208 ---- # Main window event handler sub Window_Resize { ! if (defined $Window) { ! ($width, $height) = ($Window->GetClientRect)[2..3]; ! $Control->Move (0, 0); ! $Control->Resize ($width, $height); ! } } =head1 DESCRIPTION =head2 AxWindow + =over + =item C<new> (...) ! Create a new ActiveX window. ! options : -parent => parent window (Required) *************** *** 225,239 **** -control => clisd (see below) (Required). ! clsid is a string identifier to create the control. ! Must be formatted in one of the following ways: ! - A ProgID such as "MSCAL.Calendar.7" ! - A CLSID such as "{8E27C92B-1264-101C-8A2F-040224009C02}" ! - A URL such as "http://www.microsoft.com" ! - A reference to an Active document such as 'file://Documents/MyDoc.doc' ! - A fragment of HTML such as "MSHTML:<HTML><BODY>This is a line of text</BODY></HTML>" ! Note "MSHTML:" must precede the HTML fragment so that it is designated as being an MSHTML stream. ! styles: -visible => 0/1 --- 216,232 ---- -control => clisd (see below) (Required). ! C<clsid> is a string identifier to create the control. ! Must be formatted in one of the following ways: ! - A ProgID such as "MSCAL.Calendar.7" ! - A CLSID such as "{8E27C92B-1264-101C-8A2F-040224009C02}" ! - A URL such as "http://www.microsoft.com" ! - A reference to an Active document such as 'file://Documents/MyDoc.doc' ! - A fragment of HTML such as "MSHTML:<HTML><BODY>This is a line of text</BODY></HTML>" ! Note that "MSHTML:" must precede the HTML fragment so that it is designated as ! being an MSHTML stream. ! ! styles: -visible => 0/1 *************** *** 245,352 **** -exstyle, -exaddstyle, -expushstyle, -exremstyle, -expopstyle ! Default style is : WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_CLIPCHILDREN =item C<Release> () ! If have crash when exiting, call this function before all the window are destroy (before Win32::GUI::Dialog(); exit). ! Generaly, call this function in the Window_Terminate handle. =head2 Property =item C<EnumPropertyID> () ! Return a list of all the Property ID of the control. =item C<EnumPropertyName> () ! Return a list of all the Property name of the control. =item C<GetPropertyInfo> (ID_or_Name) ! Return a hash with information about the Property from ID or Name. ! Hash entry : ! -Name => Property Name. ! -ID => Property ID. ! -VarType => Property Type (Variant type). ! -EnumValue => A formated string of enum value ( enum1=value1,enum2=value2,... ). ! -ReadOnly => Indicate if a property can only be read. ! -Description => Property Description. ! -Prototype => Prototype =item C<GetProperty> (ID_or_Name, [index, ...]) ! Get property value. ! For indexed property, add index list. =item C<SetProperty> (ID_or_Name, [index, ...], value) ! Set property value ! For indexed property, add index list before value. =head2 Method =item C<EnumMethodID> () ! Return a list of all the Method ID of the control. =item C<EnumMethodName> () ! Return a list of all the Method name of the control. =item C<GetMethodInfo> (ID_Name) ! Return a hash with information about the Method from ID or Name. ! Hash entry : ! -Name => Method Name. ! -ID => Method ID. ! -Description => Method Description. ! -Prototype => Method Prototype. =item C<CallMethod> (ID_or_Name, ...) ! Invoke a method of an ActiveX control. =head2 Event =item C<EnumEventID> () ! Return a list of all the Event ID of the control. =item C<EnumEventName> () ! Return a list of all the Event Name of the control. =item C<GetEventInfo> (ID_or_Name) ! Return a hash with information about the Event from ID or Name. ! Hash entry : ! -Name => Method Name. ! -ID => Method ID. ! -Description => Method Description. ! -Prototype => Method Prototype. =item C<RegisterEvent> (ID_or_Name, Callback) ! Associate a Callback for an ActiveX Event. =head2 Win32::OLE =item C<GetOLE> () ! Return a Win32::OLE object of Hosted ActiveX Control. ! You MUST add use Win32::OLE in your script. =head1 AUTHOR ! Laurent Rocher ([EMAIL PROTECTED]) ! HomePage :http://perso.club-internet.fr/rocherl/Win32GUI.html =head1 SEE ALSO ! Win32::GUI =cut --- 238,387 ---- -exstyle, -exaddstyle, -expushstyle, -exremstyle, -expopstyle ! Default style is : C<WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_CLIPCHILDREN> =item C<Release> () ! If you have a crash when exiting, call this function before all the ! windows are destroyed (i.e. before C<Win32::GUI::Dialog();> exits). ! Generaly, call this function in the Window_Terminate event handler. ! ! =back =head2 Property + =over + =item C<EnumPropertyID> () ! Return a list of all the Property IDs of the control. =item C<EnumPropertyName> () ! Return a list of all the Property names of the control. =item C<GetPropertyInfo> (ID_or_Name) ! Return a hash with information about the Property from C<ID_or_Name>. ! Hash entry : ! ! -Name => Property Name. ! -ID => Property ID. ! -VarType => Property Type (Variant type). ! -EnumValue => A formated string of enum value ( enum1=value1,enum2=value2,... ). ! -ReadOnly => Indicate if a property can only be read. ! -Description => Property Description. ! -Prototype => Prototype =item C<GetProperty> (ID_or_Name, [index, ...]) ! Get property value. ! For indexed property, add index list. =item C<SetProperty> (ID_or_Name, [index, ...], value) ! Set property value ! For indexed property, add index list before value. ! ! =back =head2 Method + =over + =item C<EnumMethodID> () ! Return a list of all the Method IDs of the control. =item C<EnumMethodName> () ! Return a list of all the Method names of the control. =item C<GetMethodInfo> (ID_Name) ! Return a hash with information about the Method from ID or Name. ! Hash entry : ! ! -Name => Method Name. ! -ID => Method ID. ! -Description => Method Description. ! -Prototype => Method Prototype. =item C<CallMethod> (ID_or_Name, ...) ! Invoke a method of an ActiveX control. ! ! =back =head2 Event + =over + =item C<EnumEventID> () ! Return a list of all the Event IDs of the control. =item C<EnumEventName> () ! Return a list of all the Event Names of the control. =item C<GetEventInfo> (ID_or_Name) ! Return a hash with information about the Event from C<ID_or_Name>. ! Hash entry : ! ! -Name => Method Name. ! -ID => Method ID. ! -Description => Method Description. ! -Prototype => Method Prototype. =item C<RegisterEvent> (ID_or_Name, Callback) ! Associate a Callback for an ActiveX Event. ! ! =back =head2 Win32::OLE + =over + =item C<GetOLE> () ! Return a Win32::OLE object of Hosted ActiveX Control. ! You MUST add C<use Win32::OLE;> in your script. ! ! =back =head1 AUTHOR ! Laurent Rocher ([EMAIL PROTECTED]) =head1 SEE ALSO ! L<Win32::GUI|Win32::GUI> L<http://perl-win32-gui.sourceforge.net/> ! ! =head1 DEPENDENCIES ! ! This module requires these other modules and libraries: ! ! =over ! ! =item Win32::GUI ! ! =item Active Template Library (ATL) ! ! =back ! ! =head1 COPYRIGHT AND LICENCE ! ! Copyright 2003 by Laurent Rocher ([EMAIL PROTECTED]). ! ! This program is free software; you can redistribute it and/or modify it ! under the same terms as Perl itself. ! ! See L<http://www.perl.com/perl/misc/Artistic.html> =cut --- NEW FILE: TODO --- - It would be nice if you were trying to create a control using an AxtiveX object that does not exist on the running PC that you got a control failure rather than a Shell.Explorer control showing an error. For eaxmple running the MSFlexGrid demo on a PC that does not have a registered version of msflxgrd.ocx, results in a window showing an IE Error, at it the underlying framework has fallen back to using 'MSFlexGridLib.MSFlexGrid' as a URL ('http://MSFlexGridLib.MSFlexGrid/', which, of course, does not exist). See InfoControl.pl example for a fairly heavy-handed way to do it. - Investigate why SetProperty('uiMode' ...) doesn't work in WMPlayer.pl demo. Is this a bug with AxWindow? - Complete the 'Uncomplete' demos. Make DHtmlEdit.pm and MsFlexGrid.pm installed modules? --- MANIFEST DELETED --- Index: AxWindow.xs =================================================================== RCS file: /cvsroot/perl-win32-gui/Win32-GUI/Win32-GUI-AxWindow/AxWindow.xs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** AxWindow.xs 1 Nov 2005 12:32:28 -0000 1.1 --- AxWindow.xs 11 Jun 2006 15:46:49 -0000 1.2 *************** *** 3,6 **** --- 3,8 ---- /**********************************************************************/ + /* $Id$ */ + #include <atlbase.h> *************** *** 17,48 **** /*====================================================================*/ - #ifdef PERL_5005 - #define __TEMP_WORD WORD - #endif - #include "EXTERN.h" #include "perl.h" #include "XSUB.h" - // Activate for ActiveState PERL_5005 - - #ifdef PERL_5005 - - #ifndef SvPV_nolen - #define SvPV_nolen(sv) SvPV(sv, PL_na) - #endif - - #ifndef call_sv - #define call_sv perl_call_sv - #endif - - #undef XST_mPV - #define XST_mPV(i,v) (ST(i) = sv_2mortal(newSVpv((char *)v,0))) - - #undef WORD - #define WORD __TEMP_WORD - - #endif - /*====================================================================*/ /* Internal function */ --- 19,26 ---- *************** *** 182,186 **** m_vtReturn = VT_BYREF | pfd->elemdescFunc.tdesc.lptdesc->vt; ! // Init parametre structure call if (m_iParams != 0) { --- 160,164 ---- m_vtReturn = VT_BYREF | pfd->elemdescFunc.tdesc.lptdesc->vt; ! // Init parameter structure call if (m_iParams != 0) { *************** *** 1020,1024 **** call_sv(m_Events[n]->GetCallback(), G_EVAL | G_DISCARD); ! // Output parametre for (i = pdispparams->cArgs - 1; i >= 0; --i) --- 998,1002 ---- call_sv(m_Events[n]->GetCallback(), G_EVAL | G_DISCARD); ! // Output parameter for (i = pdispparams->cArgs - 1; i >= 0; --i) *************** *** 1037,1041 **** case VT_UI1: ! pArg->bVal = SvIV(svref[i]); break; --- 1015,1019 ---- case VT_UI1: ! pArg->bVal = (BYTE)SvIV(svref[i]); break; *************** *** 1043,1047 **** case VT_UI2: ! pArg->iVal = SvIV(svref[i]); break; --- 1021,1025 ---- case VT_UI2: ! pArg->iVal = (SHORT)SvIV(svref[i]); break; *************** *** 1051,1070 **** case VT_UINT: ! pArg->lVal = SvIV(svref[i]); break; case VT_R4 : ! pArg->fltVal = SvNV(svref[i]); break; case VT_R8 : ! pArg->dblVal = SvNV(svref[i]); break; case VT_BOOL: ! pArg->boolVal = SvIV(svref[i]); break; --- 1029,1048 ---- case VT_UINT: ! pArg->lVal = (LONG)SvIV(svref[i]); break; case VT_R4 : ! pArg->fltVal = (FLOAT)SvNV(svref[i]); break; case VT_R8 : ! pArg->dblVal = (DOUBLE)SvNV(svref[i]); break; case VT_BOOL: ! pArg->boolVal = (VARIANT_BOOL)SvIV(svref[i]); break; *************** *** 1072,1076 **** case VT_BYREF | VT_UI1: ! *pArg->pbVal = SvIV(svref[i]); break; --- 1050,1054 ---- case VT_BYREF | VT_UI1: ! *pArg->pbVal = (BOOL)SvIV(svref[i]); break; *************** *** 1078,1082 **** case VT_BYREF | VT_UI2: ! *pArg->piVal = SvIV(svref[i]); break; --- 1056,1060 ---- case VT_BYREF | VT_UI2: ! *pArg->piVal = (SHORT)SvIV(svref[i]); break; *************** *** 1086,1105 **** case VT_BYREF | VT_UINT: ! *pArg->piVal = SvIV(svref[i]); break; case VT_BYREF | VT_R4 : ! *pArg->pfltVal = SvNV(svref[i]); break; case VT_BYREF | VT_R8 : ! *pArg->pdblVal = SvNV(svref[i]); break; case VT_BYREF | VT_BOOL : ! *pArg->pboolVal = SvIV(svref[i]); break; --- 1064,1083 ---- case VT_BYREF | VT_UINT: ! *pArg->plVal = (LONG)SvIV(svref[i]); break; case VT_BYREF | VT_R4 : ! *pArg->pfltVal = (FLOAT)SvNV(svref[i]); break; case VT_BYREF | VT_R8 : ! *pArg->pdblVal = (DOUBLE)SvNV(svref[i]); break; case VT_BYREF | VT_BOOL : ! *pArg->pboolVal = (VARIANT_BOOL)SvIV(svref[i]); break; *************** *** 1650,1653 **** --- 1628,1633 ---- MODULE = Win32::GUI::AxWindow PACKAGE = Win32::GUI::AxWindow + PROTOTYPES: ENABLE + ################################################################## # # *************** *** 1790,1794 **** } else ! XSRETURN_UNDEF; # --- 1770,1774 ---- } else ! XSRETURN_EMPTY; # *************** *** 1810,1814 **** } else ! XSRETURN_UNDEF; # --- 1790,1794 ---- } else ! XSRETURN_EMPTY; # *************** *** 1852,1856 **** else { ! XSRETURN_UNDEF; } --- 1832,1836 ---- else { ! XSRETURN_EMPTY; } *************** *** 1883,1887 **** } else ! XSRETURN_UNDEF; # --- 1863,1867 ---- } else ! XSRETURN_EMPTY; # *************** *** 1903,1907 **** } else ! XSRETURN_UNDEF; # --- 1883,1887 ---- } else ! XSRETURN_EMPTY; # *************** *** 1957,1961 **** else { ! XSRETURN_UNDEF; } --- 1937,1941 ---- else { ! XSRETURN_EMPTY; } *************** *** 1992,1996 **** PPCODE: ! // A methode if (type == DISPATCH_METHOD) { --- 1972,1976 ---- PPCODE: ! // A method if (type == DISPATCH_METHOD) { *************** *** 2527,2531 **** } else ! XSRETURN_UNDEF; # --- 2507,2511 ---- } else ! XSRETURN_EMPTY; # *************** *** 2549,2553 **** } else ! XSRETURN_UNDEF; --- 2529,2533 ---- } else ! XSRETURN_EMPTY; *************** *** 2583,2587 **** else { ! XSRETURN_UNDEF; } --- 2563,2567 ---- else { ! XSRETURN_EMPTY; } *************** *** 2598,2601 **** --- 2578,2582 ---- CMethod * method = NULL; CODE: + RETVAL = 0; if(SvIOK(ID_Name)) RETVAL = container->EventMap()->RegisterEvent(ST(0), (DISPID) SvIV(ID_Name), callback); --- README DELETED --- Index: Changes =================================================================== RCS file: /cvsroot/perl-win32-gui/Win32-GUI/Win32-GUI-AxWindow/Changes,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Changes 1 Nov 2005 12:32:28 -0000 1.1 --- Changes 11 Jun 2006 15:46:50 -0000 1.2 *************** *** 1,45 **** ! Revision history for Perl extension AxWindow. 0.07 03/02/2004 ! - Correct GetOLE() method when using PAR and PerlApp. 0.06 28/09/2003 ! - Rewrite creation method (Remove AttachControl method). ! - No more need to call Release Method before exit. ! - Correct bug in GetPropertyInfo with VARTYPE property. ! - Correct -heigth option. ! - Update and add samples. 0.05 15/10/2002 ! - Add GetOLE method (return a Win32::OLE object of Hosted ActiveX Control). ! - Add TestOle.pl Sample. 0.04 14/09/2002 ! - Add indexed property support. ! - Change code organisation (Invoke method, CProperty child of CMethod). ! - Add MSFlexGrid Sample. 0.03 30/05/2002 ! - Add VARTYPE property support. ! - Add output parameter for event support. ! - Accept control without event. ! - Correct DHTMLEdit.pm wrapper class. 0.02 25/03/2002 ! - Correct ReadOnly value for Properties. ! - Add =value for Enum string list for Properties. ! - Test ReadOnly attribut in SetProperty. ! - SetProperty handle Enum property by value or string constant. ! - Add a Release method for clean ActiveX reference before window destroy. ! - Manage VT_USERDEFINED as enum in CallMethod. ! - Add some documentation (sorry for my english ;-). ! - Add DHTML Edit sample (basic and a wrapper class). 0.01 22/03/2002 ! - original version; created by h2xs 1.19 ! - ActiveX control information (Properties, Metods, Events). ! - Set/Get property. ! - Call a Method. ! - Event Support. ! - Support of basic variant type. --- 1,53 ---- + Revision history for Perl extension Win32::GUI::AxWindow. ! 0.08 27/05/2006 ! - Merge into Win32::GUI core build ! - new build process (re-write Makefile.PL) ! - tidy documentation ! - tidy and correct demos ! - Introduce sub-classes: ! - Methods that return lists now use XSRETURN_EMPTY rather than ! XSRETURN_UNDEF when there is nothing to return 0.07 03/02/2004 ! - Correct GetOLE() method when using PAR and PerlApp. 0.06 28/09/2003 ! - Rewrite creation method (Remove AttachControl method). ! - No more need to call Release Method before exit. ! - Correct bug in GetPropertyInfo with VARTYPE property. ! - Correct -heigth option. ! - Update and add samples. 0.05 15/10/2002 ! - Add GetOLE method (return a Win32::OLE object of Hosted ActiveX Control). ! - Add TestOle.pl Sample. 0.04 14/09/2002 ! - Add indexed property support. ! - Change code organisation (Invoke method, CProperty child of CMethod). ! - Add MSFlexGrid Sample. 0.03 30/05/2002 ! - Add VARTYPE property support. ! - Add output parameter for event support. ! - Accept control without event. ! - Correct DHTMLEdit.pm wrapper class. 0.02 25/03/2002 ! - Correct ReadOnly value for Properties. ! - Add =value for Enum string list for Properties. ! - Test ReadOnly attribut in SetProperty. ! - SetProperty handle Enum property by value or string constant. ! - Add a Release method for clean ActiveX reference before window destroy. ! - Manage VT_USERDEFINED as enum in CallMethod. ! - Add some documentation (sorry for my english ;-). ! - Add DHTML Edit sample (basic and a wrapper class). 0.01 22/03/2002 ! - original version; created by h2xs 1.19 ! - ActiveX control information (Properties, Metods, Events). ! - Set/Get property. ! - Call a Method. ! - Event Support. ! - Support of basic variant type. Index: TYPEMAP =================================================================== RCS file: /cvsroot/perl-win32-gui/Win32-GUI/Win32-GUI-AxWindow/TYPEMAP,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** TYPEMAP 1 Nov 2005 12:32:28 -0000 1.1 --- TYPEMAP 11 Jun 2006 15:46:52 -0000 1.2 *************** *** 1,32 **** TYPEMAP CContainer* T_CONTAINER HWND T_HANDLE - HMENU T_HANDLE - HICON T_HANDLE - HCURSOR T_HANDLE - HBITMAP T_HANDLE - HFONT T_HANDLE - HGDIOBJ T_HANDLE - HIMAGELIST T_HANDLE - HDC T_HANDLE - HBRUSH T_HANDLE - HPEN T_HANDLE - HTREEITEM T_IV - LONG T_IV LPCTSTR T_PV - LPTSTR T_PV DWORD T_IV - UINT T_IV BOOL T_IV - WPARAM T_IV - LPARAM T_IV - LRESULT T_IV - HINSTANCE T_IV - COLORREF T_COLOR - LPCSTR T_PV - HENHMETAFILE T_IV - FLOAT T_FLOAT - LPVOID T_PV - HACCEL T_IV ################################################################################ --- 1,9 ---- + #$Id$ TYPEMAP CContainer* T_CONTAINER HWND T_HANDLE LPCTSTR T_PV DWORD T_IV BOOL T_IV ################################################################################ *************** *** 34,45 **** T_HANDLE if(SvROK($arg)) { ! if(hv_fetch((HV*)SvRV($arg), \"-handle\", 7, 0) != NULL) ! $var = ($type) SvIV(*(hv_fetch((HV*)SvRV($arg), \"-handle\", 7, 0))); else $var = NULL; } else ! $var = ($type) SvIV($arg); ! T_COLOR ! $var = SvCOLORREF($arg); T_CONTAINER $var = ($type) SvIV(*(hv_fetch((HV*)SvRV($arg), \"-CContainer\", 11, 0))); --- 11,22 ---- T_HANDLE if(SvROK($arg)) { ! SV** out=hv_fetch((HV*)SvRV($arg), \"-handle\", 7, 0); ! if(out != NULL) ! $var = INT2PTR($type,SvIV(*out)); else $var = NULL; } else ! $var = INT2PTR($type,SvIV($arg)); ! T_CONTAINER $var = ($type) SvIV(*(hv_fetch((HV*)SvRV($arg), \"-CContainer\", 11, 0))); *************** *** 47,53 **** ################################################################################ OUTPUT - T_HANDLE - sv_setiv($arg, (IV) $var); - T_COLOR - sv_setiv($arg, (IV) $var); - --- 24,25 ---- --- AxWindow.html DELETED ---