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:
21
Makefile.in
21
Makefile.in
@@ -4111,6 +4111,7 @@ COND_USE_GUI_1_ALL_GUI_HEADERS = \
|
||||
wx/listbox.h \
|
||||
wx/mdi.h \
|
||||
wx/menu.h \
|
||||
wx/modalhook.h \
|
||||
wx/mousemanager.h \
|
||||
wx/msgdlg.h \
|
||||
wx/nativewin.h \
|
||||
@@ -4807,6 +4808,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS = \
|
||||
monodll_markupparser.o \
|
||||
monodll_matrix.o \
|
||||
monodll_menucmn.o \
|
||||
monodll_modalhook.o \
|
||||
monodll_mousemanager.o \
|
||||
monodll_nbkbase.o \
|
||||
monodll_overlaycmn.o \
|
||||
@@ -5028,6 +5030,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS = \
|
||||
monodll_markupparser.o \
|
||||
monodll_matrix.o \
|
||||
monodll_menucmn.o \
|
||||
monodll_modalhook.o \
|
||||
monodll_mousemanager.o \
|
||||
monodll_nbkbase.o \
|
||||
monodll_overlaycmn.o \
|
||||
@@ -7051,6 +7054,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_1 = \
|
||||
monolib_markupparser.o \
|
||||
monolib_matrix.o \
|
||||
monolib_menucmn.o \
|
||||
monolib_modalhook.o \
|
||||
monolib_mousemanager.o \
|
||||
monolib_nbkbase.o \
|
||||
monolib_overlaycmn.o \
|
||||
@@ -7272,6 +7276,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_1 = \
|
||||
monolib_markupparser.o \
|
||||
monolib_matrix.o \
|
||||
monolib_menucmn.o \
|
||||
monolib_modalhook.o \
|
||||
monolib_mousemanager.o \
|
||||
monolib_nbkbase.o \
|
||||
monolib_overlaycmn.o \
|
||||
@@ -9467,6 +9472,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_2 = \
|
||||
coredll_markupparser.o \
|
||||
coredll_matrix.o \
|
||||
coredll_menucmn.o \
|
||||
coredll_modalhook.o \
|
||||
coredll_mousemanager.o \
|
||||
coredll_nbkbase.o \
|
||||
coredll_overlaycmn.o \
|
||||
@@ -9688,6 +9694,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_2 = \
|
||||
coredll_markupparser.o \
|
||||
coredll_matrix.o \
|
||||
coredll_menucmn.o \
|
||||
coredll_modalhook.o \
|
||||
coredll_mousemanager.o \
|
||||
coredll_nbkbase.o \
|
||||
coredll_overlaycmn.o \
|
||||
@@ -11143,6 +11150,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_3 = \
|
||||
corelib_markupparser.o \
|
||||
corelib_matrix.o \
|
||||
corelib_menucmn.o \
|
||||
corelib_modalhook.o \
|
||||
corelib_mousemanager.o \
|
||||
corelib_nbkbase.o \
|
||||
corelib_overlaycmn.o \
|
||||
@@ -11364,6 +11372,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_3 = \
|
||||
corelib_markupparser.o \
|
||||
corelib_matrix.o \
|
||||
corelib_menucmn.o \
|
||||
corelib_modalhook.o \
|
||||
corelib_mousemanager.o \
|
||||
corelib_nbkbase.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@ $(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@ $(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@ $(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@ $(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@ $(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@ $(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@ $(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@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/mousemanager.cpp
|
||||
|
||||
|
@@ -709,6 +709,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
||||
src/common/markupparser.cpp
|
||||
src/common/matrix.cpp
|
||||
src/common/menucmn.cpp
|
||||
src/common/modalhook.cpp
|
||||
src/common/mousemanager.cpp
|
||||
src/common/nbkbase.cpp
|
||||
src/common/overlaycmn.cpp
|
||||
@@ -867,6 +868,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
||||
wx/listbox.h
|
||||
wx/mdi.h
|
||||
wx/menu.h
|
||||
wx/modalhook.h
|
||||
wx/mousemanager.h
|
||||
wx/msgdlg.h
|
||||
wx/nativewin.h
|
||||
|
@@ -1920,6 +1920,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_markupparser.obj \
|
||||
$(OBJS)\monodll_matrix.obj \
|
||||
$(OBJS)\monodll_menucmn.obj \
|
||||
$(OBJS)\monodll_modalhook.obj \
|
||||
$(OBJS)\monodll_mousemanager.obj \
|
||||
$(OBJS)\monodll_nbkbase.obj \
|
||||
$(OBJS)\monodll_overlaycmn.obj \
|
||||
@@ -2141,6 +2142,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_markupparser.obj \
|
||||
$(OBJS)\monodll_matrix.obj \
|
||||
$(OBJS)\monodll_menucmn.obj \
|
||||
$(OBJS)\monodll_modalhook.obj \
|
||||
$(OBJS)\monodll_mousemanager.obj \
|
||||
$(OBJS)\monodll_nbkbase.obj \
|
||||
$(OBJS)\monodll_overlaycmn.obj \
|
||||
@@ -3310,6 +3312,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_markupparser.obj \
|
||||
$(OBJS)\monolib_matrix.obj \
|
||||
$(OBJS)\monolib_menucmn.obj \
|
||||
$(OBJS)\monolib_modalhook.obj \
|
||||
$(OBJS)\monolib_mousemanager.obj \
|
||||
$(OBJS)\monolib_nbkbase.obj \
|
||||
$(OBJS)\monolib_overlaycmn.obj \
|
||||
@@ -3531,6 +3534,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_markupparser.obj \
|
||||
$(OBJS)\monolib_matrix.obj \
|
||||
$(OBJS)\monolib_menucmn.obj \
|
||||
$(OBJS)\monolib_modalhook.obj \
|
||||
$(OBJS)\monolib_mousemanager.obj \
|
||||
$(OBJS)\monolib_nbkbase.obj \
|
||||
$(OBJS)\monolib_overlaycmn.obj \
|
||||
@@ -4605,6 +4609,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\coredll_markupparser.obj \
|
||||
$(OBJS)\coredll_matrix.obj \
|
||||
$(OBJS)\coredll_menucmn.obj \
|
||||
$(OBJS)\coredll_modalhook.obj \
|
||||
$(OBJS)\coredll_mousemanager.obj \
|
||||
$(OBJS)\coredll_nbkbase.obj \
|
||||
$(OBJS)\coredll_overlaycmn.obj \
|
||||
@@ -4826,6 +4831,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\coredll_markupparser.obj \
|
||||
$(OBJS)\coredll_matrix.obj \
|
||||
$(OBJS)\coredll_menucmn.obj \
|
||||
$(OBJS)\coredll_modalhook.obj \
|
||||
$(OBJS)\coredll_mousemanager.obj \
|
||||
$(OBJS)\coredll_nbkbase.obj \
|
||||
$(OBJS)\coredll_overlaycmn.obj \
|
||||
@@ -5650,6 +5656,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\corelib_markupparser.obj \
|
||||
$(OBJS)\corelib_matrix.obj \
|
||||
$(OBJS)\corelib_menucmn.obj \
|
||||
$(OBJS)\corelib_modalhook.obj \
|
||||
$(OBJS)\corelib_mousemanager.obj \
|
||||
$(OBJS)\corelib_nbkbase.obj \
|
||||
$(OBJS)\corelib_overlaycmn.obj \
|
||||
@@ -5871,6 +5878,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\corelib_markupparser.obj \
|
||||
$(OBJS)\corelib_matrix.obj \
|
||||
$(OBJS)\corelib_menucmn.obj \
|
||||
$(OBJS)\corelib_modalhook.obj \
|
||||
$(OBJS)\corelib_mousemanager.obj \
|
||||
$(OBJS)\corelib_nbkbase.obj \
|
||||
$(OBJS)\corelib_overlaycmn.obj \
|
||||
@@ -15106,6 +15114,11 @@ $(OBJS)\monodll_menucmn.obj: ..\..\src\common\menucmn.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\menucmn.cpp
|
||||
!endif
|
||||
|
||||
!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
|
||||
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\mousemanager.cpp
|
||||
@@ -20631,6 +20644,11 @@ $(OBJS)\monolib_menucmn.obj: ..\..\src\common\menucmn.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\menucmn.cpp
|
||||
!endif
|
||||
|
||||
!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
|
||||
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\mousemanager.cpp
|
||||
@@ -26153,6 +26171,11 @@ $(OBJS)\coredll_menucmn.obj: ..\..\src\common\menucmn.cpp
|
||||
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\common\menucmn.cpp
|
||||
!endif
|
||||
|
||||
!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
|
||||
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\common\mousemanager.cpp
|
||||
@@ -30242,6 +30265,11 @@ $(OBJS)\corelib_menucmn.obj: ..\..\src\common\menucmn.cpp
|
||||
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\common\menucmn.cpp
|
||||
!endif
|
||||
|
||||
!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
|
||||
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\common\mousemanager.cpp
|
||||
|
@@ -1944,6 +1944,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_markupparser.o \
|
||||
$(OBJS)\monodll_matrix.o \
|
||||
$(OBJS)\monodll_menucmn.o \
|
||||
$(OBJS)\monodll_modalhook.o \
|
||||
$(OBJS)\monodll_mousemanager.o \
|
||||
$(OBJS)\monodll_nbkbase.o \
|
||||
$(OBJS)\monodll_overlaycmn.o \
|
||||
@@ -2167,6 +2168,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_markupparser.o \
|
||||
$(OBJS)\monodll_matrix.o \
|
||||
$(OBJS)\monodll_menucmn.o \
|
||||
$(OBJS)\monodll_modalhook.o \
|
||||
$(OBJS)\monodll_mousemanager.o \
|
||||
$(OBJS)\monodll_nbkbase.o \
|
||||
$(OBJS)\monodll_overlaycmn.o \
|
||||
@@ -3354,6 +3356,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_markupparser.o \
|
||||
$(OBJS)\monolib_matrix.o \
|
||||
$(OBJS)\monolib_menucmn.o \
|
||||
$(OBJS)\monolib_modalhook.o \
|
||||
$(OBJS)\monolib_mousemanager.o \
|
||||
$(OBJS)\monolib_nbkbase.o \
|
||||
$(OBJS)\monolib_overlaycmn.o \
|
||||
@@ -3577,6 +3580,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_markupparser.o \
|
||||
$(OBJS)\monolib_matrix.o \
|
||||
$(OBJS)\monolib_menucmn.o \
|
||||
$(OBJS)\monolib_modalhook.o \
|
||||
$(OBJS)\monolib_mousemanager.o \
|
||||
$(OBJS)\monolib_nbkbase.o \
|
||||
$(OBJS)\monolib_overlaycmn.o \
|
||||
@@ -4679,6 +4683,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\coredll_markupparser.o \
|
||||
$(OBJS)\coredll_matrix.o \
|
||||
$(OBJS)\coredll_menucmn.o \
|
||||
$(OBJS)\coredll_modalhook.o \
|
||||
$(OBJS)\coredll_mousemanager.o \
|
||||
$(OBJS)\coredll_nbkbase.o \
|
||||
$(OBJS)\coredll_overlaycmn.o \
|
||||
@@ -4902,6 +4907,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\coredll_markupparser.o \
|
||||
$(OBJS)\coredll_matrix.o \
|
||||
$(OBJS)\coredll_menucmn.o \
|
||||
$(OBJS)\coredll_modalhook.o \
|
||||
$(OBJS)\coredll_mousemanager.o \
|
||||
$(OBJS)\coredll_nbkbase.o \
|
||||
$(OBJS)\coredll_overlaycmn.o \
|
||||
@@ -5738,6 +5744,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\corelib_markupparser.o \
|
||||
$(OBJS)\corelib_matrix.o \
|
||||
$(OBJS)\corelib_menucmn.o \
|
||||
$(OBJS)\corelib_modalhook.o \
|
||||
$(OBJS)\corelib_mousemanager.o \
|
||||
$(OBJS)\corelib_nbkbase.o \
|
||||
$(OBJS)\corelib_overlaycmn.o \
|
||||
@@ -5961,6 +5968,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\corelib_markupparser.o \
|
||||
$(OBJS)\corelib_matrix.o \
|
||||
$(OBJS)\corelib_menucmn.o \
|
||||
$(OBJS)\corelib_modalhook.o \
|
||||
$(OBJS)\corelib_mousemanager.o \
|
||||
$(OBJS)\corelib_nbkbase.o \
|
||||
$(OBJS)\corelib_overlaycmn.o \
|
||||
@@ -16616,6 +16624,11 @@ $(OBJS)\monodll_menucmn.o: ../../src/common/menucmn.cpp
|
||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
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
|
||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
@@ -23585,6 +23598,11 @@ $(OBJS)\monolib_menucmn.o: ../../src/common/menucmn.cpp
|
||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
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
|
||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
@@ -30551,6 +30569,11 @@ $(OBJS)\coredll_menucmn.o: ../../src/common/menucmn.cpp
|
||||
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
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
|
||||
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
@@ -35858,6 +35881,11 @@ $(OBJS)\corelib_menucmn.o: ../../src/common/menucmn.cpp
|
||||
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
endif
|
||||
|
||||
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
|
||||
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
@@ -2248,6 +2248,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_markupparser.obj \
|
||||
$(OBJS)\monodll_matrix.obj \
|
||||
$(OBJS)\monodll_menucmn.obj \
|
||||
$(OBJS)\monodll_modalhook.obj \
|
||||
$(OBJS)\monodll_mousemanager.obj \
|
||||
$(OBJS)\monodll_nbkbase.obj \
|
||||
$(OBJS)\monodll_overlaycmn.obj \
|
||||
@@ -2469,6 +2470,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_markupparser.obj \
|
||||
$(OBJS)\monodll_matrix.obj \
|
||||
$(OBJS)\monodll_menucmn.obj \
|
||||
$(OBJS)\monodll_modalhook.obj \
|
||||
$(OBJS)\monodll_mousemanager.obj \
|
||||
$(OBJS)\monodll_nbkbase.obj \
|
||||
$(OBJS)\monodll_overlaycmn.obj \
|
||||
@@ -3644,6 +3646,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_markupparser.obj \
|
||||
$(OBJS)\monolib_matrix.obj \
|
||||
$(OBJS)\monolib_menucmn.obj \
|
||||
$(OBJS)\monolib_modalhook.obj \
|
||||
$(OBJS)\monolib_mousemanager.obj \
|
||||
$(OBJS)\monolib_nbkbase.obj \
|
||||
$(OBJS)\monolib_overlaycmn.obj \
|
||||
@@ -3865,6 +3868,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_markupparser.obj \
|
||||
$(OBJS)\monolib_matrix.obj \
|
||||
$(OBJS)\monolib_menucmn.obj \
|
||||
$(OBJS)\monolib_modalhook.obj \
|
||||
$(OBJS)\monolib_mousemanager.obj \
|
||||
$(OBJS)\monolib_nbkbase.obj \
|
||||
$(OBJS)\monolib_overlaycmn.obj \
|
||||
@@ -5005,6 +5009,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\coredll_markupparser.obj \
|
||||
$(OBJS)\coredll_matrix.obj \
|
||||
$(OBJS)\coredll_menucmn.obj \
|
||||
$(OBJS)\coredll_modalhook.obj \
|
||||
$(OBJS)\coredll_mousemanager.obj \
|
||||
$(OBJS)\coredll_nbkbase.obj \
|
||||
$(OBJS)\coredll_overlaycmn.obj \
|
||||
@@ -5226,6 +5231,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\coredll_markupparser.obj \
|
||||
$(OBJS)\coredll_matrix.obj \
|
||||
$(OBJS)\coredll_menucmn.obj \
|
||||
$(OBJS)\coredll_modalhook.obj \
|
||||
$(OBJS)\coredll_mousemanager.obj \
|
||||
$(OBJS)\coredll_nbkbase.obj \
|
||||
$(OBJS)\coredll_overlaycmn.obj \
|
||||
@@ -6056,6 +6062,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\corelib_markupparser.obj \
|
||||
$(OBJS)\corelib_matrix.obj \
|
||||
$(OBJS)\corelib_menucmn.obj \
|
||||
$(OBJS)\corelib_modalhook.obj \
|
||||
$(OBJS)\corelib_mousemanager.obj \
|
||||
$(OBJS)\corelib_nbkbase.obj \
|
||||
$(OBJS)\corelib_overlaycmn.obj \
|
||||
@@ -6277,6 +6284,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\corelib_markupparser.obj \
|
||||
$(OBJS)\corelib_matrix.obj \
|
||||
$(OBJS)\corelib_menucmn.obj \
|
||||
$(OBJS)\corelib_modalhook.obj \
|
||||
$(OBJS)\corelib_mousemanager.obj \
|
||||
$(OBJS)\corelib_nbkbase.obj \
|
||||
$(OBJS)\corelib_overlaycmn.obj \
|
||||
@@ -15826,6 +15834,11 @@ $(OBJS)\monodll_menucmn.obj: ..\..\src\common\menucmn.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\menucmn.cpp
|
||||
!endif
|
||||
|
||||
!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
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\mousemanager.cpp
|
||||
@@ -21351,6 +21364,11 @@ $(OBJS)\monolib_menucmn.obj: ..\..\src\common\menucmn.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\menucmn.cpp
|
||||
!endif
|
||||
|
||||
!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
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\mousemanager.cpp
|
||||
@@ -26873,6 +26891,11 @@ $(OBJS)\coredll_menucmn.obj: ..\..\src\common\menucmn.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\common\menucmn.cpp
|
||||
!endif
|
||||
|
||||
!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
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\common\mousemanager.cpp
|
||||
@@ -30962,6 +30985,11 @@ $(OBJS)\corelib_menucmn.obj: ..\..\src\common\menucmn.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\common\menucmn.cpp
|
||||
!endif
|
||||
|
||||
!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
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\common\mousemanager.cpp
|
||||
|
@@ -382,6 +382,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = &
|
||||
$(OBJS)\monodll_markupparser.obj &
|
||||
$(OBJS)\monodll_matrix.obj &
|
||||
$(OBJS)\monodll_menucmn.obj &
|
||||
$(OBJS)\monodll_modalhook.obj &
|
||||
$(OBJS)\monodll_mousemanager.obj &
|
||||
$(OBJS)\monodll_nbkbase.obj &
|
||||
$(OBJS)\monodll_overlaycmn.obj &
|
||||
@@ -605,6 +606,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = &
|
||||
$(OBJS)\monodll_markupparser.obj &
|
||||
$(OBJS)\monodll_matrix.obj &
|
||||
$(OBJS)\monodll_menucmn.obj &
|
||||
$(OBJS)\monodll_modalhook.obj &
|
||||
$(OBJS)\monodll_mousemanager.obj &
|
||||
$(OBJS)\monodll_nbkbase.obj &
|
||||
$(OBJS)\monodll_overlaycmn.obj &
|
||||
@@ -1808,6 +1810,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = &
|
||||
$(OBJS)\monolib_markupparser.obj &
|
||||
$(OBJS)\monolib_matrix.obj &
|
||||
$(OBJS)\monolib_menucmn.obj &
|
||||
$(OBJS)\monolib_modalhook.obj &
|
||||
$(OBJS)\monolib_mousemanager.obj &
|
||||
$(OBJS)\monolib_nbkbase.obj &
|
||||
$(OBJS)\monolib_overlaycmn.obj &
|
||||
@@ -2031,6 +2034,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = &
|
||||
$(OBJS)\monolib_markupparser.obj &
|
||||
$(OBJS)\monolib_matrix.obj &
|
||||
$(OBJS)\monolib_menucmn.obj &
|
||||
$(OBJS)\monolib_modalhook.obj &
|
||||
$(OBJS)\monolib_mousemanager.obj &
|
||||
$(OBJS)\monolib_nbkbase.obj &
|
||||
$(OBJS)\monolib_overlaycmn.obj &
|
||||
@@ -3159,6 +3163,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = &
|
||||
$(OBJS)\coredll_markupparser.obj &
|
||||
$(OBJS)\coredll_matrix.obj &
|
||||
$(OBJS)\coredll_menucmn.obj &
|
||||
$(OBJS)\coredll_modalhook.obj &
|
||||
$(OBJS)\coredll_mousemanager.obj &
|
||||
$(OBJS)\coredll_nbkbase.obj &
|
||||
$(OBJS)\coredll_overlaycmn.obj &
|
||||
@@ -3382,6 +3387,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = &
|
||||
$(OBJS)\coredll_markupparser.obj &
|
||||
$(OBJS)\coredll_matrix.obj &
|
||||
$(OBJS)\coredll_menucmn.obj &
|
||||
$(OBJS)\coredll_modalhook.obj &
|
||||
$(OBJS)\coredll_mousemanager.obj &
|
||||
$(OBJS)\coredll_nbkbase.obj &
|
||||
$(OBJS)\coredll_overlaycmn.obj &
|
||||
@@ -4223,6 +4229,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = &
|
||||
$(OBJS)\corelib_markupparser.obj &
|
||||
$(OBJS)\corelib_matrix.obj &
|
||||
$(OBJS)\corelib_menucmn.obj &
|
||||
$(OBJS)\corelib_modalhook.obj &
|
||||
$(OBJS)\corelib_mousemanager.obj &
|
||||
$(OBJS)\corelib_nbkbase.obj &
|
||||
$(OBJS)\corelib_overlaycmn.obj &
|
||||
@@ -4446,6 +4453,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = &
|
||||
$(OBJS)\corelib_markupparser.obj &
|
||||
$(OBJS)\corelib_matrix.obj &
|
||||
$(OBJS)\corelib_menucmn.obj &
|
||||
$(OBJS)\corelib_modalhook.obj &
|
||||
$(OBJS)\corelib_mousemanager.obj &
|
||||
$(OBJS)\corelib_nbkbase.obj &
|
||||
$(OBJS)\corelib_overlaycmn.obj &
|
||||
@@ -16965,6 +16973,11 @@ $(OBJS)\monodll_menucmn.obj : .AUTODEPEND ..\..\src\common\menucmn.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
||||
!endif
|
||||
|
||||
!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
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
||||
@@ -23934,6 +23947,11 @@ $(OBJS)\monolib_menucmn.obj : .AUTODEPEND ..\..\src\common\menucmn.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
||||
!endif
|
||||
|
||||
!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
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
||||
@@ -30900,6 +30918,11 @@ $(OBJS)\coredll_menucmn.obj : .AUTODEPEND ..\..\src\common\menucmn.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
|
||||
!endif
|
||||
|
||||
!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
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
|
||||
@@ -36207,6 +36230,11 @@ $(OBJS)\corelib_menucmn.obj : .AUTODEPEND ..\..\src\common\menucmn.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
|
||||
!endif
|
||||
|
||||
!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
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
|
||||
|
@@ -478,6 +478,10 @@ SOURCE=..\..\src\common\menucmn.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\src\common\modalhook.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\src\common\mousemanager.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
@@ -2800,6 +2804,10 @@ SOURCE=..\..\include\wx\minifram.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\include\wx\modalhook.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\include\wx\mousemanager.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
@@ -3605,4 +3613,3 @@ SOURCE=..\..\src\xrc\xmlreshandler.cpp
|
||||
# End Group
|
||||
# End Target
|
||||
# End Project
|
||||
|
||||
|
@@ -552,6 +552,9 @@
|
||||
<File
|
||||
RelativePath="..\..\src\common\menucmn.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\common\modalhook.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\common\mousemanager.cpp">
|
||||
</File>
|
||||
@@ -2285,6 +2288,9 @@
|
||||
<File
|
||||
RelativePath="..\..\include\wx\minifram.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\wx\modalhook.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\wx\mousemanager.h">
|
||||
</File>
|
||||
|
@@ -752,6 +752,10 @@
|
||||
RelativePath="..\..\src\common\menucmn.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\common\modalhook.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\common\mousemanager.cpp"
|
||||
>
|
||||
@@ -3055,6 +3059,10 @@
|
||||
RelativePath="..\..\include\wx\minifram.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\wx\modalhook.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\wx\mousemanager.h"
|
||||
>
|
||||
|
@@ -750,6 +750,10 @@
|
||||
RelativePath="..\..\src\common\menucmn.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\common\modalhook.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\common\mousemanager.cpp"
|
||||
>
|
||||
@@ -3053,6 +3057,10 @@
|
||||
RelativePath="..\..\include\wx\minifram.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\wx\modalhook.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\wx\mousemanager.h"
|
||||
>
|
||||
|
@@ -601,6 +601,7 @@ All (GUI):
|
||||
- Add support for wxRibbonBar and related controls to XRC (Armel Asselin).
|
||||
- Add wxBITMAP_PNG() macro similar to wxBITMAP() but for PNG files.
|
||||
- Add new wxSimplebook class.
|
||||
- Implement possibility to hook all modal dialog calls.
|
||||
- Support hexadecimal numbers in wxSpinCtrl.
|
||||
- Respect window max size in wxBoxSizer (Nathan Ridge).
|
||||
- Add support for searching in wxWebView for MSW and GTK (Allonii).
|
||||
|
105
include/wx/modalhook.h
Normal file
105
include/wx/modalhook.h
Normal 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_
|
@@ -13,56 +13,11 @@
|
||||
|
||||
#include "wx/debug.h"
|
||||
#include "wx/string.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
class WXDLLIMPEXP_FWD_CORE wxDialog;
|
||||
class WXDLLIMPEXP_FWD_CORE wxMessageDialogBase;
|
||||
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
|
||||
// ----------------------------------------------------------------------------
|
||||
@@ -233,15 +188,42 @@ class wxTestingModalHook : public wxModalDialogHook
|
||||
public:
|
||||
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() )
|
||||
{
|
||||
@@ -281,37 +263,6 @@ public:
|
||||
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:
|
||||
virtual void ReportFailure(const wxString& msg)
|
||||
{
|
||||
@@ -319,7 +270,6 @@ protected:
|
||||
}
|
||||
|
||||
private:
|
||||
wxModalDialogHook *m_prevHook;
|
||||
std::queue<const wxModalExpectation*> m_expectations;
|
||||
|
||||
wxDECLARE_NO_COPY_CLASS(wxTestingModalHook);
|
||||
|
149
interface/wx/modalhook.h
Normal file
149
interface/wx/modalhook.h
Normal 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);
|
||||
};
|
@@ -32,6 +32,7 @@
|
||||
#include "wx/minifram.h"
|
||||
#include "wx/sysopt.h"
|
||||
#include "wx/notifmsg.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
#if wxUSE_RICHMSGDLG
|
||||
#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_TEST_DEFAULT_ACTION, MyFrame::OnTestDefaultActionDialog)
|
||||
EVT_MENU(DIALOGS_MODAL_HOOK, MyFrame::OnModalHook)
|
||||
|
||||
EVT_MENU(DIALOGS_REQUEST, MyFrame::OnRequestUserAttention)
|
||||
#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_TEST_DEFAULT_ACTION, wxT("&Test dialog default action"));
|
||||
menuDlg->AppendCheckItem(DIALOGS_MODAL_HOOK, "Enable modal dialog hook");
|
||||
|
||||
menuDlg->AppendSeparator();
|
||||
menuDlg->Append(wxID_EXIT, wxT("E&xit\tAlt-X"));
|
||||
@@ -2105,6 +2108,32 @@ void MyFrame::OnTestDefaultActionDialog(wxCommandEvent& WXUNUSED(event))
|
||||
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) )
|
||||
{
|
||||
Close(true);
|
||||
|
@@ -475,6 +475,7 @@ public:
|
||||
void OnStandardButtonsSizerDialog(wxCommandEvent& event);
|
||||
|
||||
void OnTestDefaultActionDialog(wxCommandEvent& event);
|
||||
void OnModalHook(wxCommandEvent& event);
|
||||
|
||||
void OnExit(wxCommandEvent& event);
|
||||
|
||||
@@ -588,7 +589,8 @@ enum
|
||||
DIALOGS_PROPERTY_SHEET_TOOLBOOK,
|
||||
DIALOGS_PROPERTY_SHEET_BUTTONTOOLBOOK,
|
||||
DIALOGS_STANDARD_BUTTON_SIZER_DIALOG,
|
||||
DIALOGS_TEST_DEFAULT_ACTION
|
||||
DIALOGS_TEST_DEFAULT_ACTION,
|
||||
DIALOGS_MODAL_HOOK
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@@ -19,7 +19,7 @@
|
||||
#include "wx/settings.h"
|
||||
#endif //WX_PRECOMP
|
||||
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
#include "wx/cocoa/autorelease.h"
|
||||
#include "wx/cocoa/string.h"
|
||||
|
||||
@@ -128,7 +128,7 @@ bool wxDialog::Show(bool show)
|
||||
// is stopped (via EndModal()) it returns the exit code.
|
||||
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"));
|
||||
|
||||
|
@@ -31,7 +31,7 @@
|
||||
#endif
|
||||
|
||||
#include "wx/filename.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
#include "wx/cocoa/autorelease.h"
|
||||
#include "wx/cocoa/string.h"
|
||||
@@ -105,7 +105,7 @@ wxDirDialog::~wxDirDialog()
|
||||
|
||||
int wxDirDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
wxAutoNSAutoreleasePool thePool;
|
||||
|
||||
|
@@ -33,7 +33,7 @@
|
||||
|
||||
#include "wx/cocoa/autorelease.h"
|
||||
#include "wx/cocoa/string.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
#import <AppKit/NSOpenPanel.h>
|
||||
#import <AppKit/NSSavePanel.h>
|
||||
@@ -197,7 +197,7 @@ void wxFileDialog::SetPath(const wxString& path)
|
||||
|
||||
int wxFileDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
wxAutoNSAutoreleasePool thePool;
|
||||
|
||||
|
@@ -31,7 +31,7 @@
|
||||
|
||||
#include "wx/cocoa/autorelease.h"
|
||||
#include "wx/cocoa/string.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
#import <AppKit/NSAlert.h>
|
||||
// ============================================================================
|
||||
@@ -73,7 +73,7 @@ void wxCocoaMessageDialog::DoSetCustomLabel(wxString& var, const ButtonLabel& va
|
||||
|
||||
int wxCocoaMessageDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
wxAutoNSAutoreleasePool thePool;
|
||||
|
||||
|
@@ -43,7 +43,7 @@
|
||||
#include "wx/bookctrl.h"
|
||||
#include "wx/scrolwin.h"
|
||||
#include "wx/textwrapper.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
#if wxUSE_DISPLAY
|
||||
#include "wx/display.h"
|
||||
@@ -51,8 +51,6 @@
|
||||
|
||||
extern WXDLLEXPORT_DATA(const char) wxDialogNameStr[] = "dialog";
|
||||
|
||||
wxModalDialogHook *wxModalDialogHook::ms_instance = NULL;
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// XTI
|
||||
// ----------------------------------------------------------------------------
|
||||
|
120
src/common/modalhook.cpp
Normal file
120
src/common/modalhook.cpp
Normal 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);
|
||||
}
|
||||
}
|
@@ -49,7 +49,7 @@
|
||||
#include "wx/filectrl.h"
|
||||
#include "wx/generic/filedlgg.h"
|
||||
#include "wx/debug.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
#if wxUSE_TOOLTIPS
|
||||
#include "wx/tooltip.h"
|
||||
@@ -309,7 +309,7 @@ wxBitmapButton* wxGenericFileDialog::AddBitmapButton( wxWindowID winId,
|
||||
|
||||
int wxGenericFileDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
if (CreateExtraControl())
|
||||
{
|
||||
|
@@ -39,7 +39,7 @@
|
||||
#include "wx/msgdlg.h"
|
||||
#include "wx/artprov.h"
|
||||
#include "wx/textwrapper.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
#if wxUSE_STATLINE
|
||||
#include "wx/statline.h"
|
||||
@@ -267,7 +267,7 @@ void wxGenericMessageDialog::OnCancel(wxCommandEvent& WXUNUSED(event))
|
||||
|
||||
int wxGenericMessageDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
if ( !m_created )
|
||||
{
|
||||
|
@@ -19,7 +19,7 @@
|
||||
#if wxUSE_COLOURDLG
|
||||
|
||||
#include "wx/colordlg.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/intl.h"
|
||||
@@ -84,7 +84,7 @@ bool wxColourDialog::Create(wxWindow *parent, wxColourData *data)
|
||||
|
||||
int wxColourDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
ColourDataToDialog();
|
||||
|
||||
|
@@ -19,7 +19,7 @@
|
||||
#include "wx/evtloop.h"
|
||||
|
||||
#include "wx/scopedptr.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
#include "wx/gtk/private/gtk2-compat.h"
|
||||
@@ -133,7 +133,7 @@ realize_hook(GSignalInvocationHint*, unsigned, const GValue* param_values, void*
|
||||
|
||||
int wxDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
wxASSERT_MSG( !IsModal(), "ShowModal() can't be called twice" );
|
||||
|
||||
|
@@ -29,7 +29,7 @@
|
||||
#include "wx/filename.h" // wxFilename
|
||||
#include "wx/tokenzr.h" // wxStringTokenizer
|
||||
#include "wx/filefn.h" // ::wxGetCwd
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
extern "C"
|
||||
{
|
||||
@@ -320,7 +320,7 @@ void wxFileDialog::GTKOnCancel()
|
||||
|
||||
int wxFileDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
CreateExtraControl();
|
||||
|
||||
|
@@ -34,7 +34,7 @@
|
||||
#include "wx/dynlib.h"
|
||||
#include "wx/paper.h"
|
||||
#include "wx/dcprint.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
#include <libgnomeprint/gnome-print.h>
|
||||
#include <libgnomeprint/gnome-print-pango.h>
|
||||
@@ -592,7 +592,7 @@ wxGnomePrintDialog::~wxGnomePrintDialog()
|
||||
|
||||
int wxGnomePrintDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
int response = gtk_dialog_run (GTK_DIALOG (m_widget));
|
||||
|
||||
@@ -739,7 +739,7 @@ wxPageSetupDialogData& wxGnomePageSetupDialog::GetPageSetupDialogData()
|
||||
|
||||
int wxGnomePageSetupDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
wxGnomePrintNativeData *native =
|
||||
(wxGnomePrintNativeData*) m_pageDialogData.GetPrintData().GetNativeData();
|
||||
|
@@ -24,7 +24,7 @@
|
||||
#include "wx/intl.h"
|
||||
#endif
|
||||
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
#include "wx/gtk/private.h"
|
||||
@@ -276,7 +276,7 @@ void wxMessageDialog::GTKCreateMsgDialog()
|
||||
|
||||
int wxMessageDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
// break the mouse capture as it would interfere with modal dialog (see
|
||||
// wxDialog::ShowModal)
|
||||
|
@@ -34,7 +34,7 @@
|
||||
#include "wx/dynlib.h"
|
||||
#include "wx/paper.h"
|
||||
#include "wx/scopeguard.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.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.
|
||||
int wxGtkPrintDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
// We need to restore the settings given in the constructor.
|
||||
wxPrintData data = m_printDialogData.GetPrintData();
|
||||
@@ -750,7 +750,7 @@ wxGtkPageSetupDialog::~wxGtkPageSetupDialog()
|
||||
|
||||
int wxGtkPageSetupDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
// Get the config.
|
||||
m_pageDialogData.GetPrintData().ConvertToNative();
|
||||
|
@@ -19,7 +19,7 @@
|
||||
#endif // WX_PRECOMP
|
||||
|
||||
#include "wx/evtloop.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
#include <gdk/gdk.h>
|
||||
#include <gtk/gtk.h>
|
||||
@@ -183,7 +183,7 @@ void wxDialog::SetModal( bool WXUNUSED(flag) )
|
||||
|
||||
int wxDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
if (IsModal())
|
||||
{
|
||||
|
@@ -13,7 +13,7 @@
|
||||
#if wxUSE_FILEDLG
|
||||
|
||||
#include "wx/filedlg.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
@@ -50,7 +50,7 @@ void wxFileDialog::OnFakeOk( wxCommandEvent &event )
|
||||
|
||||
int wxFileDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
return wxGenericFileDialog::ShowModal();
|
||||
}
|
||||
|
@@ -21,7 +21,7 @@
|
||||
#endif
|
||||
|
||||
#include "wx/evtloop.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
#ifdef __VMS__
|
||||
#pragma message disable nosimpint
|
||||
@@ -289,7 +289,7 @@ bool wxDialog::Show( bool show )
|
||||
// Shows a dialog modally, returning a return code
|
||||
int wxDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
Show(true);
|
||||
|
||||
|
@@ -23,7 +23,7 @@
|
||||
|
||||
#include "wx/tokenzr.h"
|
||||
#include "wx/stockitem.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
#ifdef __VMS__
|
||||
#pragma message disable nosimpint
|
||||
@@ -152,7 +152,7 @@ static void wxChangeListBoxColours(wxWindow* WXUNUSED(win), Widget widget)
|
||||
|
||||
int wxFileDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
wxBeginBusyCursor();
|
||||
|
||||
|
@@ -40,7 +40,7 @@
|
||||
#include "wx/settings.h"
|
||||
#endif
|
||||
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
#include "wx/motif/private.h"
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
@@ -106,7 +106,7 @@ extern "C"
|
||||
|
||||
int wxMessageDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
const long style = GetMessageDialogStyle();
|
||||
|
||||
|
@@ -27,7 +27,7 @@
|
||||
#if wxUSE_COLOURDLG && !(defined(__SMARTPHONE__) && defined(__WXWINCE__))
|
||||
|
||||
#include "wx/colordlg.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/msw/wrapcdlg.h"
|
||||
@@ -115,7 +115,7 @@ bool wxColourDialog::Create(wxWindow *parent, wxColourData *data)
|
||||
|
||||
int wxColourDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
// initialize the struct used by Windows
|
||||
CHOOSECOLOR chooseColorStruct;
|
||||
|
@@ -25,7 +25,7 @@
|
||||
#endif
|
||||
|
||||
#include "wx/dialog.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/msw/wrapcdlg.h"
|
||||
@@ -198,7 +198,7 @@ bool wxDialog::Show(bool show)
|
||||
// show dialog modally
|
||||
int wxDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
wxASSERT_MSG( !IsModal(), wxT("ShowModal() can't be called twice") );
|
||||
|
||||
|
@@ -30,7 +30,7 @@
|
||||
(defined(__HANDHELDPC__) && (_WIN32_WCE >= 500)))
|
||||
|
||||
#include "wx/dirdlg.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/utils.h"
|
||||
@@ -221,7 +221,7 @@ void wxDirDialog::SetPath(const wxString& path)
|
||||
|
||||
int wxDirDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
wxWindow* const parent = GetParent();
|
||||
WXHWND hWndParent = parent ? GetHwndOf(parent) : NULL;
|
||||
|
@@ -47,7 +47,7 @@
|
||||
#include "wx/filename.h"
|
||||
#include "wx/scopeguard.h"
|
||||
#include "wx/tokenzr.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// constants
|
||||
@@ -450,7 +450,7 @@ void wxFileDialog::MSWOnInitDialogHook(WXHWND hwnd)
|
||||
|
||||
int wxFileDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
HWND hWnd = 0;
|
||||
if (m_parent) hWnd = (HWND) m_parent->GetHWND();
|
||||
|
@@ -27,7 +27,7 @@
|
||||
#if wxUSE_FONTDLG
|
||||
|
||||
#include "wx/fontdlg.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/msw/wrapcdlg.h"
|
||||
@@ -56,7 +56,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxFontDialog, wxDialog)
|
||||
|
||||
int wxFontDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
// It should be OK to always use GDI simulations
|
||||
DWORD flags = CF_SCREENFONTS /* | CF_NOSIMULATIONS */ ;
|
||||
|
@@ -42,7 +42,7 @@
|
||||
#include "wx/msw/private/button.h"
|
||||
#include "wx/msw/private/metrics.h"
|
||||
#include "wx/msw/private/msgdlg.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
#if wxUSE_MSGBOX_HOOK
|
||||
#include "wx/fontutil.h"
|
||||
@@ -592,7 +592,7 @@ int wxMessageDialog::ShowMessageBox()
|
||||
|
||||
int wxMessageDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
#ifdef wxHAS_MSW_TASKDIALOG
|
||||
if ( HasNativeTaskDialog() )
|
||||
|
@@ -39,7 +39,7 @@
|
||||
#include "wx/msw/printdlg.h"
|
||||
#include "wx/msw/dcprint.h"
|
||||
#include "wx/paper.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
@@ -739,7 +739,7 @@ wxWindowsPrintDialog::~wxWindowsPrintDialog()
|
||||
|
||||
int wxWindowsPrintDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
ConvertToNative( m_printDialogData );
|
||||
|
||||
@@ -960,7 +960,7 @@ wxWindowsPageSetupDialog::~wxWindowsPageSetupDialog()
|
||||
|
||||
int wxWindowsPageSetupDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
ConvertToNative( m_pageSetupData );
|
||||
|
||||
|
@@ -18,7 +18,7 @@
|
||||
#if wxUSE_RICHMSGDLG
|
||||
|
||||
#include "wx/richmsgdlg.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/msw/private.h"
|
||||
@@ -34,7 +34,7 @@
|
||||
|
||||
int wxRichMessageDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
#ifdef wxHAS_MSW_TASKDIALOG
|
||||
using namespace wxMSWMessageDialog;
|
||||
|
@@ -47,7 +47,7 @@
|
||||
#include <string.h>
|
||||
|
||||
#include "wx/filename.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
// ============================================================================
|
||||
// implementation
|
||||
@@ -113,7 +113,7 @@ void wxFileDialog::SetPath(const wxString& path)
|
||||
|
||||
int wxFileDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
wxWindow* parentWindow = GetParent();
|
||||
if (!parentWindow)
|
||||
|
@@ -26,7 +26,7 @@
|
||||
#include "wx/os2/private.h"
|
||||
#include "wx/evtloop.h"
|
||||
#include "wx/scopedptr.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
#define wxDIALOG_DEFAULT_X 300
|
||||
#define wxDIALOG_DEFAULT_Y 300
|
||||
@@ -220,7 +220,7 @@ bool wxDialog::Show( bool bShow )
|
||||
//
|
||||
int wxDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
wxASSERT_MSG( !IsModal(), wxT("wxDialog::ShowModal() reentered?") );
|
||||
|
||||
|
@@ -13,7 +13,7 @@
|
||||
#include "wx/wxprec.h"
|
||||
|
||||
#include "wx/dirdlg.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include <stdio.h>
|
||||
@@ -43,7 +43,7 @@ wxDirDialog::wxDirDialog(wxWindow *parent, const wxString& message,
|
||||
|
||||
int wxDirDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
// TODO
|
||||
return wxID_CANCEL;
|
||||
|
@@ -39,7 +39,7 @@
|
||||
#include <string.h>
|
||||
|
||||
#include "wx/tokenzr.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
#define wxMAXPATH 1024
|
||||
#define wxMAXFILE 1024
|
||||
@@ -105,7 +105,7 @@ void wxFileDialog::GetPaths (
|
||||
|
||||
int wxFileDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
wxString sTheFilter;
|
||||
wxString sFilterBuffer;
|
||||
|
@@ -23,7 +23,7 @@
|
||||
#endif
|
||||
|
||||
#include "wx/fontutil.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
#define INCL_PM
|
||||
#include <os2.h>
|
||||
@@ -37,7 +37,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxFontDialog, wxDialog)
|
||||
|
||||
int wxFontDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
FONTDLG vFontDlg;
|
||||
char zCurrentFont[FACESIZE];
|
||||
|
@@ -22,7 +22,7 @@
|
||||
#include "wx/math.h"
|
||||
#endif
|
||||
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
#include "wx/os2/private.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
@@ -35,7 +35,7 @@ IMPLEMENT_CLASS(wxMessageDialog, wxDialog)
|
||||
|
||||
int wxMessageDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
HWND hWnd = 0;
|
||||
ULONG ulStyle = MB_OK;
|
||||
|
@@ -14,7 +14,7 @@
|
||||
|
||||
#include "wx/colordlg.h"
|
||||
#include "wx/fontdlg.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
|
||||
#if !USE_NATIVE_FONT_DIALOG_FOR_MACOSX
|
||||
@@ -48,7 +48,7 @@ bool wxColourDialog::Create(wxWindow *parent, wxColourData *data)
|
||||
|
||||
int wxColourDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
RGBColor currentColor ;
|
||||
|
||||
|
@@ -22,7 +22,7 @@
|
||||
|
||||
#include "wx/colordlg.h"
|
||||
#include "wx/fontdlg.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
// ============================================================================
|
||||
// implementation
|
||||
@@ -124,7 +124,7 @@ bool wxColourDialog::Create(wxWindow *parent, wxColourData *data)
|
||||
}
|
||||
int wxColourDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
//Start the pool. Required for carbon interaction
|
||||
//(For those curious, the only thing that happens
|
||||
|
@@ -21,7 +21,7 @@
|
||||
#endif // WX_PRECOMP
|
||||
|
||||
#include "wx/filename.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
#include "wx/osx/private.h"
|
||||
|
||||
@@ -73,7 +73,7 @@ wxDirDialog::wxDirDialog(wxWindow *parent,
|
||||
|
||||
int wxDirDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
NavDialogRef dialog = NULL;
|
||||
NavDialogCreationOptions options;
|
||||
|
@@ -26,7 +26,7 @@
|
||||
#include "wx/filename.h"
|
||||
|
||||
#include "wx/osx/private.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
#ifndef __DARWIN__
|
||||
#include <Navigation.h>
|
||||
@@ -477,7 +477,7 @@ void wxFileDialog::SetupExtraControls(WXWindow nativeWindow)
|
||||
|
||||
int wxFileDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
m_paths.Empty();
|
||||
m_fileNames.Empty();
|
||||
|
@@ -42,7 +42,7 @@
|
||||
|
||||
#include "wx/fontdlg.h"
|
||||
#include "wx/fontutil.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
#if wxOSX_USE_EXPERIMENTAL_FONTDIALOG
|
||||
|
||||
@@ -230,7 +230,7 @@ bool wxFontDialog::Create(wxWindow *parent, const wxFontData& data)
|
||||
|
||||
int wxFontDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
#if wxOSX_USE_CARBON
|
||||
|
||||
|
@@ -28,7 +28,7 @@
|
||||
#endif
|
||||
|
||||
#include "wx/fontutil.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
// ============================================================================
|
||||
// implementation
|
||||
@@ -435,7 +435,7 @@ bool wxFontDialog::Create(wxWindow *parent)
|
||||
|
||||
int wxFontDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
//Start the pool. Required for carbon interaction
|
||||
//(For those curious, the only thing that happens
|
||||
|
@@ -19,7 +19,7 @@
|
||||
#endif
|
||||
|
||||
#include "wx/thread.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
#include "wx/osx/uma.h"
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ wxMessageDialog::wxMessageDialog(wxWindow *parent,
|
||||
|
||||
int wxMessageDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
int resultbutton = wxID_CANCEL;
|
||||
|
||||
|
@@ -28,11 +28,11 @@
|
||||
#include "wx/osx/private/print.h"
|
||||
#include "wx/osx/private.h"
|
||||
#include "wx/statline.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
int wxMacPrintDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
m_printDialogData.GetPrintData().ConvertToNative();
|
||||
((wxOSXPrintData*)m_printDialogData.GetPrintData().GetNativeData())->TransferFrom( &m_printDialogData );
|
||||
@@ -77,7 +77,7 @@ int wxMacPrintDialog::ShowModal()
|
||||
|
||||
int wxMacPageSetupDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
m_pageSetupData.GetPrintData().ConvertToNative();
|
||||
wxOSXPrintData* nativeData = (wxOSXPrintData*)m_pageSetupData.GetPrintData().GetNativeData();
|
||||
|
@@ -32,7 +32,7 @@
|
||||
|
||||
#include "wx/filename.h"
|
||||
#include "wx/evtloop.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
#include "wx/osx/private.h"
|
||||
|
||||
@@ -95,7 +95,7 @@ void wxDirDialog::ShowWindowModal()
|
||||
|
||||
int wxDirDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
wxCFEventLoopPauseIdleEvents pause;
|
||||
|
||||
|
@@ -38,7 +38,7 @@
|
||||
|
||||
#include "wx/osx/private.h"
|
||||
#include "wx/sysopt.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
#include <mach-o/dyld.h>
|
||||
|
||||
@@ -501,7 +501,7 @@ void wxFileDialog::SetupExtraControls(WXWindow nativeWindow)
|
||||
|
||||
int wxFileDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
wxCFEventLoopPauseIdleEvents pause;
|
||||
|
||||
|
@@ -21,7 +21,7 @@
|
||||
#include "wx/control.h"
|
||||
#include "wx/thread.h"
|
||||
#include "wx/evtloop.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
#include "wx/osx/private.h"
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ wxMessageDialog::~wxMessageDialog()
|
||||
|
||||
int wxMessageDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
wxCFEventLoopPauseIdleEvents pause;
|
||||
|
||||
|
@@ -14,7 +14,7 @@
|
||||
#if wxUSE_PRINTING_ARCHITECTURE
|
||||
|
||||
#include "wx/printdlg.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/object.h"
|
||||
@@ -60,7 +60,7 @@ void wxOSXCocoaPrintData::UpdateToPMState()
|
||||
|
||||
int wxMacPrintDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
m_printDialogData.GetPrintData().ConvertToNative();
|
||||
|
||||
@@ -85,7 +85,7 @@ int wxMacPrintDialog::ShowModal()
|
||||
|
||||
int wxMacPageSetupDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
m_pageSetupData.GetPrintData().ConvertToNative();
|
||||
((wxOSXCocoaPrintData*)m_pageSetupData.GetPrintData().GetNativeData())->TransferFrom( &m_pageSetupData );
|
||||
|
@@ -13,7 +13,7 @@
|
||||
|
||||
#include "wx/dialog.h"
|
||||
#include "wx/evtloop.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/app.h"
|
||||
@@ -138,7 +138,7 @@ bool wxDialog::Show(bool show)
|
||||
// Replacement for Show(true) for modal dialogs - returns return code
|
||||
int wxDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
m_modality = wxDIALOG_MODALITY_APP_MODAL;
|
||||
|
||||
|
@@ -20,7 +20,7 @@
|
||||
|
||||
#include "wx/thread.h"
|
||||
#include "wx/osx/private.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
|
||||
IMPLEMENT_CLASS(wxMessageDialog, wxDialog)
|
||||
@@ -37,7 +37,7 @@ wxMessageDialog::wxMessageDialog(wxWindow *parent,
|
||||
|
||||
int wxMessageDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
int resultbutton = wxID_CANCEL;
|
||||
|
||||
|
@@ -29,7 +29,7 @@
|
||||
#endif
|
||||
|
||||
#include "wx/evtloop.h"
|
||||
#include "wx/testing.h"
|
||||
#include "wx/modalhook.h"
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// wxDialog
|
||||
@@ -166,7 +166,7 @@ bool wxDialog::IsModal() const
|
||||
|
||||
int wxDialog::ShowModal()
|
||||
{
|
||||
WX_TESTING_SHOW_MODAL_HOOK();
|
||||
WX_HOOK_MODAL_DIALOG();
|
||||
|
||||
if ( IsModal() )
|
||||
{
|
||||
|
Reference in New Issue
Block a user