www.pudn.com > clamwin-0.85.1-src.zip > pywin32-201.win32gui.patch


--- win32gui.i	Sun Apr 25 21:17:43 2004
+++ win32gui.new	Thu Apr 29 22:14:00 2004
@@ -2,6 +2,11 @@
 // @doc 
  
 %module win32gui // A module which provides an interface to the native win32 GUI 
+// alch begin 29/04/2004 to enable balloon notifications in Shell_NotifyIcon 
+%{ 
+#define _WIN32_IE 0x0501 
+%} 
+// alch end 
 %include "typemaps.i" 
 %include "pywintypes.i" 
  
@@ -1931,13 +1936,15 @@
 %native (LOWORD) PyLOWORD; 
  
 // Should go in win32sh? 
+// alch begin 29/04/2004 added few tuple members as well as flags 
+// to enable balloon notifications in Shell_NotifyIcon 
 %{ 
 BOOL PyObject_AsNOTIFYICONDATA(PyObject *ob, NOTIFYICONDATA *pnid) 
 { 
-	PyObject *obTip=NULL; 
+	PyObject *obTip=NULL, *obInfo=NULL, *obInfoTitle=NULL; 
 	memset(pnid, 0, sizeof(*pnid)); 
 	pnid->cbSize = sizeof(*pnid); 
-	if (!PyArg_ParseTuple(ob, "l|iiilO:NOTIFYICONDATA tuple", &pnid->hWnd, &pnid->uID, &pnid->uFlags, &pnid->uCallbackMessage, &pnid->hIcon, &obTip)) 
+	if (!PyArg_ParseTuple(ob, "l|iiilOOiOi:NOTIFYICONDATA tuple", &pnid->hWnd, &pnid->uID, &pnid->uFlags, &pnid->uCallbackMessage, &pnid->hIcon, &obTip, &obInfo, &pnid->uTimeout, &obInfoTitle, &pnid->dwInfoFlags)) 
 		return FALSE; 
 	if (obTip) { 
 		TCHAR *szTip; 
@@ -1946,18 +1953,39 @@
 		_tcsncpy(pnid->szTip, szTip, sizeof(pnid->szTip)/sizeof(TCHAR)); 
 		PyWinObject_FreeTCHAR(szTip); 
 	} 
+	if (obInfo) {	 
+		TCHAR *szInfo; 
+		if (!PyWinObject_AsTCHAR(obInfo, &szInfo)) 
+			return NULL; 
+		_tcsncpy(pnid->szInfo, szInfo, sizeof(pnid->szInfo)/sizeof(TCHAR)); 
+		PyWinObject_FreeTCHAR(szInfo); 
+	} 
+	if (obInfoTitle) {	 
+		TCHAR *szInfoTitle; 
+		if (!PyWinObject_AsTCHAR(obInfoTitle, &szInfoTitle)) 
+			return NULL; 
+		_tcsncpy(pnid->szInfoTitle, szInfoTitle, sizeof(pnid->szInfoTitle)/sizeof(TCHAR)); 
+		PyWinObject_FreeTCHAR(szInfoTitle); 
+	} 
 	return TRUE; 
 } 
 %} 
 #define NIF_ICON NIF_ICON 
 #define NIF_MESSAGE NIF_MESSAGE 
 #define NIF_TIP NIF_TIP 
+#define NIF_INFO NIF_INFO 
+#define NIIF_WARNING NIIF_WARNING 
+#define NIIF_ERROR NIIF_ERROR 
+#define NIIF_NONE NIIF_NONE 
+#define NIIF_INFO NIIF_INFO 
+ 
 #define NIM_ADD NIM_ADD // Adds an icon to the status area.  
 #define NIM_DELETE  NIM_DELETE // Deletes an icon from the status area.  
 #define NIM_MODIFY  NIM_MODIFY // Modifies an icon in the status area.   
 #ifdef NIM_SETFOCUS 
 #define NIM_SETFOCUS NIM_SETFOCUS // Give the icon focus.   
 #endif 
+// alch end 
  
 %typemap(python,in) NOTIFYICONDATA *{ 
 	if (!PyObject_AsNOTIFYICONDATA($source, $target))