Update of /cvsroot/perl-win32-gui/Win32-GUI
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32127
Modified Files:
Button.xs CHANGELOG GUI.h GUI.pm GUI.rc GUI.xs GUI_Events.cpp
GUI_Helpers.cpp GUI_MessageLoops.cpp GUI_Options.cpp Header.xs
ImageList.xs ListView.xs MANIFEST Makefile.PL NotifyIcon.xs
Readme Readme.html Rebar.xs TYPEMAP Toolbar.xs Tooltip.xs
Trackbar.xs TreeView.xs Window.xs
Removed Files:
CustomDraw.pm
Log Message:
Reverted this-mornings changes; They will be re-applied in smaller chunks
Index: GUI.xs
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/GUI.xs,v
retrieving revision 1.49
retrieving revision 1.50
diff -C2 -d -r1.49 -r1.50
*** GUI.xs 16 Mar 2006 08:57:45 -0000 1.49
--- GUI.xs 16 Mar 2006 21:11:11 -0000 1.50
***************
*** 19,24 ****
#include "GUI.h"
- START_MY_CXT
-
/*
###########################################################################
--- 19,22 ----
***************
*** 59,63 ****
OUTPUT:
[...1021 lines suppressed...]
- #
- # Note: Called implicitly by DragQueryFiles. So don't use DragQueryFiles
- # if you need further information from this object.
- void
- DESTROY(handle)
- HDROP handle
- CODE:
- DragFinish(handle);
-
-
-
###########################################################################
BOOT:
{
- MY_CXT_INIT;
- MY_CXT.count = 0;
INITCOMMONCONTROLSEX icce;
icce.dwSize = sizeof(INITCOMMONCONTROLSEX);
--- 5716,5723 ----
Index: Button.xs
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/Button.xs,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** Button.xs 16 Mar 2006 08:57:42 -0000 1.7
--- Button.xs 16 Mar 2006 21:11:11 -0000 1.8
***************
*** 99,103 ****
else if Parse_Event("Disable", PERLWIN32GUI_NEM_CONTROL2)
else if Parse_Event("Push", PERLWIN32GUI_NEM_CONTROL3)
- else if Parse_Event("CustomDraw", PERLWIN32GUI_NEM_PAINT)
else retval = FALSE;
--- 99,102 ----
***************
*** 166,217 ****
break;
- case NM_CUSTOMDRAW:
- {
- /*
- * (@)EVENT:CustomDraw(CUSTOMDRAW)
- * Sent by a Button control to notify its parent windows about
- * drawing operations.
- *
- * CUSTOMDRAW - L<Win32::GUI::Button::CustomDraw> object holding
- * the NMCUSTOMDRAW structure.
- *
- * Return Value:
- * The value your application must return depends on
- * L<-drawstate|Win32::GUI::CustomDraw/DrawState>.
- *
- * CDRF_NOTIFYPOSTERASE (-drawstage == CDDS_PREERASE)
- * The control will notify the parent after erasing an item.
- *
- * CDRF_NOTIFYPOSTPAINT (-drawstage == CDDS_PREPAINT)
- * The control will notify the parent after painting an item.
- *
- * CDRF_SKIPDEFAULT (-drawstage == CDDS_PREERASE or
CDDS_PREPAINT)
- * The application drew the item manually. The control will
not draw
- * the item.
- *
- * Remarks:
- *
- * If the button control is marked ownerdraw (BS_OWNERDRAW), the
custom draw
- * notification is not sent.
- *
- * Note: To use this API, you must provide a manifest specifying
Comclt32.dll
- * version 6.0.
- *
- * (@)APPLIES_TO:Button
- */
- char class_name[] = "Win32::GUI::Button::CustomDraw";
- LPPERLWIN32GUI_NMCUSTOMDRAW lpCD =
(LPPERLWIN32GUI_NMCUSTOMDRAW) lParam;
- SV *obj = CreateNMCustomDraw(NOTXSCALL class_name, lpCD);
- PerlResult = DoEvent(NOTXSCALL perlud,
PERLWIN32GUI_NEM_PAINT, "CustomDraw",
- PERLWIN32GUI_ARGTYPE_SV, obj,
- -1);
- #ifdef PERLWIN32GUI_STRONGDEBUG
- printf("XS(CreateNMCustomDraw %s) => %d\n", class_name,
PerlResult);
- #endif
- perlud->forceResult = PerlResult;
- PerlResult = 0; /* MsgLoop return ForceResult */
- }
- break;
-
default:
PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_CONTROL1,
"Anonymous",
--- 165,168 ----
Index: Tooltip.xs
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/Tooltip.xs,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** Tooltip.xs 16 Mar 2006 08:57:48 -0000 1.6
--- Tooltip.xs 16 Mar 2006 21:11:12 -0000 1.7
***************
*** 10,19 ****
#include "GUI.h"
! typedef struct tagPERLWIN32GUI_NMTTCUSTOMDRAW {
! NMCUSTOMDRAW nmcd;
! UINT uDrawFlags;
! } PERLWIN32GUI_NMTTCUSTOMDRAW, * LPPERLWIN32GUI_NMTTCUSTOMDRAW;
!
! void
Tooltip_onPreCreate(NOTXSPROC LPPERLWIN32GUI_CREATESTRUCT perlcs) {
--- 10,14 ----
#include "GUI.h"
! void
Tooltip_onPreCreate(NOTXSPROC LPPERLWIN32GUI_CREATESTRUCT perlcs) {
***************
*** 56,60 ****
else if Parse_Event("Pop", PERLWIN32GUI_NEM_CONTROL2)
else if Parse_Event("Show", PERLWIN32GUI_NEM_CONTROL3)
- else if Parse_Event("CustomDraw", PERLWIN32GUI_NEM_PAINT)
else retval = FALSE;
--- 51,54 ----
***************
*** 105,125 ****
-1);
break;
- case NM_CUSTOMDRAW:
- {
- char class_name[] = "Win32::GUI::Tooltip::CustomDraw";
- LPPERLWIN32GUI_NMTTCUSTOMDRAW lpCD =
(LPPERLWIN32GUI_NMTTCUSTOMDRAW) lParam;
- SV *obj = CreateNMCustomDraw(NOTXSCALL class_name, lpCD);
- HV *hv = (HV *)SvRV(obj);
- hv_store_mg(NOTXSCALL hv,
"-drawflags",11,newSViv(lpCD->uDrawFlags), 0);
- PerlResult = DoEvent(NOTXSCALL perlud,
PERLWIN32GUI_NEM_PAINT, "CustomDraw",
- PERLWIN32GUI_ARGTYPE_SV, obj,
- -1);
- #ifdef PERLWIN32GUI_STRONGDEBUG
- printf("XS(CreateNMCustomDraw %s) => %d\n", class_name,
PerlResult);
- #endif
- perlud->forceResult = PerlResult;
- PerlResult = 0; /* MsgLoop return ForceResult */
- }
- break;
}
}
--- 99,102 ----
***************
*** 127,131 ****
return PerlResult;
}
!
MODULE = Win32::GUI::Tooltip PACKAGE = Win32::GUI::Tooltip
--- 104,108 ----
return PerlResult;
}
!
MODULE = Win32::GUI::Tooltip PACKAGE = Win32::GUI::Tooltip
Index: Window.xs
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/Window.xs,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** Window.xs 16 Mar 2006 08:57:48 -0000 1.11
--- Window.xs 16 Mar 2006 21:11:12 -0000 1.12
***************
*** 82,89 ****
storing = newSViv((LONG) handle_From(NOTXSCALL value));
stored = hv_store_mg(NOTXSCALL perlcs->hvSelf, "-accel", 6, storing,
0);
- } else if(strcmp(option, "-dropfiles") == 0) {
- perlcs->iDropFiles = (int) SvIV(value);
- storing = newSViv((LONG) SvIV(value));
- stored = hv_store_mg(NOTXSCALL perlcs->hvSelf, "-dropfiles", 10,
storing, 0);
} else if(strcmp(option, "-hasmaximize") == 0
|| strcmp(option, "-maximizebox") == 0) {
--- 82,85 ----
***************
*** 117,128 ****
void
Window_onPostCreate(NOTXSPROC HWND myhandle, LPPERLWIN32GUI_CREATESTRUCT
perlcs) {
-
- if (perlcs->iDropFiles) {
- #ifdef PERLWIN32GUI_STRONGDEBUG
- printf("XS(Window_onPostCreate DragAcceptFiles) (iDropFiles=%d,
myhandle=%ud)\n",
- perlcs->iDropFiles, myhandle);
- #endif
- DragAcceptFiles(myhandle, 1);
- }
}
--- 113,116 ----
***************
*** 140,144 ****
else if Parse_Event("Scroll", PERLWIN32GUI_NEM_CONTROL7)
else if Parse_Event("InitMenu", PERLWIN32GUI_NEM_CONTROL8)
- else if Parse_Event("DropFiles", PERLWIN32GUI_NEM_DROPFILE)
else if Parse_Event("Paint", PERLWIN32GUI_NEM_PAINT)
else retval = FALSE;
--- 128,131 ----
***************
*** 273,277 ****
* Sent when a menu is about to become active. It occurs when the
user clicks
* an item on the menu bar or presses a menu key. This allows the
application
! * to modify the menu before it is displayed.
* (@)APPLIES_TO:Window, DialogBox, MDIFrame
*/
--- 260,264 ----
* Sent when a menu is about to become active. It occurs when the
user clicks
* an item on the menu bar or presses a menu key. This allows the
application
! * to modify the menu before it is displayed.
* (@)APPLIES_TO:Window, DialogBox, MDIFrame
*/
***************
*** 308,314 ****
}
! void
DialogBox_onPostCreate(NOTXSPROC HWND myhandle, LPPERLWIN32GUI_CREATESTRUCT
perlcs) {
!
}
--- 295,301 ----
}
! void
DialogBox_onPostCreate(NOTXSPROC HWND myhandle, LPPERLWIN32GUI_CREATESTRUCT
perlcs) {
!
}
***************
*** 319,323 ****
}
! int
DialogBox_onEvent (NOTXSPROC LPPERLWIN32GUI_USERDATA perlud, UINT uMsg,
WPARAM wParam, LPARAM lParam) {
--- 306,310 ----
}
! int
DialogBox_onEvent (NOTXSPROC LPPERLWIN32GUI_USERDATA perlud, UINT uMsg,
WPARAM wParam, LPARAM lParam) {
***************
*** 351,357 ****
}
! void
Graphic_onPostCreate(NOTXSPROC HWND myhandle, LPPERLWIN32GUI_CREATESTRUCT
perlcs) {
!
}
--- 338,344 ----
}
! void
Graphic_onPostCreate(NOTXSPROC HWND myhandle, LPPERLWIN32GUI_CREATESTRUCT
perlcs) {
!
}
***************
*** 365,369 ****
else if Parse_Event("LButtonUp", PERLWIN32GUI_NEM_CONTROL2)
else if Parse_Event("RButtonDown", PERLWIN32GUI_NEM_CONTROL3)
! else if Parse_Event("RButtonUp", PERLWIN32GUI_NEM_CONTROL4)
else retval = FALSE;
--- 352,356 ----
else if Parse_Event("LButtonUp", PERLWIN32GUI_NEM_CONTROL2)
else if Parse_Event("RButtonDown", PERLWIN32GUI_NEM_CONTROL3)
! else if Parse_Event("RButtonUp", PERLWIN32GUI_NEM_CONTROL4)
else retval = FALSE;
***************
*** 371,375 ****
}
! int
Graphic_onEvent (NOTXSPROC LPPERLWIN32GUI_USERDATA perlud, UINT uMsg, WPARAM
wParam, LPARAM lParam) {
--- 358,362 ----
}
! int
Graphic_onEvent (NOTXSPROC LPPERLWIN32GUI_USERDATA perlud, UINT uMsg, WPARAM
wParam, LPARAM lParam) {
***************
*** 466,496 ****
#pragma message( "*** PACKAGE Win32::GUI::Window..." )
-
###########################################################################
- # (@)METHOD:DragAcceptFiles(HANDLE, [ fAccept ] )
- # Set or get the status whether a window or dialogbox accepts dropped
files.
- # Returns 0 or 1
- #
- int
- DragAcceptFiles(handle,...)
- HWND handle;
- CODE:
- int fAccept;
- HV* self;
- SV** tmp;
-
- RETVAL = 0;
- self = (HV*) SvRV(ST(0));
- if (self) {
- if ( items > 1 ) {
- fAccept = SvIV(ST(1)) ? 1 : 0;
- DragAcceptFiles(handle, (BOOL)fAccept);
- RETVAL = fAccept;
- } else {
- if (tmp = hv_fetch_mg(NOTXSCALL self, "-dropfiles", 10, 0))
- RETVAL = SvIV(*tmp);;
- }
- }
- OUTPUT:
- RETVAL
###########################################################################
--- 453,456 ----
Index: Readme
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/Readme,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** Readme 16 Mar 2006 08:57:48 -0000 1.5
--- Readme 16 Mar 2006 21:11:12 -0000 1.6
***************
*** 14,21 ****
AVAILABILITY
! This is the README file for Win32::GUI v1.03_03 built on 15 Mar 2006.
Source and ActiveState Perl PPMs are available from
! <http://sourceforge.net/project/showfiles.php?group_id=16572>.
A cygwin distribution (available through cygwin's setup.exe) is
--- 14,21 ----
AVAILABILITY
! This is the README file for Win32::GUI v1.03 built on 21 Nov 2005.
Source and ActiveState Perl PPMs are available from
! http://sourceforge.net/project/showfiles.php?group_id=16572.
A cygwin distribution (available through cygwin's setup.exe) is
***************
*** 157,166 ****
nmake ppm
! This procedure will generate a PPM for your current perl environment,
including the HTML documentation, ready for installation as above.
VERSION
! Documentation for Win32::GUI v1.03_03 created 15 Mar 2006
This document is autogenerated by the build process. Edits made here
--- 157,166 ----
nmake ppm
! This procedure will generate a PPM for you current perl environment,
including the HTML documentation, ready for installation as above.
VERSION
! Documentation for Win32::GUI v1.03 created 21 Nov 2005
This document is autogenerated by the build process. Edits made here
***************
*** 169,183 ****
SUPPORT
! Homepage: <http://perl-win32-gui.sourceforge.net/>.
For further support join the users mailing
list("[EMAIL PROTECTED]") from the website at
! <http://lists.sourceforge.net/lists/listinfo/perl-win32-gui-users>.
! There is a searchable list archive at
! <http://sourceforge.net/mail/?group_id=16572>.
COPYRIGHT and LICENCE
! Copyright (c) 1997..2006 Aldo Calpini. All rights reserved.
This program is free software; you can redistribute it and/or modify it
--- 169,183 ----
SUPPORT
! Homepage: http://perl-win32-gui.sourceforge.net/.
For further support join the users mailing
list("[EMAIL PROTECTED]") from the website at
! http://lists.sourceforge.net/lists/listinfo/perl-win32-gui-users. There
! is a searchable list archive at
! http://sourceforge.net/mail/?group_id=16572.
COPYRIGHT and LICENCE
! Copyright (c) 1997..2005 Aldo Calpini. All rights reserved.
This program is free software; you can redistribute it and/or modify it
Index: TreeView.xs
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/TreeView.xs,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** TreeView.xs 16 Mar 2006 08:57:48 -0000 1.6
--- TreeView.xs 16 Mar 2006 21:11:12 -0000 1.7
***************
*** 10,23 ****
#include "GUI.h"
! typedef struct tagPERLWIN32GUI_NMTVCUSTOMDRAWINFO {
! PERLWIN32GUI_NMCUSTOMDRAW nmcd;
! COLORREF clrText;
! COLORREF clrTextBk;
! #if (_WIN32_IE >= 0x0400)
! int iLevel;
! #endif
! } PERLWIN32GUI_NMTVCUSTOMDRAW, *LPPERLWIN32GUI_NMTVCUSTOMDRAW;
!
! void
TreeView_onPreCreate(NOTXSPROC LPPERLWIN32GUI_CREATESTRUCT perlcs) {
--- 10,14 ----
#include "GUI.h"
! void
TreeView_onPreCreate(NOTXSPROC LPPERLWIN32GUI_CREATESTRUCT perlcs) {
***************
*** 31,40 ****
BOOL retval = TRUE;
!
if(strcmp(option, "-imagelist") == 0) {
perlcs->hImageList = (HIMAGELIST) handle_From(NOTXSCALL value);
} else if(strcmp(option, "-tooltip") == 0) {
perlcs->hTooltip = (HWND) handle_From(NOTXSCALL value);
! SwitchBit(perlcs->cs.style, TVS_NOTOOLTIPS, 0);
} else if BitmaskOptionValue("-lines", perlcs->cs.style,
TVS_HASLINES)
} else if BitmaskOptionValue("-rootlines", perlcs->cs.style,
TVS_LINESATROOT)
--- 22,31 ----
BOOL retval = TRUE;
!
if(strcmp(option, "-imagelist") == 0) {
perlcs->hImageList = (HIMAGELIST) handle_From(NOTXSCALL value);
} else if(strcmp(option, "-tooltip") == 0) {
perlcs->hTooltip = (HWND) handle_From(NOTXSCALL value);
! SwitchBit(perlcs->cs.style, TVS_NOTOOLTIPS, 0);
} else if BitmaskOptionValue("-lines", perlcs->cs.style,
TVS_HASLINES)
} else if BitmaskOptionValue("-rootlines", perlcs->cs.style,
TVS_LINESATROOT)
***************
*** 61,66 ****
if(perlcs->hImageList != NULL)
TreeView_SetImageList(myhandle, perlcs->hImageList, TVSIL_NORMAL);
!
! if (perlcs->hTooltip != NULL)
TreeView_SetToolTips (myhandle, perlcs->hTooltip);
--- 52,57 ----
if(perlcs->hImageList != NULL)
TreeView_SetImageList(myhandle, perlcs->hImageList, TVSIL_NORMAL);
!
! if (perlcs->hTooltip != NULL)
TreeView_SetToolTips (myhandle, perlcs->hTooltip);
***************
*** 89,93 ****
else if Parse_Event("EndLabelEdit", PERLWIN32GUI_NEM_CONTROL7)
else if Parse_Event("KeyDown", PERLWIN32GUI_NEM_KEYDOWN)
- else if Parse_Event("CustomDraw", PERLWIN32GUI_NEM_PAINT)
else retval = FALSE;
--- 80,83 ----
***************
*** 100,109 ****
int PerlResult = 1;
TV_ITEM *pItem;
!
if ( uMsg == WM_NOTIFY ) {
LPNM_TREEVIEW tv_notify = (LPNM_TREEVIEW) lParam;
switch(tv_notify->hdr.code) {
!
case TVN_BEGINLABELEDIT:
/*
--- 90,99 ----
int PerlResult = 1;
TV_ITEM *pItem;
!
if ( uMsg == WM_NOTIFY ) {
LPNM_TREEVIEW tv_notify = (LPNM_TREEVIEW) lParam;
switch(tv_notify->hdr.code) {
!
case TVN_BEGINLABELEDIT:
/*
***************
*** 114,123 ****
* For a treeview to receive this event, -editlabels need to be
set to true.
* (@)APPLIES_TO:TreeView
! */
pItem = &((TV_DISPINFO*)lParam)->item;
PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_CONTROL6,
"BeginLabelEdit",
PERLWIN32GUI_ARGTYPE_LONG, (LONG) pItem->hItem,
-1);
!
// Force result if event is handle
if (perlud->dwPlStyle & PERLWIN32GUI_EVENTHANDLING) {
--- 104,113 ----
* For a treeview to receive this event, -editlabels need to be
set to true.
* (@)APPLIES_TO:TreeView
! */
pItem = &((TV_DISPINFO*)lParam)->item;
PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_CONTROL6,
"BeginLabelEdit",
PERLWIN32GUI_ARGTYPE_LONG, (LONG) pItem->hItem,
-1);
!
// Force result if event is handle
if (perlud->dwPlStyle & PERLWIN32GUI_EVENTHANDLING) {
***************
*** 127,135 ****
break;
! case TVN_ENDLABELEDIT:
/*
* (@)EVENT:EndLabelEdit(NODE,TEXT)
* Sent when the user has finished editing a label in the
TreeView control.
! * You have explicitly set the text of the node to reflect the
new changes.
* If the user cancels the edit, the text is undef.
* (@)APPLIES_TO:TreeView
--- 117,125 ----
break;
! case TVN_ENDLABELEDIT:
/*
* (@)EVENT:EndLabelEdit(NODE,TEXT)
* Sent when the user has finished editing a label in the
TreeView control.
! * You have explicitly set the text of the node to reflect the
new changes.
* If the user cancels the edit, the text is undef.
* (@)APPLIES_TO:TreeView
***************
*** 145,153 ****
PerlResult = DoEvent(NOTXSCALL perlud,
PERLWIN32GUI_NEM_CONTROL7, "EndLabelEdit",
PERLWIN32GUI_ARGTYPE_LONG, (LONG) pItem->hItem,
! -1);
}
!
break;
!
case TVN_SELCHANGED:
/*
--- 135,143 ----
PerlResult = DoEvent(NOTXSCALL perlud,
PERLWIN32GUI_NEM_CONTROL7, "EndLabelEdit",
PERLWIN32GUI_ARGTYPE_LONG, (LONG) pItem->hItem,
! -1);
}
!
break;
!
case TVN_SELCHANGED:
/*
***************
*** 214,223 ****
if (perlud->dwPlStyle & PERLWIN32GUI_EVENTHANDLING) {
perlud->forceResult = (PerlResult == 0 ? TRUE : FALSE);
! PerlResult = 0; // MsgLoop return ForceResult
}
break;
case TVN_KEYDOWN:
! {
/*
* (@)EVENT:KeyDown(KEY)
--- 204,213 ----
if (perlud->dwPlStyle & PERLWIN32GUI_EVENTHANDLING) {
perlud->forceResult = (PerlResult == 0 ? TRUE : FALSE);
! PerlResult = 0; // MsgLoop return ForceResult
}
break;
case TVN_KEYDOWN:
!
/*
* (@)EVENT:KeyDown(KEY)
***************
*** 231,258 ****
PERLWIN32GUI_ARGTYPE_LONG, (LONG) tv_keydown->wVKey,
-1);
- }
- break;
! case NM_CUSTOMDRAW:
! {
! LPPERLWIN32GUI_NMTVCUSTOMDRAW lpCD =
(LPPERLWIN32GUI_NMTVCUSTOMDRAW) lParam;
! SV *obj = CreateNMCustomDraw(NOTXSCALL
"Win32::GUI::TreeView::CustomDraw", lpCD);
! HV *hv = (HV *)SvRV(obj);
! hv_store_mg(NOTXSCALL hv, "-clrtext", 8, newSVuv((DWORD)
lpCD->clrText), 0);
! hv_store_mg(NOTXSCALL hv, "-clrtextbk", 10, newSVuv((DWORD)
lpCD->clrTextBk), 0);
! #if (_WIN32_IE >= 0x0400)
! hv_store_mg(NOTXSCALL hv, "-level", 6,
newSViv(lpCD->iLevel), 0);
! #endif
! PerlResult = DoEvent(NOTXSCALL perlud,
PERLWIN32GUI_NEM_PAINT, "CustomDraw",
! PERLWIN32GUI_ARGTYPE_SV, obj,
! -1);
! #ifdef PERLWIN32GUI_STRONGDEBUG
! printf("XS(CreateNMCustomDraw %s) => %d\n", class_name,
PerlResult);
! #endif
! perlud->forceResult = PerlResult;
! PerlResult = 0; /* MsgLoop return ForceResult */
! }
! break;
! }
}
--- 221,227 ----
PERLWIN32GUI_ARGTYPE_LONG, (LONG) tv_keydown->wVKey,
-1);
! break;
! }
}
***************
*** 267,270 ****
--- 236,240 ----
+
###########################################################################
# (@)METHOD:CreateDragImage(NODE)
***************
*** 319,324 ****
###########################################################################
# (@)METHOD:EndEditLabelNow([FLAG_CANCEL=TRUE])
! # Ends the editing of a tree view item's label.
! BOOL
EndEditLabelNow(handle,flag=TRUE)
HWND handle
--- 289,294 ----
###########################################################################
# (@)METHOD:EndEditLabelNow([FLAG_CANCEL=TRUE])
! # Ends the editing of a tree view item's label.
! BOOL
EndEditLabelNow(handle,flag=TRUE)
HWND handle
***************
*** 415,419 ****
###########################################################################
# (@)METHOD:GetFirstVisible()
! # Retrieves the first visible item in a TreeView.
HTREEITEM
GetFirstVisible(handle)
--- 385,389 ----
###########################################################################
# (@)METHOD:GetFirstVisible()
! # Retrieves the first visible item in a TreeView.
HTREEITEM
GetFirstVisible(handle)
***************
*** 427,431 ****
# (@)METHOD:GetImageList([TYPE=TVSIL_NORMAL])
# Retrieves the handle to the normal or state image list associated with
a TreeView.
! # B<TYPE> = TVSIL_NORMAL | TVSIL_STATE
HIMAGELIST
GetImageList(handle,type=TVSIL_NORMAL )
--- 397,401 ----
# (@)METHOD:GetImageList([TYPE=TVSIL_NORMAL])
# Retrieves the handle to the normal or state image list associated with
a TreeView.
! # B<TYPE> = TVSIL_NORMAL | TVSIL_STATE
HIMAGELIST
GetImageList(handle,type=TVSIL_NORMAL )
***************
*** 439,443 ****
###########################################################################
# (@)METHOD:GetIndent()
! # Retrieves the amount, in pixels, that child items are indented relative
to their parent items.
UINT
GetIndent(handle)
--- 409,413 ----
###########################################################################
# (@)METHOD:GetIndent()
! # Retrieves the amount, in pixels, that child items are indented relative
to their parent items.
UINT
GetIndent(handle)
***************
*** 531,535 ****
# (@)METHOD:GetItemRect(NODE,[FLAG=FALSE])
# Retrieves the bounding rectangle for a tree view item and indicates
whether the item is visible.
! # If B<FLAG> is TRUE, the bounding rectangle includes only the text of
the item. Otherwise, it includes the entire line that the item occupies in the
tree view control.
void
GetItemRect(handle,item,flag=FALSE)
--- 501,505 ----
# (@)METHOD:GetItemRect(NODE,[FLAG=FALSE])
# Retrieves the bounding rectangle for a tree view item and indicates
whether the item is visible.
! # If B<FLAG> is TRUE, the bounding rectangle includes only the text of
the item. Otherwise, it includes the entire line that the item occupies in the
tree view control.
void
GetItemRect(handle,item,flag=FALSE)
***************
*** 553,557 ****
###########################################################################
# (@)METHOD:GetLastVisible()
! # Retrieves the last expanded item in a tree view control.
HTREEITEM
GetLastVisible(handle)
--- 523,527 ----
###########################################################################
# (@)METHOD:GetLastVisible()
! # Retrieves the last expanded item in a tree view control.
HTREEITEM
GetLastVisible(handle)
***************
*** 566,578 ****
# Retrieves the tree view item that bears the specified relationship to a
specified item.
#
! # B<FLAG> specifying the item to retrieve :
# TVGN_CARET = Retrieves the currently selected item.
! # TVGN_CHILD = Retrieves the first child item of the item
specified by the hitem parameter.
# TVGN_DROPHILITE = Retrieves the item that is the target of a
drag-and-drop operation.
! # TVGN_FIRSTVISIBLE = Retrieves the first visible item.
# TVGN_NEXT = Retrieves the next sibling item.
# TVGN_NEXTVISIBLE = Retrieves the next visible item that follows
the specified item. The specified item must be visible.
! # TVGN_PARENT = Retrieves the parent of the specified item.
! # TVGN_PREVIOUS = Retrieves the previous sibling item.
# TVGN_PREVIOUSVISIBLE = Retrieves the first visible item that precedes
the specified item. The specified item must be visible.
# TVGN_ROOT = Retrieves the topmost or very first item of the
tree view control.
--- 536,548 ----
# Retrieves the tree view item that bears the specified relationship to a
specified item.
#
! # B<FLAG> specifying the item to retrieve :
# TVGN_CARET = Retrieves the currently selected item.
! # TVGN_CHILD = Retrieves the first child item of the item
specified by the hitem parameter.
# TVGN_DROPHILITE = Retrieves the item that is the target of a
drag-and-drop operation.
! # TVGN_FIRSTVISIBLE = Retrieves the first visible item.
# TVGN_NEXT = Retrieves the next sibling item.
# TVGN_NEXTVISIBLE = Retrieves the next visible item that follows
the specified item. The specified item must be visible.
! # TVGN_PARENT = Retrieves the parent of the specified item.
! # TVGN_PREVIOUS = Retrieves the previous sibling item.
# TVGN_PREVIOUSVISIBLE = Retrieves the first visible item that precedes
the specified item. The specified item must be visible.
# TVGN_ROOT = Retrieves the topmost or very first item of the
tree view control.
***************
*** 853,862 ****
###########################################################################
# (@)METHOD:Select(NODE, [FLAG=TVGN_CARET])
! # Selects the given B<NODE >in the TreeView.
# If B<NODE> is 0 (zero), the selected item, if any, is deselected.
#
# Optional B<FLAG> parameter
! # TVGN_CARET = Sets the selection to the given item.
! # TVGN_DROPHILITE = Redraws the given item in the style used to
indicate the target of a drag-and-drop operation.
# TVGN_FIRSTVISIBLE = Ensures that the specified item is visible, and,
if possible, displays it at the top of the control's window.
BOOL
--- 823,832 ----
###########################################################################
# (@)METHOD:Select(NODE, [FLAG=TVGN_CARET])
! # Selects the given B<NODE >in the TreeView.
# If B<NODE> is 0 (zero), the selected item, if any, is deselected.
#
# Optional B<FLAG> parameter
! # TVGN_CARET = Sets the selection to the given item.
! # TVGN_DROPHILITE = Redraws the given item in the style used to
indicate the target of a drag-and-drop operation.
# TVGN_FIRSTVISIBLE = Ensures that the specified item is visible, and,
if possible, displays it at the top of the control's window.
BOOL
***************
*** 1050,1054 ****
###########################################################################
# (@)METHOD:SetScrollTime(TIME)
! # Sets the maximum scroll time for the tree view control.
int
SetScrollTime(handle,time)
--- 1020,1024 ----
###########################################################################
# (@)METHOD:SetScrollTime(TIME)
! # Sets the maximum scroll time for the tree view control.
int
SetScrollTime(handle,time)
***************
*** 1086,1090 ****
###########################################################################
# (@)METHOD:SetUnicodeFormat(FLAG)
! # Sets the UNICODE character format flag for the control.
BOOL
SetUnicodeFormat(handle,flag)
--- 1056,1060 ----
###########################################################################
# (@)METHOD:SetUnicodeFormat(FLAG)
! # Sets the UNICODE character format flag for the control.
BOOL
SetUnicodeFormat(handle,flag)
***************
*** 1240,1302 ****
RETVAL
-
- MODULE = Win32::GUI::TreeView PACKAGE = Win32::GUI::TreeView::CustomDraw
-
- PROTOTYPES: DISABLE
-
-
###########################################################################
- # (@)PACKAGE:Win32::GUI::TreeView::CustomDraw
-
- #pragma message( "*** PACKAGE Win32::GUI::TreeView::CustomDraw..." )
-
-
###########################################################################
- # (@)METHOD:TextColor([COLOR])
- # Set or Get the CustomDraw -clrtext property.
- #
- # COLOR may be either a numerical value,
- # or a color expressed as [RR, GG, BB],
- # or a color expressed in HTML notation (#RRGGBB)
- SV *
- TextColor(handle,color=FALSE)
- HWND handle
- COLORREF color
- PREINIT:
- HV* hv = (HV*)SvRV(ST(0));
- CODE:
- LPPERLWIN32GUI_NMTVCUSTOMDRAW lpCD = (LPPERLWIN32GUI_NMTVCUSTOMDRAW)
handle;
- if (items == 2) {
- RETVAL = newSViv(color);
- if(SvROK(ST(0)))
- hv_store_mg(NOTXSCALL hv, "-clrtext", 8, RETVAL, 0);
- lpCD->clrText = color;
- } else {
- RETVAL = newSViv(lpCD->clrText);
- }
- OUTPUT:
- RETVAL
-
-
###########################################################################
- # (@)METHOD:BackColor([COLOR])
- # Set or Get the CustomDraw -clrtextbk property.
- #
- # COLOR may be either a numerical value,
- # or a color expressed as [RR, GG, BB],
- # or a color expressed in HTML notation (#RRGGBB)
- SV *
- BackColor(handle,color=FALSE)
- HWND handle
- COLORREF color
- PREINIT:
- HV* hv = (HV*)SvRV(ST(0));
- CODE:
- LPPERLWIN32GUI_NMTVCUSTOMDRAW lpCD = (LPPERLWIN32GUI_NMTVCUSTOMDRAW)
handle;
- if (items == 2) {
- RETVAL = newSViv(color);
- if(SvROK(ST(0)))
- hv_store_mg(NOTXSCALL hv, "-clrtextbk", 10, RETVAL, 0);
- lpCD->clrTextBk = color;
- } else {
- RETVAL = newSViv(lpCD->clrTextBk);
- }
- OUTPUT:
- RETVAL
--- 1210,1211 ----
Index: GUI_Events.cpp
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/GUI_Events.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** GUI_Events.cpp 16 Mar 2006 08:57:48 -0000 1.11
--- GUI_Events.cpp 16 Mar 2006 21:11:11 -0000 1.12
***************
*** 19,23 ****
BOOL ProcessEventError(NOTXSPROC char *Name, int* PerlResult) {
if(SvTRUE(ERRSV)) {
! if(strncmp(Name, "main::", 6) == 0) Name += 6;
MessageBeep(MB_ICONASTERISK);
*PerlResult = MessageBox(NULL, SvPV_nolen(ERRSV), Name, MB_ICONERROR
| MB_OKCANCEL);
--- 19,23 ----
BOOL ProcessEventError(NOTXSPROC char *Name, int* PerlResult) {
if(SvTRUE(ERRSV)) {
! if(strncmp(Name, "main::", 6) == 0) Name += 6;
MessageBeep(MB_ICONASTERISK);
*PerlResult = MessageBox(NULL, SvPV_nolen(ERRSV), Name, MB_ICONERROR
| MB_OKCANCEL);
***************
*** 72,76 ****
break;
case PERLWIN32GUI_ARGTYPE_LONG:
! XPUSHs(sv_2mortal(newSVuv(va_arg( args, long ))));
break;
case PERLWIN32GUI_ARGTYPE_WORD:
--- 72,76 ----
break;
case PERLWIN32GUI_ARGTYPE_LONG:
! XPUSHs(sv_2mortal(newSViv(va_arg( args, long ))));
break;
case PERLWIN32GUI_ARGTYPE_WORD:
***************
*** 81,87 ****
break;
case PERLWIN32GUI_ARGTYPE_SV:
- #ifdef PERLWIN32GUI_STRONGDEBUG
- printf("XS(DoEvent NEM PERLWIN32GUI_ARGTYPE_SV)\n");
- #endif
XPUSHs(va_arg( args, SV *));
break;
--- 81,84 ----
***************
*** 145,154 ****
XPUSHs(sv_2mortal(newSVpv(va_arg( args, char * ), 0)));
break;
- case PERLWIN32GUI_ARGTYPE_SV:
- #ifdef PERLWIN32GUI_STRONGDEBUG
- printf("XS(DoEvent OEM PERLWIN32GUI_ARGTYPE_SV)\n");
- #endif
- XPUSHs(va_arg( args, SV *));
- break;
default:
warn("Win32::GUI: WARNING! unknown argument type (%d) to
event '%s'", argtype, Name);
--- 142,145 ----
***************
*** 1048,1056 ****
//but this is slightly quicker:)
if(SvTRUE(ERRSV)) {
! ProcessEventError(NOTXSCALL "Hook", PerlResult);
! }
! else {
! if(count > 0) { *PerlResult = POPi; }
! }
PUTBACK;
FREETMPS;
--- 1039,1047 ----
//but this is slightly quicker:)
if(SvTRUE(ERRSV)) {
! ProcessEventError(NOTXSCALL "Hook",
PerlResult);
! }
! else {
! if(count > 0) { *PerlResult = POPi; }
! }
PUTBACK;
FREETMPS;
Index: TYPEMAP
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/TYPEMAP,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** TYPEMAP 16 Mar 2006 08:57:48 -0000 1.6
--- TYPEMAP 16 Mar 2006 21:11:12 -0000 1.7
***************
*** 13,17 ****
HPEN T_HANDLE
HRGN T_HANDLE
- HDROP T_HANDLE
HTREEITEM T_IV
LONG T_IV
--- 13,16 ----
***************
*** 57,58 ****
--- 56,58 ----
T_COLOR
sv_setiv($arg, (IV) $var);
+
Index: Rebar.xs
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/Rebar.xs,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** Rebar.xs 16 Mar 2006 08:57:48 -0000 1.8
--- Rebar.xs 16 Mar 2006 21:11:12 -0000 1.9
***************
*** 78,82 ****
if Parse_Event("HeightChange", PERLWIN32GUI_NEM_CONTROL1)
else if Parse_Event("ChevronPushed", PERLWIN32GUI_NEM_CONTROL2)
- else if Parse_Event("CustomDraw", PERLWIN32GUI_NEM_PAINT)
else retval = FALSE;
--- 78,81 ----
***************
*** 119,139 ****
}
break;
-
- case NM_CUSTOMDRAW:
- {
- char class_name[] = "Win32::GUI::Rebar::CustomDraw";
- LPPERLWIN32GUI_NMCUSTOMDRAW lpCD =
(LPPERLWIN32GUI_NMCUSTOMDRAW) lParam;
- SV *obj = CreateNMCustomDraw(NOTXSCALL class_name, lpCD);
- PerlResult = DoEvent(NOTXSCALL perlud,
PERLWIN32GUI_NEM_PAINT, "CustomDraw",
- PERLWIN32GUI_ARGTYPE_SV, obj,
- -1);
- #ifdef PERLWIN32GUI_STRONGDEBUG
- printf("XS(CreateNMCustomDraw %s) => %d\n", class_name,
PerlResult);
- #endif
- perlud->forceResult = PerlResult;
- PerlResult = 0; /* MsgLoop return ForceResult */
- }
- break;
-
}
--- 118,121 ----
Index: Trackbar.xs
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/Trackbar.xs,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** Trackbar.xs 16 Mar 2006 08:57:48 -0000 1.7
--- Trackbar.xs 16 Mar 2006 21:11:12 -0000 1.8
***************
*** 10,14 ****
#include "GUI.h"
! void
Trackbar_onPreCreate(NOTXSPROC LPPERLWIN32GUI_CREATESTRUCT perlcs) {
--- 10,14 ----
#include "GUI.h"
! void
Trackbar_onPreCreate(NOTXSPROC LPPERLWIN32GUI_CREATESTRUCT perlcs) {
***************
*** 24,28 ****
if(strcmp(option, "-tooltip") == 0) {
perlcs->hTooltip = (HWND) handle_From(NOTXSCALL value);
! SwitchBit(perlcs->cs.style, TBS_TOOLTIPS , 1);
} else if BitmaskOptionValue("-vertical", perlcs->cs.style, TBS_VERT)
} else if BitmaskOptionValue("-aligntop", perlcs->cs.style, TBS_TOP)
--- 24,28 ----
if(strcmp(option, "-tooltip") == 0) {
perlcs->hTooltip = (HWND) handle_From(NOTXSCALL value);
! SwitchBit(perlcs->cs.style, TBS_TOOLTIPS , 1);
} else if BitmaskOptionValue("-vertical", perlcs->cs.style, TBS_VERT)
} else if BitmaskOptionValue("-aligntop", perlcs->cs.style, TBS_TOP)
***************
*** 39,46 ****
}
! void
Trackbar_onPostCreate(NOTXSPROC HWND myhandle, LPPERLWIN32GUI_CREATESTRUCT
perlcs) {
! if (perlcs->hTooltip != NULL)
SendMessage(myhandle, TBM_SETTOOLTIPS, (WPARAM) perlcs->hTooltip, 0);
}
--- 39,46 ----
}
! void
Trackbar_onPostCreate(NOTXSPROC HWND myhandle, LPPERLWIN32GUI_CREATESTRUCT
perlcs) {
! if (perlcs->hTooltip != NULL)
SendMessage(myhandle, TBM_SETTOOLTIPS, (WPARAM) perlcs->hTooltip, 0);
}
***************
*** 83,102 ****
PERLWIN32GUI_ARGTYPE_INT, (int) HIWORD(wParam),
-1 );
break;
-
- case NM_CUSTOMDRAW:
- {
- char class_name[] = "Win32::GUI::Trackbar::CustomDraw";
- LPPERLWIN32GUI_NMCUSTOMDRAW lpCD = (LPPERLWIN32GUI_NMCUSTOMDRAW) lParam;
- SV *obj = CreateNMCustomDraw(NOTXSCALL class_name, lpCD);
- PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_PAINT,
"CustomDraw",
- PERLWIN32GUI_ARGTYPE_SV, obj,
- -1);
- #ifdef PERLWIN32GUI_STRONGDEBUG
- printf("XS(CreateNMCustomDraw %s) => %d\n", class_name, PerlResult);
- #endif
- perlud->forceResult = PerlResult;
- PerlResult = 0;
- }
- break;
}
--- 83,86 ----
***************
*** 140,144 ****
# Retrieves the handle to a trackbar control buddy window at a given
location.
#
! # The specified location is relative to the control's orientation
(horizontal or vertical).
# B<LOCATION> = FALSE : Retrieves buddy to the right of the trackbar (or
below for vertical trackbar)
# B<LOCATION> = TRUE : Retrieves buddy to the left of the trackbar (or
above for vertical trackbar)
--- 124,128 ----
# Retrieves the handle to a trackbar control buddy window at a given
location.
#
! # The specified location is relative to the control's orientation
(horizontal or vertical).
# B<LOCATION> = FALSE : Retrieves buddy to the right of the trackbar (or
below for vertical trackbar)
# B<LOCATION> = TRUE : Retrieves buddy to the left of the trackbar (or
above for vertical trackbar)
***************
*** 155,159 ****
# (@)METHOD:GetChannelRect()
# Retrieves the bounding rectangle for a trackbar's channel.
! # The channel is the area over which the slider moves. It contains the
highlight when a range is selected.
void
--- 139,143 ----
# (@)METHOD:GetChannelRect()
# Retrieves the bounding rectangle for a trackbar's channel.
! # The channel is the area over which the slider moves. It contains the
highlight when a range is selected.
void
***************
*** 221,225 ****
###########################################################################
# (@)METHOD:GetPics()
! # Retrieves an array of logical positions of the trackbar's tick marks,
not including the first and last tick.
void
--- 205,209 ----
###########################################################################
# (@)METHOD:GetPics()
! # Retrieves an array of logical positions of the trackbar's tick marks,
not including the first and last tick.
void
***************
*** 236,240 ****
if (pTics) {
EXTEND(SP, nTics);
! for (UINT i = 0; i < nTics; i++)
XST_mIV(i, pTics[i]);
XSRETURN(nTics);
--- 220,224 ----
if (pTics) {
EXTEND(SP, nTics);
! for (UINT i = 0; i < nTics; i++)
XST_mIV(i, pTics[i]);
XSRETURN(nTics);
***************
*** 308,312 ****
###########################################################################
# (@)METHOD:GetThumbRect()
! # Retrieves the bounding rectangle for the slider in a trackbar.
void
--- 292,296 ----
###########################################################################
# (@)METHOD:GetThumbRect()
! # Retrieves the bounding rectangle for the slider in a trackbar.
void
***************
*** 352,356 ****
###########################################################################
# (@)METHOD:GetToolTips()
! # Retrieves the handle to the tooltip control assigned to the trackbar,
if any.
LRESULT
--- 336,340 ----
###########################################################################
# (@)METHOD:GetToolTips()
! # Retrieves the handle to the tooltip control assigned to the trackbar,
if any.
LRESULT
***************
*** 364,368 ****
###########################################################################
# (@)METHOD:GetUnicodeFormat()
! # Retrieves the UNICODE character format flag for the control.
LRESULT
--- 348,352 ----
###########################################################################
# (@)METHOD:GetUnicodeFormat()
! # Retrieves the UNICODE character format flag for the control.
LRESULT
***************
*** 378,382 ****
# Assigns a window as the buddy window for a trackbar control
# Returns the handle to the window that was previously assigned to the
control at that location
! # The specified location is relative to the control's orientation
(horizontal or vertical).
# LOCATION = FALSE : Retrieves buddy to the right of the trackbar (or
below for vertical trackbar)
# LOCATION = TRUE : Retrieves buddy to the left of the trackbar (or
above for vertical trackbar)
--- 362,366 ----
# Assigns a window as the buddy window for a trackbar control
# Returns the handle to the window that was previously assigned to the
control at that location
! # The specified location is relative to the control's orientation
(horizontal or vertical).
# LOCATION = FALSE : Retrieves buddy to the right of the trackbar (or
below for vertical trackbar)
# LOCATION = TRUE : Retrieves buddy to the left of the trackbar (or
above for vertical trackbar)
***************
*** 406,410 ****
###########################################################################
# (@)METHOD:SetPageSize([SIZE=10])
! # Sets the number of logical positions the trackbar's slider moves in
response to keyboard input, such as the PAGE UP or PAGE DOWN keys, or mouse
input, such as clicks in the trackbar's channel.
LRESULT
--- 390,394 ----
###########################################################################
# (@)METHOD:SetPageSize([SIZE=10])
! # Sets the number of logical positions the trackbar's slider moves in
response to keyboard input, such as the PAGE UP or PAGE DOWN keys, or mouse
input, such as clicks in the trackbar's channel.
LRESULT
***************
*** 433,437 ****
###########################################################################
# (@)METHOD:SetRange([MIN=0], MAX, [REDRAW=TRUE])
! # Sets the range of minimum and maximum logical positions for the slider
in a trackbar.
LRESULT
--- 417,421 ----
###########################################################################
# (@)METHOD:SetRange([MIN=0], MAX, [REDRAW=TRUE])
! # Sets the range of minimum and maximum logical positions for the slider
in a trackbar.
LRESULT
***************
*** 476,480 ****
###########################################################################
# (@)METHOD:SetSel([MIN=0], MAX, [REDRAW=TRUE])
! # Sets the starting and ending logical positions for the current
selection range in a trackbar.
LRESULT
--- 460,464 ----
###########################################################################
# (@)METHOD:SetSel([MIN=0], MAX, [REDRAW=TRUE])
! # Sets the starting and ending logical positions for the current
selection range in a trackbar.
LRESULT
***************
*** 532,536 ****
###########################################################################
# (@)METHOD:SetTic(POSITION)
! # Sets a tick mark in a trackbar at the specified logical position.
LRESULT
--- 516,520 ----
###########################################################################
# (@)METHOD:SetTic(POSITION)
! # Sets a tick mark in a trackbar at the specified logical position.
LRESULT
***************
*** 562,568 ****
# Positions a tooltip control used by a trackbar control.
# TBTS_TOP : The tooltip control will be positioned above the trackbar.
This flag is for use with horizontal trackbars.
! # TBTS_LEFT The tooltip control will be positioned to the left of the
trackbar. This flag is for use with vertical trackbars.
! # TBTS_BOTTOM The tooltip control will be positioned below the trackbar.
This flag is for use with horizontal trackbars.
! # TBTS_RIGHT The tooltip control will be positioned to the right of the
trackbar. This flag is for use with vertical trackbars.
LRESULT
--- 546,552 ----
# Positions a tooltip control used by a trackbar control.
# TBTS_TOP : The tooltip control will be positioned above the trackbar.
This flag is for use with horizontal trackbars.
! # TBTS_LEFT The tooltip control will be positioned to the left of the
trackbar. This flag is for use with vertical trackbars.
! # TBTS_BOTTOM The tooltip control will be positioned below the trackbar.
This flag is for use with horizontal trackbars.
! # TBTS_RIGHT The tooltip control will be positioned to the right of the
trackbar. This flag is for use with vertical trackbars.
LRESULT
***************
*** 590,594 ****
###########################################################################
# (@)METHOD:SetUnicodeFormat(FLAG)
! # Sets the UNICODE character format flag for the control.
LRESULT
--- 574,578 ----
###########################################################################
# (@)METHOD:SetUnicodeFormat(FLAG)
! # Sets the UNICODE character format flag for the control.
LRESULT
***************
*** 613,619 ****
HWND handle
CODE:
! if(items > 1) {
if(items > 2)
! RETVAL = SendMessage(handle, TBM_SETRANGEMIN, (WPARAM)
SvIV(ST(2)), (LPARAM) SvIV(ST(1)));
else
RETVAL = SendMessage(handle, TBM_SETRANGEMIN, 1, (LPARAM)
SvIV(ST(1)));
--- 597,603 ----
HWND handle
CODE:
! if(items > 1) {
if(items > 2)
! RETVAL = SendMessage(handle, TBM_SETRANGEMIN, (WPARAM)
SvIV(ST(2)), (LPARAM) SvIV(ST(1)));
else
RETVAL = SendMessage(handle, TBM_SETRANGEMIN, 1, (LPARAM)
SvIV(ST(1)));
***************
*** 633,639 ****
HWND handle
CODE:
! if(items > 1) {
if(items > 2)
! RETVAL = SendMessage(handle, TBM_SETRANGEMAX, (WPARAM)
SvIV(ST(2)), (LPARAM) SvIV(ST(1)));
else
RETVAL = SendMessage(handle, TBM_SETRANGEMAX, 1, (LPARAM)
SvIV(ST(1)));
--- 617,623 ----
HWND handle
CODE:
! if(items > 1) {
if(items > 2)
! RETVAL = SendMessage(handle, TBM_SETRANGEMAX, (WPARAM)
SvIV(ST(2)), (LPARAM) SvIV(ST(1)));
else
RETVAL = SendMessage(handle, TBM_SETRANGEMAX, 1, (LPARAM)
SvIV(ST(1)));
***************
*** 652,658 ****
HWND handle
CODE:
! if(items > 1) {
if(items > 2)
! RETVAL = SendMessage(handle, TBM_SETPOS, (WPARAM) SvIV(ST(2)),
(LPARAM) SvIV(ST(1)));
else
RETVAL = SendMessage(handle, TBM_SETPOS, 1, (LPARAM) SvIV(ST(1)));
--- 636,642 ----
HWND handle
CODE:
! if(items > 1) {
if(items > 2)
! RETVAL = SendMessage(handle, TBM_SETPOS, (WPARAM) SvIV(ST(2)),
(LPARAM) SvIV(ST(1)));
else
RETVAL = SendMessage(handle, TBM_SETPOS, 1, (LPARAM) SvIV(ST(1)));
***************
*** 671,677 ****
HWND handle
CODE:
! if(items > 1) {
if(items > 2)
! RETVAL = SendMessage(handle, TBM_SETSELSTART, (WPARAM)
SvIV(ST(2)), (LPARAM) SvIV(ST(1)));
else
RETVAL = SendMessage(handle, TBM_SETSELSTART, 1, (LPARAM)
SvIV(ST(1)));
--- 655,661 ----
HWND handle
CODE:
! if(items > 1) {
if(items > 2)
! RETVAL = SendMessage(handle, TBM_SETSELSTART, (WPARAM)
SvIV(ST(2)), (LPARAM) SvIV(ST(1)));
else
RETVAL = SendMessage(handle, TBM_SETSELSTART, 1, (LPARAM)
SvIV(ST(1)));
***************
*** 690,696 ****
HWND handle
CODE:
! if(items > 1) {
if(items > 2)
! RETVAL = SendMessage(handle, TBM_SETSELEND, (WPARAM) SvIV(ST(2)),
(LPARAM) SvIV(ST(1)));
else
RETVAL = SendMessage(handle, TBM_SETSELEND, 1, (LPARAM)
SvIV(ST(1)));
--- 674,680 ----
HWND handle
CODE:
! if(items > 1) {
if(items > 2)
! RETVAL = SendMessage(handle, TBM_SETSELEND, (WPARAM) SvIV(ST(2)),
(LPARAM) SvIV(ST(1)));
else
RETVAL = SendMessage(handle, TBM_SETSELEND, 1, (LPARAM)
SvIV(ST(1)));
Index: ListView.xs
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/ListView.xs,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** ListView.xs 16 Mar 2006 08:57:48 -0000 1.11
--- ListView.xs 16 Mar 2006 21:11:11 -0000 1.12
***************
*** 10,35 ****
#include "GUI.h"
! typedef struct tagPERLWIN32GUI_NMLVCUSTOMDRAWINFO {
! PERLWIN32GUI_NMCUSTOMDRAW nmcd;
! COLORREF clrText;
! COLORREF clrTextBk;
! #if (_WIN32_IE >= 0x0400)
! int iSubItem;
! #endif
! #if (_WIN32_IE >= 0x560)
! DWORD dwItemType;
! // Item Custom Draw
! COLORREF clrFace;
! int iIconEffect;
! int iIconPhase;
! int iPartId;
! int iStateId:
! // Group Custom Draw
! RECT rcText;
! UINT uAlign;
! #endif
! } PERLWIN32GUI_NMLVCUSTOMDRAW, *LPPERLWIN32GUI_NMLVCUSTOMDRAW;
!
! void
ListView_onPreCreate(NOTXSPROC LPPERLWIN32GUI_CREATESTRUCT perlcs) {
--- 10,14 ----
#include "GUI.h"
! void
ListView_onPreCreate(NOTXSPROC LPPERLWIN32GUI_CREATESTRUCT perlcs) {
***************
*** 56,63 ****
} else if(strcmp(option, "-imagelist") == 0) {
perlcs->hImageList = (HIMAGELIST) handle_From(NOTXSCALL value);
!
} else if BitmaskOptionValue("-report", perlcs->cs.style,
LVS_REPORT)
} else if BitmaskOptionValue("-list", perlcs->cs.style,
LVS_LIST)
! } else if BitmaskOptionValue("-singlesel", perlcs->cs.style,
LVS_SINGLESEL)
} else if BitmaskOptionValue("-showselalways", perlcs->cs.style,
LVS_SHOWSELALWAYS)
} else if BitmaskOptionValue("-sortascending", perlcs->cs.style,
LVS_SORTASCENDING)
--- 35,42 ----
} else if(strcmp(option, "-imagelist") == 0) {
perlcs->hImageList = (HIMAGELIST) handle_From(NOTXSCALL value);
!
} else if BitmaskOptionValue("-report", perlcs->cs.style,
LVS_REPORT)
} else if BitmaskOptionValue("-list", perlcs->cs.style,
LVS_LIST)
! } else if BitmaskOptionValue("-singlesel", perlcs->cs.style,
LVS_SINGLESEL)
} else if BitmaskOptionValue("-showselalways", perlcs->cs.style,
LVS_SHOWSELALWAYS)
} else if BitmaskOptionValue("-sortascending", perlcs->cs.style,
LVS_SORTASCENDING)
***************
*** 94,99 ****
ListView_onPostCreate(NOTXSPROC HWND myhandle, LPPERLWIN32GUI_CREATESTRUCT
perlcs) {
! // NOTE: Currently nobody sets this dwFlagsMask
! if (perlcs->dwFlags != 0) //dwFlagsMask
ListView_SetExtendedListViewStyleEx(myhandle, perlcs->dwFlagsMask,
perlcs->dwFlags);
--- 73,77 ----
ListView_onPostCreate(NOTXSPROC HWND myhandle, LPPERLWIN32GUI_CREATESTRUCT
perlcs) {
! if (perlcs->dwFlagsMask != 0)
ListView_SetExtendedListViewStyleEx(myhandle, perlcs->dwFlagsMask,
perlcs->dwFlags);
***************
*** 104,108 ****
if(perlcs->clrBackground != CLR_INVALID) {
SendMessage((HWND)myhandle, LVM_SETBKCOLOR, (WPARAM) 0, (LPARAM)
perlcs->clrBackground);
! perlcs->clrBackground = CLR_INVALID; // Don't store
}
}
--- 82,86 ----
if(perlcs->clrBackground != CLR_INVALID) {
SendMessage((HWND)myhandle, LVM_SETBKCOLOR, (WPARAM) 0, (LPARAM)
perlcs->clrBackground);
! perlcs->clrBackground = CLR_INVALID; // Don't store
}
}
***************
*** 121,134 ****
else if Parse_Event("EndLabelEdit", PERLWIN32GUI_NEM_CONTROL7)
else if Parse_Event("BeginDrag", PERLWIN32GUI_NEM_CONTROL8)
- else if Parse_Event("CustomDraw", PERLWIN32GUI_NEM_PAINT)
else if Parse_Event("KeyDown", PERLWIN32GUI_NEM_KEYDOWN)
else retval = FALSE;
- // TODO:
- // InsertItem
- // ItemActivate
- // HotTrack
- // DeleteItem
- // CustomDraw - should we use the event name Paint here?
return retval;
--- 99,105 ----
***************
*** 151,158 ****
/*
* (@)EVENT:BeginDrag(ITEM)
! * Notifies a list-view control that a drag-and-drop operation
involving the left mouse
* button is being initiated. Passes the item being dragged.
* (@)APPLIES_TO:ListView
! */
PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_CONTROL8,
"BeginDrag",
PERLWIN32GUI_ARGTYPE_LONG, (LONG) lv_notify->iItem,-1);
--- 122,129 ----
/*
* (@)EVENT:BeginDrag(ITEM)
! * Notifies a list-view control that a drag-and-drop operation
involving the left mouse
* button is being initiated. Passes the item being dragged.
* (@)APPLIES_TO:ListView
! */
PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_CONTROL8,
"BeginDrag",
PERLWIN32GUI_ARGTYPE_LONG, (LONG) lv_notify->iItem,-1);
***************
*** 167,171 ****
* CHANGED specifies the item attributes that have changed (LVIF_).
* (@)APPLIES_TO:ListView
! */
case LVN_ITEMCHANGING:
--- 138,142 ----
* CHANGED specifies the item attributes that have changed (LVIF_).
* (@)APPLIES_TO:ListView
! */
case LVN_ITEMCHANGING:
***************
*** 185,189 ****
break;
!
/*
* (@)EVENT:ItemChanged(ITEM, NEWSTATE, OLDSTATE, CHANGED)
--- 156,160 ----
break;
!
/*
* (@)EVENT:ItemChanged(ITEM, NEWSTATE, OLDSTATE, CHANGED)
***************
*** 234,238 ****
// TODO : LVN_DELETEITEM :
// TODO : LVN_ITEMACTIVATE
!
case LVN_COLUMNCLICK:
/*
--- 205,209 ----
// TODO : LVN_DELETEITEM :
// TODO : LVN_ITEMACTIVATE
!
case LVN_COLUMNCLICK:
/*
***************
*** 256,260 ****
* For a ListView to receive this event, -editlabels need to be
set to true.
* (@)APPLIES_TO:ListView
! */
case LVN_BEGINLABELEDIT:
--- 227,231 ----
* For a ListView to receive this event, -editlabels need to be
set to true.
* (@)APPLIES_TO:ListView
! */
case LVN_BEGINLABELEDIT:
***************
*** 270,283 ****
break;
!
/*
* (@)EVENT:EndLabelEdit(ITEM,TEXT)
* Sent when the user has finished editing a label in the
ListView control.
! * You have explicitly set the text of the item to reflect the
new changes.
* If the user cancels the edit, the text is undef.
* (@)APPLIES_TO:ListView
*/
! case LVN_ENDLABELEDIT:
pItem = &((LV_DISPINFO*)lParam)->item;
--- 241,254 ----
break;
!
/*
* (@)EVENT:EndLabelEdit(ITEM,TEXT)
* Sent when the user has finished editing a label in the
ListView control.
! * You have explicitly set the text of the item to reflect the
new changes.
* If the user cancels the edit, the text is undef.
* (@)APPLIES_TO:ListView
*/
! case LVN_ENDLABELEDIT:
pItem = &((LV_DISPINFO*)lParam)->item;
***************
*** 292,304 ****
PerlResult = DoEvent(NOTXSCALL perlud,
PERLWIN32GUI_NEM_CONTROL7, "EndLabelEdit",
PERLWIN32GUI_ARGTYPE_LONG, (LONG) pItem->iItem,
! -1);
}
!
break;
case LVN_KEYDOWN:
{
/*
! * (@)EVENT:KeyDown(KEY, hwndFrom, idFrom, CODE)
* Sent when the user presses a key while the ListView
* control has focus; KEY is the ASCII code of the
--- 263,276 ----
PerlResult = DoEvent(NOTXSCALL perlud,
PERLWIN32GUI_NEM_CONTROL7, "EndLabelEdit",
PERLWIN32GUI_ARGTYPE_LONG, (LONG) pItem->iItem,
! -1);
}
!
break;
case LVN_KEYDOWN:
{
+ LV_KEYDOWN FAR * lv_keydown = (LV_KEYDOWN FAR *) lParam;
/*
! * (@)EVENT:KeyDown(KEY)
* Sent when the user presses a key while the ListView
* control has focus; KEY is the ASCII code of the
***************
*** 306,385 ****
* (@)APPLIES_TO:ListView
*/
- //FIXME: on ctrl-keys there is a additional param on the stack
- LV_KEYDOWN FAR * lv_keydown = (LV_KEYDOWN FAR *) lParam;
- NMHDR lv_NMHDR = lv_keydown->hdr;
- if (0 && ((LONG) lv_NMHDR.hwndFrom == 16)) {
- PerlResult = DoEvent(NOTXSCALL perlud,
PERLWIN32GUI_NEM_KEYDOWN, "KeyDown",
- PERLWIN32GUI_ARGTYPE_LONG, (HWND) lv_NMHDR.hwndFrom,
- PERLWIN32GUI_ARGTYPE_LONG, (LONG) lv_NMHDR.idFrom,
- PERLWIN32GUI_ARGTYPE_LONG, (LONG) lv_NMHDR.code,
- -1);
- } else {
PerlResult = DoEvent(NOTXSCALL perlud,
PERLWIN32GUI_NEM_KEYDOWN, "KeyDown",
PERLWIN32GUI_ARGTYPE_LONG, (LONG) lv_keydown->wVKey,
- PERLWIN32GUI_ARGTYPE_LONG, (HWND) lv_NMHDR.hwndFrom,
- PERLWIN32GUI_ARGTYPE_LONG, (LONG) lv_NMHDR.idFrom,
- PERLWIN32GUI_ARGTYPE_LONG, (LONG) lv_NMHDR.code,
-1);
- }
}
break;
// TODO : LVN_HOTTRACK
-
- case NM_CUSTOMDRAW:
- {
- SV* obj;
- HV* hv;
- char class_name[] = "Win32::GUI::ListView::CustomDraw";
- LPPERLWIN32GUI_NMLVCUSTOMDRAW lpLvCD =
(LPPERLWIN32GUI_NMLVCUSTOMDRAW) lParam;
- obj = CreateNMCustomDraw(NOTXSCALL class_name, lpLvCD);
- hv = (HV *)SvRV(obj);
- #ifdef PERLWIN32GUI_STRONGDEBUG
- printf("XS(CreateNMCustomDraw hv) hv=0x%x, type=%d, flags=%d,
magic=%d\n",
- hv, SvTYPE(hv), SvFLAGS(hv), SvMAGICAL(hv));
- #endif
- hv_store_mg(NOTXSCALL hv, "-clrtext", 8,
newSViv(lpLvCD->clrText), 0);
- hv_store_mg(NOTXSCALL hv, "-clrtextbk", 10,
newSViv(lpLvCD->clrTextBk), 0);
- #if (_WIN32_IE >= 0x0400)
- hv_store_mg(NOTXSCALL hv, "-subitem", 8,
newSViv(lpLvCD->iSubItem), 0);
- #endif
- #if (_WIN32_IE >= 0x560)
- AV* rect = newAV();
- av_push(rect, newSViv(lpLvCD->rcText.left));
- av_push(rect, newSViv(lpLvCD->rcText.top));
- av_push(rect, newSViv(lpLvCD->rcText.right));
- av_push(rect, newSViv(lpLvCD->rcText.bottom));
- hv_store_mg(NOTXSCALL hv, "-itemtype", 9,
newSViv(lpLvCD->dwItemType), 0);
- hv_store_mg(NOTXSCALL hv, "-clrface", 8,
newSViv(lpLvCD->clrFace), 0);
- hv_store_mg(NOTXSCALL hv, "-iconeffect",11,
newSViv(lpLvCD->iIconEffect), 0);
- hv_store_mg(NOTXSCALL hv, "-iconphase", 10,
newSViv(lpLvCD->iIconPhase), 0);
- hv_store_mg(NOTXSCALL hv, "-partid", 7,
newSViv(lpLvCD->iPartId), 0);
- hv_store_mg(NOTXSCALL hv, "-stateid", 8,
newSViv(lpLvCD->iStateId), 0);
- hv_store_mg(NOTXSCALL hv, "-textrect", 9, newRV_inc((SV
*)rect), 0);
- hv_store_mg(NOTXSCALL hv, "-align", 6,
newSVuv(lpLvCD->uAlign), 0);
- #endif
- #ifdef ENABLE_TIE_CUSTOMDRAW
- /*
- From perlguts - Understanding the Magic of Tied Hashes and
Arrays:
- First create a new hash, then create a second
- hash which it blesses into the class which will
- implement the tie methods. Lastly tie the two hashes
- together, and return a reference to the new tied hash.
- */
- SV *tie = newRV_noinc((SV*)newHV());
- sv_bless(tie, gv_stashpv(class_name, 0));
- hv_magic(hv, (GV*)tie, PERL_MAGIC_tied);
- #endif
- PerlResult = DoEvent(NOTXSCALL perlud,
PERLWIN32GUI_NEM_PAINT, "CustomDraw",
- PERLWIN32GUI_ARGTYPE_SV, obj,
- -1);
- #ifdef PERLWIN32GUI_STRONGDEBUG
- printf("XS(CreateNMCustomDraw %s) => %d\n", class_name,
PerlResult);
- #endif
- perlud->forceResult = PerlResult;
- PerlResult = 0; /* MsgLoop return ForceResult */
- }
- break;
}
}
--- 278,288 ----
***************
*** 394,397 ****
--- 297,301 ----
#pragma message( "*** PACKAGE Win32::GUI::ListView..." )
+
###########################################################################
# (@)METHOD:ApproximateViewRect(cx,cy,icount=-1)
***************
*** 411,418 ****
# (@)METHOD:Arrange([FLAG])
#
! # LVA_ALIGNLEFT = Aligns items along the left edge of the window.
! # LVA_ALIGNTOP = Aligns items along the top edge of the window.
! # LVA_DEFAULT = Aligns items according to the ListView's current
alignment styles (the default value).
! # LVA_SNAPTOGRID = Snaps all icons to the nearest grid position.
int
--- 315,322 ----
# (@)METHOD:Arrange([FLAG])
#
! # LVA_ALIGNLEFT = Aligns items along the left edge of the window.
! # LVA_ALIGNTOP = Aligns items along the top edge of the window.
! # LVA_DEFAULT = Aligns items according to the ListView's current
alignment styles (the default value).
! # LVA_SNAPTOGRID = Snaps all icons to the nearest grid position.
int
***************
*** 427,431 ****
###########################################################################
# (@)METHOD:CreateDragImage(index, xcor, ycor)
! # Creates a transparent version of an item image. The xcor and yxcor are
the
# initial location of the upper-left corner of the image.
HIMAGELIST
--- 331,335 ----
###########################################################################
# (@)METHOD:CreateDragImage(index, xcor, ycor)
! # Creates a transparent version of an item image. The xcor and yxcor are
the
# initial location of the upper-left corner of the image.
HIMAGELIST
***************
*** 443,447 ****
OUTPUT:
RETVAL
!
###########################################################################
# (@)METHOD:DeleteAllItems()
--- 347,351 ----
OUTPUT:
RETVAL
!
###########################################################################
# (@)METHOD:DeleteAllItems()
***************
*** 506,510 ****
OUTPUT:
RETVAL
!
###########################################################################
# (@)METHOD:FindItem(FROM, %OPTIONS)
--- 410,414 ----
OUTPUT:
RETVAL
!
###########################################################################
# (@)METHOD:FindItem(FROM, %OPTIONS)
***************
*** 606,610 ****
###########################################################################
# (@)METHOD:GetCheckState(INDEX)
! # Determines if an item in a ListView is selected.
BOOL
GetCheckState(handle,index)
--- 510,514 ----
###########################################################################
# (@)METHOD:GetCheckState(INDEX)
! # Determines if an item in a ListView is selected.
BOOL
GetCheckState(handle,index)
***************
*** 699,703 ****
# (@)METHOD:VisibleCount()
# (@)METHOD:GetCountPerPage()
! # Calculates the number of items that can fit vertically in the visible
area of a ListView when in list or report view.
int
GetCountPerPage(handle)
--- 603,607 ----
# (@)METHOD:VisibleCount()
# (@)METHOD:GetCountPerPage()
! # Calculates the number of items that can fit vertically in the visible
area of a ListView when in list or report view.
int
GetCountPerPage(handle)
***************
*** 712,716 ****
###########################################################################
# (@)METHOD:GetEditControl()
! # Retrieves the handle to the edit control being used to edit a list view
item's text.
HWND
GetEditControl(handle)
--- 616,620 ----
###########################################################################
# (@)METHOD:GetEditControl()
! # Retrieves the handle to the edit control being used to edit a list view
item's text.
HWND
GetEditControl(handle)
***************
*** 756,760 ****
###########################################################################
# (@)METHOD:GetHotItem()
! # Retrieves the index of the hot item.
int
GetHotItem(handle)
--- 660,664 ----
###########################################################################
# (@)METHOD:GetHotItem()
! # Retrieves the index of the hot item.
int
GetHotItem(handle)
***************
*** 779,786 ****
# (@)METHOD:GetImageList([TYPE=LVSIL_NORMAL])
# Retrieves the handle to an image list used for drawing list view items.
! # Type :
! # LVSIL_NORMAL Image list with large icons.
! # LVSIL_SMALL Image list with small icons.
! # LVSIL_STATE Image list with state images.
HIMAGELIST
GetImageList(handle,type=LVSIL_NORMAL)
--- 683,690 ----
# (@)METHOD:GetImageList([TYPE=LVSIL_NORMAL])
# Retrieves the handle to an image list used for drawing list view items.
! # Type :
! # LVSIL_NORMAL Image list with large icons.
! # LVSIL_SMALL Image list with small icons.
! # LVSIL_STATE Image list with state images.
HIMAGELIST
GetImageList(handle,type=LVSIL_NORMAL)
***************
*** 794,799 ****
###########################################################################
# (@)METHOD:GetISearchString(STRING)
! # Retrieves the incremental search string of a ListView.
! BOOL
GetISearchString(handle,lpsz)
HWND handle
--- 698,703 ----
###########################################################################
# (@)METHOD:GetISearchString(STRING)
! # Retrieves the incremental search string of a ListView.
! BOOL
GetISearchString(handle,lpsz)
HWND handle
***************
*** 962,967 ****
###########################################################################
# (@)METHOD:GetNextItem(index,[mask=LVNI_ALL])
! # Searches for a list view item that has the specified properties and
bears
! # the specified relationship to a specified item.
UINT
GetNextItem(handle,index,mask=LVNI_ALL)
--- 866,870 ----
###########################################################################
# (@)METHOD:GetNextItem(index,[mask=LVNI_ALL])
! # Searches for a list view item that has the specified properties and
bears the specified relationship to a specified item.
UINT
GetNextItem(handle,index,mask=LVNI_ALL)
***************
*** 976,980 ****
###########################################################################
# (@)METHOD:GetNumberOfWorkAreas()
! # Retrieves the number of working areas in a ListView.
UINT
GetNumberOfWorkAreas(handle,index,mask=LVNI_ALL)
--- 879,883 ----
###########################################################################
# (@)METHOD:GetNumberOfWorkAreas()
! # Retrieves the number of working areas in a ListView.
UINT
GetNumberOfWorkAreas(handle,index,mask=LVNI_ALL)
***************
*** 1035,1040 ****
###########################################################################
# (@)METHOD:GetStringWidth(STRING)
! # Determines the width of a specified string using the specified
ListView's
! # current font.
int
GetStringWidth(handle,string)
--- 938,942 ----
###########################################################################
# (@)METHOD:GetStringWidth(STRING)
! # Determines the width of a specified string using the specified
ListView's current font.
int
GetStringWidth(handle,string)
***************
*** 1094,1098 ****
###########################################################################
# (@)METHOD:GetToolTips()
! # Retrieves the tooltip control that the ListView uses to display
tooltips.
HWND
GetToolTips(handle)
--- 996,1000 ----
###########################################################################
# (@)METHOD:GetToolTips()
! # Retrieves the tooltip control that the ListView uses to display
tooltips.
HWND
GetToolTips(handle)
***************
*** 1110,1114 ****
HWND handle
ALIAS:
! Win32::GUI::ListView::GetFirstVisible = 1
CODE:
RETVAL = ListView_GetTopIndex(handle);
--- 1012,1016 ----
HWND handle
ALIAS:
! Win32::GUI::ListView::GetFirstVisible = 1
CODE:
RETVAL = ListView_GetTopIndex(handle);
***************
*** 1118,1122 ****
###########################################################################
# (@)METHOD:GetUnicodeFormat()
! # Retrieves the UNICODE character format flag for the control.
BOOL
GetUnicodeFormat(handle)
--- 1020,1024 ----
###########################################################################
# (@)METHOD:GetUnicodeFormat()
! # Retrieves the UNICODE character format flag for the control.
BOOL
GetUnicodeFormat(handle)
***************
*** 1345,1349 ****
# B<%OPTIONS> :
# -url => STRING
! # URL of the background image.
# -tiled => 0/1
# The background image will be tiled to fill the entire background.
--- 1247,1251 ----
# B<%OPTIONS> :
# -url => STRING
! # URL of the background image.
# -tiled => 0/1
# The background image will be tiled to fill the entire background.
***************
*** 1388,1392 ****
OUTPUT:
RETVAL
!
###########################################################################
# (@)METHOD:SetCallbackMask(MASK)
--- 1290,1294 ----
OUTPUT:
RETVAL
!
###########################################################################
# (@)METHOD:SetCallbackMask(MASK)
***************
*** 1404,1408 ****
# (@)METHOD:SetColumn(COLUMN, %OPTIONS)
# Change column option in a ListView.
! #
# B<%OPTIONS> : See InsertColumn()
int
--- 1306,1310 ----
# (@)METHOD:SetColumn(COLUMN, %OPTIONS)
# Change column option in a ListView.
! #
# B<%OPTIONS> : See InsertColumn()
int
***************
*** 1454,1458 ****
###########################################################################
# (@)METHOD:SetExtendedListViewStyle(EXSTYLE)
! # Sets extended styles for ListViews.
void
SetExtendedListViewStyle(handle,exstyle)
--- 1356,1360 ----
###########################################################################
# (@)METHOD:SetExtendedListViewStyle(EXSTYLE)
! # Sets extended styles for ListViews.
void
SetExtendedListViewStyle(handle,exstyle)
***************
*** 1511,1515 ****
###########################################################################
# (@)METHOD:SetIconSpacing(X,Y)
! # Sets the spacing between icons in ListView set to the LVS_ICON style.
DWORD
SetIconSpacing(handle,x,y)
--- 1413,1417 ----
###########################################################################
# (@)METHOD:SetIconSpacing(X,Y)
! # Sets the spacing between icons in ListView set to the LVS_ICON style.
DWORD
SetIconSpacing(handle,x,y)
***************
*** 1526,1530 ****
# Assigns an image list to a ListView.
#
! #Type of image list. This parameter can be one of the following values:
#
# LVSIL_NORMAL (0) Image list with large icons.
--- 1428,1432 ----
# Assigns an image list to a ListView.
#
! #Type of image list. This parameter can be one of the following values:
#
# LVSIL_NORMAL (0) Image list with large icons.
***************
*** 1613,1617 ****
# (@)METHOD:SetItemPosition(INDEX, X, Y)
# (@)METHOD:MoveItem(INDEX, X, Y)
! # Moves an item to a specified position in a ListView (in icon or small
icon view).
# X,Y are in listview co-ordinates.
void
--- 1515,1519 ----
# (@)METHOD:SetItemPosition(INDEX, X, Y)
# (@)METHOD:MoveItem(INDEX, X, Y)
! # Moves an item to a specified position in a ListView (in icon or small
icon view).
# X,Y are in listview co-ordinates.
void
***************
*** 1634,1638 ****
UINT index
UINT state
! UINT mask
CODE:
ListView_SetItemState(handle, index, state, mask);
--- 1536,1540 ----
UINT index
UINT state
! UINT mask
CODE:
ListView_SetItemState(handle, index, state, mask);
***************
*** 1646,1650 ****
UINT index
LPTSTR texte
! UINT subitem
CODE:
ListView_SetItemText(handle, index, subitem, texte);
--- 1548,1552 ----
UINT index
LPTSTR texte
! UINT subitem
CODE:
ListView_SetItemText(handle, index, subitem, texte);
***************
*** 1652,1656 ****
###########################################################################
# (@)METHOD:SetSelectionMark(index)
! # Sets the selection mark in a ListView.
int
SetSelectionMark(handle,index)
--- 1554,1558 ----
###########################################################################
# (@)METHOD:SetSelectionMark(index)
! # Sets the selection mark in a ListView.
int
SetSelectionMark(handle,index)
***************
*** 1664,1668 ****
###########################################################################
# (@)METHOD:SetTextBkColor(COLOR)
! # Sets the background color of text in a ListView.
BOOL
SetTextBkColor(handle,color)
--- 1566,1570 ----
###########################################################################
# (@)METHOD:SetTextBkColor(COLOR)
! # Sets the background color of text in a ListView.
BOOL
SetTextBkColor(handle,color)
***************
*** 1676,1680 ****
###########################################################################
# (@)METHOD:SetTextColor(COLOR)
! # Sets the text color of a ListView.
BOOL
SetTextColor(handle,color)
--- 1578,1582 ----
###########################################################################
# (@)METHOD:SetTextColor(COLOR)
! # Sets the text color of a ListView.
BOOL
SetTextColor(handle,color)
***************
*** 1688,1692 ****
###########################################################################
# (@)METHOD:SetToolTips(TOOLTIP)
! # Sets the tooltip control that the ListView will use to display tooltips.
HWND
SetToolTips(handle,tooltip)
--- 1590,1594 ----
###########################################################################
# (@)METHOD:SetToolTips(TOOLTIP)
! # Sets the tooltip control that the ListView will use to display
tooltips.
HWND
SetToolTips(handle,tooltip)
***************
*** 1704,1708 ****
###########################################################################
# (@)METHOD:SetUnicodeFormat(FLAG)
! # Sets the UNICODE character format flag for the control.
BOOL
SetUnicodeFormat(handle,flag)
--- 1606,1610 ----
###########################################################################
# (@)METHOD:SetUnicodeFormat(FLAG)
! # Sets the UNICODE character format flag for the control.
BOOL
SetUnicodeFormat(handle,flag)
***************
*** 1743,1747 ****
ht.pt.x = x;
ht.pt.y = y;
! if (ListView_SubItemHitTest(handle, &ht) != -1) {
EXTEND(SP, 3);
XST_mIV(0, (long) ht.iItem);
--- 1645,1649 ----
ht.pt.x = x;
ht.pt.y = y;
! if (ListView_SubItemHitTest(handle, &ht) != -1) {
EXTEND(SP, 3);
XST_mIV(0, (long) ht.iItem);
***************
*** 1749,1754 ****
XST_mIV(2, ht.flags);
XSRETURN(3);
! }
! else
XSRETURN_UNDEF;
--- 1651,1656 ----
XST_mIV(2, ht.flags);
XSRETURN(3);
! }
! else
XSRETURN_UNDEF;
***************
*** 2095,2236 ****
}
-
- MODULE = Win32::GUI::ListView PACKAGE = Win32::GUI::ListView::CustomDraw
-
- PROTOTYPES: DISABLE
-
-
###########################################################################
- # (@)PACKAGE:Win32::GUI::ListView::CustomDraw
-
- #pragma message( "*** PACKAGE Win32::GUI::ListView::CustomDraw..." )
-
-
###########################################################################
- # (@)METHOD:TextColor([COLOR])
- # Set or Get the CustomDraw -clrtext property.
- # COLOR may be either a numerical value,
- # or a color expressed as [RR, GG, BB],
- # or a color expressed in HTML notation (#RRGGBB)
- SV *
- TextColor(handle,color=FALSE)
- HWND handle
- COLORREF color
- PREINIT:
- HV* hv = (HV*)SvRV(ST(0));
- CODE:
- LPPERLWIN32GUI_NMLVCUSTOMDRAW lpCD = (LPPERLWIN32GUI_NMLVCUSTOMDRAW)
handle;
- if (items == 2) {
- RETVAL = newSViv(color);
- if(SvROK(ST(0)))
- hv_store_mg(NOTXSCALL hv, "-clrtext", 8, RETVAL, 0);
- lpCD->clrText = color;
- } else {
- RETVAL = newSViv(lpCD->clrText);
- }
- OUTPUT:
- RETVAL
-
-
###########################################################################
- # (@)METHOD:BackColor([COLOR])
- # Set or Get the CustomDraw -clrtextbk property.
- # COLOR may be either a numerical value,
- # or a color expressed as [RR, GG, BB],
- # or a color expressed in HTML notation (#RRGGBB)
- SV *
- BackColor(handle,color=FALSE)
- HWND handle
- COLORREF color
- PREINIT:
- HV* hv = (HV*)SvRV(ST(0));
- CODE:
- LPPERLWIN32GUI_NMLVCUSTOMDRAW lpCD = (LPPERLWIN32GUI_NMLVCUSTOMDRAW)
handle;
- if (items == 2) {
- RETVAL = newSViv(color);
- if(SvROK(ST(0)))
- hv_store_mg(NOTXSCALL hv, "-clrtextbk", 10, RETVAL, 0);
- lpCD->clrTextBk = color;
- } else {
- RETVAL = newSViv(lpCD->clrTextBk);
- }
- OUTPUT:
- RETVAL
-
-
###########################################################################
- # (@)METHOD:FaceColor( [COLOR] )
- # Set or Get the CustomDraw -clrface property.
- # COLOR may be either a numerical value,
- # or a color expressed as [RR, GG, BB],
- # or a color expressed in HTML notation (#RRGGBB)
- SV *
- FaceColor(handle,color=FALSE)
- HWND handle
- COLORREF color
- PREINIT:
- HV* hv = (HV*)SvRV(ST(0));
- CODE:
- #if (_WIN32_IE >= 0x560)
- LPPERLWIN32GUI_NMLVCUSTOMDRAW lpCD = (LPPERLWIN32GUI_NMLVCUSTOMDRAW)
handle;
- if (items == 2) {
- RETVAL = newSViv(color);
- if(SvROK(ST(0)))
- hv_store_mg(NOTXSCALL hv, "-clrface", 8, RETVAL, 0);
- lpCD->clrFace = color;
- } else {
- RETVAL = newSViv(lpCD->clrFace);
- }
- #else
- MessageBox(NULL, "Unsupported member -clrface. Requires Comctl32.dll
version 6.\r\nComctl32.dll version 6 is not redistributable but it is included
in Microsoft Windows XP or later",
- "Win32::GUI::ListView::CustomDraw",
- MB_ICONERROR | MB_OKCANCEL);
- RETVAL = &PL_sv_undef;
- #endif
- OUTPUT:
- RETVAL
-
-
###########################################################################
- # (@)METHOD:TextRect( [LEFT,TOP,RIGHT,BOTTOM] ) => [
LEFT,TOP,RIGHT,BOTTOM ]
- # Get or set the CustomDraw -textrect property.
- # Comctl32.dll Version 6.0.
- SV *
- TextRect(handle,rect=FALSE)
- HWND handle
- SV *rect
- PREINIT:
- #if (_WIN32_IE >= 0x560)
- SV **tempsv;
- HV* hv = (HV*)SvRV(ST(0));
- #endif
- CODE:
- #if (_WIN32_IE >= 0x560)
- LPPERLWIN32GUI_NMLVCUSTOMDRAW lpCD = (LPPERLWIN32GUI_NMLVCUSTOMDRAW)
handle;
- if (items > 1) {
- if (SvROK(ST(1)))
- AV *array = SvRV(ST(1));
- else
- XSRETURN_UNDEF;
-
- if ((tempsv = av_fetch(array, 0)) && SvIOK(*tempsv))
- lpCD->rcText.left = SvIV(*tempsv);
- if ((tempsv = av_fetch(array, 1)) && SvIOK(*tempsv))
- lpCD->rcText.top = SvIV(*tempsv);
- if ((tempsv = av_fetch(array, 2)) && SvIOK(*tempsv))
- lpCD->rcText.right = SvIV(*tempsv);
- if ((tempsv = av_fetch(array, 3)) && SvIOK(*tempsv))
- lpCD->rcText.bottom = SvIV(*tempsv);
- if (SvROK(ST(0)))
- hv_store_mg(NOTXSCALL hv, "-textrect", 9, newRV_inc(SvRV(ST(1))), 0);
- } else {
- AV* rect = newAV();
- av_push(rect, newSViv(lpCD->rcText.left));
- av_push(rect, newSViv(lpCD->rcText.top));
- av_push(rect, newSViv(lpCD->rcText.right));
- av_push(rect, newSViv(lpCD->rcText.bottom));
- RETVAL = newRV((SV *)rect), 0);
- }
- #else
- MessageBox(NULL, "Unsupported member -textrect. Requires Comctl32.dll
version 6.\r\nComctl32.dll version 6 is not redistributable but it is included
in Microsoft Windows XP or later",
- "Win32::GUI::ListView::CustomDraw",
- MB_ICONERROR | MB_OKCANCEL);
- RETVAL = &PL_sv_undef;
- #endif
- OUTPUT:
- RETVAL
--- 1997,1998 ----
Index: GUI_Options.cpp
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/GUI_Options.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** GUI_Options.cpp 16 Mar 2006 08:57:48 -0000 1.11
--- GUI_Options.cpp 16 Mar 2006 21:11:11 -0000 1.12
***************
*** 856,861 ****
I32 items,
int from_i,
! NOTIFYICONDATA *nid)
! {
int i, next_i;
--- 856,860 ----
I32 items,
int from_i,
! NOTIFYICONDATA *nid) {
int i, next_i;
***************
*** 929,935 ****
ParseNEMNotifyIconEvent( NOTXSCALL hvEvents, option+3,
ST(next_i) );
- } else if(version < 5) {
- ;
- #if (_WIN32_IE > 0x0501)
} else if(strcmp(option, "-behaviour") == 0) {
next_i = i + 1;
--- 928,931 ----
***************
*** 964,968 ****
W32G_WARN("Win32::GUI: Invalid value for -balloon_icon!");
}
- #endif
}
} else {
--- 960,963 ----
Index: MANIFEST
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/MANIFEST,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** MANIFEST 16 Mar 2006 08:57:48 -0000 1.13
--- MANIFEST 16 Mar 2006 21:11:12 -0000 1.14
***************
*** 12,16 ****
Button.xs
CHANGELOG
- CustomDraw.pm
Combobox.xs
cygwin.c
--- 12,15 ----
***************
*** 80,84 ****
samples/Animation.pl
samples/BitmapScroll.pl
- samples/CustomDraw.pl
samples/DateTime.pl
samples/Draw.pl
--- 79,82 ----
***************
*** 87,91 ****
samples/guiperl.ico
samples/harrow.cur
- samples/Listbox.pl
samples/listview_drag_drop.pl
samples/MDI.pl
--- 85,88 ----
***************
*** 93,99 ****
samples/Notepad.pl
samples/NotifyIcon.pl
- samples/pmx.pl
- samples/pride.pl
- samples/ProgressBar.pl
samples/Region.pl
samples/SplashScreen.pl
--- 90,93 ----
***************
*** 114,118 ****
samples/Tutorial_Part5_twoWindows.pl
samples/Tutorial_Part9_noDosWindow.pl
- samples/winppm.pl
Splitter.xs
StatusBar.xs
--- 108,111 ----
***************
*** 135,139 ****
t/06_Cursor.t
t/06_Icon.t
- t/07_CustomDraw.t
t/50_Font_GetMetrics.t
t/50_Richedit_GetCharFormat.t
--- 128,131 ----
--- CustomDraw.pm DELETED ---
Index: CHANGELOG
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/CHANGELOG,v
retrieving revision 1.71
retrieving revision 1.72
diff -C2 -d -r1.71 -r1.72
*** CHANGELOG 16 Mar 2006 08:57:42 -0000 1.71
--- CHANGELOG 16 Mar 2006 21:11:11 -0000 1.72
***************
*** 6,32 ****
Win32-GUI ChangeLog
===================
- + [Reini Urban] : 15 Mar 2006
- - GUI.pm : Change version to 1.04, add -dropfiles to Window
- - GUI.h : add CustomDraw and DropFiles support,
- start with thread safe static data definitions.
- - Button.xs, Header.xs, ListView.xs, Rebar.xs, Toolbar.xs, Tooltip.xs,
TreeView.xs:
- add CustomDraw EVENT with Win32::GUI::Button::CustomDraw object as
param.
- abuse the PAINT constant for NEM, which should not conflict.
- - CustomDraw.pm : CustomDraw package definition and helpers
- - GUI.xs :
DoEvents(hwnd=NULL,wMsgFilterMin=0,wMsgFilterMax=0,wRemoveMsg=PM_REMOVE),
- Try additional OEM ressource in LoadImage,
- Add Win32::GUI::DragDrop object which is passed to the DropFiles event
as argument.
- - GUI_Helpers.cpp: add SV* CreateNMCustomDraw()
- - GUI_MessageLoops.cpp : Change DropFiles EVENT to pass the
Win32::GUI::DragDrop object
- - ImageList.xs: Add to documention.
- - TYPEMAP: Add HDROP as first-class citizen (Win32::GUI::DragDrop)
- - Window.xs: support -dropfiles property, store it onPostCreate in perlcs
- - SrcParser.pm, Documentation.txt: fix some typos
- - t/07_CustomDraw.t: added
- - samples/CustomDraw.pl: added
- - guard against Win32::GetFileVersion for older perls
- - guard against undefined NOTIFYICONDATA for older compilers also (<=
MSVC98)
- - Upped version to 1.03_03
-
+ [Robert May] : 11 Jan 2006 - bug fixes and add balloon tips for Notify Icon
- Label.xs correct -truncate option processing, as SS_.*ELLIPSIS.*
--- 6,9 ----
Index: ImageList.xs
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/ImageList.xs,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** ImageList.xs 16 Mar 2006 08:57:48 -0000 1.8
--- ImageList.xs 16 Mar 2006 21:11:11 -0000 1.9
***************
*** 48,52 ****
###########################################################################
# (@)METHOD:BeginDrag(INDEX, X, Y)
! # Creates a temporary image list that is used for dragging.
BOOL
BeginDrag(handle, index, x, y)
--- 48,52 ----
###########################################################################
# (@)METHOD:BeginDrag(INDEX, X, Y)
! # Creates a temporary image list that is used for dragging.
BOOL
BeginDrag(handle, index, x, y)
***************
*** 212,216 ****
###########################################################################
# (@)METHOD:GetBkColor()
! # Retrieves the current background color for an image list.
COLORREF
GetBkColor(handle)
--- 212,216 ----
###########################################################################
# (@)METHOD:GetBkColor()
! # Retrieves the current background color for an image list.
COLORREF
GetBkColor(handle)
***************
*** 231,235 ****
PREINIT:
HICON hicon;
! PPCODE:
hicon = ImageList_GetIcon(handle, index, flags);
if (hicon == NULL) XSRETURN_UNDEF;
--- 231,235 ----
PREINIT:
HICON hicon;
! PPCODE:
hicon = ImageList_GetIcon(handle, index, flags);
if (hicon == NULL) XSRETURN_UNDEF;
***************
*** 280,284 ****
int cx
UINT uFlags
! UINT uType
COLORREF crMask
HINSTANCE hi
--- 280,284 ----
int cx
UINT uFlags
! UINT uType
COLORREF crMask
HINSTANCE hi
***************
*** 298,305 ****
XPUSHs(CreateObjectWithHandle(NOTXSCALL "Win32::GUI::ImageList", (HWND)
handle));
XSRETURN(1);
!
###########################################################################
# (@)METHOD:Merge(INDEX1,INDEX2, DX,DY,[IMAGELIST=SELF])
! # Creates a new image by combining two existing images. The function also
creates a new image list in which to store the image.
# Return a new Win32::GUI::ImageList object.
void
--- 298,305 ----
XPUSHs(CreateObjectWithHandle(NOTXSCALL "Win32::GUI::ImageList", (HWND)
handle));
XSRETURN(1);
!
###########################################################################
# (@)METHOD:Merge(INDEX1,INDEX2, DX,DY,[IMAGELIST=SELF])
! # Creates a new image by combining two existing images. The function also
creates a new image list in which to store the image.
# Return a new Win32::GUI::ImageList object.
void
***************
*** 317,321 ****
if (hnew == NULL) XSRETURN_UNDEF;
XPUSHs(CreateObjectWithHandle(NOTXSCALL "Win32::GUI::ImageList", (HWND)
hnew));
! XSRETURN(1);
# TODO : ImageList_Read
--- 317,321 ----
if (hnew == NULL) XSRETURN_UNDEF;
XPUSHs(CreateObjectWithHandle(NOTXSCALL "Win32::GUI::ImageList", (HWND)
hnew));
! XSRETURN(1);
# TODO : ImageList_Read
***************
*** 364,368 ****
###########################################################################
# (@)METHOD:SetBkColor(COLOR)
! # Sets the background color for an image list.
COLORREF
SetBkColor(handle, color)
--- 364,368 ----
###########################################################################
# (@)METHOD:SetBkColor(COLOR)
! # Sets the background color for an image list.
COLORREF
SetBkColor(handle, color)
***************
*** 378,382 ****
# Creates a new drag image by combining the specified image (typically a
# mouse cursor image) with the current drag image.
! BOOL
SetDragCursorImage(handle, index, x, y)
HIMAGELIST handle
--- 378,382 ----
# Creates a new drag image by combining the specified image (typically a
# mouse cursor image) with the current drag image.
! BOOL
SetDragCursorImage(handle, index, x, y)
HIMAGELIST handle
***************
*** 391,396 ****
###########################################################################
# (@)METHOD:SetIconSize(CX, CY)
! # Sets the dimensions of images in an image list and removes all images
from the list.
! BOOL
SetIconSize(handle, x, y)
HIMAGELIST handle
--- 391,396 ----
###########################################################################
# (@)METHOD:SetIconSize(CX, CY)
! # Sets the dimensions of images in an image list and removes all images
from the list.
! BOOL
SetIconSize(handle, x, y)
HIMAGELIST handle
***************
*** 405,409 ****
# (@)METHOD:SetImageCount(COUNT)
# Resizes an existing image list.
! BOOL
SetImageCount(handle, count)
HIMAGELIST handle
--- 405,409 ----
# (@)METHOD:SetImageCount(COUNT)
# Resizes an existing image list.
! BOOL
SetImageCount(handle, count)
HIMAGELIST handle
***************
*** 417,421 ****
# (@)METHOD:SetOverlayImage(INDEX, OVERLAY)
# Adds a specified image to the list of images to be used as overlay
masks.
! BOOL
SetOverlayImage(handle, index, overlay)
HIMAGELIST handle
--- 417,421 ----
# (@)METHOD:SetOverlayImage(INDEX, OVERLAY)
# Adds a specified image to the list of images to be used as overlay
masks.
! BOOL
SetOverlayImage(handle, index, overlay)
HIMAGELIST handle
***************
*** 428,432 ****
# TODO : ImageList_Write
!
###########################################################################
# (@)METHOD:AddIcon(ICON)
--- 428,432 ----
# TODO : ImageList_Write
!
###########################################################################
# (@)METHOD:AddIcon(ICON)
***************
*** 480,484 ****
# if no parameter is given, returns a 2 element array (X, Y),
# otherwise sets the size to the given parameters.
- # If X and Y is given, also removes all images from the list.
void
Size(handle,...)
--- 480,483 ----
***************
*** 522,527 ****
# (@)METHOD:DragEnter(WINDOW, X, Y)
# Locks updates to the specified window during a drag operation and
displays
! # the drag image at the specified position within the window.
! #
# Class method : Win32::GUI::ImageList::DragEnter($window, $x, $y)
BOOL
--- 521,526 ----
# (@)METHOD:DragEnter(WINDOW, X, Y)
# Locks updates to the specified window during a drag operation and
displays
! # the drag image at the specified position within the window.
! #
# Class method : Win32::GUI::ImageList::DragEnter($window, $x, $y)
BOOL
***************
*** 538,543 ****
# (@)METHOD:DragLeave(WINDOW)
# Unlocks the specified window and hides the drag image, allowing the
window
! # to be updated.
! #
# Class method : Win32::GUI::ImageList::DragLeave($window)
BOOL
--- 537,542 ----
# (@)METHOD:DragLeave(WINDOW)
# Unlocks the specified window and hides the drag image, allowing the
window
! # to be updated.
! #
# Class method : Win32::GUI::ImageList::DragLeave($window)
BOOL
***************
*** 552,556 ****
# (@)METHOD:DragMove(X, Y)
# Locks updates to the specified window during a drag operation and
displays
! # the drag image at the specified position within the window.
#
# Class method : Win32::GUI::ImageList::DragMove($x, $y)
--- 551,555 ----
# (@)METHOD:DragMove(X, Y)
# Locks updates to the specified window during a drag operation and
displays
! # the drag image at the specified position within the window.
#
# Class method : Win32::GUI::ImageList::DragMove($x, $y)
Index: GUI_Helpers.cpp
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/GUI_Helpers.cpp,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** GUI_Helpers.cpp 16 Mar 2006 08:57:48 -0000 1.16
--- GUI_Helpers.cpp 16 Mar 2006 21:11:11 -0000 1.17
***************
*** 419,470 ****
/*
##########################################################################
- # (@)INTERNAL:CreateNMCustomDraw(char* class_name, HWND handle)
- # Create a (tied ?) object in specified CustomDraw class and initialize
the base struct.
- # Tie would help in FETCH from property, but the methods via AUTOLOAD
are enough.
- */
- SV* CreateNMCustomDraw(NOTXSPROC char* class_name, void * lParam) {
- LPPERLWIN32GUI_NMCUSTOMDRAW lpCD = (LPPERLWIN32GUI_NMCUSTOMDRAW) lParam;
- HV *hv = newHV();
- hv_store_mg(NOTXSCALL hv, "-handle", 7, newSVuv((DWORD)lParam), 0);
- hv_store_mg(NOTXSCALL hv, "-windowfrom",11,
newSViv((DWORD)lpCD->hdr.hwndFrom), 0);
- hv_store_mg(NOTXSCALL hv, "-idfrom", 7,
newSViv((ULONG)lpCD->hdr.idFrom), 0);
- hv_store_mg(NOTXSCALL hv, "-code", 5,
newSViv((ULONG)lpCD->hdr.code), 0);
- hv_store_mg(NOTXSCALL hv, "-drawstage", 10,
newSViv((DWORD)lpCD->dwDrawStage), 0);
- hv_store_mg(NOTXSCALL hv, "-hdc", 4, newSVuv((ULONG)lpCD->hdc), 0);
- AV *rect = newAV();
- av_push(rect, newSViv(lpCD->rc.left));
- av_push(rect, newSViv(lpCD->rc.top));
- av_push(rect, newSViv(lpCD->rc.right));
- av_push(rect, newSViv(lpCD->rc.bottom));
- hv_store_mg(NOTXSCALL hv, "-rect", 5, newRV_inc((SV *)rect), 0);
- hv_store_mg(NOTXSCALL hv, "-item", 5,
newSViv((DWORD)lpCD->dwItemSpec), 0);
- hv_store_mg(NOTXSCALL hv, "-itemstate", 10,
newSVuv((ULONG)lpCD->uItemState), 0);
- hv_store_mg(NOTXSCALL hv, "-itemlparam",11,
newSVuv((ULONG)lpCD->lItemlParam), 0);
- #ifdef PERLWIN32GUI_STRONGDEBUG
- printf("XS(CreateNMCustomDraw %s)", class_name);
- printf(" (-handle=0x%x, -item=%d, -drawstage=%d, -itemstage=%d,
-hdc=0x%x) \n",
- lParam, lpCD->dwItemSpec, lpCD->dwDrawStage, lpCD->uItemState,
lpCD->hdc);
- #endif
-
- #ifdef ENABLE_TIE_CUSTOMDRAW
- /*
- From perlguts - Understanding the Magic of Tied Hashes and Arrays:
- First create a new hash, then create a second
- hash which it blesses into the class which will
- implement the tie methods. Lastly tie the two hashes
- together, and return a reference to the new tied hash.
- */
- SV *tie = sv_2mortal(newRV((SV*)newHV()));
- sv_bless(tie, gv_stashpv(class_name, 0));
- hv_magic(hv, (GV*)tie, PERL_MAGIC_tied);
- #endif
-
- SV* cv = sv_2mortal(newRV((SV*)hv));
- sv_bless(cv, gv_stashpv(class_name, TRUE));
- return cv;
- }
-
- /*
-
##########################################################################
# (@)INTERNAL:GetMenuFromID(ID, *name)
# Gets the menu handle (HMENU) from the ID, searching in Perl's global
--- 419,422 ----
***************
*** 529,538 ****
itoa(nID, temp, 10);
name = hv_fetch_mg(NOTXSCALL hash, temp, strlen(temp), FALSE);
! if(name == NULL) {
! #ifdef PERLWIN32GUI_STRONGDEBUG
! printf("XS(GetAcceleratorName) no name found\n");
! #endif
! return FALSE;
! }
strcpy(Name, (char *) SvPV_nolen(*name));
return TRUE;
--- 481,485 ----
itoa(nID, temp, 10);
name = hv_fetch_mg(NOTXSCALL hash, temp, strlen(temp), FALSE);
! if(name == NULL) return FALSE;
strcpy(Name, (char *) SvPV_nolen(*name));
return TRUE;
Index: Readme.html
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/Readme.html,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** Readme.html 16 Mar 2006 08:57:48 -0000 1.6
--- Readme.html 16 Mar 2006 21:11:12 -0000 1.7
***************
*** 62,67 ****
<hr />
<h1><a name="availability">AVAILABILITY</a></h1>
! <p>This is the README file for Win32::GUI v1.03_03
! built on 15 Mar 2006.</p>
<p>Source and ActiveState Perl PPMs are available from
<a
href="http://sourceforge.net/project/showfiles.php?group_id=16572">http://sourceforge.net/project/showfiles.php</a>.</p>
--- 62,67 ----
<hr />
<h1><a name="availability">AVAILABILITY</a></h1>
! <p>This is the README file for Win32::GUI v1.03
! built on 22 Nov 2005.</p>
<p>Source and ActiveState Perl PPMs are available from
<a
href="http://sourceforge.net/project/showfiles.php?group_id=16572">http://sourceforge.net/project/showfiles.php</a>.</p>
***************
*** 195,199 ****
nmake test
nmake ppm</pre>
! <p>This procedure will generate a PPM for your current perl environment,
including the HTML documentation, ready for installation as above.</p>
<p>
--- 195,199 ----
nmake test
nmake ppm</pre>
! <p>This procedure will generate a PPM for you current perl environment,
including the HTML documentation, ready for installation as above.</p>
<p>
***************
*** 201,205 ****
<hr />
<h1><a name="version">VERSION</a></h1>
! <p>Documentation for Win32::GUI v1.03_03 created 15 Mar 2006</p>
<p>This document is autogenerated by the build process. Edits made here will
be lost.
Edit <em>docs/GUI/UserGuide/Readme.pod</em> instead.</p>
--- 201,205 ----
<hr />
<h1><a name="version">VERSION</a></h1>
! <p>Documentation for Win32::GUI v1.03 created 22 Nov 2005</p>
<p>This document is autogenerated by the build process. Edits made here will
be lost.
Edit <em>docs/GUI/UserGuide/Readme.pod</em> instead.</p>
***************
*** 215,219 ****
<hr />
<h1><a name="copyright_and_licence">COPYRIGHT and LICENCE</a></h1>
! <p>Copyright (c) 1997..2006 Aldo Calpini. All rights reserved.</p>
<p>This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.</p>
--- 215,219 ----
<hr />
<h1><a name="copyright_and_licence">COPYRIGHT and LICENCE</a></h1>
! <p>Copyright (c) 1997..2005 Aldo Calpini. All rights reserved.</p>
<p>This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.</p>
Index: Toolbar.xs
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/Toolbar.xs,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** Toolbar.xs 16 Mar 2006 08:57:48 -0000 1.6
--- Toolbar.xs 16 Mar 2006 21:11:12 -0000 1.7
***************
*** 10,35 ****
#include "GUI.h"
! typedef struct tagPERLWIN32GUI_NMTBCUSTOMDRAW {
! NMCUSTOMDRAW nmcd;
! #if (_WIN32_IE >= 0x0400)
! HBRUSH hbrMonoDither;
! HBRUSH hbrLines; // For drawing lines on buttons
! HPEN hpenLines; // For drawing lines on buttons
!
! COLORREF clrText; // Color of text
[...1062 lines suppressed...]
- lpCD->rcText.bottom = SvIV(*tempsv);
- if (SvROK(ST(0)))
- hv_store_mg(NOTXSCALL hv, "-textrect", 9, newRV_inc(SvRV(ST(1))), 0);
- } else {
- AV* rect = newAV();
- av_push(rect, newSViv(lpCD->rcText.left));
- av_push(rect, newSViv(lpCD->rcText.top));
- av_push(rect, newSViv(lpCD->rcText.right));
- av_push(rect, newSViv(lpCD->rcText.bottom));
- RETVAL = newRV((SV *)rect), 0);
- }
- #else
- MessageBox(NULL, "Unsupported member -textrect. Requires Comctl32.dll
version 6.\r\nComctl32.dll version 6 is not redistributable but it is included
in Microsoft Windows XP or later",
- "Win32::GUI::Toolbar::CustomDraw",
- MB_ICONERROR | MB_OKCANCEL);
- RETVAL = &PL_sv_undef;
- #endif
- OUTPUT:
- RETVAL
--- 1715,1716 ----
Index: GUI_MessageLoops.cpp
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/GUI_MessageLoops.cpp,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -d -r1.18 -r1.19
*** GUI_MessageLoops.cpp 16 Mar 2006 08:57:48 -0000 1.18
--- GUI_MessageLoops.cpp 16 Mar 2006 21:11:11 -0000 1.19
***************
*** 170,183 ****
}
}
-
- if (wndprocOriginal != NULL) {
#ifdef PERLWIN32GUI_STRONGDEBUG
! printf("!XS(CommonMsgLoop) returning CallWindowProc 0x%x\n",
wndprocOriginal);
#endif
return CallWindowProc((WNDPROC_CAST) wndprocOriginal, hwnd, uMsg,
wParam, lParam);
} else {
- #ifdef PERLWIN32GUI_STRONGDEBUG
- printf("!XS(CommonMsgLoop) returning DefWindowProc\n");
- #endif
return DefWindowProc(hwnd, uMsg, wParam, lParam);
}
--- 170,180 ----
}
}
#ifdef PERLWIN32GUI_STRONGDEBUG
! printf("!XS(CommonMsgLoop) returning DefWindowProc\n");
#endif
+
+ if (wndprocOriginal != NULL) {
return CallWindowProc((WNDPROC_CAST) wndprocOriginal, hwnd, uMsg,
wParam, lParam);
} else {
return DefWindowProc(hwnd, uMsg, wParam, lParam);
}
***************
*** 326,340 ****
PerlResult = DoEvent(NOTXSCALL childud,
PERLWIN32GUI_NEM_LOSTFOCUS, "LostFocus", -1 );
break;
-
- /*case NM_CUSTOMDRAW:
- PerlResult = DoEvent(NOTXSCALL childud,
PERLWIN32GUI_NEM_PAINT, "CustomDraw", -1 );
- childud->forceResult = PerlResult;
- break;*/
-
default :
PerlResult = OnEvent[childud->iClass](NOTXSCALL childud,
uMsg, wParam, lParam);
- #ifdef PERLWIN32GUI_STRONGDEBUG
- printf("XS(WindowMsgLoop WM_NOTIFY default) (class=%d) =>
%d\n", childud->iClass, PerlResult);
- #endif
break;
}
--- 323,328 ----
***************
*** 639,658 ****
case WM_DROPFILES:
/*
! * (@)EVENT:DropFiles(DRAGDROP)
! * (@)APPLIES_TO:Window, DialogBox
! *
* Sent when the window receives dropped files.
! *
! * DRAGDROP - L<DragDrop|Win32::GUI::DragDrop> object.
! *
*/
!
! #ifdef PERLWIN32GUI_STRONGDEBUG
! printf("XS(WindowMsgLoop DropFiles) (HDROP=0x%x)\n", wParam);
! #endif
! PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_DROPFILE,
"DropFiles",
! PERLWIN32GUI_ARGTYPE_SV,
! CreateObjectWithHandle(NOTXSCALL
"Win32::GUI::DragDrop", (HWND) wParam),
! -1 );
break;
}
--- 627,637 ----
case WM_DROPFILES:
/*
! * (@)EVENT:DropFiles(DROP_HANDLE)
* Sent when the window receives dropped files.
! * (@)APPLIES_TO:*
*/
! PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_DROPFILE,
"DropFiles",
! PERLWIN32GUI_ARGTYPE_LONG, (LONG) wParam,
! -1);
break;
}
***************
*** 987,994 ****
break;
case WM_DROPFILES:
! PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_DROPFILE,
"DropFiles",
! PERLWIN32GUI_ARGTYPE_SV,
! CreateObjectWithHandle(NOTXSCALL
"Win32::GUI::DragDrop", (HWND) wParam),
! -1 );
}
--- 966,972 ----
break;
case WM_DROPFILES:
! PerlResult = DoEvent(NOTXSCALL perlud, PERLWIN32GUI_NEM_DROPFILE,
"DropFiles",
! PERLWIN32GUI_ARGTYPE_LONG, (LONG) wParam,
! -1);
}
Index: GUI.rc
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/GUI.rc,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** GUI.rc 16 Mar 2006 08:57:45 -0000 1.7
--- GUI.rc 16 Mar 2006 21:11:11 -0000 1.8
***************
*** 8,13 ****
1 VERSIONINFO
! FILEVERSION 1,03,03,00
! PRODUCTVERSION 1,03,03,00
FILEOS VOS__WINDOWS32
FILETYPE VFT_DLL
--- 8,13 ----
1 VERSIONINFO
! FILEVERSION 1,03,00,00
! PRODUCTVERSION 1,03,00,00
FILEOS VOS__WINDOWS32
FILETYPE VFT_DLL
***************
*** 17,30 ****
BLOCK "040904E4"
{
! VALUE "Comments" , "Win32::GUI Perl module v1.03_03"
VALUE "CompanyName" , "Open Source"
VALUE "FileDescription" , "perl-win32-gui Perl
extension"
! VALUE "FileVersion" , "1.03_03"
VALUE "InternalName" , "GUI.dll"
! VALUE "LegalCopyright" , "Copyright © Aldo Caplini
1997..2006"
VALUE "LegalTrademarks" , "GNU and Artistic licences"
VALUE "OriginalFilename" , "GUI.dll"
VALUE "ProductName" , "Win32::GUI"
! VALUE "ProductVersion" , "1.03_03"
}
}
--- 17,30 ----
BLOCK "040904E4"
{
! VALUE "Comments" , "Win32::GUI Perl module v1.03"
VALUE "CompanyName" , "Open Source"
VALUE "FileDescription" , "perl-win32-gui Perl
extension"
! VALUE "FileVersion" , "1.03"
VALUE "InternalName" , "GUI.dll"
! VALUE "LegalCopyright" , "Copyright © Aldo Caplini
1997..2005"
VALUE "LegalTrademarks" , "GNU and Artistic licences"
VALUE "OriginalFilename" , "GUI.dll"
VALUE "ProductName" , "Win32::GUI"
! VALUE "ProductVersion" , "1.03"
}
}
Index: Makefile.PL
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/Makefile.PL,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** Makefile.PL 16 Mar 2006 08:57:48 -0000 1.16
--- Makefile.PL 16 Mar 2006 21:11:12 -0000 1.17
***************
*** 209,213 ****
'GUI.pm' => '$(INST_LIBDIR)/GUI.pm',
'BitmapInline.pm' =>
'$(INST_LIBDIR)/GUI/BitmapInline.pm',
- 'CustomDraw.pm' =>
'$(INST_LIBDIR)/GUI/CustomDraw.pm',
'GridLayout.pm' =>
'$(INST_LIBDIR)/GUI/GridLayout.pm',
},
--- 209,212 ----
Index: GUI.pm
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/GUI.pm,v
retrieving revision 1.38
retrieving revision 1.39
diff -C2 -d -r1.38 -r1.39
*** GUI.pm 16 Mar 2006 08:57:42 -0000 1.38
--- GUI.pm 16 Mar 2006 21:11:11 -0000 1.39
***************
*** 25,29 ****
# STATIC OBJECT PROPERTIES
#
! $VERSION = "1.03_03"; # For MakeMaker
$XS_VERSION = $VERSION; # For dynaloader
$VERSION = eval $VERSION; # For Perl (see perldoc perlmodstyle)
--- 25,29 ----
# STATIC OBJECT PROPERTIES
#
! $VERSION = "1.03_02"; # For MakeMaker
$XS_VERSION = $VERSION; # For dynaloader
$VERSION = eval $VERSION; # For Perl (see perldoc perlmodstyle)
***************
*** 837,841 ****
#
# Class specific B<%OPTIONS> are:
! # -accel => L<Win32::GUI::Accelerator>
# -accelerators => Win32::GUI::Accelerator
# -acceleratortable => Win32::GUI::Accelerator
--- 837,841 ----
#
# Class specific B<%OPTIONS> are:
! # -accel => Win32::GUI::Accelerator
# -accelerators => Win32::GUI::Accelerator
# -acceleratortable => Win32::GUI::Accelerator
***************
*** 885,891 ****
# -dialogui => 0/1
# Act as a dialog box.
- # -dropfiles => 0/1 (default 0)
- # Accept L<DragAcceptFiles|Win32::GUI::DragDrop::DragAcceptFiles>.
- # Reacts on a L<DropFiles|Win32::GUI::Window::DropFiles> event.
sub new {
my $self = Win32::GUI->_new(Win32::GUI::constant("WIN32__GUI__WINDOW",
0), @_);
--- 885,888 ----
***************
*** 2769,2781 ****
# has been loaded.
package Win32::GUI::NotifyIcon;
! use Win32;
our $SHELLDLL_VERSION;
BEGIN {
- if (Win32->can('GetFileVersion')) {
- # added to perl 12 May 2005
$SHELLDLL_VERSION = (Win32::GetFileVersion('shell32'))[0];
- } else {
- $SHELLDLL_VERSION = 0;
- }
}
--- 2766,2773 ----
# has been loaded.
package Win32::GUI::NotifyIcon;
! use Win32();
our $SHELLDLL_VERSION;
BEGIN {
$SHELLDLL_VERSION = (Win32::GetFileVersion('shell32'))[0];
}
Index: NotifyIcon.xs
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/NotifyIcon.xs,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** NotifyIcon.xs 16 Mar 2006 08:57:48 -0000 1.5
--- NotifyIcon.xs 16 Mar 2006 21:11:12 -0000 1.6
***************
*** 29,36 ****
nid.uCallbackMessage = WM_NOTIFYICON;
SwitchBit(nid.uFlags, NIF_MESSAGE, 1);
- #if (_WIN32_IE > 0x0501)
SwitchBit(nid.uFlags, NIF_INFO, 1);
nid.uTimeout = 10000;
- #endif
ParseNotifyIconOptions(NOTXSCALL sp, mark, ax, items, 1, &nid);
--- 29,34 ----
***************
*** 52,58 ****
nid.cbSize = NOTIFYICONDATA_V1_SIZE;
nid.hWnd = parent;
- #if (_WIN32_IE > 0x0501)
nid.uTimeout = 10000;
- #endif
ParseNotifyIconOptions(NOTXSCALL sp, mark, ax, items, 1, &nid);
--- 50,54 ----
***************
*** 89,93 ****
NOTIFYICONDATA nid;
CODE:
- #if (_WIN32_IE > 0x0501)
ZeroMemory(&nid, sizeof(NOTIFYICONDATA));
nid.cbSize = NOTIFYICONDATA_V1_SIZE;
--- 85,88 ----
***************
*** 97,103 ****
RETVAL = Shell_NotifyIcon(NIM_SETFOCUS, &nid);
- #else
- RETVAL = 0;
- #endif
OUTPUT:
RETVAL
--- 92,95 ----
***************
*** 111,115 ****
NOTIFYICONDATA nid;
CODE:
- #if (_WIN32_IE > 0x0501)
ZeroMemory(&nid, sizeof(NOTIFYICONDATA));
nid.cbSize = NOTIFYICONDATA_V1_SIZE;
--- 103,106 ----
***************
*** 119,125 ****
RETVAL = Shell_NotifyIcon(NIM_SETVERSION, &nid);
- #else
- RETVAL = 0;
- #endif
OUTPUT:
RETVAL
--- 110,113 ----
Index: Header.xs
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/Header.xs,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** Header.xs 16 Mar 2006 08:57:48 -0000 1.4
--- Header.xs 16 Mar 2006 21:11:11 -0000 1.5
***************
*** 54,58 ****
else if Parse_Event("ItemClick", PERLWIN32GUI_NEM_CONTROL5)
else if Parse_Event("ItemDblClick", PERLWIN32GUI_NEM_CONTROL6)
- else if Parse_Event("CustomDraw", PERLWIN32GUI_NEM_PAINT)
else retval = FALSE;
--- 54,57 ----
***************
*** 174,193 ****
-1);
break;
-
- case NM_CUSTOMDRAW:
- {
- char class_name[] = "Win32::GUI::Header::CustomDraw";
- LPPERLWIN32GUI_NMCUSTOMDRAW lpCD =
(LPPERLWIN32GUI_NMCUSTOMDRAW) lParam;
- SV *obj = CreateNMCustomDraw(NOTXSCALL class_name, lpCD);
- PerlResult = DoEvent(NOTXSCALL perlud,
PERLWIN32GUI_NEM_PAINT, "CustomDraw",
- PERLWIN32GUI_ARGTYPE_SV, obj,
- -1);
- #ifdef PERLWIN32GUI_STRONGDEBUG
- printf("XS(CreateNMCustomDraw %s) => %d\n", class_name,
PerlResult);
- #endif
- perlud->forceResult = PerlResult;
- PerlResult = 0; /* MsgLoop return ForceResult */
- }
- break;
}
}
--- 173,176 ----
Index: GUI.h
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/GUI.h,v
retrieving revision 1.26
retrieving revision 1.27
diff -C2 -d -r1.26 -r1.27
*** GUI.h 16 Mar 2006 08:57:42 -0000 1.26
--- GUI.h 16 Mar 2006 21:11:11 -0000 1.27
***************
*** 185,189 ****
#define PERLWIN32GUI_NEM_CONTROL6 0x04000000
#define PERLWIN32GUI_NEM_CONTROL7 0x02000000
- // BeginDrag in ListView, InitMenu in Window
#define PERLWIN32GUI_NEM_CONTROL8 0x01000000
--- 185,188 ----
***************
*** 272,276 ****
DWORD dwFlags;
DWORD dwFlagsMask;
- int iDropFiles;
} PERLWIN32GUI_CREATESTRUCT, *LPPERLWIN32GUI_CREATESTRUCT;
--- 271,274 ----
***************
*** 309,330 ****
} PERLWIN32GUI_MENUITEMDATA, *LPPERLWIN32GUI_MENUITEMDATA;
- typedef struct tagPERLWIN32GUI_NMCUSTOMDRAWINFO {
- NMHDR hdr;
- DWORD dwDrawStage;
- HDC hdc;
- RECT rc;
- DWORD* dwItemSpec;
- UINT uItemState;
- LPARAM lItemlParam;
- } PERLWIN32GUI_NMCUSTOMDRAW, *LPPERLWIN32GUI_NMCUSTOMDRAW;
-
- /* Experimental: thread safe static data */
- #define MY_CXT_KEY "Win32::GUI::_guts" XS_VERSION
- typedef struct {
- int count;
- PERLWIN32GUI_USERDATA perlud;
- PERLWIN32GUI_CREATESTRUCT perlcs;
- PERLWIN32GUI_NMCUSTOMDRAW perlcd;
- } my_cxt_t;
#define ValidUserData(ptr) (ptr != NULL && ptr->dwSize ==
sizeof(PERLWIN32GUI_USERDATA))
--- 307,310 ----
***************
*** 432,436 ****
//BOOL GetObjectNameAndClass(NOTXSPROC HWND hwnd, char *Name, int *obj_class);
SV* CreateObjectWithHandle(NOTXSPROC char* class_name, HWND handle);
- SV* CreateNMCustomDraw(NOTXSPROC char* class_name, void* lParam);
HMENU GetMenuFromID(NOTXSPROC int nID);
BOOL GetMenuName(NOTXSPROC HWND hwnd, int nID, char *Name);
--- 412,415 ----
***************
*** 802,805 ****
--- 781,788 ----
#endif
+ #ifndef NOTIFYICONDATA_V1_SIZE
+ # define NOTIFYICONDATA_V1_SIZE CCSIZEOF_STRUCT(NOTIFYICONDATA, szTip[63])
+ #endif
+
#else
#define WNDPROC_CAST FARPROC
***************
*** 807,814 ****
#endif
- // MINGW, cygwin and MSVC <= 98
- #ifndef NOTIFYICONDATA_V1_SIZE
- # define NOTIFYICONDATA_V1_SIZE CCSIZEOF_STRUCT(NOTIFYICONDATA, szTip[63])
- #endif
// MSVC6 patches
--- 790,793 ----
***************
*** 883,887 ****
#endif /* defined(_MSC_VER) && (_MSC_VER <= 1200) && (WINVER < 0x0500) */
-
- /* Tie the CustomDraw object or not? Currently not working, STORE is done via
AUTOLOAD. */
- #undef ENABLE_TIE_CUSTOMDRAW
--- 862,863 ----