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("per...@li...") 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("per...@li...") 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"... [truncated message content] |