Add a public wxModalDialogHook class for intercepting modal dialogs.

Extract wxModalDialogHook from wx/testing.h into its own wx/modalhook.h,
extend it to allow to be notified not only about showing modal dialogs but
also about dismissing them and document it and show its use in the dialogs
sample.

Also replace all the WX_TESTING_SHOW_MODAL_HOOK macros occurrences with
WX_HOOK_MODAL_DIALOG.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74037 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2013-05-20 13:15:41 +00:00
parent 9bc3af3e64
commit 691745ab41
64 changed files with 712 additions and 194 deletions

View File

@@ -4111,6 +4111,7 @@ COND_USE_GUI_1_ALL_GUI_HEADERS = \
wx/listbox.h \ wx/listbox.h \
wx/mdi.h \ wx/mdi.h \
wx/menu.h \ wx/menu.h \
wx/modalhook.h \
wx/mousemanager.h \ wx/mousemanager.h \
wx/msgdlg.h \ wx/msgdlg.h \
wx/nativewin.h \ wx/nativewin.h \
@@ -4807,6 +4808,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS = \
monodll_markupparser.o \ monodll_markupparser.o \
monodll_matrix.o \ monodll_matrix.o \
monodll_menucmn.o \ monodll_menucmn.o \
monodll_modalhook.o \
monodll_mousemanager.o \ monodll_mousemanager.o \
monodll_nbkbase.o \ monodll_nbkbase.o \
monodll_overlaycmn.o \ monodll_overlaycmn.o \
@@ -5028,6 +5030,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS = \
monodll_markupparser.o \ monodll_markupparser.o \
monodll_matrix.o \ monodll_matrix.o \
monodll_menucmn.o \ monodll_menucmn.o \
monodll_modalhook.o \
monodll_mousemanager.o \ monodll_mousemanager.o \
monodll_nbkbase.o \ monodll_nbkbase.o \
monodll_overlaycmn.o \ monodll_overlaycmn.o \
@@ -7051,6 +7054,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_1 = \
monolib_markupparser.o \ monolib_markupparser.o \
monolib_matrix.o \ monolib_matrix.o \
monolib_menucmn.o \ monolib_menucmn.o \
monolib_modalhook.o \
monolib_mousemanager.o \ monolib_mousemanager.o \
monolib_nbkbase.o \ monolib_nbkbase.o \
monolib_overlaycmn.o \ monolib_overlaycmn.o \
@@ -7272,6 +7276,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_1 = \
monolib_markupparser.o \ monolib_markupparser.o \
monolib_matrix.o \ monolib_matrix.o \
monolib_menucmn.o \ monolib_menucmn.o \
monolib_modalhook.o \
monolib_mousemanager.o \ monolib_mousemanager.o \
monolib_nbkbase.o \ monolib_nbkbase.o \
monolib_overlaycmn.o \ monolib_overlaycmn.o \
@@ -9467,6 +9472,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_2 = \
coredll_markupparser.o \ coredll_markupparser.o \
coredll_matrix.o \ coredll_matrix.o \
coredll_menucmn.o \ coredll_menucmn.o \
coredll_modalhook.o \
coredll_mousemanager.o \ coredll_mousemanager.o \
coredll_nbkbase.o \ coredll_nbkbase.o \
coredll_overlaycmn.o \ coredll_overlaycmn.o \
@@ -9688,6 +9694,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_2 = \
coredll_markupparser.o \ coredll_markupparser.o \
coredll_matrix.o \ coredll_matrix.o \
coredll_menucmn.o \ coredll_menucmn.o \
coredll_modalhook.o \
coredll_mousemanager.o \ coredll_mousemanager.o \
coredll_nbkbase.o \ coredll_nbkbase.o \
coredll_overlaycmn.o \ coredll_overlaycmn.o \
@@ -11143,6 +11150,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_3 = \
corelib_markupparser.o \ corelib_markupparser.o \
corelib_matrix.o \ corelib_matrix.o \
corelib_menucmn.o \ corelib_menucmn.o \
corelib_modalhook.o \
corelib_mousemanager.o \ corelib_mousemanager.o \
corelib_nbkbase.o \ corelib_nbkbase.o \
corelib_overlaycmn.o \ corelib_overlaycmn.o \
@@ -11364,6 +11372,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_3 = \
corelib_markupparser.o \ corelib_markupparser.o \
corelib_matrix.o \ corelib_matrix.o \
corelib_menucmn.o \ corelib_menucmn.o \
corelib_modalhook.o \
corelib_mousemanager.o \ corelib_mousemanager.o \
corelib_nbkbase.o \ corelib_nbkbase.o \
corelib_overlaycmn.o \ corelib_overlaycmn.o \
@@ -21946,6 +21955,9 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
@COND_USE_GUI_1@monodll_menucmn.o: $(srcdir)/src/common/menucmn.cpp $(MONODLL_ODEP) @COND_USE_GUI_1@monodll_menucmn.o: $(srcdir)/src/common/menucmn.cpp $(MONODLL_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/menucmn.cpp @COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/menucmn.cpp
@COND_USE_GUI_1@monodll_modalhook.o: $(srcdir)/src/common/modalhook.cpp $(MONODLL_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/modalhook.cpp
@COND_USE_GUI_1@monodll_mousemanager.o: $(srcdir)/src/common/mousemanager.cpp $(MONODLL_ODEP) @COND_USE_GUI_1@monodll_mousemanager.o: $(srcdir)/src/common/mousemanager.cpp $(MONODLL_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/mousemanager.cpp @COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/mousemanager.cpp
@@ -27802,6 +27814,9 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
@COND_USE_GUI_1@monolib_menucmn.o: $(srcdir)/src/common/menucmn.cpp $(MONOLIB_ODEP) @COND_USE_GUI_1@monolib_menucmn.o: $(srcdir)/src/common/menucmn.cpp $(MONOLIB_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/menucmn.cpp @COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/menucmn.cpp
@COND_USE_GUI_1@monolib_modalhook.o: $(srcdir)/src/common/modalhook.cpp $(MONOLIB_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/modalhook.cpp
@COND_USE_GUI_1@monolib_mousemanager.o: $(srcdir)/src/common/mousemanager.cpp $(MONOLIB_ODEP) @COND_USE_GUI_1@monolib_mousemanager.o: $(srcdir)/src/common/mousemanager.cpp $(MONOLIB_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/mousemanager.cpp @COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/mousemanager.cpp
@@ -33814,6 +33829,9 @@ coredll_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(COREDLL_ODEP)
@COND_USE_GUI_1@coredll_menucmn.o: $(srcdir)/src/common/menucmn.cpp $(COREDLL_ODEP) @COND_USE_GUI_1@coredll_menucmn.o: $(srcdir)/src/common/menucmn.cpp $(COREDLL_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/menucmn.cpp @COND_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/menucmn.cpp
@COND_USE_GUI_1@coredll_modalhook.o: $(srcdir)/src/common/modalhook.cpp $(COREDLL_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/modalhook.cpp
@COND_USE_GUI_1@coredll_mousemanager.o: $(srcdir)/src/common/mousemanager.cpp $(COREDLL_ODEP) @COND_USE_GUI_1@coredll_mousemanager.o: $(srcdir)/src/common/mousemanager.cpp $(COREDLL_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/mousemanager.cpp @COND_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/mousemanager.cpp
@@ -38191,6 +38209,9 @@ corelib_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(CORELIB_ODEP)
@COND_USE_GUI_1@corelib_menucmn.o: $(srcdir)/src/common/menucmn.cpp $(CORELIB_ODEP) @COND_USE_GUI_1@corelib_menucmn.o: $(srcdir)/src/common/menucmn.cpp $(CORELIB_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/menucmn.cpp @COND_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/menucmn.cpp
@COND_USE_GUI_1@corelib_modalhook.o: $(srcdir)/src/common/modalhook.cpp $(CORELIB_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/modalhook.cpp
@COND_USE_GUI_1@corelib_mousemanager.o: $(srcdir)/src/common/mousemanager.cpp $(CORELIB_ODEP) @COND_USE_GUI_1@corelib_mousemanager.o: $(srcdir)/src/common/mousemanager.cpp $(CORELIB_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/mousemanager.cpp @COND_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/mousemanager.cpp

View File

@@ -709,6 +709,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
src/common/markupparser.cpp src/common/markupparser.cpp
src/common/matrix.cpp src/common/matrix.cpp
src/common/menucmn.cpp src/common/menucmn.cpp
src/common/modalhook.cpp
src/common/mousemanager.cpp src/common/mousemanager.cpp
src/common/nbkbase.cpp src/common/nbkbase.cpp
src/common/overlaycmn.cpp src/common/overlaycmn.cpp
@@ -867,6 +868,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
wx/listbox.h wx/listbox.h
wx/mdi.h wx/mdi.h
wx/menu.h wx/menu.h
wx/modalhook.h
wx/mousemanager.h wx/mousemanager.h
wx/msgdlg.h wx/msgdlg.h
wx/nativewin.h wx/nativewin.h

View File

@@ -1920,6 +1920,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_markupparser.obj \ $(OBJS)\monodll_markupparser.obj \
$(OBJS)\monodll_matrix.obj \ $(OBJS)\monodll_matrix.obj \
$(OBJS)\monodll_menucmn.obj \ $(OBJS)\monodll_menucmn.obj \
$(OBJS)\monodll_modalhook.obj \
$(OBJS)\monodll_mousemanager.obj \ $(OBJS)\monodll_mousemanager.obj \
$(OBJS)\monodll_nbkbase.obj \ $(OBJS)\monodll_nbkbase.obj \
$(OBJS)\monodll_overlaycmn.obj \ $(OBJS)\monodll_overlaycmn.obj \
@@ -2141,6 +2142,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_markupparser.obj \ $(OBJS)\monodll_markupparser.obj \
$(OBJS)\monodll_matrix.obj \ $(OBJS)\monodll_matrix.obj \
$(OBJS)\monodll_menucmn.obj \ $(OBJS)\monodll_menucmn.obj \
$(OBJS)\monodll_modalhook.obj \
$(OBJS)\monodll_mousemanager.obj \ $(OBJS)\monodll_mousemanager.obj \
$(OBJS)\monodll_nbkbase.obj \ $(OBJS)\monodll_nbkbase.obj \
$(OBJS)\monodll_overlaycmn.obj \ $(OBJS)\monodll_overlaycmn.obj \
@@ -3310,6 +3312,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_markupparser.obj \ $(OBJS)\monolib_markupparser.obj \
$(OBJS)\monolib_matrix.obj \ $(OBJS)\monolib_matrix.obj \
$(OBJS)\monolib_menucmn.obj \ $(OBJS)\monolib_menucmn.obj \
$(OBJS)\monolib_modalhook.obj \
$(OBJS)\monolib_mousemanager.obj \ $(OBJS)\monolib_mousemanager.obj \
$(OBJS)\monolib_nbkbase.obj \ $(OBJS)\monolib_nbkbase.obj \
$(OBJS)\monolib_overlaycmn.obj \ $(OBJS)\monolib_overlaycmn.obj \
@@ -3531,6 +3534,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_markupparser.obj \ $(OBJS)\monolib_markupparser.obj \
$(OBJS)\monolib_matrix.obj \ $(OBJS)\monolib_matrix.obj \
$(OBJS)\monolib_menucmn.obj \ $(OBJS)\monolib_menucmn.obj \
$(OBJS)\monolib_modalhook.obj \
$(OBJS)\monolib_mousemanager.obj \ $(OBJS)\monolib_mousemanager.obj \
$(OBJS)\monolib_nbkbase.obj \ $(OBJS)\monolib_nbkbase.obj \
$(OBJS)\monolib_overlaycmn.obj \ $(OBJS)\monolib_overlaycmn.obj \
@@ -4605,6 +4609,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\coredll_markupparser.obj \ $(OBJS)\coredll_markupparser.obj \
$(OBJS)\coredll_matrix.obj \ $(OBJS)\coredll_matrix.obj \
$(OBJS)\coredll_menucmn.obj \ $(OBJS)\coredll_menucmn.obj \
$(OBJS)\coredll_modalhook.obj \
$(OBJS)\coredll_mousemanager.obj \ $(OBJS)\coredll_mousemanager.obj \
$(OBJS)\coredll_nbkbase.obj \ $(OBJS)\coredll_nbkbase.obj \
$(OBJS)\coredll_overlaycmn.obj \ $(OBJS)\coredll_overlaycmn.obj \
@@ -4826,6 +4831,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\coredll_markupparser.obj \ $(OBJS)\coredll_markupparser.obj \
$(OBJS)\coredll_matrix.obj \ $(OBJS)\coredll_matrix.obj \
$(OBJS)\coredll_menucmn.obj \ $(OBJS)\coredll_menucmn.obj \
$(OBJS)\coredll_modalhook.obj \
$(OBJS)\coredll_mousemanager.obj \ $(OBJS)\coredll_mousemanager.obj \
$(OBJS)\coredll_nbkbase.obj \ $(OBJS)\coredll_nbkbase.obj \
$(OBJS)\coredll_overlaycmn.obj \ $(OBJS)\coredll_overlaycmn.obj \
@@ -5650,6 +5656,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\corelib_markupparser.obj \ $(OBJS)\corelib_markupparser.obj \
$(OBJS)\corelib_matrix.obj \ $(OBJS)\corelib_matrix.obj \
$(OBJS)\corelib_menucmn.obj \ $(OBJS)\corelib_menucmn.obj \
$(OBJS)\corelib_modalhook.obj \
$(OBJS)\corelib_mousemanager.obj \ $(OBJS)\corelib_mousemanager.obj \
$(OBJS)\corelib_nbkbase.obj \ $(OBJS)\corelib_nbkbase.obj \
$(OBJS)\corelib_overlaycmn.obj \ $(OBJS)\corelib_overlaycmn.obj \
@@ -5871,6 +5878,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\corelib_markupparser.obj \ $(OBJS)\corelib_markupparser.obj \
$(OBJS)\corelib_matrix.obj \ $(OBJS)\corelib_matrix.obj \
$(OBJS)\corelib_menucmn.obj \ $(OBJS)\corelib_menucmn.obj \
$(OBJS)\corelib_modalhook.obj \
$(OBJS)\corelib_mousemanager.obj \ $(OBJS)\corelib_mousemanager.obj \
$(OBJS)\corelib_nbkbase.obj \ $(OBJS)\corelib_nbkbase.obj \
$(OBJS)\corelib_overlaycmn.obj \ $(OBJS)\corelib_overlaycmn.obj \
@@ -15107,6 +15115,11 @@ $(OBJS)\monodll_menucmn.obj: ..\..\src\common\menucmn.cpp
!endif !endif
!if "$(USE_GUI)" == "1" !if "$(USE_GUI)" == "1"
$(OBJS)\monodll_modalhook.obj: ..\..\src\common\modalhook.cpp
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\modalhook.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\monodll_mousemanager.obj: ..\..\src\common\mousemanager.cpp $(OBJS)\monodll_mousemanager.obj: ..\..\src\common\mousemanager.cpp
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\mousemanager.cpp $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\mousemanager.cpp
!endif !endif
@@ -20632,6 +20645,11 @@ $(OBJS)\monolib_menucmn.obj: ..\..\src\common\menucmn.cpp
!endif !endif
!if "$(USE_GUI)" == "1" !if "$(USE_GUI)" == "1"
$(OBJS)\monolib_modalhook.obj: ..\..\src\common\modalhook.cpp
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\modalhook.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\monolib_mousemanager.obj: ..\..\src\common\mousemanager.cpp $(OBJS)\monolib_mousemanager.obj: ..\..\src\common\mousemanager.cpp
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\mousemanager.cpp $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\mousemanager.cpp
!endif !endif
@@ -26154,6 +26172,11 @@ $(OBJS)\coredll_menucmn.obj: ..\..\src\common\menucmn.cpp
!endif !endif
!if "$(USE_GUI)" == "1" !if "$(USE_GUI)" == "1"
$(OBJS)\coredll_modalhook.obj: ..\..\src\common\modalhook.cpp
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\common\modalhook.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\coredll_mousemanager.obj: ..\..\src\common\mousemanager.cpp $(OBJS)\coredll_mousemanager.obj: ..\..\src\common\mousemanager.cpp
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\common\mousemanager.cpp $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\common\mousemanager.cpp
!endif !endif
@@ -30243,6 +30266,11 @@ $(OBJS)\corelib_menucmn.obj: ..\..\src\common\menucmn.cpp
!endif !endif
!if "$(USE_GUI)" == "1" !if "$(USE_GUI)" == "1"
$(OBJS)\corelib_modalhook.obj: ..\..\src\common\modalhook.cpp
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\common\modalhook.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\corelib_mousemanager.obj: ..\..\src\common\mousemanager.cpp $(OBJS)\corelib_mousemanager.obj: ..\..\src\common\mousemanager.cpp
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\common\mousemanager.cpp $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\common\mousemanager.cpp
!endif !endif

View File

@@ -1944,6 +1944,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_markupparser.o \ $(OBJS)\monodll_markupparser.o \
$(OBJS)\monodll_matrix.o \ $(OBJS)\monodll_matrix.o \
$(OBJS)\monodll_menucmn.o \ $(OBJS)\monodll_menucmn.o \
$(OBJS)\monodll_modalhook.o \
$(OBJS)\monodll_mousemanager.o \ $(OBJS)\monodll_mousemanager.o \
$(OBJS)\monodll_nbkbase.o \ $(OBJS)\monodll_nbkbase.o \
$(OBJS)\monodll_overlaycmn.o \ $(OBJS)\monodll_overlaycmn.o \
@@ -2167,6 +2168,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_markupparser.o \ $(OBJS)\monodll_markupparser.o \
$(OBJS)\monodll_matrix.o \ $(OBJS)\monodll_matrix.o \
$(OBJS)\monodll_menucmn.o \ $(OBJS)\monodll_menucmn.o \
$(OBJS)\monodll_modalhook.o \
$(OBJS)\monodll_mousemanager.o \ $(OBJS)\monodll_mousemanager.o \
$(OBJS)\monodll_nbkbase.o \ $(OBJS)\monodll_nbkbase.o \
$(OBJS)\monodll_overlaycmn.o \ $(OBJS)\monodll_overlaycmn.o \
@@ -3354,6 +3356,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_markupparser.o \ $(OBJS)\monolib_markupparser.o \
$(OBJS)\monolib_matrix.o \ $(OBJS)\monolib_matrix.o \
$(OBJS)\monolib_menucmn.o \ $(OBJS)\monolib_menucmn.o \
$(OBJS)\monolib_modalhook.o \
$(OBJS)\monolib_mousemanager.o \ $(OBJS)\monolib_mousemanager.o \
$(OBJS)\monolib_nbkbase.o \ $(OBJS)\monolib_nbkbase.o \
$(OBJS)\monolib_overlaycmn.o \ $(OBJS)\monolib_overlaycmn.o \
@@ -3577,6 +3580,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_markupparser.o \ $(OBJS)\monolib_markupparser.o \
$(OBJS)\monolib_matrix.o \ $(OBJS)\monolib_matrix.o \
$(OBJS)\monolib_menucmn.o \ $(OBJS)\monolib_menucmn.o \
$(OBJS)\monolib_modalhook.o \
$(OBJS)\monolib_mousemanager.o \ $(OBJS)\monolib_mousemanager.o \
$(OBJS)\monolib_nbkbase.o \ $(OBJS)\monolib_nbkbase.o \
$(OBJS)\monolib_overlaycmn.o \ $(OBJS)\monolib_overlaycmn.o \
@@ -4679,6 +4683,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\coredll_markupparser.o \ $(OBJS)\coredll_markupparser.o \
$(OBJS)\coredll_matrix.o \ $(OBJS)\coredll_matrix.o \
$(OBJS)\coredll_menucmn.o \ $(OBJS)\coredll_menucmn.o \
$(OBJS)\coredll_modalhook.o \
$(OBJS)\coredll_mousemanager.o \ $(OBJS)\coredll_mousemanager.o \
$(OBJS)\coredll_nbkbase.o \ $(OBJS)\coredll_nbkbase.o \
$(OBJS)\coredll_overlaycmn.o \ $(OBJS)\coredll_overlaycmn.o \
@@ -4902,6 +4907,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\coredll_markupparser.o \ $(OBJS)\coredll_markupparser.o \
$(OBJS)\coredll_matrix.o \ $(OBJS)\coredll_matrix.o \
$(OBJS)\coredll_menucmn.o \ $(OBJS)\coredll_menucmn.o \
$(OBJS)\coredll_modalhook.o \
$(OBJS)\coredll_mousemanager.o \ $(OBJS)\coredll_mousemanager.o \
$(OBJS)\coredll_nbkbase.o \ $(OBJS)\coredll_nbkbase.o \
$(OBJS)\coredll_overlaycmn.o \ $(OBJS)\coredll_overlaycmn.o \
@@ -5738,6 +5744,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\corelib_markupparser.o \ $(OBJS)\corelib_markupparser.o \
$(OBJS)\corelib_matrix.o \ $(OBJS)\corelib_matrix.o \
$(OBJS)\corelib_menucmn.o \ $(OBJS)\corelib_menucmn.o \
$(OBJS)\corelib_modalhook.o \
$(OBJS)\corelib_mousemanager.o \ $(OBJS)\corelib_mousemanager.o \
$(OBJS)\corelib_nbkbase.o \ $(OBJS)\corelib_nbkbase.o \
$(OBJS)\corelib_overlaycmn.o \ $(OBJS)\corelib_overlaycmn.o \
@@ -5961,6 +5968,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\corelib_markupparser.o \ $(OBJS)\corelib_markupparser.o \
$(OBJS)\corelib_matrix.o \ $(OBJS)\corelib_matrix.o \
$(OBJS)\corelib_menucmn.o \ $(OBJS)\corelib_menucmn.o \
$(OBJS)\corelib_modalhook.o \
$(OBJS)\corelib_mousemanager.o \ $(OBJS)\corelib_mousemanager.o \
$(OBJS)\corelib_nbkbase.o \ $(OBJS)\corelib_nbkbase.o \
$(OBJS)\corelib_overlaycmn.o \ $(OBJS)\corelib_overlaycmn.o \
@@ -16617,6 +16625,11 @@ $(OBJS)\monodll_menucmn.o: ../../src/common/menucmn.cpp
endif endif
ifeq ($(USE_GUI),1) ifeq ($(USE_GUI),1)
$(OBJS)\monodll_modalhook.o: ../../src/common/modalhook.cpp
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
endif
ifeq ($(USE_GUI),1)
$(OBJS)\monodll_mousemanager.o: ../../src/common/mousemanager.cpp $(OBJS)\monodll_mousemanager.o: ../../src/common/mousemanager.cpp
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
endif endif
@@ -23586,6 +23599,11 @@ $(OBJS)\monolib_menucmn.o: ../../src/common/menucmn.cpp
endif endif
ifeq ($(USE_GUI),1) ifeq ($(USE_GUI),1)
$(OBJS)\monolib_modalhook.o: ../../src/common/modalhook.cpp
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
endif
ifeq ($(USE_GUI),1)
$(OBJS)\monolib_mousemanager.o: ../../src/common/mousemanager.cpp $(OBJS)\monolib_mousemanager.o: ../../src/common/mousemanager.cpp
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
endif endif
@@ -30552,6 +30570,11 @@ $(OBJS)\coredll_menucmn.o: ../../src/common/menucmn.cpp
endif endif
ifeq ($(USE_GUI),1) ifeq ($(USE_GUI),1)
$(OBJS)\coredll_modalhook.o: ../../src/common/modalhook.cpp
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
endif
ifeq ($(USE_GUI),1)
$(OBJS)\coredll_mousemanager.o: ../../src/common/mousemanager.cpp $(OBJS)\coredll_mousemanager.o: ../../src/common/mousemanager.cpp
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $< $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
endif endif
@@ -35859,6 +35882,11 @@ $(OBJS)\corelib_menucmn.o: ../../src/common/menucmn.cpp
endif endif
ifeq ($(USE_GUI),1) ifeq ($(USE_GUI),1)
$(OBJS)\corelib_modalhook.o: ../../src/common/modalhook.cpp
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
endif
ifeq ($(USE_GUI),1)
$(OBJS)\corelib_mousemanager.o: ../../src/common/mousemanager.cpp $(OBJS)\corelib_mousemanager.o: ../../src/common/mousemanager.cpp
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $< $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
endif endif

View File

@@ -2248,6 +2248,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_markupparser.obj \ $(OBJS)\monodll_markupparser.obj \
$(OBJS)\monodll_matrix.obj \ $(OBJS)\monodll_matrix.obj \
$(OBJS)\monodll_menucmn.obj \ $(OBJS)\monodll_menucmn.obj \
$(OBJS)\monodll_modalhook.obj \
$(OBJS)\monodll_mousemanager.obj \ $(OBJS)\monodll_mousemanager.obj \
$(OBJS)\monodll_nbkbase.obj \ $(OBJS)\monodll_nbkbase.obj \
$(OBJS)\monodll_overlaycmn.obj \ $(OBJS)\monodll_overlaycmn.obj \
@@ -2469,6 +2470,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_markupparser.obj \ $(OBJS)\monodll_markupparser.obj \
$(OBJS)\monodll_matrix.obj \ $(OBJS)\monodll_matrix.obj \
$(OBJS)\monodll_menucmn.obj \ $(OBJS)\monodll_menucmn.obj \
$(OBJS)\monodll_modalhook.obj \
$(OBJS)\monodll_mousemanager.obj \ $(OBJS)\monodll_mousemanager.obj \
$(OBJS)\monodll_nbkbase.obj \ $(OBJS)\monodll_nbkbase.obj \
$(OBJS)\monodll_overlaycmn.obj \ $(OBJS)\monodll_overlaycmn.obj \
@@ -3644,6 +3646,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_markupparser.obj \ $(OBJS)\monolib_markupparser.obj \
$(OBJS)\monolib_matrix.obj \ $(OBJS)\monolib_matrix.obj \
$(OBJS)\monolib_menucmn.obj \ $(OBJS)\monolib_menucmn.obj \
$(OBJS)\monolib_modalhook.obj \
$(OBJS)\monolib_mousemanager.obj \ $(OBJS)\monolib_mousemanager.obj \
$(OBJS)\monolib_nbkbase.obj \ $(OBJS)\monolib_nbkbase.obj \
$(OBJS)\monolib_overlaycmn.obj \ $(OBJS)\monolib_overlaycmn.obj \
@@ -3865,6 +3868,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_markupparser.obj \ $(OBJS)\monolib_markupparser.obj \
$(OBJS)\monolib_matrix.obj \ $(OBJS)\monolib_matrix.obj \
$(OBJS)\monolib_menucmn.obj \ $(OBJS)\monolib_menucmn.obj \
$(OBJS)\monolib_modalhook.obj \
$(OBJS)\monolib_mousemanager.obj \ $(OBJS)\monolib_mousemanager.obj \
$(OBJS)\monolib_nbkbase.obj \ $(OBJS)\monolib_nbkbase.obj \
$(OBJS)\monolib_overlaycmn.obj \ $(OBJS)\monolib_overlaycmn.obj \
@@ -5005,6 +5009,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\coredll_markupparser.obj \ $(OBJS)\coredll_markupparser.obj \
$(OBJS)\coredll_matrix.obj \ $(OBJS)\coredll_matrix.obj \
$(OBJS)\coredll_menucmn.obj \ $(OBJS)\coredll_menucmn.obj \
$(OBJS)\coredll_modalhook.obj \
$(OBJS)\coredll_mousemanager.obj \ $(OBJS)\coredll_mousemanager.obj \
$(OBJS)\coredll_nbkbase.obj \ $(OBJS)\coredll_nbkbase.obj \
$(OBJS)\coredll_overlaycmn.obj \ $(OBJS)\coredll_overlaycmn.obj \
@@ -5226,6 +5231,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\coredll_markupparser.obj \ $(OBJS)\coredll_markupparser.obj \
$(OBJS)\coredll_matrix.obj \ $(OBJS)\coredll_matrix.obj \
$(OBJS)\coredll_menucmn.obj \ $(OBJS)\coredll_menucmn.obj \
$(OBJS)\coredll_modalhook.obj \
$(OBJS)\coredll_mousemanager.obj \ $(OBJS)\coredll_mousemanager.obj \
$(OBJS)\coredll_nbkbase.obj \ $(OBJS)\coredll_nbkbase.obj \
$(OBJS)\coredll_overlaycmn.obj \ $(OBJS)\coredll_overlaycmn.obj \
@@ -6056,6 +6062,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\corelib_markupparser.obj \ $(OBJS)\corelib_markupparser.obj \
$(OBJS)\corelib_matrix.obj \ $(OBJS)\corelib_matrix.obj \
$(OBJS)\corelib_menucmn.obj \ $(OBJS)\corelib_menucmn.obj \
$(OBJS)\corelib_modalhook.obj \
$(OBJS)\corelib_mousemanager.obj \ $(OBJS)\corelib_mousemanager.obj \
$(OBJS)\corelib_nbkbase.obj \ $(OBJS)\corelib_nbkbase.obj \
$(OBJS)\corelib_overlaycmn.obj \ $(OBJS)\corelib_overlaycmn.obj \
@@ -6277,6 +6284,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\corelib_markupparser.obj \ $(OBJS)\corelib_markupparser.obj \
$(OBJS)\corelib_matrix.obj \ $(OBJS)\corelib_matrix.obj \
$(OBJS)\corelib_menucmn.obj \ $(OBJS)\corelib_menucmn.obj \
$(OBJS)\corelib_modalhook.obj \
$(OBJS)\corelib_mousemanager.obj \ $(OBJS)\corelib_mousemanager.obj \
$(OBJS)\corelib_nbkbase.obj \ $(OBJS)\corelib_nbkbase.obj \
$(OBJS)\corelib_overlaycmn.obj \ $(OBJS)\corelib_overlaycmn.obj \
@@ -15827,6 +15835,11 @@ $(OBJS)\monodll_menucmn.obj: ..\..\src\common\menucmn.cpp
!endif !endif
!if "$(USE_GUI)" == "1" !if "$(USE_GUI)" == "1"
$(OBJS)\monodll_modalhook.obj: ..\..\src\common\modalhook.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\modalhook.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\monodll_mousemanager.obj: ..\..\src\common\mousemanager.cpp $(OBJS)\monodll_mousemanager.obj: ..\..\src\common\mousemanager.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\mousemanager.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\mousemanager.cpp
!endif !endif
@@ -21352,6 +21365,11 @@ $(OBJS)\monolib_menucmn.obj: ..\..\src\common\menucmn.cpp
!endif !endif
!if "$(USE_GUI)" == "1" !if "$(USE_GUI)" == "1"
$(OBJS)\monolib_modalhook.obj: ..\..\src\common\modalhook.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\modalhook.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\monolib_mousemanager.obj: ..\..\src\common\mousemanager.cpp $(OBJS)\monolib_mousemanager.obj: ..\..\src\common\mousemanager.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\mousemanager.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\mousemanager.cpp
!endif !endif
@@ -26874,6 +26892,11 @@ $(OBJS)\coredll_menucmn.obj: ..\..\src\common\menucmn.cpp
!endif !endif
!if "$(USE_GUI)" == "1" !if "$(USE_GUI)" == "1"
$(OBJS)\coredll_modalhook.obj: ..\..\src\common\modalhook.cpp
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\common\modalhook.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\coredll_mousemanager.obj: ..\..\src\common\mousemanager.cpp $(OBJS)\coredll_mousemanager.obj: ..\..\src\common\mousemanager.cpp
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\common\mousemanager.cpp $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\common\mousemanager.cpp
!endif !endif
@@ -30963,6 +30986,11 @@ $(OBJS)\corelib_menucmn.obj: ..\..\src\common\menucmn.cpp
!endif !endif
!if "$(USE_GUI)" == "1" !if "$(USE_GUI)" == "1"
$(OBJS)\corelib_modalhook.obj: ..\..\src\common\modalhook.cpp
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\common\modalhook.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\corelib_mousemanager.obj: ..\..\src\common\mousemanager.cpp $(OBJS)\corelib_mousemanager.obj: ..\..\src\common\mousemanager.cpp
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\common\mousemanager.cpp $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\common\mousemanager.cpp
!endif !endif

View File

@@ -382,6 +382,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = &
$(OBJS)\monodll_markupparser.obj & $(OBJS)\monodll_markupparser.obj &
$(OBJS)\monodll_matrix.obj & $(OBJS)\monodll_matrix.obj &
$(OBJS)\monodll_menucmn.obj & $(OBJS)\monodll_menucmn.obj &
$(OBJS)\monodll_modalhook.obj &
$(OBJS)\monodll_mousemanager.obj & $(OBJS)\monodll_mousemanager.obj &
$(OBJS)\monodll_nbkbase.obj & $(OBJS)\monodll_nbkbase.obj &
$(OBJS)\monodll_overlaycmn.obj & $(OBJS)\monodll_overlaycmn.obj &
@@ -605,6 +606,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = &
$(OBJS)\monodll_markupparser.obj & $(OBJS)\monodll_markupparser.obj &
$(OBJS)\monodll_matrix.obj & $(OBJS)\monodll_matrix.obj &
$(OBJS)\monodll_menucmn.obj & $(OBJS)\monodll_menucmn.obj &
$(OBJS)\monodll_modalhook.obj &
$(OBJS)\monodll_mousemanager.obj & $(OBJS)\monodll_mousemanager.obj &
$(OBJS)\monodll_nbkbase.obj & $(OBJS)\monodll_nbkbase.obj &
$(OBJS)\monodll_overlaycmn.obj & $(OBJS)\monodll_overlaycmn.obj &
@@ -1808,6 +1810,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = &
$(OBJS)\monolib_markupparser.obj & $(OBJS)\monolib_markupparser.obj &
$(OBJS)\monolib_matrix.obj & $(OBJS)\monolib_matrix.obj &
$(OBJS)\monolib_menucmn.obj & $(OBJS)\monolib_menucmn.obj &
$(OBJS)\monolib_modalhook.obj &
$(OBJS)\monolib_mousemanager.obj & $(OBJS)\monolib_mousemanager.obj &
$(OBJS)\monolib_nbkbase.obj & $(OBJS)\monolib_nbkbase.obj &
$(OBJS)\monolib_overlaycmn.obj & $(OBJS)\monolib_overlaycmn.obj &
@@ -2031,6 +2034,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = &
$(OBJS)\monolib_markupparser.obj & $(OBJS)\monolib_markupparser.obj &
$(OBJS)\monolib_matrix.obj & $(OBJS)\monolib_matrix.obj &
$(OBJS)\monolib_menucmn.obj & $(OBJS)\monolib_menucmn.obj &
$(OBJS)\monolib_modalhook.obj &
$(OBJS)\monolib_mousemanager.obj & $(OBJS)\monolib_mousemanager.obj &
$(OBJS)\monolib_nbkbase.obj & $(OBJS)\monolib_nbkbase.obj &
$(OBJS)\monolib_overlaycmn.obj & $(OBJS)\monolib_overlaycmn.obj &
@@ -3159,6 +3163,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = &
$(OBJS)\coredll_markupparser.obj & $(OBJS)\coredll_markupparser.obj &
$(OBJS)\coredll_matrix.obj & $(OBJS)\coredll_matrix.obj &
$(OBJS)\coredll_menucmn.obj & $(OBJS)\coredll_menucmn.obj &
$(OBJS)\coredll_modalhook.obj &
$(OBJS)\coredll_mousemanager.obj & $(OBJS)\coredll_mousemanager.obj &
$(OBJS)\coredll_nbkbase.obj & $(OBJS)\coredll_nbkbase.obj &
$(OBJS)\coredll_overlaycmn.obj & $(OBJS)\coredll_overlaycmn.obj &
@@ -3382,6 +3387,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = &
$(OBJS)\coredll_markupparser.obj & $(OBJS)\coredll_markupparser.obj &
$(OBJS)\coredll_matrix.obj & $(OBJS)\coredll_matrix.obj &
$(OBJS)\coredll_menucmn.obj & $(OBJS)\coredll_menucmn.obj &
$(OBJS)\coredll_modalhook.obj &
$(OBJS)\coredll_mousemanager.obj & $(OBJS)\coredll_mousemanager.obj &
$(OBJS)\coredll_nbkbase.obj & $(OBJS)\coredll_nbkbase.obj &
$(OBJS)\coredll_overlaycmn.obj & $(OBJS)\coredll_overlaycmn.obj &
@@ -4223,6 +4229,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = &
$(OBJS)\corelib_markupparser.obj & $(OBJS)\corelib_markupparser.obj &
$(OBJS)\corelib_matrix.obj & $(OBJS)\corelib_matrix.obj &
$(OBJS)\corelib_menucmn.obj & $(OBJS)\corelib_menucmn.obj &
$(OBJS)\corelib_modalhook.obj &
$(OBJS)\corelib_mousemanager.obj & $(OBJS)\corelib_mousemanager.obj &
$(OBJS)\corelib_nbkbase.obj & $(OBJS)\corelib_nbkbase.obj &
$(OBJS)\corelib_overlaycmn.obj & $(OBJS)\corelib_overlaycmn.obj &
@@ -4446,6 +4453,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = &
$(OBJS)\corelib_markupparser.obj & $(OBJS)\corelib_markupparser.obj &
$(OBJS)\corelib_matrix.obj & $(OBJS)\corelib_matrix.obj &
$(OBJS)\corelib_menucmn.obj & $(OBJS)\corelib_menucmn.obj &
$(OBJS)\corelib_modalhook.obj &
$(OBJS)\corelib_mousemanager.obj & $(OBJS)\corelib_mousemanager.obj &
$(OBJS)\corelib_nbkbase.obj & $(OBJS)\corelib_nbkbase.obj &
$(OBJS)\corelib_overlaycmn.obj & $(OBJS)\corelib_overlaycmn.obj &
@@ -16966,6 +16974,11 @@ $(OBJS)\monodll_menucmn.obj : .AUTODEPEND ..\..\src\common\menucmn.cpp
!endif !endif
!ifeq USE_GUI 1 !ifeq USE_GUI 1
$(OBJS)\monodll_modalhook.obj : .AUTODEPEND ..\..\src\common\modalhook.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
!endif
!ifeq USE_GUI 1
$(OBJS)\monodll_mousemanager.obj : .AUTODEPEND ..\..\src\common\mousemanager.cpp $(OBJS)\monodll_mousemanager.obj : .AUTODEPEND ..\..\src\common\mousemanager.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $< $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
!endif !endif
@@ -23935,6 +23948,11 @@ $(OBJS)\monolib_menucmn.obj : .AUTODEPEND ..\..\src\common\menucmn.cpp
!endif !endif
!ifeq USE_GUI 1 !ifeq USE_GUI 1
$(OBJS)\monolib_modalhook.obj : .AUTODEPEND ..\..\src\common\modalhook.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
!endif
!ifeq USE_GUI 1
$(OBJS)\monolib_mousemanager.obj : .AUTODEPEND ..\..\src\common\mousemanager.cpp $(OBJS)\monolib_mousemanager.obj : .AUTODEPEND ..\..\src\common\mousemanager.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $< $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
!endif !endif
@@ -30901,6 +30919,11 @@ $(OBJS)\coredll_menucmn.obj : .AUTODEPEND ..\..\src\common\menucmn.cpp
!endif !endif
!ifeq USE_GUI 1 !ifeq USE_GUI 1
$(OBJS)\coredll_modalhook.obj : .AUTODEPEND ..\..\src\common\modalhook.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
!endif
!ifeq USE_GUI 1
$(OBJS)\coredll_mousemanager.obj : .AUTODEPEND ..\..\src\common\mousemanager.cpp $(OBJS)\coredll_mousemanager.obj : .AUTODEPEND ..\..\src\common\mousemanager.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $< $(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
!endif !endif
@@ -36208,6 +36231,11 @@ $(OBJS)\corelib_menucmn.obj : .AUTODEPEND ..\..\src\common\menucmn.cpp
!endif !endif
!ifeq USE_GUI 1 !ifeq USE_GUI 1
$(OBJS)\corelib_modalhook.obj : .AUTODEPEND ..\..\src\common\modalhook.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
!endif
!ifeq USE_GUI 1
$(OBJS)\corelib_mousemanager.obj : .AUTODEPEND ..\..\src\common\mousemanager.cpp $(OBJS)\corelib_mousemanager.obj : .AUTODEPEND ..\..\src\common\mousemanager.cpp
$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $< $(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
!endif !endif

View File

@@ -8,21 +8,21 @@
CFG=core - Win32 Debug CFG=core - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run !MESSAGE use the Export Makefile command and run
!MESSAGE !MESSAGE
!MESSAGE NMAKE /f "wx_core.mak". !MESSAGE NMAKE /f "wx_core.mak".
!MESSAGE !MESSAGE
!MESSAGE You can specify a configuration when running NMAKE !MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE !MESSAGE
!MESSAGE NMAKE /f "wx_core.mak" CFG="core - Win32 Debug" !MESSAGE NMAKE /f "wx_core.mak" CFG="core - Win32 Debug"
!MESSAGE !MESSAGE
!MESSAGE Possible choices for configuration are: !MESSAGE Possible choices for configuration are:
!MESSAGE !MESSAGE
!MESSAGE "core - Win32 DLL Release" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "core - Win32 DLL Release" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "core - Win32 DLL Debug" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "core - Win32 DLL Debug" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "core - Win32 Release" (based on "Win32 (x86) Static Library") !MESSAGE "core - Win32 Release" (based on "Win32 (x86) Static Library")
!MESSAGE "core - Win32 Debug" (based on "Win32 (x86) Static Library") !MESSAGE "core - Win32 Debug" (based on "Win32 (x86) Static Library")
!MESSAGE !MESSAGE
# Begin Project # Begin Project
# PROP AllowPerConfigDependencies 0 # PROP AllowPerConfigDependencies 0
@@ -478,6 +478,10 @@ SOURCE=..\..\src\common\menucmn.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\..\src\common\modalhook.cpp
# End Source File
# Begin Source File
SOURCE=..\..\src\common\mousemanager.cpp SOURCE=..\..\src\common\mousemanager.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
@@ -1362,25 +1366,25 @@ SOURCE=..\..\include\wx\univ\setup.h
!IF "$(CFG)" == "core - Win32 DLL Release" !IF "$(CFG)" == "core - Win32 DLL Release"
# Begin Custom Build - # Begin Custom Build -
# End Custom Build # End Custom Build
!ELSEIF "$(CFG)" == "core - Win32 DLL Debug" !ELSEIF "$(CFG)" == "core - Win32 DLL Debug"
# Begin Custom Build - # Begin Custom Build -
# End Custom Build # End Custom Build
!ELSEIF "$(CFG)" == "core - Win32 Release" !ELSEIF "$(CFG)" == "core - Win32 Release"
# Begin Custom Build - # Begin Custom Build -
# End Custom Build # End Custom Build
!ELSEIF "$(CFG)" == "core - Win32 Debug" !ELSEIF "$(CFG)" == "core - Win32 Debug"
# Begin Custom Build - # Begin Custom Build -
# End Custom Build # End Custom Build
@@ -2800,6 +2804,10 @@ SOURCE=..\..\include\wx\minifram.h
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=..\..\include\wx\modalhook.h
# End Source File
# Begin Source File
SOURCE=..\..\include\wx\mousemanager.h SOURCE=..\..\include\wx\mousemanager.h
# End Source File # End Source File
# Begin Source File # Begin Source File
@@ -3605,4 +3613,3 @@ SOURCE=..\..\src\xrc\xmlreshandler.cpp
# End Group # End Group
# End Target # End Target
# End Project # End Project

View File

@@ -552,6 +552,9 @@
<File <File
RelativePath="..\..\src\common\menucmn.cpp"> RelativePath="..\..\src\common\menucmn.cpp">
</File> </File>
<File
RelativePath="..\..\src\common\modalhook.cpp">
</File>
<File <File
RelativePath="..\..\src\common\mousemanager.cpp"> RelativePath="..\..\src\common\mousemanager.cpp">
</File> </File>
@@ -2285,6 +2288,9 @@
<File <File
RelativePath="..\..\include\wx\minifram.h"> RelativePath="..\..\include\wx\minifram.h">
</File> </File>
<File
RelativePath="..\..\include\wx\modalhook.h">
</File>
<File <File
RelativePath="..\..\include\wx\mousemanager.h"> RelativePath="..\..\include\wx\mousemanager.h">
</File> </File>

View File

@@ -752,6 +752,10 @@
RelativePath="..\..\src\common\menucmn.cpp" RelativePath="..\..\src\common\menucmn.cpp"
> >
</File> </File>
<File
RelativePath="..\..\src\common\modalhook.cpp"
>
</File>
<File <File
RelativePath="..\..\src\common\mousemanager.cpp" RelativePath="..\..\src\common\mousemanager.cpp"
> >
@@ -3055,6 +3059,10 @@
RelativePath="..\..\include\wx\minifram.h" RelativePath="..\..\include\wx\minifram.h"
> >
</File> </File>
<File
RelativePath="..\..\include\wx\modalhook.h"
>
</File>
<File <File
RelativePath="..\..\include\wx\mousemanager.h" RelativePath="..\..\include\wx\mousemanager.h"
> >

View File

@@ -750,6 +750,10 @@
RelativePath="..\..\src\common\menucmn.cpp" RelativePath="..\..\src\common\menucmn.cpp"
> >
</File> </File>
<File
RelativePath="..\..\src\common\modalhook.cpp"
>
</File>
<File <File
RelativePath="..\..\src\common\mousemanager.cpp" RelativePath="..\..\src\common\mousemanager.cpp"
> >
@@ -3053,6 +3057,10 @@
RelativePath="..\..\include\wx\minifram.h" RelativePath="..\..\include\wx\minifram.h"
> >
</File> </File>
<File
RelativePath="..\..\include\wx\modalhook.h"
>
</File>
<File <File
RelativePath="..\..\include\wx\mousemanager.h" RelativePath="..\..\include\wx\mousemanager.h"
> >

View File

@@ -601,6 +601,7 @@ All (GUI):
- Add support for wxRibbonBar and related controls to XRC (Armel Asselin). - Add support for wxRibbonBar and related controls to XRC (Armel Asselin).
- Add wxBITMAP_PNG() macro similar to wxBITMAP() but for PNG files. - Add wxBITMAP_PNG() macro similar to wxBITMAP() but for PNG files.
- Add new wxSimplebook class. - Add new wxSimplebook class.
- Implement possibility to hook all modal dialog calls.
- Support hexadecimal numbers in wxSpinCtrl. - Support hexadecimal numbers in wxSpinCtrl.
- Respect window max size in wxBoxSizer (Nathan Ridge). - Respect window max size in wxBoxSizer (Nathan Ridge).
- Add support for searching in wxWebView for MSW and GTK (Allonii). - Add support for searching in wxWebView for MSW and GTK (Allonii).

105
include/wx/modalhook.h Normal file
View File

@@ -0,0 +1,105 @@
///////////////////////////////////////////////////////////////////////////////
// Name: wx/modalhook.h
// Purpose: Allows to hook into showing modal dialogs.
// Author: Vadim Zeitlin
// Created: 2013-05-19
// RCS-ID: $Id$
// Copyright: (c) 2013 Vadim Zeitlin <vadim@wxwidgets.org>
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
#ifndef _WX_MODALHOOK_H_
#define _WX_MODALHOOK_H_
#include "wx/vector.h"
class WXDLLIMPEXP_FWD_CORE wxDialog;
// ----------------------------------------------------------------------------
// Class allowing to be notified about any modal dialog calls.
// ----------------------------------------------------------------------------
// To be notified about entering and exiting modal dialogs and possibly to
// replace them with something else (e.g. just return a predefined value for
// testing), define an object of this class, override its Enter() and
// possibly Exit() methods and call Register() on it.
class WXDLLIMPEXP_CORE wxModalDialogHook
{
public:
// Default ctor doesn't do anything, call Register() to activate the hook.
wxModalDialogHook() { }
// Dtor unregisters the hook if it had been registered.
virtual ~wxModalDialogHook() { DoUnregister(); }
// Register this hook as being active, i.e. its Enter() and Exit() methods
// will be called.
//
// Notice that the order of registration matters: the last hook registered
// is called first, and if its Enter() returns something != wxID_NONE, the
// subsequent hooks are skipped.
void Register();
// Unregister this hook. Notice that is done automatically from the dtor.
void Unregister();
// Called from wxWidgets code before showing any modal dialogs and calls
// Enter() for every registered hook.
static int CallEnter(wxDialog* dialog);
// Called from wxWidgets code after dismissing the dialog and calls Exit()
// for every registered hook.
static void CallExit(wxDialog* dialog);
protected:
// Called by wxWidgets before showing any modal dialogs, override this to
// be notified about this and return anything but wxID_NONE to skip showing
// the modal dialog entirely and just return the specified result.
virtual int Enter(wxDialog* dialog) = 0;
// Called by wxWidgets after dismissing the modal dialog. Notice that it
// won't be called if Enter() hadn't been.
virtual void Exit(wxDialog* WXUNUSED(dialog)) { }
private:
// Unregister the given hook, return true if it was done or false if the
// hook wasn't found.
bool DoUnregister();
// All the hooks in reverse registration order (i.e. in call order).
typedef wxVector<wxModalDialogHook*> Hooks;
static Hooks ms_hooks;
wxDECLARE_NO_COPY_CLASS(wxModalDialogHook);
};
// Helper object used by WX_MODAL_DIALOG_HOOK below to ensure that CallExit()
// is called on scope exit.
class wxModalDialogHookExitGuard
{
public:
wxEXPLICIT wxModalDialogHookExitGuard(wxDialog* dialog)
: m_dialog(dialog)
{
}
~wxModalDialogHookExitGuard()
{
wxModalDialogHook::CallExit(m_dialog);
}
private:
wxDialog* const m_dialog;
wxDECLARE_NO_COPY_CLASS(wxModalDialogHookExitGuard);
};
// This macro needs to be used at the top of every implementation of
// ShowModal() in order for wxModalDialogHook to work.
#define WX_HOOK_MODAL_DIALOG() \
const int modalDialogHookRC = wxModalDialogHook::CallEnter(this); \
if ( modalDialogHookRC != wxID_NONE ) \
return modalDialogHookRC; \
wxModalDialogHookExitGuard modalDialogHookExit(this)
#endif // _WX_MODALHOOK_H_

View File

@@ -13,56 +13,11 @@
#include "wx/debug.h" #include "wx/debug.h"
#include "wx/string.h" #include "wx/string.h"
#include "wx/modalhook.h"
class WXDLLIMPEXP_FWD_CORE wxDialog;
class WXDLLIMPEXP_FWD_CORE wxMessageDialogBase; class WXDLLIMPEXP_FWD_CORE wxMessageDialogBase;
class WXDLLIMPEXP_FWD_CORE wxFileDialogBase; class WXDLLIMPEXP_FWD_CORE wxFileDialogBase;
// ----------------------------------------------------------------------------
// implementation helpers
// ----------------------------------------------------------------------------
// Helper hook class used to redirect ShowModal() to testing code.
// Instead of showing a dialog modally, hook code is called to simulate what
// the user would do and return appropriate ID from ShowModal().
class WXDLLIMPEXP_CORE wxModalDialogHook
{
public:
wxModalDialogHook() {}
virtual ~wxModalDialogHook() {}
/// Returns currently active hook object or NULL.
static wxModalDialogHook *Get() { return ms_instance; }
/// Set the hook and returns the previously set one.
static wxModalDialogHook *Set(wxModalDialogHook *hook)
{
wxModalDialogHook *old = ms_instance;
ms_instance = hook;
return old;
}
/// Entry point that is called from ShowModal().
virtual int Invoke(wxDialog *dlg) = 0;
private:
static wxModalDialogHook *ms_instance;
wxDECLARE_NO_COPY_CLASS(wxModalDialogHook);
};
// This macro needs to be used at the top of every implementation of
// ShowModal() in order for the above modal dialogs testing code to work.
#define WX_TESTING_SHOW_MODAL_HOOK() \
if ( wxModalDialogHook::Get() ) \
{ \
int rc = wxModalDialogHook::Get()->Invoke(this); \
if ( rc != wxID_NONE ) \
return rc; \
} \
struct wxDummyTestingStruct /* just to force a semicolon */
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// testing API // testing API
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@@ -233,15 +188,42 @@ class wxTestingModalHook : public wxModalDialogHook
public: public:
wxTestingModalHook() wxTestingModalHook()
{ {
m_prevHook = wxModalDialogHook::Set(this); Register();
} }
virtual ~wxTestingModalHook() // Called to verify that all expectations were met. This cannot be done in
// the destructor, because ReportFailure() may throw (either because it's
// overriden or because wx's assertions handling is, globally). And
// throwing from the destructor would introduce all sort of problems,
// including messing up the order of errors in some cases.
void CheckUnmetExpectations()
{ {
wxModalDialogHook::Set(m_prevHook); while ( !m_expectations.empty() )
{
const wxModalExpectation *expect = m_expectations.front();
m_expectations.pop();
if ( expect->IsOptional() )
continue;
ReportFailure
(
wxString::Format
(
"Expected %s dialog was not shown.",
expect->GetDescription()
)
);
break;
}
} }
virtual int Invoke(wxDialog *dlg) void AddExpectation(const wxModalExpectation& e)
{
m_expectations.push(&e);
}
protected:
virtual int Enter(wxDialog *dlg)
{ {
while ( !m_expectations.empty() ) while ( !m_expectations.empty() )
{ {
@@ -281,37 +263,6 @@ public:
return wxID_NONE; return wxID_NONE;
} }
// Called to verify that all expectations were met. This cannot be done in
// the destructor, because ReportFailure() may throw (either because it's
// overriden or because wx's assertions handling is, globally). And
// throwing from the destructor would introduce all sort of problems,
// including messing up the order of errors in some cases.
void CheckUnmetExpectations()
{
while ( !m_expectations.empty() )
{
const wxModalExpectation *expect = m_expectations.front();
m_expectations.pop();
if ( expect->IsOptional() )
continue;
ReportFailure
(
wxString::Format
(
"Expected %s dialog was not shown.",
expect->GetDescription()
)
);
break;
}
}
void AddExpectation(const wxModalExpectation& e)
{
m_expectations.push(&e);
}
protected: protected:
virtual void ReportFailure(const wxString& msg) virtual void ReportFailure(const wxString& msg)
{ {
@@ -319,7 +270,6 @@ protected:
} }
private: private:
wxModalDialogHook *m_prevHook;
std::queue<const wxModalExpectation*> m_expectations; std::queue<const wxModalExpectation*> m_expectations;
wxDECLARE_NO_COPY_CLASS(wxTestingModalHook); wxDECLARE_NO_COPY_CLASS(wxTestingModalHook);

149
interface/wx/modalhook.h Normal file
View File

@@ -0,0 +1,149 @@
/////////////////////////////////////////////////////////////////////////////
// Name: wx/modalhook.h
// Purpose: Public interface of wxModalDialogHook class.
// Author: Vadim Zeitlin
// Copyright: (c) 2013 Vadim Zeitlin <vadim@wxwidgets.org>
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
/**
Allows to intercept all modal dialog calls.
This class can be used to hook into normal modal dialog handling for some
special needs. One of the most common use cases is for testing: as
automatic tests can't continue if a modal dialog is shown while they run,
this class can be used to avoid showing the modal dialogs during unattended
execution. wxModalDialogHook can also be used for disabling some background
operation while a modal dialog is shown.
To install a modal dialog hook, you need to derive your own class from this
one and implement its pure virtual Enter() method. Then simply create an
object of your class and call Register() on it to start receiving calls to
your overridden Enter() (and possibly Exit()) methods:
@code
class MyModalDialogHook : public wxModalDialogHook
{
protected:
virtual int Enter(wxDialog* dialog)
{
// Just for demonstration purposes, intercept all uses of
// wxFileDialog. Notice that this doesn't provide any real
// sandboxing, of course, the program can still read and write
// files by not using wxFileDialog to ask the user for their
// names.
if ( wxDynamicCast(dialog, wxFileDialog) )
{
wxLogError("Access to file system disallowed.");
// Skip showing the file dialog entirely.
return wxID_CANCEL;
}
m_lastEnter = wxDateTime::Now();
// Allow the dialog to be shown as usual.
return wxID_NONE;
}
virtual void Exit(wxDialog* dialog)
{
// Again, just for demonstration purposes, show how long did
// the user take to dismiss the dialog. Notice that we
// shouldn't use wxLogMessage() here as this would result in
// another modal dialog call and hence infinite recursion. In
// general, the hooks should be as unintrusive as possible.
wxLogDebug("%s dialog took %s to be dismissed",
dialog->GetClassInfo()->GetClassName(),
(wxDateTime::Now() - m_lastEnter).Format());
}
};
class MyApp : public wxApp
{
public:
virtual bool OnInit()
{
...
m_myHook.Register();
...
}
private:
MyModalDialogHook m_myHook;
};
@endcode
@since 2.9.5
*/
class wxModalDialogHook
{
public:
/**
Default and trivial constructor.
The constructor doesn't do anything, call Register() to make this hook
active.
*/
wxModalDialogHook();
/**
Destructor unregisters the hook if it's currently active.
*/
virtual ~wxModalDialogHook();
/**
Register this hook as being active.
After registering the hook, its Enter() and Exit() methods will be
called whenever a modal dialog is shown.
Notice that the order of registration matters: the last hook registered
is called first, and if its Enter() returns a value different from
::wxID_NONE, the subsequent hooks are skipped.
It is an error to register the same hook twice.
*/
void Register();
/**
Unregister this hook.
Notice that is done automatically from the destructor, so usually
calling this method explicitly is unnecessary.
The hook must be currently registered.
*/
void Unregister();
protected:
/**
Called by wxWidgets before showing any modal dialogs.
Override this to be notified whenever a modal dialog is about to be
shown.
If the return value of this method is ::wxID_NONE, the dialog is shown
as usual and Exit() will be called when it is dismissed. If the return
value is anything else, the dialog is not shown at all and its
wxDialog::ShowModal() simply returns with the given result. In this
case, Exit() won't be called neither.
@param dialog The dialog about to be shown, never @NULL.
@return wxID_NONE to continue with showing the dialog or anything else
to skip showing the dialog and just return this value from its
ShowModal().
*/
virtual int Enter(wxDialog* dialog) = 0;
/**
Called by wxWidgets after dismissing the modal dialog.
Notice that it won't be called if Enter() hadn't been called because
another modal hook, registered after this one, intercepted the dialog
or if our Enter() was called but returned a value different from
::wxID_NONE.
@param dialog The dialog that was shown and dismissed, never @NULL.
*/
virtual void Exit(wxDialog* dialog);
};

View File

@@ -32,6 +32,7 @@
#include "wx/minifram.h" #include "wx/minifram.h"
#include "wx/sysopt.h" #include "wx/sysopt.h"
#include "wx/notifmsg.h" #include "wx/notifmsg.h"
#include "wx/modalhook.h"
#if wxUSE_RICHMSGDLG #if wxUSE_RICHMSGDLG
#include "wx/richmsgdlg.h" #include "wx/richmsgdlg.h"
@@ -249,6 +250,7 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_MENU(DIALOGS_STANDARD_BUTTON_SIZER_DIALOG, MyFrame::OnStandardButtonsSizerDialog) EVT_MENU(DIALOGS_STANDARD_BUTTON_SIZER_DIALOG, MyFrame::OnStandardButtonsSizerDialog)
EVT_MENU(DIALOGS_TEST_DEFAULT_ACTION, MyFrame::OnTestDefaultActionDialog) EVT_MENU(DIALOGS_TEST_DEFAULT_ACTION, MyFrame::OnTestDefaultActionDialog)
EVT_MENU(DIALOGS_MODAL_HOOK, MyFrame::OnModalHook)
EVT_MENU(DIALOGS_REQUEST, MyFrame::OnRequestUserAttention) EVT_MENU(DIALOGS_REQUEST, MyFrame::OnRequestUserAttention)
#if wxUSE_NOTIFICATION_MESSAGE #if wxUSE_NOTIFICATION_MESSAGE
@@ -538,6 +540,7 @@ bool MyApp::OnInit()
menuDlg->Append(DIALOGS_STANDARD_BUTTON_SIZER_DIALOG, wxT("&Standard Buttons Sizer Dialog")); menuDlg->Append(DIALOGS_STANDARD_BUTTON_SIZER_DIALOG, wxT("&Standard Buttons Sizer Dialog"));
menuDlg->Append(DIALOGS_TEST_DEFAULT_ACTION, wxT("&Test dialog default action")); menuDlg->Append(DIALOGS_TEST_DEFAULT_ACTION, wxT("&Test dialog default action"));
menuDlg->AppendCheckItem(DIALOGS_MODAL_HOOK, "Enable modal dialog hook");
menuDlg->AppendSeparator(); menuDlg->AppendSeparator();
menuDlg->Append(wxID_EXIT, wxT("E&xit\tAlt-X")); menuDlg->Append(wxID_EXIT, wxT("E&xit\tAlt-X"));
@@ -2105,6 +2108,32 @@ void MyFrame::OnTestDefaultActionDialog(wxCommandEvent& WXUNUSED(event))
dialog.ShowModal(); dialog.ShowModal();
} }
void MyFrame::OnModalHook(wxCommandEvent& event)
{
class TestModalHook : public wxModalDialogHook
{
protected:
virtual int Enter(wxDialog* dialog)
{
wxLogStatus("Showing %s modal dialog",
dialog->GetClassInfo()->GetClassName());
return wxID_NONE;
}
virtual void Exit(wxDialog* dialog)
{
wxLogStatus("Leaving %s modal dialog",
dialog->GetClassInfo()->GetClassName());
}
};
static TestModalHook s_hook;
if ( event.IsChecked() )
s_hook.Register();
else
s_hook.Unregister();
}
void MyFrame::OnExit(wxCommandEvent& WXUNUSED(event) ) void MyFrame::OnExit(wxCommandEvent& WXUNUSED(event) )
{ {
Close(true); Close(true);

View File

@@ -475,6 +475,7 @@ public:
void OnStandardButtonsSizerDialog(wxCommandEvent& event); void OnStandardButtonsSizerDialog(wxCommandEvent& event);
void OnTestDefaultActionDialog(wxCommandEvent& event); void OnTestDefaultActionDialog(wxCommandEvent& event);
void OnModalHook(wxCommandEvent& event);
void OnExit(wxCommandEvent& event); void OnExit(wxCommandEvent& event);
@@ -588,7 +589,8 @@ enum
DIALOGS_PROPERTY_SHEET_TOOLBOOK, DIALOGS_PROPERTY_SHEET_TOOLBOOK,
DIALOGS_PROPERTY_SHEET_BUTTONTOOLBOOK, DIALOGS_PROPERTY_SHEET_BUTTONTOOLBOOK,
DIALOGS_STANDARD_BUTTON_SIZER_DIALOG, DIALOGS_STANDARD_BUTTON_SIZER_DIALOG,
DIALOGS_TEST_DEFAULT_ACTION DIALOGS_TEST_DEFAULT_ACTION,
DIALOGS_MODAL_HOOK
}; };
#endif #endif

View File

@@ -19,7 +19,7 @@
#include "wx/settings.h" #include "wx/settings.h"
#endif //WX_PRECOMP #endif //WX_PRECOMP
#include "wx/testing.h" #include "wx/modalhook.h"
#include "wx/cocoa/autorelease.h" #include "wx/cocoa/autorelease.h"
#include "wx/cocoa/string.h" #include "wx/cocoa/string.h"
@@ -128,7 +128,7 @@ bool wxDialog::Show(bool show)
// is stopped (via EndModal()) it returns the exit code. // is stopped (via EndModal()) it returns the exit code.
int wxDialog::ShowModal() int wxDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
wxCHECK_MSG(!IsModal(),GetReturnCode(),wxT("wxDialog::ShowModal called within its own modal loop")); wxCHECK_MSG(!IsModal(),GetReturnCode(),wxT("wxDialog::ShowModal called within its own modal loop"));

View File

@@ -31,7 +31,7 @@
#endif #endif
#include "wx/filename.h" #include "wx/filename.h"
#include "wx/testing.h" #include "wx/modalhook.h"
#include "wx/cocoa/autorelease.h" #include "wx/cocoa/autorelease.h"
#include "wx/cocoa/string.h" #include "wx/cocoa/string.h"
@@ -105,7 +105,7 @@ wxDirDialog::~wxDirDialog()
int wxDirDialog::ShowModal() int wxDirDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
wxAutoNSAutoreleasePool thePool; wxAutoNSAutoreleasePool thePool;

View File

@@ -33,7 +33,7 @@
#include "wx/cocoa/autorelease.h" #include "wx/cocoa/autorelease.h"
#include "wx/cocoa/string.h" #include "wx/cocoa/string.h"
#include "wx/testing.h" #include "wx/modalhook.h"
#import <AppKit/NSOpenPanel.h> #import <AppKit/NSOpenPanel.h>
#import <AppKit/NSSavePanel.h> #import <AppKit/NSSavePanel.h>
@@ -197,7 +197,7 @@ void wxFileDialog::SetPath(const wxString& path)
int wxFileDialog::ShowModal() int wxFileDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
wxAutoNSAutoreleasePool thePool; wxAutoNSAutoreleasePool thePool;

View File

@@ -31,7 +31,7 @@
#include "wx/cocoa/autorelease.h" #include "wx/cocoa/autorelease.h"
#include "wx/cocoa/string.h" #include "wx/cocoa/string.h"
#include "wx/testing.h" #include "wx/modalhook.h"
#import <AppKit/NSAlert.h> #import <AppKit/NSAlert.h>
// ============================================================================ // ============================================================================
@@ -73,7 +73,7 @@ void wxCocoaMessageDialog::DoSetCustomLabel(wxString& var, const ButtonLabel& va
int wxCocoaMessageDialog::ShowModal() int wxCocoaMessageDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
wxAutoNSAutoreleasePool thePool; wxAutoNSAutoreleasePool thePool;

View File

@@ -43,7 +43,7 @@
#include "wx/bookctrl.h" #include "wx/bookctrl.h"
#include "wx/scrolwin.h" #include "wx/scrolwin.h"
#include "wx/textwrapper.h" #include "wx/textwrapper.h"
#include "wx/testing.h" #include "wx/modalhook.h"
#if wxUSE_DISPLAY #if wxUSE_DISPLAY
#include "wx/display.h" #include "wx/display.h"
@@ -51,8 +51,6 @@
extern WXDLLEXPORT_DATA(const char) wxDialogNameStr[] = "dialog"; extern WXDLLEXPORT_DATA(const char) wxDialogNameStr[] = "dialog";
wxModalDialogHook *wxModalDialogHook::ms_instance = NULL;
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// XTI // XTI
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------

120
src/common/modalhook.cpp Normal file
View File

@@ -0,0 +1,120 @@
///////////////////////////////////////////////////////////////////////////////
// Name: src/common/modalhook.cpp
// Purpose: wxModalDialogHook implementation
// Author: Vadim Zeitlin
// Created: 2013-05-19
// RCS-ID: $Id$
// Copyright: (c) 2013 Vadim Zeitlin <vadim@wxwidgets.org>
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
// ============================================================================
// declarations
// ============================================================================
// ----------------------------------------------------------------------------
// headers
// ----------------------------------------------------------------------------
// for compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#include "wx/modalhook.h"
#ifndef WX_PRECOMP
#endif // WX_PRECOMP
wxModalDialogHook::Hooks wxModalDialogHook::ms_hooks;
// ============================================================================
// wxModalDialogHook implementation
// ============================================================================
// ----------------------------------------------------------------------------
// Hooks management
// ----------------------------------------------------------------------------
void wxModalDialogHook::Register()
{
#if wxDEBUG_LEVEL
for ( Hooks::const_iterator it = ms_hooks.begin();
it != ms_hooks.end();
++it)
{
if ( *it == this )
{
wxFAIL_MSG( wxS("Registering already registered hook?") );
return;
}
}
#endif // wxDEBUG_LEVEL
ms_hooks.insert(ms_hooks.begin(), this);
}
void wxModalDialogHook::Unregister()
{
if ( !DoUnregister() )
{
wxFAIL_MSG( wxS("Unregistering not registered hook?") );
}
}
bool wxModalDialogHook::DoUnregister()
{
for ( Hooks::iterator it = ms_hooks.begin();
it != ms_hooks.end();
++it )
{
if ( *it == this )
{
ms_hooks.erase(it);
return true;
}
}
return false;
}
// ----------------------------------------------------------------------------
// Invoking hooks methods
// ----------------------------------------------------------------------------
/* static */
int wxModalDialogHook::CallEnter(wxDialog* dialog)
{
// Make a copy of the hooks list to avoid problems if it's modified while
// we're iterating over it: this is unlikely to happen in our case, but
// quite possible in CallExit() as the hooks may remove themselves after
// the call to their Exit(), so do it here for symmetry as well.
const Hooks hooks = ms_hooks;
for ( Hooks::const_iterator it = hooks.begin(); it != hooks.end(); ++it )
{
const int rc = (*it)->Enter(dialog);
if ( rc != wxID_NONE )
{
// Skip calling all the rest of the hooks if one of them preempts
// showing the dialog completely.
return rc;
}
}
return wxID_NONE;
}
/* static */
void wxModalDialogHook::CallExit(wxDialog* dialog)
{
// See comment in CallEnter() for the reasons for making a copy here.
const Hooks hooks = ms_hooks;
for ( Hooks::const_iterator it = hooks.begin(); it != hooks.end(); ++it )
{
(*it)->Exit(dialog);
}
}

View File

@@ -49,7 +49,7 @@
#include "wx/filectrl.h" #include "wx/filectrl.h"
#include "wx/generic/filedlgg.h" #include "wx/generic/filedlgg.h"
#include "wx/debug.h" #include "wx/debug.h"
#include "wx/testing.h" #include "wx/modalhook.h"
#if wxUSE_TOOLTIPS #if wxUSE_TOOLTIPS
#include "wx/tooltip.h" #include "wx/tooltip.h"
@@ -309,7 +309,7 @@ wxBitmapButton* wxGenericFileDialog::AddBitmapButton( wxWindowID winId,
int wxGenericFileDialog::ShowModal() int wxGenericFileDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
if (CreateExtraControl()) if (CreateExtraControl())
{ {

View File

@@ -39,7 +39,7 @@
#include "wx/msgdlg.h" #include "wx/msgdlg.h"
#include "wx/artprov.h" #include "wx/artprov.h"
#include "wx/textwrapper.h" #include "wx/textwrapper.h"
#include "wx/testing.h" #include "wx/modalhook.h"
#if wxUSE_STATLINE #if wxUSE_STATLINE
#include "wx/statline.h" #include "wx/statline.h"
@@ -267,7 +267,7 @@ void wxGenericMessageDialog::OnCancel(wxCommandEvent& WXUNUSED(event))
int wxGenericMessageDialog::ShowModal() int wxGenericMessageDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
if ( !m_created ) if ( !m_created )
{ {

View File

@@ -19,7 +19,7 @@
#if wxUSE_COLOURDLG #if wxUSE_COLOURDLG
#include "wx/colordlg.h" #include "wx/colordlg.h"
#include "wx/testing.h" #include "wx/modalhook.h"
#ifndef WX_PRECOMP #ifndef WX_PRECOMP
#include "wx/intl.h" #include "wx/intl.h"
@@ -84,7 +84,7 @@ bool wxColourDialog::Create(wxWindow *parent, wxColourData *data)
int wxColourDialog::ShowModal() int wxColourDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
ColourDataToDialog(); ColourDataToDialog();

View File

@@ -19,7 +19,7 @@
#include "wx/evtloop.h" #include "wx/evtloop.h"
#include "wx/scopedptr.h" #include "wx/scopedptr.h"
#include "wx/testing.h" #include "wx/modalhook.h"
#include <gtk/gtk.h> #include <gtk/gtk.h>
#include "wx/gtk/private/gtk2-compat.h" #include "wx/gtk/private/gtk2-compat.h"
@@ -133,7 +133,7 @@ realize_hook(GSignalInvocationHint*, unsigned, const GValue* param_values, void*
int wxDialog::ShowModal() int wxDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
wxASSERT_MSG( !IsModal(), "ShowModal() can't be called twice" ); wxASSERT_MSG( !IsModal(), "ShowModal() can't be called twice" );

View File

@@ -29,7 +29,7 @@
#include "wx/filename.h" // wxFilename #include "wx/filename.h" // wxFilename
#include "wx/tokenzr.h" // wxStringTokenizer #include "wx/tokenzr.h" // wxStringTokenizer
#include "wx/filefn.h" // ::wxGetCwd #include "wx/filefn.h" // ::wxGetCwd
#include "wx/testing.h" #include "wx/modalhook.h"
extern "C" extern "C"
{ {
@@ -320,7 +320,7 @@ void wxFileDialog::GTKOnCancel()
int wxFileDialog::ShowModal() int wxFileDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
CreateExtraControl(); CreateExtraControl();

View File

@@ -34,7 +34,7 @@
#include "wx/dynlib.h" #include "wx/dynlib.h"
#include "wx/paper.h" #include "wx/paper.h"
#include "wx/dcprint.h" #include "wx/dcprint.h"
#include "wx/testing.h" #include "wx/modalhook.h"
#include <libgnomeprint/gnome-print.h> #include <libgnomeprint/gnome-print.h>
#include <libgnomeprint/gnome-print-pango.h> #include <libgnomeprint/gnome-print-pango.h>
@@ -592,7 +592,7 @@ wxGnomePrintDialog::~wxGnomePrintDialog()
int wxGnomePrintDialog::ShowModal() int wxGnomePrintDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
int response = gtk_dialog_run (GTK_DIALOG (m_widget)); int response = gtk_dialog_run (GTK_DIALOG (m_widget));
@@ -739,7 +739,7 @@ wxPageSetupDialogData& wxGnomePageSetupDialog::GetPageSetupDialogData()
int wxGnomePageSetupDialog::ShowModal() int wxGnomePageSetupDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
wxGnomePrintNativeData *native = wxGnomePrintNativeData *native =
(wxGnomePrintNativeData*) m_pageDialogData.GetPrintData().GetNativeData(); (wxGnomePrintNativeData*) m_pageDialogData.GetPrintData().GetNativeData();

View File

@@ -24,7 +24,7 @@
#include "wx/intl.h" #include "wx/intl.h"
#endif #endif
#include "wx/testing.h" #include "wx/modalhook.h"
#include <gtk/gtk.h> #include <gtk/gtk.h>
#include "wx/gtk/private.h" #include "wx/gtk/private.h"
@@ -276,7 +276,7 @@ void wxMessageDialog::GTKCreateMsgDialog()
int wxMessageDialog::ShowModal() int wxMessageDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
// break the mouse capture as it would interfere with modal dialog (see // break the mouse capture as it would interfere with modal dialog (see
// wxDialog::ShowModal) // wxDialog::ShowModal)

View File

@@ -34,7 +34,7 @@
#include "wx/dynlib.h" #include "wx/dynlib.h"
#include "wx/paper.h" #include "wx/paper.h"
#include "wx/scopeguard.h" #include "wx/scopeguard.h"
#include "wx/testing.h" #include "wx/modalhook.h"
#include <gtk/gtk.h> #include <gtk/gtk.h>
@@ -624,7 +624,7 @@ wxGtkPrintDialog::~wxGtkPrintDialog()
// This is called even if we actually don't want the dialog to appear. // This is called even if we actually don't want the dialog to appear.
int wxGtkPrintDialog::ShowModal() int wxGtkPrintDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
// We need to restore the settings given in the constructor. // We need to restore the settings given in the constructor.
wxPrintData data = m_printDialogData.GetPrintData(); wxPrintData data = m_printDialogData.GetPrintData();
@@ -750,7 +750,7 @@ wxGtkPageSetupDialog::~wxGtkPageSetupDialog()
int wxGtkPageSetupDialog::ShowModal() int wxGtkPageSetupDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
// Get the config. // Get the config.
m_pageDialogData.GetPrintData().ConvertToNative(); m_pageDialogData.GetPrintData().ConvertToNative();

View File

@@ -19,7 +19,7 @@
#endif // WX_PRECOMP #endif // WX_PRECOMP
#include "wx/evtloop.h" #include "wx/evtloop.h"
#include "wx/testing.h" #include "wx/modalhook.h"
#include <gdk/gdk.h> #include <gdk/gdk.h>
#include <gtk/gtk.h> #include <gtk/gtk.h>
@@ -183,7 +183,7 @@ void wxDialog::SetModal( bool WXUNUSED(flag) )
int wxDialog::ShowModal() int wxDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
if (IsModal()) if (IsModal())
{ {

View File

@@ -13,7 +13,7 @@
#if wxUSE_FILEDLG #if wxUSE_FILEDLG
#include "wx/filedlg.h" #include "wx/filedlg.h"
#include "wx/testing.h" #include "wx/modalhook.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@@ -50,7 +50,7 @@ void wxFileDialog::OnFakeOk( wxCommandEvent &event )
int wxFileDialog::ShowModal() int wxFileDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
return wxGenericFileDialog::ShowModal(); return wxGenericFileDialog::ShowModal();
} }

View File

@@ -21,7 +21,7 @@
#endif #endif
#include "wx/evtloop.h" #include "wx/evtloop.h"
#include "wx/testing.h" #include "wx/modalhook.h"
#ifdef __VMS__ #ifdef __VMS__
#pragma message disable nosimpint #pragma message disable nosimpint
@@ -289,7 +289,7 @@ bool wxDialog::Show( bool show )
// Shows a dialog modally, returning a return code // Shows a dialog modally, returning a return code
int wxDialog::ShowModal() int wxDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
Show(true); Show(true);

View File

@@ -23,7 +23,7 @@
#include "wx/tokenzr.h" #include "wx/tokenzr.h"
#include "wx/stockitem.h" #include "wx/stockitem.h"
#include "wx/testing.h" #include "wx/modalhook.h"
#ifdef __VMS__ #ifdef __VMS__
#pragma message disable nosimpint #pragma message disable nosimpint
@@ -152,7 +152,7 @@ static void wxChangeListBoxColours(wxWindow* WXUNUSED(win), Widget widget)
int wxFileDialog::ShowModal() int wxFileDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
wxBeginBusyCursor(); wxBeginBusyCursor();

View File

@@ -40,7 +40,7 @@
#include "wx/settings.h" #include "wx/settings.h"
#endif #endif
#include "wx/testing.h" #include "wx/modalhook.h"
#include "wx/motif/private.h" #include "wx/motif/private.h"
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@@ -106,7 +106,7 @@ extern "C"
int wxMessageDialog::ShowModal() int wxMessageDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
const long style = GetMessageDialogStyle(); const long style = GetMessageDialogStyle();

View File

@@ -27,7 +27,7 @@
#if wxUSE_COLOURDLG && !(defined(__SMARTPHONE__) && defined(__WXWINCE__)) #if wxUSE_COLOURDLG && !(defined(__SMARTPHONE__) && defined(__WXWINCE__))
#include "wx/colordlg.h" #include "wx/colordlg.h"
#include "wx/testing.h" #include "wx/modalhook.h"
#ifndef WX_PRECOMP #ifndef WX_PRECOMP
#include "wx/msw/wrapcdlg.h" #include "wx/msw/wrapcdlg.h"
@@ -115,7 +115,7 @@ bool wxColourDialog::Create(wxWindow *parent, wxColourData *data)
int wxColourDialog::ShowModal() int wxColourDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
// initialize the struct used by Windows // initialize the struct used by Windows
CHOOSECOLOR chooseColorStruct; CHOOSECOLOR chooseColorStruct;

View File

@@ -25,7 +25,7 @@
#endif #endif
#include "wx/dialog.h" #include "wx/dialog.h"
#include "wx/testing.h" #include "wx/modalhook.h"
#ifndef WX_PRECOMP #ifndef WX_PRECOMP
#include "wx/msw/wrapcdlg.h" #include "wx/msw/wrapcdlg.h"
@@ -198,7 +198,7 @@ bool wxDialog::Show(bool show)
// show dialog modally // show dialog modally
int wxDialog::ShowModal() int wxDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
wxASSERT_MSG( !IsModal(), wxT("ShowModal() can't be called twice") ); wxASSERT_MSG( !IsModal(), wxT("ShowModal() can't be called twice") );

View File

@@ -30,7 +30,7 @@
(defined(__HANDHELDPC__) && (_WIN32_WCE >= 500))) (defined(__HANDHELDPC__) && (_WIN32_WCE >= 500)))
#include "wx/dirdlg.h" #include "wx/dirdlg.h"
#include "wx/testing.h" #include "wx/modalhook.h"
#ifndef WX_PRECOMP #ifndef WX_PRECOMP
#include "wx/utils.h" #include "wx/utils.h"
@@ -221,7 +221,7 @@ void wxDirDialog::SetPath(const wxString& path)
int wxDirDialog::ShowModal() int wxDirDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
wxWindow* const parent = GetParent(); wxWindow* const parent = GetParent();
WXHWND hWndParent = parent ? GetHwndOf(parent) : NULL; WXHWND hWndParent = parent ? GetHwndOf(parent) : NULL;

View File

@@ -47,7 +47,7 @@
#include "wx/filename.h" #include "wx/filename.h"
#include "wx/scopeguard.h" #include "wx/scopeguard.h"
#include "wx/tokenzr.h" #include "wx/tokenzr.h"
#include "wx/testing.h" #include "wx/modalhook.h"
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// constants // constants
@@ -450,7 +450,7 @@ void wxFileDialog::MSWOnInitDialogHook(WXHWND hwnd)
int wxFileDialog::ShowModal() int wxFileDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
HWND hWnd = 0; HWND hWnd = 0;
if (m_parent) hWnd = (HWND) m_parent->GetHWND(); if (m_parent) hWnd = (HWND) m_parent->GetHWND();

View File

@@ -27,7 +27,7 @@
#if wxUSE_FONTDLG #if wxUSE_FONTDLG
#include "wx/fontdlg.h" #include "wx/fontdlg.h"
#include "wx/testing.h" #include "wx/modalhook.h"
#ifndef WX_PRECOMP #ifndef WX_PRECOMP
#include "wx/msw/wrapcdlg.h" #include "wx/msw/wrapcdlg.h"
@@ -56,7 +56,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxFontDialog, wxDialog)
int wxFontDialog::ShowModal() int wxFontDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
// It should be OK to always use GDI simulations // It should be OK to always use GDI simulations
DWORD flags = CF_SCREENFONTS /* | CF_NOSIMULATIONS */ ; DWORD flags = CF_SCREENFONTS /* | CF_NOSIMULATIONS */ ;

View File

@@ -42,7 +42,7 @@
#include "wx/msw/private/button.h" #include "wx/msw/private/button.h"
#include "wx/msw/private/metrics.h" #include "wx/msw/private/metrics.h"
#include "wx/msw/private/msgdlg.h" #include "wx/msw/private/msgdlg.h"
#include "wx/testing.h" #include "wx/modalhook.h"
#if wxUSE_MSGBOX_HOOK #if wxUSE_MSGBOX_HOOK
#include "wx/fontutil.h" #include "wx/fontutil.h"
@@ -592,7 +592,7 @@ int wxMessageDialog::ShowMessageBox()
int wxMessageDialog::ShowModal() int wxMessageDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
#ifdef wxHAS_MSW_TASKDIALOG #ifdef wxHAS_MSW_TASKDIALOG
if ( HasNativeTaskDialog() ) if ( HasNativeTaskDialog() )

View File

@@ -39,7 +39,7 @@
#include "wx/msw/printdlg.h" #include "wx/msw/printdlg.h"
#include "wx/msw/dcprint.h" #include "wx/msw/dcprint.h"
#include "wx/paper.h" #include "wx/paper.h"
#include "wx/testing.h" #include "wx/modalhook.h"
#include <stdlib.h> #include <stdlib.h>
@@ -739,7 +739,7 @@ wxWindowsPrintDialog::~wxWindowsPrintDialog()
int wxWindowsPrintDialog::ShowModal() int wxWindowsPrintDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
ConvertToNative( m_printDialogData ); ConvertToNative( m_printDialogData );
@@ -960,7 +960,7 @@ wxWindowsPageSetupDialog::~wxWindowsPageSetupDialog()
int wxWindowsPageSetupDialog::ShowModal() int wxWindowsPageSetupDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
ConvertToNative( m_pageSetupData ); ConvertToNative( m_pageSetupData );

View File

@@ -18,7 +18,7 @@
#if wxUSE_RICHMSGDLG #if wxUSE_RICHMSGDLG
#include "wx/richmsgdlg.h" #include "wx/richmsgdlg.h"
#include "wx/testing.h" #include "wx/modalhook.h"
#ifndef WX_PRECOMP #ifndef WX_PRECOMP
#include "wx/msw/private.h" #include "wx/msw/private.h"
@@ -34,7 +34,7 @@
int wxRichMessageDialog::ShowModal() int wxRichMessageDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
#ifdef wxHAS_MSW_TASKDIALOG #ifdef wxHAS_MSW_TASKDIALOG
using namespace wxMSWMessageDialog; using namespace wxMSWMessageDialog;

View File

@@ -47,7 +47,7 @@
#include <string.h> #include <string.h>
#include "wx/filename.h" #include "wx/filename.h"
#include "wx/testing.h" #include "wx/modalhook.h"
// ============================================================================ // ============================================================================
// implementation // implementation
@@ -113,7 +113,7 @@ void wxFileDialog::SetPath(const wxString& path)
int wxFileDialog::ShowModal() int wxFileDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
wxWindow* parentWindow = GetParent(); wxWindow* parentWindow = GetParent();
if (!parentWindow) if (!parentWindow)

View File

@@ -26,7 +26,7 @@
#include "wx/os2/private.h" #include "wx/os2/private.h"
#include "wx/evtloop.h" #include "wx/evtloop.h"
#include "wx/scopedptr.h" #include "wx/scopedptr.h"
#include "wx/testing.h" #include "wx/modalhook.h"
#define wxDIALOG_DEFAULT_X 300 #define wxDIALOG_DEFAULT_X 300
#define wxDIALOG_DEFAULT_Y 300 #define wxDIALOG_DEFAULT_Y 300
@@ -220,7 +220,7 @@ bool wxDialog::Show( bool bShow )
// //
int wxDialog::ShowModal() int wxDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
wxASSERT_MSG( !IsModal(), wxT("wxDialog::ShowModal() reentered?") ); wxASSERT_MSG( !IsModal(), wxT("wxDialog::ShowModal() reentered?") );

View File

@@ -13,7 +13,7 @@
#include "wx/wxprec.h" #include "wx/wxprec.h"
#include "wx/dirdlg.h" #include "wx/dirdlg.h"
#include "wx/testing.h" #include "wx/modalhook.h"
#ifndef WX_PRECOMP #ifndef WX_PRECOMP
#include <stdio.h> #include <stdio.h>
@@ -43,7 +43,7 @@ wxDirDialog::wxDirDialog(wxWindow *parent, const wxString& message,
int wxDirDialog::ShowModal() int wxDirDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
// TODO // TODO
return wxID_CANCEL; return wxID_CANCEL;

View File

@@ -39,7 +39,7 @@
#include <string.h> #include <string.h>
#include "wx/tokenzr.h" #include "wx/tokenzr.h"
#include "wx/testing.h" #include "wx/modalhook.h"
#define wxMAXPATH 1024 #define wxMAXPATH 1024
#define wxMAXFILE 1024 #define wxMAXFILE 1024
@@ -105,7 +105,7 @@ void wxFileDialog::GetPaths (
int wxFileDialog::ShowModal() int wxFileDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
wxString sTheFilter; wxString sTheFilter;
wxString sFilterBuffer; wxString sFilterBuffer;

View File

@@ -23,7 +23,7 @@
#endif #endif
#include "wx/fontutil.h" #include "wx/fontutil.h"
#include "wx/testing.h" #include "wx/modalhook.h"
#define INCL_PM #define INCL_PM
#include <os2.h> #include <os2.h>
@@ -37,7 +37,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxFontDialog, wxDialog)
int wxFontDialog::ShowModal() int wxFontDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
FONTDLG vFontDlg; FONTDLG vFontDlg;
char zCurrentFont[FACESIZE]; char zCurrentFont[FACESIZE];

View File

@@ -22,7 +22,7 @@
#include "wx/math.h" #include "wx/math.h"
#endif #endif
#include "wx/testing.h" #include "wx/modalhook.h"
#include "wx/os2/private.h" #include "wx/os2/private.h"
#include <stdlib.h> #include <stdlib.h>
@@ -35,7 +35,7 @@ IMPLEMENT_CLASS(wxMessageDialog, wxDialog)
int wxMessageDialog::ShowModal() int wxMessageDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
HWND hWnd = 0; HWND hWnd = 0;
ULONG ulStyle = MB_OK; ULONG ulStyle = MB_OK;

View File

@@ -14,7 +14,7 @@
#include "wx/colordlg.h" #include "wx/colordlg.h"
#include "wx/fontdlg.h" #include "wx/fontdlg.h"
#include "wx/testing.h" #include "wx/modalhook.h"
#if !USE_NATIVE_FONT_DIALOG_FOR_MACOSX #if !USE_NATIVE_FONT_DIALOG_FOR_MACOSX
@@ -48,7 +48,7 @@ bool wxColourDialog::Create(wxWindow *parent, wxColourData *data)
int wxColourDialog::ShowModal() int wxColourDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
RGBColor currentColor ; RGBColor currentColor ;

View File

@@ -22,7 +22,7 @@
#include "wx/colordlg.h" #include "wx/colordlg.h"
#include "wx/fontdlg.h" #include "wx/fontdlg.h"
#include "wx/testing.h" #include "wx/modalhook.h"
// ============================================================================ // ============================================================================
// implementation // implementation
@@ -124,7 +124,7 @@ bool wxColourDialog::Create(wxWindow *parent, wxColourData *data)
} }
int wxColourDialog::ShowModal() int wxColourDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
//Start the pool. Required for carbon interaction //Start the pool. Required for carbon interaction
//(For those curious, the only thing that happens //(For those curious, the only thing that happens

View File

@@ -21,7 +21,7 @@
#endif // WX_PRECOMP #endif // WX_PRECOMP
#include "wx/filename.h" #include "wx/filename.h"
#include "wx/testing.h" #include "wx/modalhook.h"
#include "wx/osx/private.h" #include "wx/osx/private.h"
@@ -73,7 +73,7 @@ wxDirDialog::wxDirDialog(wxWindow *parent,
int wxDirDialog::ShowModal() int wxDirDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
NavDialogRef dialog = NULL; NavDialogRef dialog = NULL;
NavDialogCreationOptions options; NavDialogCreationOptions options;

View File

@@ -26,7 +26,7 @@
#include "wx/filename.h" #include "wx/filename.h"
#include "wx/osx/private.h" #include "wx/osx/private.h"
#include "wx/testing.h" #include "wx/modalhook.h"
#ifndef __DARWIN__ #ifndef __DARWIN__
#include <Navigation.h> #include <Navigation.h>
@@ -477,7 +477,7 @@ void wxFileDialog::SetupExtraControls(WXWindow nativeWindow)
int wxFileDialog::ShowModal() int wxFileDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
m_paths.Empty(); m_paths.Empty();
m_fileNames.Empty(); m_fileNames.Empty();

View File

@@ -42,7 +42,7 @@
#include "wx/fontdlg.h" #include "wx/fontdlg.h"
#include "wx/fontutil.h" #include "wx/fontutil.h"
#include "wx/testing.h" #include "wx/modalhook.h"
#if wxOSX_USE_EXPERIMENTAL_FONTDIALOG #if wxOSX_USE_EXPERIMENTAL_FONTDIALOG
@@ -230,7 +230,7 @@ bool wxFontDialog::Create(wxWindow *parent, const wxFontData& data)
int wxFontDialog::ShowModal() int wxFontDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
#if wxOSX_USE_CARBON #if wxOSX_USE_CARBON

View File

@@ -28,7 +28,7 @@
#endif #endif
#include "wx/fontutil.h" #include "wx/fontutil.h"
#include "wx/testing.h" #include "wx/modalhook.h"
// ============================================================================ // ============================================================================
// implementation // implementation
@@ -435,7 +435,7 @@ bool wxFontDialog::Create(wxWindow *parent)
int wxFontDialog::ShowModal() int wxFontDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
//Start the pool. Required for carbon interaction //Start the pool. Required for carbon interaction
//(For those curious, the only thing that happens //(For those curious, the only thing that happens

View File

@@ -19,7 +19,7 @@
#endif #endif
#include "wx/thread.h" #include "wx/thread.h"
#include "wx/testing.h" #include "wx/modalhook.h"
#include "wx/osx/uma.h" #include "wx/osx/uma.h"
@@ -37,7 +37,7 @@ wxMessageDialog::wxMessageDialog(wxWindow *parent,
int wxMessageDialog::ShowModal() int wxMessageDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
int resultbutton = wxID_CANCEL; int resultbutton = wxID_CANCEL;

View File

@@ -28,11 +28,11 @@
#include "wx/osx/private/print.h" #include "wx/osx/private/print.h"
#include "wx/osx/private.h" #include "wx/osx/private.h"
#include "wx/statline.h" #include "wx/statline.h"
#include "wx/testing.h" #include "wx/modalhook.h"
int wxMacPrintDialog::ShowModal() int wxMacPrintDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
m_printDialogData.GetPrintData().ConvertToNative(); m_printDialogData.GetPrintData().ConvertToNative();
((wxOSXPrintData*)m_printDialogData.GetPrintData().GetNativeData())->TransferFrom( &m_printDialogData ); ((wxOSXPrintData*)m_printDialogData.GetPrintData().GetNativeData())->TransferFrom( &m_printDialogData );
@@ -77,7 +77,7 @@ int wxMacPrintDialog::ShowModal()
int wxMacPageSetupDialog::ShowModal() int wxMacPageSetupDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
m_pageSetupData.GetPrintData().ConvertToNative(); m_pageSetupData.GetPrintData().ConvertToNative();
wxOSXPrintData* nativeData = (wxOSXPrintData*)m_pageSetupData.GetPrintData().GetNativeData(); wxOSXPrintData* nativeData = (wxOSXPrintData*)m_pageSetupData.GetPrintData().GetNativeData();

View File

@@ -32,7 +32,7 @@
#include "wx/filename.h" #include "wx/filename.h"
#include "wx/evtloop.h" #include "wx/evtloop.h"
#include "wx/testing.h" #include "wx/modalhook.h"
#include "wx/osx/private.h" #include "wx/osx/private.h"
@@ -95,7 +95,7 @@ void wxDirDialog::ShowWindowModal()
int wxDirDialog::ShowModal() int wxDirDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
wxCFEventLoopPauseIdleEvents pause; wxCFEventLoopPauseIdleEvents pause;

View File

@@ -38,7 +38,7 @@
#include "wx/osx/private.h" #include "wx/osx/private.h"
#include "wx/sysopt.h" #include "wx/sysopt.h"
#include "wx/testing.h" #include "wx/modalhook.h"
#include <mach-o/dyld.h> #include <mach-o/dyld.h>
@@ -501,7 +501,7 @@ void wxFileDialog::SetupExtraControls(WXWindow nativeWindow)
int wxFileDialog::ShowModal() int wxFileDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
wxCFEventLoopPauseIdleEvents pause; wxCFEventLoopPauseIdleEvents pause;

View File

@@ -21,7 +21,7 @@
#include "wx/control.h" #include "wx/control.h"
#include "wx/thread.h" #include "wx/thread.h"
#include "wx/evtloop.h" #include "wx/evtloop.h"
#include "wx/testing.h" #include "wx/modalhook.h"
#include "wx/osx/private.h" #include "wx/osx/private.h"
@@ -63,7 +63,7 @@ wxMessageDialog::~wxMessageDialog()
int wxMessageDialog::ShowModal() int wxMessageDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
wxCFEventLoopPauseIdleEvents pause; wxCFEventLoopPauseIdleEvents pause;

View File

@@ -14,7 +14,7 @@
#if wxUSE_PRINTING_ARCHITECTURE #if wxUSE_PRINTING_ARCHITECTURE
#include "wx/printdlg.h" #include "wx/printdlg.h"
#include "wx/testing.h" #include "wx/modalhook.h"
#ifndef WX_PRECOMP #ifndef WX_PRECOMP
#include "wx/object.h" #include "wx/object.h"
@@ -60,7 +60,7 @@ void wxOSXCocoaPrintData::UpdateToPMState()
int wxMacPrintDialog::ShowModal() int wxMacPrintDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
m_printDialogData.GetPrintData().ConvertToNative(); m_printDialogData.GetPrintData().ConvertToNative();
@@ -85,7 +85,7 @@ int wxMacPrintDialog::ShowModal()
int wxMacPageSetupDialog::ShowModal() int wxMacPageSetupDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
m_pageSetupData.GetPrintData().ConvertToNative(); m_pageSetupData.GetPrintData().ConvertToNative();
((wxOSXCocoaPrintData*)m_pageSetupData.GetPrintData().GetNativeData())->TransferFrom( &m_pageSetupData ); ((wxOSXCocoaPrintData*)m_pageSetupData.GetPrintData().GetNativeData())->TransferFrom( &m_pageSetupData );

View File

@@ -13,7 +13,7 @@
#include "wx/dialog.h" #include "wx/dialog.h"
#include "wx/evtloop.h" #include "wx/evtloop.h"
#include "wx/testing.h" #include "wx/modalhook.h"
#ifndef WX_PRECOMP #ifndef WX_PRECOMP
#include "wx/app.h" #include "wx/app.h"
@@ -138,7 +138,7 @@ bool wxDialog::Show(bool show)
// Replacement for Show(true) for modal dialogs - returns return code // Replacement for Show(true) for modal dialogs - returns return code
int wxDialog::ShowModal() int wxDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
m_modality = wxDIALOG_MODALITY_APP_MODAL; m_modality = wxDIALOG_MODALITY_APP_MODAL;

View File

@@ -20,7 +20,7 @@
#include "wx/thread.h" #include "wx/thread.h"
#include "wx/osx/private.h" #include "wx/osx/private.h"
#include "wx/testing.h" #include "wx/modalhook.h"
IMPLEMENT_CLASS(wxMessageDialog, wxDialog) IMPLEMENT_CLASS(wxMessageDialog, wxDialog)
@@ -37,7 +37,7 @@ wxMessageDialog::wxMessageDialog(wxWindow *parent,
int wxMessageDialog::ShowModal() int wxMessageDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
int resultbutton = wxID_CANCEL; int resultbutton = wxID_CANCEL;

View File

@@ -29,7 +29,7 @@
#endif #endif
#include "wx/evtloop.h" #include "wx/evtloop.h"
#include "wx/testing.h" #include "wx/modalhook.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// wxDialog // wxDialog
@@ -166,7 +166,7 @@ bool wxDialog::IsModal() const
int wxDialog::ShowModal() int wxDialog::ShowModal()
{ {
WX_TESTING_SHOW_MODAL_HOOK(); WX_HOOK_MODAL_DIALOG();
if ( IsModal() ) if ( IsModal() )
{ {