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 **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 **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 **20060813211705 (This comes from version 08 of my Unicode patch). ] [(wxcore, Unicode) Add/use ability to interact with C wchar_t. Eric Kow **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 **20060813210420 I believe this would require that wxWidgets be compiled with Unicode enabled. ] [(wxc, Unicode) Use wxChar instead of char. Eric Kow **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