]> git.saurik.com Git - wxWidgets.git/commitdiff
added wxNotificationMessage and implemented it generically and natively for Maemo
authorVadim Zeitlin <vadim@wxwidgets.org>
Sat, 24 Nov 2007 01:56:13 +0000 (01:56 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sat, 24 Nov 2007 01:56:13 +0000 (01:56 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50205 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

29 files changed:
Makefile.in
build/bakefiles/files.bkl
build/msw/makefile.bcc
build/msw/makefile.gcc
build/msw/makefile.vc
build/msw/makefile.wat
build/msw/wx_adv.dsp
build/msw/wx_core.dsp
configure
configure.in
docs/changes.txt
docs/latex/wx/classes.tex
docs/latex/wx/notifmsg.tex [new file with mode: 0644]
include/wx/chkconf.h
include/wx/generic/notifmsg.h [new file with mode: 0644]
include/wx/gtk/hildon/notifmsg.h [new file with mode: 0644]
include/wx/mac/setup0.h
include/wx/motif/setup0.h
include/wx/msw/setup0.h
include/wx/msw/wince/setup.h
include/wx/notifmsg.h [new file with mode: 0644]
include/wx/os2/setup0.h
include/wx/palmos/setup0.h
include/wx/setup_inc.h
samples/dialogs/dialogs.cpp
samples/dialogs/dialogs.h
setup.h.in
src/generic/notifmsgg.cpp [new file with mode: 0644]
src/gtk/hildon/notifmsg.cpp [new file with mode: 0644]

index e1e3f7dd699ac61c91e9bcdae4daafee1b58a752..5946f470409e7600b6ca3fe282dae6b4ddc3ba1a 100644 (file)
@@ -2923,9 +2923,12 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION__ADVANCED_PLATFORM_HDR =  \
        wx/unix/taskbarx11.h \
        wx/generic/animate.h
 @COND_TOOLKIT_GTK_TOOLKIT_VERSION_@ADVANCED_PLATFORM_HDR = $(COND_TOOLKIT_GTK_TOOLKIT_VERSION__ADVANCED_PLATFORM_HDR)
-@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@ADVANCED_PLATFORM_HDR \
-@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@   = wx/unix/joystick.h wx/unix/sound.h \
-@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@   wx/unix/taskbarx11.h
+COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_ADVANCED_PLATFORM_HDR =  \
+       wx/unix/joystick.h \
+       wx/unix/sound.h \
+       wx/unix/taskbarx11.h \
+       wx/gtk/hildon/notifmsg.h
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@ADVANCED_PLATFORM_HDR = $(COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_ADVANCED_PLATFORM_HDR)
 COND_TOOLKIT_MAC_ADVANCED_PLATFORM_HDR =  \
        wx/generic/animate.h \
        wx/mac/carbon/drawer.h \
@@ -2979,6 +2982,7 @@ COND_WXUNIV_0_ADVANCED_HDR =  \
        wx/generic/helpext.h \
        wx/generic/hyperlink.h \
        wx/generic/laywin.h \
+       wx/generic/notifmsg.h \
        wx/generic/propdlg.h \
        wx/generic/sashwin.h \
        wx/generic/splash.h \
@@ -2987,6 +2991,7 @@ COND_WXUNIV_0_ADVANCED_HDR =  \
        wx/hyperlink.h \
        wx/joystick.h \
        wx/laywin.h \
+       wx/notifmsg.h \
        wx/odcombo.h \
        wx/propdlg.h \
        wx/sashwin.h \
@@ -3021,6 +3026,7 @@ COND_WXUNIV_1_ADVANCED_HDR =  \
        wx/generic/helpext.h \
        wx/generic/hyperlink.h \
        wx/generic/laywin.h \
+       wx/generic/notifmsg.h \
        wx/generic/propdlg.h \
        wx/generic/sashwin.h \
        wx/generic/splash.h \
@@ -3029,6 +3035,7 @@ COND_WXUNIV_1_ADVANCED_HDR =  \
        wx/hyperlink.h \
        wx/joystick.h \
        wx/laywin.h \
+       wx/notifmsg.h \
        wx/odcombo.h \
        wx/propdlg.h \
        wx/sashwin.h \
@@ -5255,6 +5262,7 @@ COND_WXUNIV_0___ADVANCED_SRC_OBJECTS =  \
        monodll_helpext.o \
        monodll_hyperlinkg.o \
        monodll_laywin.o \
+       monodll_notifmsgg.o \
        monodll_odcombo.o \
        monodll_propdlg.o \
        monodll_sashwin.o \
@@ -5280,6 +5288,7 @@ COND_WXUNIV_1___ADVANCED_SRC_OBJECTS =  \
        monodll_helpext.o \
        monodll_hyperlinkg.o \
        monodll_laywin.o \
+       monodll_notifmsgg.o \
        monodll_odcombo.o \
        monodll_propdlg.o \
        monodll_sashwin.o \
@@ -7148,6 +7157,7 @@ COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_1 =  \
        monolib_helpext.o \
        monolib_hyperlinkg.o \
        monolib_laywin.o \
+       monolib_notifmsgg.o \
        monolib_odcombo.o \
        monolib_propdlg.o \
        monolib_sashwin.o \
@@ -7173,6 +7183,7 @@ COND_WXUNIV_1___ADVANCED_SRC_OBJECTS_1 =  \
        monolib_helpext.o \
        monolib_hyperlinkg.o \
        monolib_laywin.o \
+       monolib_notifmsgg.o \
        monolib_odcombo.o \
        monolib_propdlg.o \
        monolib_sashwin.o \
@@ -10871,6 +10882,7 @@ COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_2 =  \
        advdll_helpext.o \
        advdll_hyperlinkg.o \
        advdll_laywin.o \
+       advdll_notifmsgg.o \
        advdll_odcombo.o \
        advdll_propdlg.o \
        advdll_sashwin.o \
@@ -10896,6 +10908,7 @@ COND_WXUNIV_1___ADVANCED_SRC_OBJECTS_2 =  \
        advdll_helpext.o \
        advdll_hyperlinkg.o \
        advdll_laywin.o \
+       advdll_notifmsgg.o \
        advdll_odcombo.o \
        advdll_propdlg.o \
        advdll_sashwin.o \
@@ -10942,6 +10955,7 @@ COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_3 =  \
        advlib_helpext.o \
        advlib_hyperlinkg.o \
        advlib_laywin.o \
+       advlib_notifmsgg.o \
        advlib_odcombo.o \
        advlib_propdlg.o \
        advlib_sashwin.o \
@@ -10967,6 +10981,7 @@ COND_WXUNIV_1___ADVANCED_SRC_OBJECTS_3 =  \
        advlib_helpext.o \
        advlib_hyperlinkg.o \
        advlib_laywin.o \
+       advlib_notifmsgg.o \
        advlib_odcombo.o \
        advlib_propdlg.o \
        advlib_sashwin.o \
@@ -11699,7 +11714,8 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___ADVANCED_PLATFORM_SRC_OBJECTS =  \
        monodll_sound.o \
        monodll_taskbarx11.o \
        monodll_taskbar.o \
-       monodll_eggtrayicon.o
+       monodll_eggtrayicon.o \
+       monodll_notifmsg.o
 @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@__ADVANCED_PLATFORM_SRC_OBJECTS = $(COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___ADVANCED_PLATFORM_SRC_OBJECTS)
 COND_TOOLKIT_MAC___ADVANCED_PLATFORM_SRC_OBJECTS =  \
        monodll_taskbarcmn.o \
@@ -11772,7 +11788,8 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___ADVANCED_PLATFORM_SRC_OBJECTS_0 =  \
        monolib_sound.o \
        monolib_taskbarx11.o \
        monolib_taskbar.o \
-       monolib_eggtrayicon.o
+       monolib_eggtrayicon.o \
+       monolib_notifmsg.o
 @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@__ADVANCED_PLATFORM_SRC_OBJECTS_0 = $(COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___ADVANCED_PLATFORM_SRC_OBJECTS_0)
 COND_TOOLKIT_MAC___ADVANCED_PLATFORM_SRC_OBJECTS_0 =  \
        monolib_taskbarcmn.o \
@@ -11845,7 +11862,8 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___ADVANCED_PLATFORM_SRC_OBJECTS_8 =  \
        advdll_sound.o \
        advdll_taskbarx11.o \
        advdll_taskbar.o \
-       advdll_eggtrayicon.o
+       advdll_eggtrayicon.o \
+       advdll_notifmsg.o
 @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@__ADVANCED_PLATFORM_SRC_OBJECTS_8 = $(COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___ADVANCED_PLATFORM_SRC_OBJECTS_8)
 COND_TOOLKIT_MAC___ADVANCED_PLATFORM_SRC_OBJECTS_8 =  \
        advdll_taskbarcmn.o \
@@ -11909,7 +11927,8 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___ADVANCED_PLATFORM_SRC_OBJECTS_9 =  \
        advlib_sound.o \
        advlib_taskbarx11.o \
        advlib_taskbar.o \
-       advlib_eggtrayicon.o
+       advlib_eggtrayicon.o \
+       advlib_notifmsg.o
 @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@__ADVANCED_PLATFORM_SRC_OBJECTS_9 = $(COND_TOOLKIT_GTK_TOOLKIT_VERSION_2___ADVANCED_PLATFORM_SRC_OBJECTS_9)
 COND_TOOLKIT_MAC___ADVANCED_PLATFORM_SRC_OBJECTS_9 =  \
        advlib_taskbarcmn.o \
@@ -17682,6 +17701,9 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
 @COND_USE_GUI_1@monodll_laywin.o: $(srcdir)/src/generic/laywin.cpp $(MONODLL_ODEP)
 @COND_USE_GUI_1@       $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/laywin.cpp
 
+@COND_USE_GUI_1@monodll_notifmsgg.o: $(srcdir)/src/generic/notifmsgg.cpp $(MONODLL_ODEP)
+@COND_USE_GUI_1@       $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/notifmsgg.cpp
+
 @COND_USE_GUI_1@monodll_odcombo.o: $(srcdir)/src/generic/odcombo.cpp $(MONODLL_ODEP)
 @COND_USE_GUI_1@       $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/odcombo.cpp
 
@@ -17838,6 +17860,9 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
 @COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@monodll_eggtrayicon.o: $(srcdir)/src/gtk1/eggtrayicon.c $(MONODLL_ODEP)
 @COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@  $(CCC) -c -o $@ $(MONODLL_CFLAGS) $(srcdir)/src/gtk1/eggtrayicon.c
 
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@monodll_notifmsg.o: $(srcdir)/src/gtk/hildon/notifmsg.cpp $(MONODLL_ODEP)
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/gtk/hildon/notifmsg.cpp
+
 @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@monodll_datectrl.o: $(srcdir)/src/msw/datectrl.cpp $(MONODLL_ODEP)
 @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@  $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/datectrl.cpp
 
@@ -22149,6 +22174,9 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
 @COND_USE_GUI_1@monolib_laywin.o: $(srcdir)/src/generic/laywin.cpp $(MONOLIB_ODEP)
 @COND_USE_GUI_1@       $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/laywin.cpp
 
+@COND_USE_GUI_1@monolib_notifmsgg.o: $(srcdir)/src/generic/notifmsgg.cpp $(MONOLIB_ODEP)
+@COND_USE_GUI_1@       $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/notifmsgg.cpp
+
 @COND_USE_GUI_1@monolib_odcombo.o: $(srcdir)/src/generic/odcombo.cpp $(MONOLIB_ODEP)
 @COND_USE_GUI_1@       $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/odcombo.cpp
 
@@ -22305,6 +22333,9 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
 @COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@monolib_eggtrayicon.o: $(srcdir)/src/gtk1/eggtrayicon.c $(MONOLIB_ODEP)
 @COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@  $(CCC) -c -o $@ $(MONOLIB_CFLAGS) $(srcdir)/src/gtk1/eggtrayicon.c
 
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@monolib_notifmsg.o: $(srcdir)/src/gtk/hildon/notifmsg.cpp $(MONOLIB_ODEP)
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/gtk/hildon/notifmsg.cpp
+
 @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@monolib_datectrl.o: $(srcdir)/src/msw/datectrl.cpp $(MONOLIB_ODEP)
 @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@  $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/datectrl.cpp
 
@@ -30222,6 +30253,9 @@ advdll_hyperlinkg.o: $(srcdir)/src/generic/hyperlinkg.cpp $(ADVDLL_ODEP)
 advdll_laywin.o: $(srcdir)/src/generic/laywin.cpp $(ADVDLL_ODEP)
        $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/generic/laywin.cpp
 
+advdll_notifmsgg.o: $(srcdir)/src/generic/notifmsgg.cpp $(ADVDLL_ODEP)
+       $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/generic/notifmsgg.cpp
+
 advdll_odcombo.o: $(srcdir)/src/generic/odcombo.cpp $(ADVDLL_ODEP)
        $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/generic/odcombo.cpp
 
@@ -30408,6 +30442,9 @@ advdll_wizard.o: $(srcdir)/src/generic/wizard.cpp $(ADVDLL_ODEP)
 @COND_TOOLKIT_GTK_TOOLKIT_VERSION_@advdll_eggtrayicon.o: $(srcdir)/src/gtk1/eggtrayicon.c $(ADVDLL_ODEP)
 @COND_TOOLKIT_GTK_TOOLKIT_VERSION_@    $(CCC) -c -o $@ $(ADVDLL_CFLAGS) $(srcdir)/src/gtk1/eggtrayicon.c
 
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@advdll_notifmsg.o: $(srcdir)/src/gtk/hildon/notifmsg.cpp $(ADVDLL_ODEP)
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@   $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/gtk/hildon/notifmsg.cpp
+
 @COND_TOOLKIT_MSW_WXUNIV_0@advdll_datectrl.o: $(srcdir)/src/msw/datectrl.cpp $(ADVDLL_ODEP)
 @COND_TOOLKIT_MSW_WXUNIV_0@    $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/msw/datectrl.cpp
 
@@ -30468,6 +30505,9 @@ advlib_hyperlinkg.o: $(srcdir)/src/generic/hyperlinkg.cpp $(ADVLIB_ODEP)
 advlib_laywin.o: $(srcdir)/src/generic/laywin.cpp $(ADVLIB_ODEP)
        $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/generic/laywin.cpp
 
+advlib_notifmsgg.o: $(srcdir)/src/generic/notifmsgg.cpp $(ADVLIB_ODEP)
+       $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/generic/notifmsgg.cpp
+
 advlib_odcombo.o: $(srcdir)/src/generic/odcombo.cpp $(ADVLIB_ODEP)
        $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/generic/odcombo.cpp
 
@@ -30654,6 +30694,9 @@ advlib_wizard.o: $(srcdir)/src/generic/wizard.cpp $(ADVLIB_ODEP)
 @COND_TOOLKIT_GTK_TOOLKIT_VERSION_@advlib_eggtrayicon.o: $(srcdir)/src/gtk1/eggtrayicon.c $(ADVLIB_ODEP)
 @COND_TOOLKIT_GTK_TOOLKIT_VERSION_@    $(CCC) -c -o $@ $(ADVLIB_CFLAGS) $(srcdir)/src/gtk1/eggtrayicon.c
 
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@advlib_notifmsg.o: $(srcdir)/src/gtk/hildon/notifmsg.cpp $(ADVLIB_ODEP)
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@   $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/gtk/hildon/notifmsg.cpp
+
 @COND_TOOLKIT_MSW_WXUNIV_0@advlib_datectrl.o: $(srcdir)/src/msw/datectrl.cpp $(ADVLIB_ODEP)
 @COND_TOOLKIT_MSW_WXUNIV_0@    $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/msw/datectrl.cpp
 
index 93ae093520efab8676d11bb214412705818a8522..7485165a777ff8e8af0daab3b2a1f0479dc20bae 100644 (file)
@@ -2789,6 +2789,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
     src/generic/helpext.cpp
     src/generic/hyperlinkg.cpp
     src/generic/laywin.cpp
+    src/generic/notifmsgg.cpp
     src/generic/odcombo.cpp
     src/generic/propdlg.cpp
     src/generic/sashwin.cpp
@@ -2818,6 +2819,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
     wx/generic/helpext.h
     wx/generic/hyperlink.h
     wx/generic/laywin.h
+    wx/generic/notifmsg.h
     wx/generic/propdlg.h
     wx/generic/sashwin.h
     wx/generic/splash.h
@@ -2826,6 +2828,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
     wx/hyperlink.h
     wx/joystick.h
     wx/laywin.h
+    wx/notifmsg.h
     wx/odcombo.h
     wx/propdlg.h
     wx/sashwin.h
@@ -2937,8 +2940,10 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
 <set var="ADVANCED_GTK_SRC" hints="files">
     src/gtk/taskbar.cpp
     src/gtk/eggtrayicon.c
+    src/gtk/hildon/notifmsg.cpp
 </set>
 <set var="ADVANCED_GTK_HDR" hints="files">
+    wx/gtk/hildon/notifmsg.h
 </set>
 
 <set var="ADVANCED_GTK_NATIVE_SRC" hints="files">
index c07c6dc124d10ae99393bb84148d15564ba9a86b..bb716c3b8693c82fafc7072afe65bb3f75f68dd8 100644 (file)
@@ -1930,6 +1930,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_helpext.obj \
        $(OBJS)\monodll_hyperlinkg.obj \
        $(OBJS)\monodll_laywin.obj \
+       $(OBJS)\monodll_notifmsgg.obj \
        $(OBJS)\monodll_odcombo.obj \
        $(OBJS)\monodll_propdlg.obj \
        $(OBJS)\monodll_sashwin.obj \
@@ -1961,6 +1962,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_helpext.obj \
        $(OBJS)\monodll_hyperlinkg.obj \
        $(OBJS)\monodll_laywin.obj \
+       $(OBJS)\monodll_notifmsgg.obj \
        $(OBJS)\monodll_odcombo.obj \
        $(OBJS)\monodll_propdlg.obj \
        $(OBJS)\monodll_sashwin.obj \
@@ -2569,6 +2571,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_helpext.obj \
        $(OBJS)\monolib_hyperlinkg.obj \
        $(OBJS)\monolib_laywin.obj \
+       $(OBJS)\monolib_notifmsgg.obj \
        $(OBJS)\monolib_odcombo.obj \
        $(OBJS)\monolib_propdlg.obj \
        $(OBJS)\monolib_sashwin.obj \
@@ -2600,6 +2603,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_helpext.obj \
        $(OBJS)\monolib_hyperlinkg.obj \
        $(OBJS)\monolib_laywin.obj \
+       $(OBJS)\monolib_notifmsgg.obj \
        $(OBJS)\monolib_odcombo.obj \
        $(OBJS)\monolib_propdlg.obj \
        $(OBJS)\monolib_sashwin.obj \
@@ -3597,6 +3601,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\advdll_helpext.obj \
        $(OBJS)\advdll_hyperlinkg.obj \
        $(OBJS)\advdll_laywin.obj \
+       $(OBJS)\advdll_notifmsgg.obj \
        $(OBJS)\advdll_odcombo.obj \
        $(OBJS)\advdll_propdlg.obj \
        $(OBJS)\advdll_sashwin.obj \
@@ -3628,6 +3633,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\advdll_helpext.obj \
        $(OBJS)\advdll_hyperlinkg.obj \
        $(OBJS)\advdll_laywin.obj \
+       $(OBJS)\advdll_notifmsgg.obj \
        $(OBJS)\advdll_odcombo.obj \
        $(OBJS)\advdll_propdlg.obj \
        $(OBJS)\advdll_sashwin.obj \
@@ -3663,6 +3669,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\advlib_helpext.obj \
        $(OBJS)\advlib_hyperlinkg.obj \
        $(OBJS)\advlib_laywin.obj \
+       $(OBJS)\advlib_notifmsgg.obj \
        $(OBJS)\advlib_odcombo.obj \
        $(OBJS)\advlib_propdlg.obj \
        $(OBJS)\advlib_sashwin.obj \
@@ -3694,6 +3701,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\advlib_helpext.obj \
        $(OBJS)\advlib_hyperlinkg.obj \
        $(OBJS)\advlib_laywin.obj \
+       $(OBJS)\advlib_notifmsgg.obj \
        $(OBJS)\advlib_odcombo.obj \
        $(OBJS)\advlib_propdlg.obj \
        $(OBJS)\advlib_sashwin.obj \
@@ -7129,6 +7137,11 @@ $(OBJS)\monodll_laywin.obj: ..\..\src\generic\laywin.cpp
        $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
 !endif
 
+!if "$(USE_GUI)" == "1"
+$(OBJS)\monodll_notifmsgg.obj: ..\..\src\generic\notifmsgg.cpp
+       $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
+!endif
+
 !if "$(USE_GUI)" == "1"
 $(OBJS)\monodll_odcombo.obj: ..\..\src\generic\odcombo.cpp
        $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
@@ -9219,6 +9232,11 @@ $(OBJS)\monolib_laywin.obj: ..\..\src\generic\laywin.cpp
        $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
 !endif
 
+!if "$(USE_GUI)" == "1"
+$(OBJS)\monolib_notifmsgg.obj: ..\..\src\generic\notifmsgg.cpp
+       $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
+!endif
+
 !if "$(USE_GUI)" == "1"
 $(OBJS)\monolib_odcombo.obj: ..\..\src\generic\odcombo.cpp
        $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
@@ -12653,6 +12671,9 @@ $(OBJS)\advdll_hyperlinkg.obj: ..\..\src\generic\hyperlinkg.cpp
 $(OBJS)\advdll_laywin.obj: ..\..\src\generic\laywin.cpp
        $(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) $**
 
+$(OBJS)\advdll_notifmsgg.obj: ..\..\src\generic\notifmsgg.cpp
+       $(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) $**
+
 $(OBJS)\advdll_odcombo.obj: ..\..\src\generic\odcombo.cpp
        $(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) $**
 
@@ -12745,6 +12766,9 @@ $(OBJS)\advlib_hyperlinkg.obj: ..\..\src\generic\hyperlinkg.cpp
 $(OBJS)\advlib_laywin.obj: ..\..\src\generic\laywin.cpp
        $(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) $**
 
+$(OBJS)\advlib_notifmsgg.obj: ..\..\src\generic\notifmsgg.cpp
+       $(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) $**
+
 $(OBJS)\advlib_odcombo.obj: ..\..\src\generic\odcombo.cpp
        $(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) $**
 
index c31e781d8f532770e6403a968da51c7553ba238e..0f771555cf69061a49318f4c41a3b1e03c70ad37 100644 (file)
@@ -1948,6 +1948,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_helpext.o \
        $(OBJS)\monodll_hyperlinkg.o \
        $(OBJS)\monodll_laywin.o \
+       $(OBJS)\monodll_notifmsgg.o \
        $(OBJS)\monodll_odcombo.o \
        $(OBJS)\monodll_propdlg.o \
        $(OBJS)\monodll_sashwin.o \
@@ -1979,6 +1980,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_helpext.o \
        $(OBJS)\monodll_hyperlinkg.o \
        $(OBJS)\monodll_laywin.o \
+       $(OBJS)\monodll_notifmsgg.o \
        $(OBJS)\monodll_odcombo.o \
        $(OBJS)\monodll_propdlg.o \
        $(OBJS)\monodll_sashwin.o \
@@ -2593,6 +2595,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_helpext.o \
        $(OBJS)\monolib_hyperlinkg.o \
        $(OBJS)\monolib_laywin.o \
+       $(OBJS)\monolib_notifmsgg.o \
        $(OBJS)\monolib_odcombo.o \
        $(OBJS)\monolib_propdlg.o \
        $(OBJS)\monolib_sashwin.o \
@@ -2624,6 +2627,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_helpext.o \
        $(OBJS)\monolib_hyperlinkg.o \
        $(OBJS)\monolib_laywin.o \
+       $(OBJS)\monolib_notifmsgg.o \
        $(OBJS)\monolib_odcombo.o \
        $(OBJS)\monolib_propdlg.o \
        $(OBJS)\monolib_sashwin.o \
@@ -3649,6 +3653,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\advdll_helpext.o \
        $(OBJS)\advdll_hyperlinkg.o \
        $(OBJS)\advdll_laywin.o \
+       $(OBJS)\advdll_notifmsgg.o \
        $(OBJS)\advdll_odcombo.o \
        $(OBJS)\advdll_propdlg.o \
        $(OBJS)\advdll_sashwin.o \
@@ -3680,6 +3685,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\advdll_helpext.o \
        $(OBJS)\advdll_hyperlinkg.o \
        $(OBJS)\advdll_laywin.o \
+       $(OBJS)\advdll_notifmsgg.o \
        $(OBJS)\advdll_odcombo.o \
        $(OBJS)\advdll_propdlg.o \
        $(OBJS)\advdll_sashwin.o \
@@ -3719,6 +3725,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\advlib_helpext.o \
        $(OBJS)\advlib_hyperlinkg.o \
        $(OBJS)\advlib_laywin.o \
+       $(OBJS)\advlib_notifmsgg.o \
        $(OBJS)\advlib_odcombo.o \
        $(OBJS)\advlib_propdlg.o \
        $(OBJS)\advlib_sashwin.o \
@@ -3750,6 +3757,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\advlib_helpext.o \
        $(OBJS)\advlib_hyperlinkg.o \
        $(OBJS)\advlib_laywin.o \
+       $(OBJS)\advlib_notifmsgg.o \
        $(OBJS)\advlib_odcombo.o \
        $(OBJS)\advlib_propdlg.o \
        $(OBJS)\advlib_sashwin.o \
@@ -7369,6 +7377,11 @@ $(OBJS)\monodll_laywin.o: ../../src/generic/laywin.cpp
        $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
 endif
 
+ifeq ($(USE_GUI),1)
+$(OBJS)\monodll_notifmsgg.o: ../../src/generic/notifmsgg.cpp
+       $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
+endif
+
 ifeq ($(USE_GUI),1)
 $(OBJS)\monodll_odcombo.o: ../../src/generic/odcombo.cpp
        $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
@@ -9561,6 +9574,11 @@ $(OBJS)\monolib_laywin.o: ../../src/generic/laywin.cpp
        $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
 endif
 
+ifeq ($(USE_GUI),1)
+$(OBJS)\monolib_notifmsgg.o: ../../src/generic/notifmsgg.cpp
+       $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
+endif
+
 ifeq ($(USE_GUI),1)
 $(OBJS)\monolib_odcombo.o: ../../src/generic/odcombo.cpp
        $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
@@ -13197,6 +13215,9 @@ $(OBJS)\advdll_hyperlinkg.o: ../../src/generic/hyperlinkg.cpp
 $(OBJS)\advdll_laywin.o: ../../src/generic/laywin.cpp
        $(CXX) -c -o $@ $(ADVDLL_CXXFLAGS) $(CPPDEPS) $<
 
+$(OBJS)\advdll_notifmsgg.o: ../../src/generic/notifmsgg.cpp
+       $(CXX) -c -o $@ $(ADVDLL_CXXFLAGS) $(CPPDEPS) $<
+
 $(OBJS)\advdll_odcombo.o: ../../src/generic/odcombo.cpp
        $(CXX) -c -o $@ $(ADVDLL_CXXFLAGS) $(CPPDEPS) $<
 
@@ -13289,6 +13310,9 @@ $(OBJS)\advlib_hyperlinkg.o: ../../src/generic/hyperlinkg.cpp
 $(OBJS)\advlib_laywin.o: ../../src/generic/laywin.cpp
        $(CXX) -c -o $@ $(ADVLIB_CXXFLAGS) $(CPPDEPS) $<
 
+$(OBJS)\advlib_notifmsgg.o: ../../src/generic/notifmsgg.cpp
+       $(CXX) -c -o $@ $(ADVLIB_CXXFLAGS) $(CPPDEPS) $<
+
 $(OBJS)\advlib_odcombo.o: ../../src/generic/odcombo.cpp
        $(CXX) -c -o $@ $(ADVLIB_CXXFLAGS) $(CPPDEPS) $<
 
index a05e1947406dfccb2531a01e38ef8ea2dae95a21..5a44c1aa4c91bc5fef09834b8d1d2d39961dd6c2 100644 (file)
@@ -2104,6 +2104,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_helpext.obj \
        $(OBJS)\monodll_hyperlinkg.obj \
        $(OBJS)\monodll_laywin.obj \
+       $(OBJS)\monodll_notifmsgg.obj \
        $(OBJS)\monodll_odcombo.obj \
        $(OBJS)\monodll_propdlg.obj \
        $(OBJS)\monodll_sashwin.obj \
@@ -2135,6 +2136,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_helpext.obj \
        $(OBJS)\monodll_hyperlinkg.obj \
        $(OBJS)\monodll_laywin.obj \
+       $(OBJS)\monodll_notifmsgg.obj \
        $(OBJS)\monodll_odcombo.obj \
        $(OBJS)\monodll_propdlg.obj \
        $(OBJS)\monodll_sashwin.obj \
@@ -2749,6 +2751,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_helpext.obj \
        $(OBJS)\monolib_hyperlinkg.obj \
        $(OBJS)\monolib_laywin.obj \
+       $(OBJS)\monolib_notifmsgg.obj \
        $(OBJS)\monolib_odcombo.obj \
        $(OBJS)\monolib_propdlg.obj \
        $(OBJS)\monolib_sashwin.obj \
@@ -2780,6 +2783,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_helpext.obj \
        $(OBJS)\monolib_hyperlinkg.obj \
        $(OBJS)\monolib_laywin.obj \
+       $(OBJS)\monolib_notifmsgg.obj \
        $(OBJS)\monolib_odcombo.obj \
        $(OBJS)\monolib_propdlg.obj \
        $(OBJS)\monolib_sashwin.obj \
@@ -3819,6 +3823,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\advdll_helpext.obj \
        $(OBJS)\advdll_hyperlinkg.obj \
        $(OBJS)\advdll_laywin.obj \
+       $(OBJS)\advdll_notifmsgg.obj \
        $(OBJS)\advdll_odcombo.obj \
        $(OBJS)\advdll_propdlg.obj \
        $(OBJS)\advdll_sashwin.obj \
@@ -3850,6 +3855,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\advdll_helpext.obj \
        $(OBJS)\advdll_hyperlinkg.obj \
        $(OBJS)\advdll_laywin.obj \
+       $(OBJS)\advdll_notifmsgg.obj \
        $(OBJS)\advdll_odcombo.obj \
        $(OBJS)\advdll_propdlg.obj \
        $(OBJS)\advdll_sashwin.obj \
@@ -3891,6 +3897,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\advlib_helpext.obj \
        $(OBJS)\advlib_hyperlinkg.obj \
        $(OBJS)\advlib_laywin.obj \
+       $(OBJS)\advlib_notifmsgg.obj \
        $(OBJS)\advlib_odcombo.obj \
        $(OBJS)\advlib_propdlg.obj \
        $(OBJS)\advlib_sashwin.obj \
@@ -3922,6 +3929,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\advlib_helpext.obj \
        $(OBJS)\advlib_hyperlinkg.obj \
        $(OBJS)\advlib_laywin.obj \
+       $(OBJS)\advlib_notifmsgg.obj \
        $(OBJS)\advlib_odcombo.obj \
        $(OBJS)\advlib_propdlg.obj \
        $(OBJS)\advlib_sashwin.obj \
@@ -7461,6 +7469,11 @@ $(OBJS)\monodll_laywin.obj: ..\..\src\generic\laywin.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
 !endif
 
+!if "$(USE_GUI)" == "1"
+$(OBJS)\monodll_notifmsgg.obj: ..\..\src\generic\notifmsgg.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
+!endif
+
 !if "$(USE_GUI)" == "1"
 $(OBJS)\monodll_odcombo.obj: ..\..\src\generic\odcombo.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
@@ -9551,6 +9564,11 @@ $(OBJS)\monolib_laywin.obj: ..\..\src\generic\laywin.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
 !endif
 
+!if "$(USE_GUI)" == "1"
+$(OBJS)\monolib_notifmsgg.obj: ..\..\src\generic\notifmsgg.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
+!endif
+
 !if "$(USE_GUI)" == "1"
 $(OBJS)\monolib_odcombo.obj: ..\..\src\generic\odcombo.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
@@ -12985,6 +13003,9 @@ $(OBJS)\advdll_hyperlinkg.obj: ..\..\src\generic\hyperlinkg.cpp
 $(OBJS)\advdll_laywin.obj: ..\..\src\generic\laywin.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(ADVDLL_CXXFLAGS) $**
 
+$(OBJS)\advdll_notifmsgg.obj: ..\..\src\generic\notifmsgg.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(ADVDLL_CXXFLAGS) $**
+
 $(OBJS)\advdll_odcombo.obj: ..\..\src\generic\odcombo.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(ADVDLL_CXXFLAGS) $**
 
@@ -13077,6 +13098,9 @@ $(OBJS)\advlib_hyperlinkg.obj: ..\..\src\generic\hyperlinkg.cpp
 $(OBJS)\advlib_laywin.obj: ..\..\src\generic\laywin.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(ADVLIB_CXXFLAGS) $**
 
+$(OBJS)\advlib_notifmsgg.obj: ..\..\src\generic\notifmsgg.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(ADVLIB_CXXFLAGS) $**
+
 $(OBJS)\advlib_odcombo.obj: ..\..\src\generic\odcombo.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(ADVLIB_CXXFLAGS) $**
 
index c82e9b4db1b9cac33ff3da4a6c3637fa3700d41a..8823b2ee9e1549ebd26978be11e179532a11c3f4 100644 (file)
@@ -689,6 +689,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS =  &
        $(OBJS)\monodll_helpext.obj &
        $(OBJS)\monodll_hyperlinkg.obj &
        $(OBJS)\monodll_laywin.obj &
+       $(OBJS)\monodll_notifmsgg.obj &
        $(OBJS)\monodll_odcombo.obj &
        $(OBJS)\monodll_propdlg.obj &
        $(OBJS)\monodll_sashwin.obj &
@@ -720,6 +721,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS =  &
        $(OBJS)\monodll_helpext.obj &
        $(OBJS)\monodll_hyperlinkg.obj &
        $(OBJS)\monodll_laywin.obj &
+       $(OBJS)\monodll_notifmsgg.obj &
        $(OBJS)\monodll_odcombo.obj &
        $(OBJS)\monodll_propdlg.obj &
        $(OBJS)\monodll_sashwin.obj &
@@ -1339,6 +1341,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS =  &
        $(OBJS)\monolib_helpext.obj &
        $(OBJS)\monolib_hyperlinkg.obj &
        $(OBJS)\monolib_laywin.obj &
+       $(OBJS)\monolib_notifmsgg.obj &
        $(OBJS)\monolib_odcombo.obj &
        $(OBJS)\monolib_propdlg.obj &
        $(OBJS)\monolib_sashwin.obj &
@@ -1370,6 +1373,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS =  &
        $(OBJS)\monolib_helpext.obj &
        $(OBJS)\monolib_hyperlinkg.obj &
        $(OBJS)\monolib_laywin.obj &
+       $(OBJS)\monolib_notifmsgg.obj &
        $(OBJS)\monolib_odcombo.obj &
        $(OBJS)\monolib_propdlg.obj &
        $(OBJS)\monolib_sashwin.obj &
@@ -2411,6 +2415,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS =  &
        $(OBJS)\advdll_helpext.obj &
        $(OBJS)\advdll_hyperlinkg.obj &
        $(OBJS)\advdll_laywin.obj &
+       $(OBJS)\advdll_notifmsgg.obj &
        $(OBJS)\advdll_odcombo.obj &
        $(OBJS)\advdll_propdlg.obj &
        $(OBJS)\advdll_sashwin.obj &
@@ -2442,6 +2447,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS =  &
        $(OBJS)\advdll_helpext.obj &
        $(OBJS)\advdll_hyperlinkg.obj &
        $(OBJS)\advdll_laywin.obj &
+       $(OBJS)\advdll_notifmsgg.obj &
        $(OBJS)\advdll_odcombo.obj &
        $(OBJS)\advdll_propdlg.obj &
        $(OBJS)\advdll_sashwin.obj &
@@ -2483,6 +2489,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS =  &
        $(OBJS)\advlib_helpext.obj &
        $(OBJS)\advlib_hyperlinkg.obj &
        $(OBJS)\advlib_laywin.obj &
+       $(OBJS)\advlib_notifmsgg.obj &
        $(OBJS)\advlib_odcombo.obj &
        $(OBJS)\advlib_propdlg.obj &
        $(OBJS)\advlib_sashwin.obj &
@@ -2514,6 +2521,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS =  &
        $(OBJS)\advlib_helpext.obj &
        $(OBJS)\advlib_hyperlinkg.obj &
        $(OBJS)\advlib_laywin.obj &
+       $(OBJS)\advlib_notifmsgg.obj &
        $(OBJS)\advlib_odcombo.obj &
        $(OBJS)\advlib_propdlg.obj &
        $(OBJS)\advlib_sashwin.obj &
@@ -7603,6 +7611,11 @@ $(OBJS)\monodll_laywin.obj :  .AUTODEPEND ..\..\src\generic\laywin.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
 !endif
 
+!ifeq USE_GUI 1
+$(OBJS)\monodll_notifmsgg.obj :  .AUTODEPEND ..\..\src\generic\notifmsgg.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
+!endif
+
 !ifeq USE_GUI 1
 $(OBJS)\monodll_odcombo.obj :  .AUTODEPEND ..\..\src\generic\odcombo.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
@@ -9795,6 +9808,11 @@ $(OBJS)\monolib_laywin.obj :  .AUTODEPEND ..\..\src\generic\laywin.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
 !endif
 
+!ifeq USE_GUI 1
+$(OBJS)\monolib_notifmsgg.obj :  .AUTODEPEND ..\..\src\generic\notifmsgg.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
+!endif
+
 !ifeq USE_GUI 1
 $(OBJS)\monolib_odcombo.obj :  .AUTODEPEND ..\..\src\generic\odcombo.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
@@ -13431,6 +13449,9 @@ $(OBJS)\advdll_hyperlinkg.obj :  .AUTODEPEND ..\..\src\generic\hyperlinkg.cpp
 $(OBJS)\advdll_laywin.obj :  .AUTODEPEND ..\..\src\generic\laywin.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(ADVDLL_CXXFLAGS) $<
 
+$(OBJS)\advdll_notifmsgg.obj :  .AUTODEPEND ..\..\src\generic\notifmsgg.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(ADVDLL_CXXFLAGS) $<
+
 $(OBJS)\advdll_odcombo.obj :  .AUTODEPEND ..\..\src\generic\odcombo.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(ADVDLL_CXXFLAGS) $<
 
@@ -13523,6 +13544,9 @@ $(OBJS)\advlib_hyperlinkg.obj :  .AUTODEPEND ..\..\src\generic\hyperlinkg.cpp
 $(OBJS)\advlib_laywin.obj :  .AUTODEPEND ..\..\src\generic\laywin.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(ADVLIB_CXXFLAGS) $<
 
+$(OBJS)\advlib_notifmsgg.obj :  .AUTODEPEND ..\..\src\generic\notifmsgg.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(ADVLIB_CXXFLAGS) $<
+
 $(OBJS)\advlib_odcombo.obj :  .AUTODEPEND ..\..\src\generic\odcombo.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(ADVLIB_CXXFLAGS) $<
 
index 387e2d3b3afdc1ace7f62232292f47027a22f8f0..4a2778eaa05ee19ec6dec2dd7bdfcaf066dbac07 100644 (file)
@@ -727,6 +727,10 @@ SOURCE=..\..\src\generic\laywin.cpp
 # End Source File\r
 # Begin Source File\r
 \r
+SOURCE=..\..\src\generic\notifmsgg.cpp\r
+# End Source File\r
+# Begin Source File\r
+\r
 SOURCE=..\..\src\generic\odcombo.cpp\r
 # End Source File\r
 # Begin Source File\r
@@ -1264,6 +1268,10 @@ SOURCE=..\..\include\wx\generic\laywin.h
 # End Source File\r
 # Begin Source File\r
 \r
+SOURCE=..\..\include\wx\generic\notifmsg.h\r
+# End Source File\r
+# Begin Source File\r
+\r
 SOURCE=..\..\include\wx\generic\propdlg.h\r
 # End Source File\r
 # Begin Source File\r
@@ -1340,6 +1348,10 @@ SOURCE=..\..\include\wx\laywin.h
 # End Source File\r
 # Begin Source File\r
 \r
+SOURCE=..\..\include\wx\notifmsg.h\r
+# End Source File\r
+# Begin Source File\r
+\r
 SOURCE=..\..\include\wx\odcombo.h\r
 # End Source File\r
 # Begin Source File\r
index f5df6be9044738456c0dc05b54a0d1d07b76c220..c95ed921217a95f7618b759571ad9c76e69caff9 100644 (file)
@@ -8440,6 +8440,10 @@ SOURCE=..\..\include\wx\generic\notebook.h
 # End Source File\r
 # Begin Source File\r
 \r
+SOURCE=..\..\include\wx\generic\notifmsg.h\r
+# End Source File\r
+# Begin Source File\r
+\r
 SOURCE=..\..\include\wx\generic\numdlgg.h\r
 # End Source File\r
 # Begin Source File\r
@@ -9244,6 +9248,10 @@ SOURCE=..\..\include\wx\notebook.h
 # End Source File\r
 # Begin Source File\r
 \r
+SOURCE=..\..\include\wx\notifmsg.h\r
+# End Source File\r
+# Begin Source File\r
+\r
 SOURCE=..\..\include\wx\numdlg.h\r
 # End Source File\r
 # Begin Source File\r
index f33124c9b4581ad726f6e30caa021232c6415a00..fc39feac0f6654b09b760408af6acd2d787b43b9 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 #! /bin/sh
-# From configure.in Id: configure.in 50116 2007-11-20 22:35:40Z VS .
+# From configure.in Id: configure.in 50135 2007-11-21 14:24:40Z VZ .
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by GNU Autoconf 2.61 for wxWidgets 2.9.0.
 #
@@ -1781,6 +1781,7 @@ Optional Features:
   --enable-listbox        use wxListBox class
   --enable-listctrl       use wxListCtrl class
   --enable-notebook       use wxNotebook class
+  --enable-notifmsg       use wxNotificationMessage class
   --enable-odcombobox     use wxOwnerDrawnComboBox class
   --enable-radiobox       use wxRadioBox class
   --enable-radiobtn       use wxRadioButton class
 echo "${ECHO_T}$result" >&6; }
 
 
+          enablestring=
+          defaultval=$wxUSE_ALL_FEATURES
+          if test -z "$defaultval"; then
+              if test x"$enablestring" = xdisable; then
+                  defaultval=yes
+              else
+                  defaultval=no
+              fi
+          fi
+
+          { echo "$as_me:$LINENO: checking for --${enablestring:-enable}-notifmsg" >&5
+echo $ECHO_N "checking for --${enablestring:-enable}-notifmsg... $ECHO_C" >&6; }
+          # Check whether --enable-notifmsg was given.
+if test "${enable_notifmsg+set}" = set; then
+  enableval=$enable_notifmsg;
+                          if test "$enableval" = yes; then
+                            wx_cv_use_notifmsg='wxUSE_NOTIFICATION_MESSAGE=yes'
+                          else
+                            wx_cv_use_notifmsg='wxUSE_NOTIFICATION_MESSAGE=no'
+                          fi
+
+else
+
+                          wx_cv_use_notifmsg='wxUSE_NOTIFICATION_MESSAGE=${'DEFAULT_wxUSE_NOTIFICATION_MESSAGE":-$defaultval}"
+
+fi
+
+
+          eval "$wx_cv_use_notifmsg"
+
+          if test x"$enablestring" = xdisable; then
+            if test $wxUSE_NOTIFICATION_MESSAGE = yes; then
+              result=no
+            else
+              result=yes
+            fi
+          else
+            result=$wxUSE_NOTIFICATION_MESSAGE
+          fi
+
+          { echo "$as_me:$LINENO: result: $result" >&5
+echo "${ECHO_T}$result" >&6; }
+
+
           enablestring=
           defaultval=$wxUSE_ALL_FEATURES
           if test -z "$defaultval"; then
@@ -45133,6 +45178,13 @@ _ACEOF
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS notebook"
 fi
 
+if test "$wxUSE_NOTIFICATION_MESSAGE" = "yes"; then
+    cat >>confdefs.h <<\_ACEOF
+#define wxUSE_NOTIFICATION_MESSAGE 1
+_ACEOF
+
+fi
+
 if test "$wxUSE_ODCOMBOBOX" = "yes"; then
   cat >>confdefs.h <<\_ACEOF
 #define wxUSE_ODCOMBOBOX 1
index d578f98a35664859106be7dc2d385e95b5b3737c..0111e0580d555faa3e6bcf2cc40005814dfb8eaa 100644 (file)
@@ -821,6 +821,7 @@ WX_ARG_FEATURE(listbook,    [  --enable-listbook       use wxListbook class], wx
 WX_ARG_FEATURE(listbox,     [  --enable-listbox        use wxListBox class], wxUSE_LISTBOX)
 WX_ARG_FEATURE(listctrl,    [  --enable-listctrl       use wxListCtrl class], wxUSE_LISTCTRL)
 WX_ARG_FEATURE(notebook,    [  --enable-notebook       use wxNotebook class], wxUSE_NOTEBOOK)
+WX_ARG_FEATURE(notifmsg,    [  --enable-notifmsg       use wxNotificationMessage class], wxUSE_NOTIFICATION_MESSAGE)
 WX_ARG_FEATURE(odcombobox,  [  --enable-odcombobox     use wxOwnerDrawnComboBox class], wxUSE_ODCOMBOBOX)
 WX_ARG_FEATURE(radiobox,    [  --enable-radiobox       use wxRadioBox class], wxUSE_RADIOBOX)
 WX_ARG_FEATURE(radiobtn,    [  --enable-radiobtn       use wxRadioButton class], wxUSE_RADIOBTN)
@@ -6508,6 +6509,10 @@ if test "$wxUSE_NOTEBOOK" = "yes"; then
     SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS notebook"
 fi
 
+if test "$wxUSE_NOTIFICATION_MESSAGE" = "yes"; then
+    AC_DEFINE(wxUSE_NOTIFICATION_MESSAGE)
+fi
+
 if test "$wxUSE_ODCOMBOBOX" = "yes"; then
   AC_DEFINE(wxUSE_ODCOMBOBOX)
   USES_CONTROLS=1
index fe6bb73f8ddc92b11cc9a9f043682926e8526eec..757591fd5b5717dc147fc1a31d5a4266b7f71d89 100644 (file)
@@ -193,6 +193,7 @@ All (GUI):
 
 - Added {wxTextCtrl,wxComboBox}::AutoComplete() and AutoCompleteFileNames()
 - Added wxH[V]ScrolledWindow (Brad Anderson, Bryan Petty).
+- Added wxNotificationMessage class for non-intrusive notifications
 - Added wxDC::StretchBlit() for wxMac and wxMSW (Vince Harron).
 - Added support for drop down toolbar buttons (Tim Kosse).
 - Added support for labels for toolbar controls (Vince Harron).
index e19606d4bcc18099a17d22a214db455476759e7e..cfa0522bcc341ab82f6bb590dce5d89fd9d78666 100644 (file)
 \input notebook.tex
 \input noteevt.tex
 \input nbsizer.tex
+\input notifmsg.tex
 \input notifevt.tex
 \input object.tex
 \input objectdataptr.tex
diff --git a/docs/latex/wx/notifmsg.tex b/docs/latex/wx/notifmsg.tex
new file mode 100644 (file)
index 0000000..481f6ac
--- /dev/null
@@ -0,0 +1,94 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Name:        notifmsg.tex
+%% Purpose:     wxNotificationMessage documentation
+%% Author:      Vadim Zeitlin
+%% Created:     2007-11-24
+%% RCS-ID:      $Id: cmdlpars.tex 49199 2007-10-17 17:32:16Z VZ $
+%% Copyright:   (c) 2007 Vadim Zeitlin <vadim@wxwidgets.org>
+%% License:     wxWindows license
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\section{\class{wxNotificationMessage}}\label{wxnotificationmessage}
+
+This class allows to show the user a message non intrusively. Currently it is
+implemented natively only for the Maemo platform and uses (non-modal) dialogs
+for the display of the notifications under the other platforms but it will be
+extended to use the platform-specific notifications in the other ports in the
+future.
+
+Notice that this class is not a window and so doesn't derive from wxWindow.
+
+\wxheading{Derived from}
+
+\helpref{wxEvtHandler}{wxevthandler}
+
+\wxheading{Include files}
+
+<wx/notifmsg.h>
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{wxNotificationMessage::wxNotificationMessage}\label{wxnotificationmessagewxnotificationmessage}
+
+\func{}{wxNotificationMessage}{\void}
+
+Default constructor, use \helpref{SetParent}{\wxnotificationmessagesetparent}, 
+\helpref{SetTitle}{wxnotificationmessagesettitle} and 
+\helpref{SetMessage}{wxnotificationmessagesetmessage} to initialize the object
+before showing it.
+
+
+\func{}{wxNotificationMessage}{\param{const wxString\& }{title}, \param{const wxString\& }{message = wxString()}, \param{wxWindow* }{parent = NULL}}
+
+Create a notification object with the given title and message (the
+latter may be empty in which case only the title will be shown).
+
+
+\membersection{wxNotificationMessage::Close}\label{wxnotificationmessageclose}
+
+\func{bool}{Close}{\void}
+
+Hides the notification.
+
+Returns \true if it was hidden or \false if it couldn't be done (e.g. on some
+systems automatically hidden notifications can't be hidden manually)
+
+
+\membersection{wxNotificationMessage::SetMessage}\label{wxnotificationmessagesetmessage}
+
+\func{void}{SetMessage}{\param{const wxString\& }{message}}
+
+Set the main text of the notification.
+
+
+\membersection{wxNotificationMessage::SetParent}\label{wxnotificationmessagesetparent}
+
+\func{void}{SetParent}{\param{wxWindow* }{parent}}
+
+Set the parent for this notification: the notification will be associated with
+the top level parent of this window or, if this method is not called, with the
+main application window by default
+
+
+\membersection{wxNotificationMessage::SetTitle}\label{wxnotificationmessagesettitle}
+
+\func{void}{SetTitle}{\param{const wxString\& }{title}}
+
+Set the title, it must be a concise string, use 
+\helpref{SetMessage}{wxnotificationmessagesetmessage} to give the user more
+details.
+
+
+\membersection{wxNotificationMessage::Show}\label{wxnotificationmessageshow}
+
+\func{bool}{Show}{\param{int }{timeout = Timeout\_Auto}}
+
+Show the notification to the user and hides it after timeout seconds
+pass. Special values \texttt{Timeout\_Auto} and \texttt{Timeout\_Never} can be
+used here, notice that you shouldn't rely on \arg{timeout} being exactly
+respected because the current platform may only support default timeout value
+and also because the user may be able to close the notification.
+
+Returns \false if an error occurred.
+
index 237b479b54fd29c87153cfb0a45da6cacf167cad..7ff4cb9010e547ca421841a21af37ba96ec68d7f 100644 (file)
 #   endif
 #endif /* !defined(wxUSE_NOTEBOOK) */
 
+#ifndef wxUSE_NOTIFICATION_MESSAGE
+#   ifdef wxABORT_ON_CONFIG_ERROR
+#       error "wxUSE_NOTIFICATION_MESSAGE must be defined."
+#   else
+#       define wxUSE_NOTIFICATION_MESSAGE 0
+#   endif
+#endif /* !defined(wxUSE_NOTIFICATION_MESSAGE) */
+
 #ifndef wxUSE_ODCOMBOBOX
 #   ifdef wxABORT_ON_CONFIG_ERROR
 #       error "wxUSE_ODCOMBOBOX must be defined."
diff --git a/include/wx/generic/notifmsg.h b/include/wx/generic/notifmsg.h
new file mode 100644 (file)
index 0000000..e4beca0
--- /dev/null
@@ -0,0 +1,60 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        wx/generic/notifmsg.h
+// Purpose:     generic implementation of wxNotificationMessage
+// Author:      Vadim Zeitlin
+// Created:     2007-11-24
+// RCS-ID:      $Id$
+// Copyright:   (c) 2007 Vadim Zeitlin <vadim@wxwindows.org>
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_GENERIC_NOTIFMSG_H_
+#define _WX_GENERIC_NOTIFMSG_H_
+
+class wxNotificationMessageDialog;
+
+// ----------------------------------------------------------------------------
+// wxNotificationMessage
+// ----------------------------------------------------------------------------
+
+class WXDLLIMPEXP_ADV wxNotificationMessage : public wxNotificationMessageBase
+{
+public:
+    wxNotificationMessage() { Init(); }
+    wxNotificationMessage(const wxString& title,
+                          const wxString& message = wxString(),
+                          wxWindow *parent = NULL)
+        : wxNotificationMessageBase(title, message, parent)
+    {
+        Init();
+    }
+
+    virtual ~wxNotificationMessage();
+
+
+    virtual bool Show(int timeout = Timeout_Auto);
+    virtual bool Close();
+
+    // generic implementation-specific methods
+
+    // get/set the default timeout (used if Timeout_Auto is specified)
+    static int GetDefaultTimeout() { return ms_timeout; }
+    static void SetDefaultTimeout(int timeout);
+
+private:
+    void Init();
+
+
+    // default timeout
+    static int ms_timeout;
+
+    // notification message is represented by a modeless dialog in this
+    // implementation
+    wxNotificationMessageDialog *m_dialog;
+
+
+    DECLARE_NO_COPY_CLASS(wxNotificationMessage)
+};
+
+#endif // _WX_GENERIC_NOTIFMSG_H_
+
diff --git a/include/wx/gtk/hildon/notifmsg.h b/include/wx/gtk/hildon/notifmsg.h
new file mode 100644 (file)
index 0000000..5f3b550
--- /dev/null
@@ -0,0 +1,59 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        wx/gtk/hildon/notifmsg.h
+// Purpose:     Hildon implementation of wxNotificationMessage
+// Author:      Vadim Zeitlin
+// Created:     2007-11-21
+// RCS-ID:      $Id$
+// Copyright:   (c) 2007 Vadim Zeitlin <vadim@wxwindows.org>
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_GTK_HILDON_NOTIFMSG_H_
+#define _WX_GTK_HILDON_NOTIFMSG_H_
+
+typedef struct _HildonBanner HildonBanner;
+
+// ----------------------------------------------------------------------------
+// wxNotificationMessage
+// ----------------------------------------------------------------------------
+
+class WXDLLIMPEXP_ADV wxNotificationMessage : public wxNotificationMessageBase
+{
+public:
+    wxNotificationMessage() { Init(); }
+    wxNotificationMessage(const wxString& title,
+                          const wxString& message = wxString(),
+                          wxWindow *parent = NULL)
+        : wxNotificationMessageBase(title, message, parent)
+    {
+        Init();
+    }
+
+    virtual ~wxNotificationMessage();
+
+
+    virtual bool Show(int timeout = Timeout_Auto);
+    virtual bool Close();
+
+private:
+    void Init() { m_banner = NULL; }
+
+    // return the string containing markup for both the title and, if
+    // specified, the message
+    wxString HildonGetMarkup() const;
+
+    // returns the widget of the parent GtkWindow to use or NULL
+    GtkWidget *HildonGetWindow() const;
+
+
+    // the banner we're showing, only non-NULL if it's an animation or progress
+    // banner as the informational dialog times out on its own and we don't
+    // need to store it (nor do we have any way to get its widget anyhow)
+    GtkWidget *m_banner;
+
+
+    DECLARE_NO_COPY_CLASS(wxNotificationMessage)
+};
+
+#endif // _WX_GTK_HILDON_NOTIFMSG_H_
+
index a617ff9a496aed361d5c093455c0f7b4e2202a32..1e5083e3943654fc595625287688507cb8d9f886 100644 (file)
 // Recommended setting: 1 (can't be disabled under MSW)
 #define wxUSE_MENUS         1
 
+// Use wxNotificationMessage.
+//
+// wxNotificationMessage allows to show non-intrusive messages to the user
+// using balloons, banners, popups or whatever is the appropriate method for
+// the current platform.
+//
+// Default is 1.
+//
+// Recommended setting: 1
+#define wxUSE_NOTIFICATION_MESSAGE 1
+
 // Use wxSashWindow class.
 //
 // Default is 1.
index 5637c68c828f878e5078dc3d595c1a53f9f861d0..b9a5c9c6b0555c78b8c55c1c5d1a35f63ffd8113 100644 (file)
 // Recommended setting: 1 (can't be disabled under MSW)
 #define wxUSE_MENUS         1
 
+// Use wxNotificationMessage.
+//
+// wxNotificationMessage allows to show non-intrusive messages to the user
+// using balloons, banners, popups or whatever is the appropriate method for
+// the current platform.
+//
+// Default is 1.
+//
+// Recommended setting: 1
+#define wxUSE_NOTIFICATION_MESSAGE 1
+
 // Use wxSashWindow class.
 //
 // Default is 1.
index 58b967d0d838b53f17bd1d24473a57cab5fa6a95..709b7fe5f9939b0d38356a1730f35af0666674b4 100644 (file)
 // Recommended setting: 1 (can't be disabled under MSW)
 #define wxUSE_MENUS         1
 
+// Use wxNotificationMessage.
+//
+// wxNotificationMessage allows to show non-intrusive messages to the user
+// using balloons, banners, popups or whatever is the appropriate method for
+// the current platform.
+//
+// Default is 1.
+//
+// Recommended setting: 1
+#define wxUSE_NOTIFICATION_MESSAGE 1
+
 // Use wxSashWindow class.
 //
 // Default is 1.
index cefc9000ace55f3db67cf6565fee94c39986621c..fb40f30a33a2bb1f02cb0e04140dea993a57fbe1 100644 (file)
 // Recommended setting: 1 (can't be disabled under MSW)
 #define wxUSE_MENUS         1
 
+// Use wxNotificationMessage.
+//
+// wxNotificationMessage allows to show non-intrusive messages to the user
+// using balloons, banners, popups or whatever is the appropriate method for
+// the current platform.
+//
+// Default is 1.
+//
+// Recommended setting: 1
+#define wxUSE_NOTIFICATION_MESSAGE 1
+
 // Use wxSashWindow class.
 //
 // Default is 1.
diff --git a/include/wx/notifmsg.h b/include/wx/notifmsg.h
new file mode 100644 (file)
index 0000000..532b258
--- /dev/null
@@ -0,0 +1,131 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        wx/notifmsg.h
+// Purpose:     class allowing to show notification messages to the user
+// Author:      Vadim Zeitlin
+// Created:     2007-11-19
+// RCS-ID:      $Id$
+// Copyright:   (c) 2007 Vadim Zeitlin <vadim@wxwindows.org>
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_NOTIFMSG_H_
+#define _WX_NOTIFMSG_H_
+
+#include "wx/event.h"
+
+#if wxUSE_NOTIFICATION_MESSAGE
+
+// ----------------------------------------------------------------------------
+// wxNotificationMessage: allows to show the user a message non intrusively
+// ----------------------------------------------------------------------------
+
+// notice that this class is not a window and so doesn't derive from wxWindow
+
+class WXDLLIMPEXP_ADV wxNotificationMessageBase : public wxEvtHandler
+{
+public:
+    // ctors and initializers
+    // ----------------------
+
+    // default ctor, use setters below to initialize it later
+    wxNotificationMessageBase() { }
+
+    // create a notification object with the given title and message (the
+    // latter may be empty in which case only the title will be shown)
+    wxNotificationMessageBase(const wxString& title,
+                              const wxString& message = wxString(),
+                              wxWindow *parent = NULL)
+        : m_title(title),
+          m_message(message),
+          m_parent(parent)
+    {
+    }
+
+    // note that the setters must be called before Show()
+
+    // set the title: short string, markup not allowed
+    void SetTitle(const wxString& title) { m_title = title; }
+
+    // set the text of the message: this is a longer string than the title and
+    // some platforms allow simple HTML-like markup in it
+    void SetMessage(const wxString& message) { m_message = message; }
+
+    // set the parent for this notification: we'll be associated with the top
+    // level parent of this window or, if this method is not called, with the
+    // main application window by default
+    void SetParent(wxWindow *parent) { m_parent = parent; }
+
+
+    // showing and hiding
+    // ------------------
+
+    // possible values for Show() timeout
+    enum
+    {
+        Timeout_Auto = -1,  // notification will be hidden automatically
+        Timeout_Never = 0   // notification will never time out
+    };
+
+    // show the notification to the user and hides it after timeout seconds
+    // pass (special values Timeout_Auto and Timeout_Never can be used)
+    //
+    // returns false if an error occurred
+    virtual bool Show(int timeout = Timeout_Auto) = 0;
+
+    // hide the notification, returns true if it was hidden or false if it
+    // couldn't be done (e.g. on some systems automatically hidden
+    // notifications can't be hidden manually)
+    virtual bool Close() = 0;
+
+protected:
+    // accessors for the derived classes
+    const wxString& GetTitle() const { return m_title; }
+    const wxString& GetMessage() const { return m_message; }
+    wxWindow *GetParent() const { return m_parent; }
+
+    // return the concatenation of title and message separated by a new line,
+    // this is suitable for simple implementation which have no support for
+    // separate title and message parts of the notification
+    wxString GetFullMessage() const
+    {
+        wxString text(m_title);
+        if ( !m_message.empty() )
+        {
+            text << "\n\n" << m_message;
+        }
+
+        return text;
+    }
+
+private:
+    wxString m_title,
+             m_message;
+
+    wxWindow *m_parent;
+
+    DECLARE_NO_COPY_CLASS(wxNotificationMessageBase)
+};
+
+#define wxUSE_GENERIC_NOTIFICATION_MESSAGE 1
+
+#if defined(__WXGTK__) && wxUSE_LIBHILDON
+    // we always use the native implementation in Hildon while the other ports
+    // will fall back to the generic one even if they have a native version too
+    #undef wxUSE_GENERIC_NOTIFICATION_MESSAGE
+    #define wxUSE_GENERIC_NOTIFICATION_MESSAGE 0
+
+    #include "wx/gtk/hildon/notifmsg.h"
+/*
+    TODO: provide support for
+        - libnotify (Gnome)
+        - Snarl (http://www.fullphat.net/, Win32)
+        - Growl (http://growl.info/, OS X)
+ */
+#else
+    #include "wx/generic/notifmsg.h"
+#endif
+
+#endif // wxUSE_NOTIFICATION_MESSAGE
+
+#endif // _WX_NOTIFMSG_H_
+
index 7de4161ad83d87387dd3ec67475b5db2743e111c..be39d4b4fa46876eaf1d6c4a0772e7610c2e08ba 100644 (file)
 // Recommended setting: 1 (can't be disabled under MSW)
 #define wxUSE_MENUS         1
 
+// Use wxNotificationMessage.
+//
+// wxNotificationMessage allows to show non-intrusive messages to the user
+// using balloons, banners, popups or whatever is the appropriate method for
+// the current platform.
+//
+// Default is 1.
+//
+// Recommended setting: 1
+#define wxUSE_NOTIFICATION_MESSAGE 1
+
 // Use wxSashWindow class.
 //
 // Default is 1.
index 313ba4f3bdb2c45ffaa0592c4059eed982ec5e50..01ee5a4cf8fa09ba6cf01af2382ee90f17c4b4cf 100644 (file)
 // Recommended setting: 1 (can't be disabled under MSW)
 #define wxUSE_MENUS         1
 
+// Use wxNotificationMessage.
+//
+// wxNotificationMessage allows to show non-intrusive messages to the user
+// using balloons, banners, popups or whatever is the appropriate method for
+// the current platform.
+//
+// Default is 1.
+//
+// Recommended setting: 1
+#define wxUSE_NOTIFICATION_MESSAGE 1
+
 // Use wxSashWindow class.
 //
 // Default is 1.
index 5e329cba5825732e83bc55163ad51b251cedd43a..07ed994071190a72b29a22434dda31f4a604b682 100644 (file)
 // Recommended setting: 1 (can't be disabled under MSW)
 #define wxUSE_MENUS         1
 
+// Use wxNotificationMessage.
+//
+// wxNotificationMessage allows to show non-intrusive messages to the user
+// using balloons, banners, popups or whatever is the appropriate method for
+// the current platform.
+//
+// Default is 1.
+//
+// Recommended setting: 1
+#define wxUSE_NOTIFICATION_MESSAGE 1
+
 // Use wxSashWindow class.
 //
 // Default is 1.
index ad0fff1d4495ec7720d2ab84e15438acf3e55c47..29195ad6dfc566b7327b5830c8e8edc1a03dd744 100644 (file)
@@ -29,6 +29,7 @@
 #include "wx/imaglist.h"
 #include "wx/minifram.h"
 #include "wx/sysopt.h"
+#include "wx/notifmsg.h"
 
 #if wxUSE_COLOURDLG
     #include "wx/colordlg.h"
@@ -219,10 +220,16 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
     EVT_MENU(DIALOGS_PROPERTY_SHEET,                MyFrame::OnPropertySheet)
     EVT_MENU(DIALOGS_PROPERTY_SHEET_TOOLBOOK,       MyFrame::OnPropertySheet)
     EVT_MENU(DIALOGS_PROPERTY_SHEET_BUTTONTOOLBOOK, MyFrame::OnPropertySheet)
-#endif
+#endif // USE_SETTINGS_DIALOG
 
     EVT_MENU(DIALOGS_STANDARD_BUTTON_SIZER_DIALOG,  MyFrame::OnStandardButtonsSizerDialog)
+
     EVT_MENU(DIALOGS_REQUEST,                       MyFrame::OnRequestUserAttention)
+#if wxUSE_NOTIFICATION_MESSAGE
+    EVT_MENU(DIALOGS_NOTIFY_AUTO,                   MyFrame::OnNotifMsgAuto)
+    EVT_MENU(DIALOGS_NOTIFY_SHOW,                   MyFrame::OnNotifMsgShow)
+    EVT_MENU(DIALOGS_NOTIFY_HIDE,                   MyFrame::OnNotifMsgHide)
+#endif // wxUSE_NOTIFICATION_MESSAGE
 
     EVT_MENU(wxID_EXIT,                             MyFrame::OnExit)
 END_EVENT_TABLE()
@@ -422,9 +429,16 @@ bool MyApp::OnInit()
     menuDlg->Append(wxID_ANY, _T("&Property sheets"), sheet_menu);
 #endif // USE_SETTINGS_DIALOG
 
-    menuDlg->Append(DIALOGS_STANDARD_BUTTON_SIZER_DIALOG, _T("&Standard Buttons Sizer Dialog"));
+    wxMenu *menuNotif = new wxMenu;
+    menuNotif->Append(DIALOGS_REQUEST, _T("&Request user attention\tCtrl-R"));
+#if wxUSE_NOTIFICATION_MESSAGE
+    menuNotif->Append(DIALOGS_NOTIFY_AUTO, "&Automatically hidden notification");
+    menuNotif->Append(DIALOGS_NOTIFY_SHOW, "&Show manual notification");
+    menuNotif->Append(DIALOGS_NOTIFY_HIDE, "&Hide manual notification");
+#endif // wxUSE_NOTIFICATION_MESSAGE
+    menuDlg->AppendSubMenu(menuNotif, "&User notifications");
 
-    menuDlg->Append(DIALOGS_REQUEST, _T("&Request user attention\tCtrl-R"));
+    menuDlg->Append(DIALOGS_STANDARD_BUTTON_SIZER_DIALOG, _T("&Standard Buttons Sizer Dialog"));
 
     menuDlg->AppendSeparator();
     menuDlg->Append(wxID_EXIT, _T("E&xit\tAlt-X"));
@@ -483,11 +497,22 @@ MyFrame::MyFrame(wxWindow *parent,
     }
 #endif // wxUSE_COLOURDLG
 
+#if wxUSE_NOTIFICATION_MESSAGE
+    m_notifMsg = NULL;
+#endif // wxUSE_NOTIFICATION_MESSAGE
+
 #if wxUSE_STATUSBAR
     CreateStatusBar();
 #endif // wxUSE_STATUSBAR
 }
 
+MyFrame::~MyFrame()
+{
+#if wxUSE_NOTIFICATION_MESSAGE
+    delete m_notifMsg;
+#endif // wxUSE_NOTIFICATION_MESSAGE
+}
+
 #if wxUSE_COLOURDLG
 
 void MyFrame::ChooseColour(wxCommandEvent& WXUNUSED(event))
@@ -1147,6 +1172,50 @@ void MyFrame::OnRequestUserAttention(wxCommandEvent& WXUNUSED(event))
     RequestUserAttention(wxUSER_ATTENTION_ERROR);
 }
 
