
New patches:

[Shelarcy patch: fix typos in wxHaskell samples/contrib
jeremy.odonoghue@gmail.com**20060830114937] {
hunk ./samples/contrib/NotebookRight.hs 25
-       textlog <- textCtrl p WrapLine [enabled := False]
+       textlog <- textCtrl p [wrap := WrapLine, enabled := False]
hunk ./samples/contrib/NotebookRight.hs 36
-       ok   <- bitmapButton p1 [image := "../bitmaps/wxwin16.png",
+       ok   <- bitmapButton p1 [picture := "../bitmaps/wxwin16.png",
hunk ./samples/contrib/PaintDirect.hs 26
-                               ,virtualSize := rgbSize, scrollRate := size 10 10
+                               ,virtualSize := rgbSize, scrollRate := sz 10 10
hunk ./samples/contrib/PaintDirect.hs 29
-             ,clientSize := size 200 200
+             ,clientSize := sz 200 200
}

[Add support for wxWidgets version >= 2.5 (Sound API, db API)
jeremy.odonoghue@gmail.com**20061023094049] {
hunk ./wxc/src/db.cpp 1038
+#if (wxVERSION_NUMBER <= 2500)
hunk ./wxc/src/db.cpp 1040
-#else
+#else /* wxVERSION_NUMBER */
+  return self->columnLength;
+#endif /* wxVERSION_NUMBER */
+#else /* wxUSE_ODBC */
hunk ./wxc/src/db.cpp 1045
-#endif
+#endif /* wxUSE_ODBC */
hunk ./wxc/src/db.cpp 1051
+#if (wxVERSION_NUMBER <= 2500)
hunk ./wxc/src/db.cpp 1053
-#else
+#else /* wxVERSION_NUMBER */
+  return self->bufferSize;
+#endif /* wxVERSION_NUMBER */
+#else /* wxUSE_ODBC */
hunk ./wxc/src/db.cpp 1058
-#endif
+#endif /* wxUSE_ODBC */
hunk ./wxc/src/db.cpp 1174
+#if (wxVERSION_NUMBER <= 2500)
hunk ./wxc/src/db.cpp 1176
+#else /* (wxVERSION_NUMBER <= 2500) */
+    colInf[column].columnLength = colSize;
+#endif /* (wxVERSION_NUMBER <= 2500) */
hunk ./wxc/src/wave.cpp 2
+#if (wxVERSION_NUMBER >= 2500)
+#include "wx/sound.h"
+#else /* (wxVERSION_NUMBER >= 2500) */
hunk ./wxc/src/wave.cpp 6
+#endif /* (wxVERSION_NUMBER >= 2500) */
hunk ./wxc/src/wave.cpp 20
+#if defined(wxUSE_SOUND) && (wxUSE_SOUND==0)
+# undef wxUSE_SOUND
+#endif
+
hunk ./wxc/src/wave.cpp 28
-
+#ifndef wxUSE_SOUND
+# define wxSound      void
+#endif
hunk ./wxc/src/wave.cpp 34
+#if (wxVERSION_NUMBER >= 2500)
+/*-----------------------------------------------------------------------------
+  Sound
+-----------------------------------------------------------------------------*/
+EWXWEXPORT(wxSound*,wxWave_Create)( wxString* fileName, bool isResource )  
+{
+#ifdef wxUSE_SOUND 
+  return new wxSound(*fileName,isResource);
+#else
+  return NULL;
+#endif
+}
+
+EWXWEXPORT(void,wxWave_Delete)(wxSound* self)  
+{
+#ifdef wxUSE_SOUND 
+  if (self) delete self;
+#endif
+}
+
+EWXWEXPORT(bool,wxWave_IsOk)(wxSound* self)  
+{
+#ifdef wxUSE_SOUND 
+  return self->IsOk();
+#else
+  return false;
+#endif
+}
+
+#if (WXWIN_COMPATIBILITY_2_4==1)
+EWXWEXPORT(bool,wxWave_Play)(wxSound* self, bool async, bool looped )  
+{
+#ifdef wxUSE_SOUND 
+  return ((wxSoundBase *) self)->Play(async,looped);
+#else
+  return false;
+#endif
+}
+#endif
+
+#else /* (wxVERSION_NUMBER >= 2500) */
+
hunk ./wxc/src/wave.cpp 113
+#endif /* (wxVERSION_NUMBER >= 2500) */
}

[Add support for Calendar events (from shalarcy@gmail.com)
jeremy.odonoghue@gmail.com**20061023094412] {
hunk ./wx/src/Graphics/UI/WX/Events.hs 5
+                   (c) Shelarcy (shelarcy@gmail.com) 2006
hunk ./wx/src/Graphics/UI/WX/Events.hs 57
+
+{-
+    Modification History:
+    When    Who                          What
+    300806  jeremy.odonoghue@gmail.com   Add support for calendar event
+                                         (on behalf of shelarcy@gmail.com)
+-}
hunk ./wx/src/Graphics/UI/WX/Events.hs 106
+            -- ** Calender event
+            , EventCalendar(..)
+            , calendarEvent
+
hunk ./wx/src/Graphics/UI/WX/Events.hs 327
+{--------------------------------------------------------------------
+   Calender event filters
+--------------------------------------------------------------------}
+calendarEvent :: Event (CalendarCtrl a) (EventCalendar -> IO ())
+calendarEvent
+  = newEvent "calendarEvent" calendarCtrlGetOnCalEvent calendarCtrlOnCalEvent
+
hunk ./wxcore/src/Graphics/UI/WXCore/Events.hs 124
+        -- * Calenders
+        , EventCalendar(..)
+        , calendarCtrlOnCalEvent 
+        , calendarCtrlGetOnCalEvent
+
hunk ./wxcore/src/Graphics/UI/WXCore/Events.hs 2044
+
+{-----------------------------------------------------------------------------------------
+  Calender events
+-----------------------------------------------------------------------------------------}
+data EventCalendar
+    = CalendarDayChanged (DateTime ())
+    | CalendarDoubleClicked (DateTime ())
+    | CalendarMonthChanged (DateTime ())
+    | CalendarSelectionChanged (DateTime ())
+    | CalendarWeekdayClicked Int
+    | CalendarYearChanged (DateTime ())
+    | CalendarUnknown
+ 
+fromCalendarEvent :: CalendarEvent a -> IO EventCalendar
+fromCalendarEvent calEvent
+    = do tp <- eventGetEventType calEvent
+         case lookup tp calEvents of
+           Just f  -> f calEvent
+           Nothing -> return CalendarUnknown
+ 
+calEvents :: [(Int, CalendarEvent a -> IO EventCalendar)]
+calEvents
+    = [(wxEVT_CALENDAR_DAY_CHANGED    ,withDate CalendarDayChanged)
+      ,(wxEVT_CALENDAR_DOUBLECLICKED  ,withDate CalendarDoubleClicked)
+      ,(wxEVT_CALENDAR_MONTH_CHANGED  ,withDate CalendarMonthChanged)
+      ,(wxEVT_CALENDAR_SEL_CHANGED    ,withDate CalendarSelectionChanged)
+      ,(wxEVT_CALENDAR_WEEKDAY_CLICKED,withWeekday CalendarWeekdayClicked)
+      ,(wxEVT_CALENDAR_YEAR_CHANGED   ,withDate CalendarYearChanged)]
+    where withDate event calEvent
+              = do date <- dateTimeCreate
+                   withObjectPtr date $ calendarEventGetDate calEvent
+                   return (event date)
+          withWeekday event calEvent
+              = fmap event $ calendarEventGetWeekDay calEvent
+ 
+-- | Set a calendar event handler.
+calendarCtrlOnCalEvent :: CalendarCtrl a -> (EventCalendar -> IO ()) -> IO ()
+calendarCtrlOnCalEvent calCtrl eventHandler
+  = windowOnEvent calCtrl (map fst calEvents) eventHandler calHandler
+  where
+    calHandler event
+      = do eventCalendar <- fromCalendarEvent (objectCast event)
+           eventHandler eventCalendar
+ 
+-- | Get the current calendar event handler of a window.
+calendarCtrlGetOnCalEvent :: CalendarCtrl a -> IO (EventCalendar -> IO ())
+calendarCtrlGetOnCalEvent calCtrl
+  = unsafeWindowGetHandlerState calCtrl wxEVT_CALENDAR_SEL_CHANGED (\event -> skipCurrentEvent)
+
}

[Add support for list item mask (from shelarcy@gmail.com)
jeremy.odonoghue@gmail.com**20061023094528] {
hunk ./wx/src/Graphics/UI/WX/Controls.hs 5
+                   (c) Shelarcy (shelarcy@gmail.com) 2006
hunk ./wx/src/Graphics/UI/WX/Controls.hs 14
+
+{-
+    Modification History:
+    When    Who                          What
+    300806  jeremy.odonoghue@gmail.com   Set list item mask (wxLIST_MASK_TEXT)
+                                         (on behalf of shelarcy@gmail.com)
+-}
hunk ./wx/src/Graphics/UI/WX/Controls.hs 886
+                                                 listItemSetMask li wxLIST_MASK_TEXT
}

[Add support for toolbar divider (for shelarcy@gmail.com)
jeremy.odonoghue@gmail.com**20061023094720] {
hunk ./wx/src/Graphics/UI/WX/Menu.hs 5
+                   (c) Shelarcy (shelarcy@gmail.com) 2006
hunk ./wx/src/Graphics/UI/WX/Menu.hs 28
+{-
+    Modification History:
+    When    Who                          What
+    300806  jeremy.odonoghue@gmail.com   Add support for toolbar divider
+                                         (on behalf of shelarcy@gmail.com)
+-}
hunk ./wx/src/Graphics/UI/WX/Menu.hs 399
-                   .+. (if showDivider then 0 else 0x200) -- wxTB_NODIVIDER                   
+                   .+. (if showDivider then 0 else wxTB_NODIVIDER)
}

[Add support for toolbar divider and other toolbar options (from shelarcy@gmail.com)
jeremy.odonoghue@gmail.com**20061023095411] {
hunk ./wxc/eiffel/wxc_defs.e 85
-wxTB_TEXT	     : INTEGER is 256
+wxTB_HORIZONTAL      : INTEGER is 4
+wxTB_NOALIGN         : INTEGER is 1024
+wxTB_NODIVIDER       : INTEGER is 512
+wxTB_NOICONS         : INTEGER is 128
+wxTB_TEXT	         : INTEGER is 256
+wxTB_VERTICAL        : INTEGER is 8
}

[Add support for wxWidgets version 2.6.3
jeremy.odonoghue@gmail.com**20061023095527] {
merger 0.0 (
hunk ./configure 7
+#  Copyright (c) 2006 Jeremy O'Donoghue (jeremy.odonoghue@gmail.com)
hunk ./configure 7
+#  Copyright (c) 2006 Jeremy O'Donoghue (jeremy.odonoghue@gmail.com)
)
merger 0.0 (
hunk ./configure 14
-version="0.9.4"
+version="0.10.1"
hunk ./configure 14
-version="0.9.4"
+version="0.10.1"
)
merger 0.0 (
hunk ./configure 154
-	wxversion="2.4.2";;  # guess?
+	wxversion="2.6.3";;  # guess?
hunk ./configure 154
-	wxversion="2.4.2";;  # guess?
+	wxversion="2.6.3";;  # guess?
)
merger 0.0 (
hunk ./configure 375
-	  wxversion="2.4.2";;  # guess?
+	  wxversion="2.6.3";;  # guess?
hunk ./configure 375
-	  wxversion="2.4.2";;  # guess?
+	  wxversion="2.6.3";;  # guess?
)
}

[Add support for wxWidgets 2.6.3 (and correct support for wxWidgets 2.4.2)
jeremy.odonoghue@gmail.com**20061023100327] {
hunk ./configure 7
+#  Copyright (c) 2006 Jeremy O'Donoghue (jeremy.odonoghue@gmail.com)
hunk ./configure 15
-version="0.9.4"
+version="0.10.1"
hunk ./configure 155
-	wxversion="2.4.2";;  # guess?
+	wxversion="2.6.3";;  # guess?
hunk ./configure 376
-	  wxversion="2.4.2";;  # guess?
+	  wxversion="2.6.3";;  # guess?
hunk ./wxc/wxc-2.4.dsp 56
-# ADD LINK32 zlib.lib regex.lib png.lib jpeg.lib tiff.lib wxmsw.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib opengl32.lib winmm.lib /nologo /dll /machine:I386 /nodefaultlib:"LIBCMT" /out:"..\out\wxc\wxc-msw2.4.2-0.9.4.dll" /libpath:"..\..\wxWindows-2.4.2\lib"
+# ADD LINK32 zlib.lib regex.lib png.lib jpeg.lib tiff.lib wxmsw.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib opengl32.lib winmm.lib /nologo /dll /machine:I386 /nodefaultlib:"LIBCMT" /out:"..\out\wxc\wxc-msw2.4.2-0.10.1.dll" /libpath:"..\..\wxWindows-2.4.2\lib"
hunk ./wxc/wxc-2.4.dsp 59
-PostBuild_Cmds=echo Generating mingw32 import library ...	..\bin\reimp ..\out\wxc\wxc-msw2.4.2-0.9.4.lib	move libwxc-msw2.4.2-0.9.4.a ..\out\wxc	move wxc-msw2.4.2-0.9.4.def ..\out\wxc	echo Done.
+PostBuild_Cmds=echo Generating mingw32 import library ...	..\bin\reimp ..\out\wxc\wxc-msw2.4.2-0.10.1.lib	move libwxc-msw2.4.2-0.10.1.a ..\out\wxc	move wxc-msw2.4.2-0.10.1.def ..\out\wxc	echo Done.
hunk ./wxc/wxc-2.4.dsp 86
-# ADD LINK32 zlibd.lib regexd.lib pngd.lib jpegd.lib tiffd.lib wxmswd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib opengl32.lib winmm.lib /nologo /dll /debug /machine:I386 /nodefaultlib:"LIBCMTD" /out:"..\out\wxc\wxcd-msw2.4.2-0.9.4.dll" /pdbtype:sept /libpath:"..\..\wxWindows-2.4.2\lib"
+# ADD LINK32 zlibd.lib regexd.lib pngd.lib jpegd.lib tiffd.lib wxmswd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib opengl32.lib winmm.lib /nologo /dll /debug /machine:I386 /nodefaultlib:"LIBCMTD" /out:"..\out\wxc\wxcd-msw2.4.2-0.10.1.dll" /pdbtype:sept /libpath:"..\..\wxWindows-2.4.2\lib"
hunk ./wxc/wxc-2.4.dsp 89
-PostBuild_Cmds=echo Generating mingw32 import library ...	..\bin\reimp ..\out\wxc\wxcd-msw2.4.2-0.9.4.lib	move libwxcd-msw2.4.2-0.9.4.a ..\out\wxc	move wxcd-msw2.4.2-0.9.4.def ..\out\wxc	echo Done.
+PostBuild_Cmds=echo Generating mingw32 import library ...	..\bin\reimp ..\out\wxc\wxcd-msw2.4.2-0.10.1.lib	move libwxcd-msw2.4.2-0.10.1.a ..\out\wxc	move wxcd-msw2.4.2-0.10.1.def ..\out\wxc	echo Done.
}

[Add shelarcy patch for compile with GHC-6.6
jeremy.odonoghue@gmail.com**20061027102208] {
hunk ./configure 859
-depends: base,lang,haskell98,concurrent
+depends: base,haskell98
hunk ./makefile 28
+	@echo " before-dist     uninstall wxcore files, and make wxcore again"
hunk ./makefile 315
+before-dist: wxcore-unregister wxcore-uninstall-files wxcore
+
hunk ./makefile 338
-bindist: all bindist-clean dist-dirs wxc-bindist wxcore-bindist wx-bindist docdist
+bindist: bindist-clean dist-dirs wxc-bindist wxcore-bindist wx-bindist docdist
hunk ./makefile 477
-WXCORE-HCFLAGS	=$(HCFLAGS) -fvia-C -package-name $(WXCORE)
+WXCORE-HCFLAGS	=$(HCFLAGS) -fvia-C -package-name $(WXCORE)-$(VERSION)
hunk ./makefile 586
-WX-HCFLAGS	=$(HCFLAGS) -fvia-C -package-name $(WX)
+WX-HCFLAGS	=$(HCFLAGS) -fvia-C -package-name $(WX)-$(VERSION) -package $(WXCORE)-$(VERSION)
hunk ./makefile 591
-wx: wxcore wx-dirs $(WX-LIBS)
+wx: wxcore wxcore-install-files wxcore-register wxcore-clean wx-dirs $(WX-LIBS)
hunk ./makefile 604
-wx-bindist: wx
+wx-bindist: 
}

Context:

[Update VC++ project file to reflect new wxWidgets version support (untested)
jeremy.odonoghue@gmail.com**20060817170205] 
[Update VC++ project file to reflect updated DLL version supporting wxWidgets 2.6.3
jeremy.odonoghue@gmail.com**20060817170011] 
[Update revision numbers and wxversion guesses for Windows / VC++ (jeremy.odonoghue@gmail.com)
jeremy.odonoghue@gmail.com**20060817165704] 
[Shelarcy patch (VC project for wxWindows 2.6.3)
jeremy.odonoghue@gmail.com**20060816134707] 
[Shelarcy patch (WxcTypes.hs)
jeremy.odonoghue@gmail.com**20060816115419] 
[Shelarcy patch (eljdialup.cpp)
jeremy.odonoghue@gmail.com**20060816114418] 
[Shelarcy patch (db.cpp)
jeremy.odonoghue@gmail.com**20060816113728] 
[(OS X) Skip intermediate step of compiling master.o.
Eric Kow <eric.kow@loria.fr>**20060813212620
 
 Removing this step (which compiles master.o, and combines it with other
 stuff to get the real library we want) avoids weird error messages like
 
 ld: out/wxc/master.o undefined symbol 36218 (__ZdaPv) can't be a weak
 definition
 
 It's quite possible that this breaks something else, though...
 
] 
[(wxc, Unicode) Files for compiling unicode version under Visual Studio.
shelarcy <shelarcy@capella.freemail.ne.jp>**20060813212315
 
 This is Eric Kow recording on Shelarcy's behalf.  This corresponds to version
 08 of my Unicode patch.
 
] 
[Add a small makefile for compiling the samples.
Eric Kow <eric.kow@loria.fr>**20060813211705
 
 (This comes from version 08 of my Unicode patch).
 
] 
[(wxcore, Unicode) Add/use ability to interact with C wchar_t.
Eric Kow <eric.kow@loria.fr>**20060813211211
 
 This corresponds to the wxcore part of my Unicode patch, version 08
 modulo trailing whitespace.
 
 I believe this would require for wxWidgets and wxhaskell to be compiled with
 Unicode enabled.
 
] 
[(wxdirect, Unicode) Use the Haskell types for C wchar_t and friends.
Eric Kow <eric.kow@loria.fr>**20060813210420
 
 I believe this would require that wxWidgets be compiled with Unicode
 enabled.
 
] 
[(wxc, Unicode) Use wxChar instead of char.
Eric Kow <eric.kow@loria.fr>**20060813205557
 
 wxChar is a C preprocessor macro that selects for char under
 --disable-unicode, and for wchar_t under --enable-unicode.
 
 This corresponds to version 08 of my Unicode patch, but only the parts
 which affect wxc.
 
] 
[[wxhaskell-from-cvs @ 2005-05-08 08:12:51 by dleijen]
dleijen**20050508081251
 updated change log
] 
[[wxhaskell-from-cvs @ 2005-05-08 07:24:23 by dleijen]
dleijen**20050508072423
 Compile wx via -fvia-C to fix crash with ghci on windows
] 
[TAG wxhakell-0-9-4
Unknown tagger**20060712042545] 
Patch bundle hash:
1b87c8e18eb9750551330b4406c52c77c3c867b1