+#if wxUSE_NOTIFICATION_MESSAGE
+
+void MyFrame::OnNotifMsgAuto(wxCommandEvent& WXUNUSED(event))
+{
+    if ( !wxNotificationMessage
+          (
+            "Automatic Notification",
+            "Nothing important has happened\n"
+            "this notification will disappear soon."
+          ).Show() )
+    {
+        wxLogStatus("Failed to show notification message");
+    }
+}
+
+void MyFrame::OnNotifMsgShow(wxCommandEvent& WXUNUSED(event))
+{
+    if ( !m_notifMsg )
+    {
+        m_notifMsg = new wxNotificationMessage
+                         (
+                            "wxWidgets Manual Notification",
+                            "You can hide this notification from the menu",
+                            this
+                         );
+    }
+
+    if ( !m_notifMsg->Show(wxNotificationMessage::Timeout_Never) )
+    {
+        wxLogStatus("Failed to show manual notification message");
+    }
+}
+
+void MyFrame::OnNotifMsgHide(wxCommandEvent& WXUNUSED(event))
+{
+    if ( m_notifMsg )
+    {
+        if ( !m_notifMsg->Close() )
+            wxLogStatus("Failed to hide manual notification message");
+    }
+}
+
+#endif // wxUSE_NOTIFICATION_MESSAGE
+
 void MyFrame::OnStandardButtonsSizerDialog(wxCommandEvent& WXUNUSED(event))
 {
     StdButtonSizerDialog  dialog(this);
index 9e46371a4e329b5bc34b874e5c468f185c23e4f7..659e9c4e79bee6a942fa7e6cafd9fff896e6b4c2 100644 (file)
@@ -206,6 +206,7 @@ class MyFrame: public wxFrame
 {
 public:
     MyFrame(wxWindow *parent, const wxString& title);
+    virtual ~MyFrame();
 
 #if wxUSE_MSGDLG
     void MessageBox(wxCommandEvent& event);
@@ -304,7 +305,14 @@ public:
 #endif // USE_FONTDLG_GENERIC
 
     void OnPropertySheet(wxCommandEvent& event);
+
     void OnRequestUserAttention(wxCommandEvent& event);
+#if wxUSE_NOTIFICATION_MESSAGE
+    void OnNotifMsgAuto(wxCommandEvent& event);
+    void OnNotifMsgShow(wxCommandEvent& event);
+    void OnNotifMsgHide(wxCommandEvent& event);
+#endif // wxUSE_NOTIFICATION_MESSAGE
+
     void OnStandardButtonsSizerDialog(wxCommandEvent& event);
     void OnExit(wxCommandEvent& event);
 
@@ -324,6 +332,10 @@ private:
                         *m_dlgReplace;
 #endif // wxUSE_FINDREPLDLG
 
+#if wxUSE_NOTIFICATION_MESSAGE
+    wxNotificationMessage *m_notifMsg;
+#endif // wxUSE_NOTIFICATION_MESSAGE
+
     wxColourData m_clrData;
 
     DECLARE_EVENT_TABLE()
@@ -384,6 +396,9 @@ enum
     DIALOGS_FIND,
     DIALOGS_REPLACE,
     DIALOGS_REQUEST,
+    DIALOGS_NOTIFY_AUTO,
+    DIALOGS_NOTIFY_SHOW,
+    DIALOGS_NOTIFY_HIDE,
     DIALOGS_PROPERTY_SHEET,
     DIALOGS_PROPERTY_SHEET_TOOLBOOK,
     DIALOGS_PROPERTY_SHEET_BUTTONTOOLBOOK,
index 585313f3e0e147e78cb440de398699eb9d81c162..62e68e9d92f04ebcef62b7f156b2e2d84987a4a7 100644 (file)
 
 #define wxUSE_MENUS         0
 
+#define wxUSE_NOTIFICATION_MESSAGE 0
+
 #define wxUSE_SASH          0
 
 #define wxUSE_SPLITTER      0
diff --git a/src/generic/notifmsgg.cpp b/src/generic/notifmsgg.cpp
new file mode 100644 (file)
index 0000000..2f95e1c
--- /dev/null
@@ -0,0 +1,211 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        src/generic/notifmsgg.cpp
+// Purpose:     generic implementation of wxNotificationMessage
+// Author:      Vadim Zeitlin
+// Created:     2007-11-24
+// RCS-ID:      $Id$
+// Copyright:   (c) 2007 Vadim Zeitlin <vadim@wxwindows.org>
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+// ============================================================================
+// declarations
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+
+// for compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
+// include this before the test below, wxUSE_GENERIC_NOTIFICATION_MESSAGE is
+// defined in this header
+#include "wx/notifmsg.h"
+
+#if wxUSE_GENERIC_NOTIFICATION_MESSAGE
+
+#ifndef WX_PRECOMP
+    #include "wx/dialog.h"
+    #include "wx/timer.h"
+#endif //WX_PRECOMP
+
+// ----------------------------------------------------------------------------
+// wxNotificationMessageDialog
+// ----------------------------------------------------------------------------
+
+class wxNotificationMessageDialog : public wxDialog
+{
+public:
+    wxNotificationMessageDialog(wxWindow *parent,
+                                const wxString& text,
+                                int timeout);
+
+    void Set(wxWindow *parent,
+             const wxString& text,
+             int timeout);
+
+    bool IsAutomatic() const { return m_timer.IsRunning(); }
+    void SetDeleteOnHide() { m_deleteOnHide = true; }
+
+private:
+    void OnClose(wxCloseEvent& event);
+    void OnTimer(wxTimerEvent& event);
+
+    // if true, delete the dialog when it should disappear, otherwise just hide
+    // it (initially false)
+    bool m_deleteOnHide;
+
+    // timer which will hide this dialog when it expires, if it's not running
+    // it means we were created without timeout
+    wxTimer m_timer;
+
+
+    DECLARE_EVENT_TABLE()
+    DECLARE_NO_COPY_CLASS(wxNotificationMessageDialog)
+};
+
+// ============================================================================
+// wxNotificationMessageDialog implementation
+// ============================================================================
+
+BEGIN_EVENT_TABLE(wxNotificationMessageDialog, wxDialog)
+    EVT_CLOSE(wxNotificationMessageDialog::OnClose)
+
+    EVT_TIMER(wxID_ANY, wxNotificationMessageDialog::OnTimer)
+END_EVENT_TABLE()
+
+wxNotificationMessageDialog::wxNotificationMessageDialog(wxWindow *parent,
+                                                         const wxString& text,
+                                                         int timeout)
+                           : wxDialog(parent, wxID_ANY, _("Notice"),
+                                      wxDefaultPosition, wxDefaultSize,
+                                      0 /* no caption, no border styles */),
+                             m_timer(this)
+{
+    m_deleteOnHide = false;
+
+    Set(parent, text, timeout);
+}
+
+void
+wxNotificationMessageDialog::Set(wxWindow * WXUNUSED(parent),
+                                 const wxString& text,
+                                 int timeout)
+{
+    wxSizer *sizer = CreateTextSizer(text);
+    SetSizerAndFit(sizer);
+
+    if ( timeout != wxNotificationMessage::Timeout_Never )
+    {
+        // wxTimer uses ms, timeout is in seconds
+        m_timer.Start(timeout*1000, true /* one shot only */);
+    }
+    else if ( m_timer.IsRunning() )
+    {
+        m_timer.Stop();
+    }
+}
+
+void wxNotificationMessageDialog::OnClose(wxCloseEvent& event)
+{
+    if ( m_deleteOnHide )
+    {
+        // we don't need to keep this dialog alive any more
+        Destroy();
+    }
+    else // don't really close, just hide, as we can be shown again later
+    {
+        event.Veto();
+
+        Hide();
+    }
+}
+
+void wxNotificationMessageDialog::OnTimer(wxTimerEvent& WXUNUSED(event))
+{
+    if ( m_deleteOnHide )
+        Destroy();
+    else
+        Hide();
+}
+
+// ============================================================================
+// wxNotificationMessage implementation
+// ============================================================================
+
+int wxNotificationMessage::ms_timeout = 10;
+
+/* static */ void wxNotificationMessage::SetDefaultTimeout(int timeout)
+{
+    wxASSERT_MSG( timeout > 0,
+                "negative or zero default timeout doesn't make sense" );
+
+    ms_timeout = timeout;
+}
+
+void wxNotificationMessage::Init()
+{
+    m_dialog = NULL;
+}
+
+wxNotificationMessage::~wxNotificationMessage()
+{
+    if ( m_dialog->IsAutomatic() )
+    {
+        // we want to allow the user to create an automatically hidden
+        // notification just by creating a local wxNotificationMessage object
+        // and so we shouldn't hide the notification when this object goes out
+        // of scope
+        m_dialog->SetDeleteOnHide();
+    }
+    else // manual dialog, hide it immediately
+    {
+        // OTOH for permanently shown dialogs only the code can hide them and
+        // if the object is deleted, we must do it now as it won't be
+        // accessible programmatically any more
+        delete m_dialog;
+    }
+}
+
+bool wxNotificationMessage::Show(int timeout)
+{
+    if ( timeout == Timeout_Auto )
+    {
+        timeout = GetDefaultTimeout();
+    }
+
+    if ( !m_dialog )
+    {
+        m_dialog = new wxNotificationMessageDialog
+                       (
+                        GetParent(),
+                        GetFullMessage(),
+                        timeout
+                       );
+    }
+    else // update the existing dialog
+    {
+        m_dialog->Set(GetParent(), GetFullMessage(), timeout);
+    }
+
+    m_dialog->Show();
+
+    return true;
+}
+
+bool wxNotificationMessage::Close()
+{
+    if ( !m_dialog )
+        return false;
+
+    m_dialog->Hide();
+
+    return true;
+}
+
+#endif // wxUSE_GENERIC_NOTIFICATION_MESSAGE
diff --git a/src/gtk/hildon/notifmsg.cpp b/src/gtk/hildon/notifmsg.cpp
new file mode 100644 (file)
index 0000000..3cad178
--- /dev/null
@@ -0,0 +1,126 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        gtk/hildon/notifmsg.cpp
+// Purpose:     Hildon implementation of wxNotificationMessage
+// Author:      Vadim Zeitlin
+// Created:     2007-11-21
+// RCS-ID:      $Id$
+// Copyright:   (c) 2007 Vadim Zeitlin <vadim@wxwindows.org>
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+// ============================================================================
+// declarations
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+
+// for compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
+#if wxUSE_LIBHILDON
+
+#ifndef WX_PRECOMP
+#endif //WX_PRECOMP
+
+#include "wx/notifmsg.h"
+#include "wx/toplevel.h"
+
+#include <hildon-widgets/hildon-banner.h>
+
+// ============================================================================
+// wxNotificationMessage implementation
+// ============================================================================
+
+wxString wxNotificationMessage::HildonGetMarkup() const
+{
+    const wxString& message = GetMessage(),
+                    title = GetTitle();
+
+    wxString text;
+    if ( message.empty() )
+    {
+        text = title;
+    }
+    else // combine title with message in a single string
+    {
+        text << "<big><b>" << title << "</b></big>\n"
+                "\n"
+             << message;
+    }
+
+    return text;
+}
+
+GtkWidget *wxNotificationMessage::HildonGetWindow() const
+{
+    wxWindow *parent = GetParent();
+    if ( parent )
+    {
+        parent = wxGetTopLevelParent(parent);
+        if ( parent )
+        {
+            wxTopLevelWindow * const
+                tlw = wxDynamicCast(parent, wxTopLevelWindow);
+            if ( tlw )
+                return tlw->m_mainWidget;
+        }
+    }
+
+    return NULL;
+}
+
+bool wxNotificationMessage::Show(int timeout)
+{
+    if ( timeout == Timeout_Never )
+    {
+        m_banner = hildon_banner_show_animation
+                   (
+                    HildonGetWindow(),
+                    NULL,
+                    GetFullMessage() // markup not supported here
+                   );
+        if ( !m_banner )
+            return false;
+    }
+    else // the message will time out
+    {
+        // we don't have any way to set the timeout interval so we just let it
+        // time out automatically
+        hildon_banner_show_information_with_markup
+        (
+            HildonGetWindow(),
+            NULL,
+            HildonGetMarkup()
+        );
+    }
+
+    return true;
+}
+
+bool wxNotificationMessage::Close()
+{
+    if ( !m_banner )
+    {
+        // either we hadn't been shown or we are using an information banner
+        // which will disappear on its own, nothing we can do about it
+        return false;
+    }
+
+    gtk_widget_destroy(m_banner);
+    m_banner = NULL;
+
+    return true;
+}
+
+wxNotificationMessage::~wxNotificationMessage()
+{
+    Close();
+}
+
+#endif // wxUSE_LIBHILDON