added wxMouseEventsManager
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60463 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
21
Makefile.in
21
Makefile.in
@@ -3521,6 +3521,7 @@ COND_USE_GUI_1_ALL_GUI_HEADERS = \
|
||||
wx/listbox.h \
|
||||
wx/mdi.h \
|
||||
wx/menu.h \
|
||||
wx/mousemanager.h \
|
||||
wx/msgdlg.h \
|
||||
wx/nativewin.h \
|
||||
wx/numdlg.h \
|
||||
@@ -4104,6 +4105,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS = \
|
||||
monodll_listctrlcmn.o \
|
||||
monodll_matrix.o \
|
||||
monodll_menucmn.o \
|
||||
monodll_mousemanager.o \
|
||||
monodll_nbkbase.o \
|
||||
monodll_overlaycmn.o \
|
||||
monodll_paper.o \
|
||||
@@ -4296,6 +4298,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS = \
|
||||
monodll_listctrlcmn.o \
|
||||
monodll_matrix.o \
|
||||
monodll_menucmn.o \
|
||||
monodll_mousemanager.o \
|
||||
monodll_nbkbase.o \
|
||||
monodll_overlaycmn.o \
|
||||
monodll_paper.o \
|
||||
@@ -5917,6 +5920,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_1 = \
|
||||
monolib_listctrlcmn.o \
|
||||
monolib_matrix.o \
|
||||
monolib_menucmn.o \
|
||||
monolib_mousemanager.o \
|
||||
monolib_nbkbase.o \
|
||||
monolib_overlaycmn.o \
|
||||
monolib_paper.o \
|
||||
@@ -6109,6 +6113,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_1 = \
|
||||
monolib_listctrlcmn.o \
|
||||
monolib_matrix.o \
|
||||
monolib_menucmn.o \
|
||||
monolib_mousemanager.o \
|
||||
monolib_nbkbase.o \
|
||||
monolib_overlaycmn.o \
|
||||
monolib_paper.o \
|
||||
@@ -7877,6 +7882,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_2 = \
|
||||
coredll_listctrlcmn.o \
|
||||
coredll_matrix.o \
|
||||
coredll_menucmn.o \
|
||||
coredll_mousemanager.o \
|
||||
coredll_nbkbase.o \
|
||||
coredll_overlaycmn.o \
|
||||
coredll_paper.o \
|
||||
@@ -8069,6 +8075,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_2 = \
|
||||
coredll_listctrlcmn.o \
|
||||
coredll_matrix.o \
|
||||
coredll_menucmn.o \
|
||||
coredll_mousemanager.o \
|
||||
coredll_nbkbase.o \
|
||||
coredll_overlaycmn.o \
|
||||
coredll_paper.o \
|
||||
@@ -9385,6 +9392,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_3 = \
|
||||
corelib_listctrlcmn.o \
|
||||
corelib_matrix.o \
|
||||
corelib_menucmn.o \
|
||||
corelib_mousemanager.o \
|
||||
corelib_nbkbase.o \
|
||||
corelib_overlaycmn.o \
|
||||
corelib_paper.o \
|
||||
@@ -9577,6 +9585,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_3 = \
|
||||
corelib_listctrlcmn.o \
|
||||
corelib_matrix.o \
|
||||
corelib_menucmn.o \
|
||||
corelib_mousemanager.o \
|
||||
corelib_nbkbase.o \
|
||||
corelib_overlaycmn.o \
|
||||
corelib_paper.o \
|
||||
@@ -18173,6 +18182,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_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@monodll_nbkbase.o: $(srcdir)/src/common/nbkbase.cpp $(MONODLL_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/nbkbase.cpp
|
||||
|
||||
@@ -22856,6 +22868,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_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@monolib_nbkbase.o: $(srcdir)/src/common/nbkbase.cpp $(MONOLIB_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/nbkbase.cpp
|
||||
|
||||
@@ -27728,6 +27743,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_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@coredll_nbkbase.o: $(srcdir)/src/common/nbkbase.cpp $(COREDLL_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/nbkbase.cpp
|
||||
|
||||
@@ -31232,6 +31250,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_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@corelib_nbkbase.o: $(srcdir)/src/common/nbkbase.cpp $(CORELIB_ODEP)
|
||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/nbkbase.cpp
|
||||
|
||||
|
@@ -681,6 +681,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
||||
src/common/listctrlcmn.cpp
|
||||
src/common/matrix.cpp
|
||||
src/common/menucmn.cpp
|
||||
src/common/mousemanager.cpp
|
||||
src/common/nbkbase.cpp
|
||||
src/common/overlaycmn.cpp
|
||||
src/common/paper.cpp
|
||||
@@ -811,6 +812,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
||||
wx/listbox.h
|
||||
wx/mdi.h
|
||||
wx/menu.h
|
||||
wx/mousemanager.h
|
||||
wx/msgdlg.h
|
||||
wx/nativewin.h
|
||||
wx/numdlg.h
|
||||
|
@@ -1705,6 +1705,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_listctrlcmn.obj \
|
||||
$(OBJS)\monodll_matrix.obj \
|
||||
$(OBJS)\monodll_menucmn.obj \
|
||||
$(OBJS)\monodll_mousemanager.obj \
|
||||
$(OBJS)\monodll_nbkbase.obj \
|
||||
$(OBJS)\monodll_overlaycmn.obj \
|
||||
$(OBJS)\monodll_paper.obj \
|
||||
@@ -1944,6 +1945,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_listctrlcmn.obj \
|
||||
$(OBJS)\monodll_matrix.obj \
|
||||
$(OBJS)\monodll_menucmn.obj \
|
||||
$(OBJS)\monodll_mousemanager.obj \
|
||||
$(OBJS)\monodll_nbkbase.obj \
|
||||
$(OBJS)\monodll_overlaycmn.obj \
|
||||
$(OBJS)\monodll_paper.obj \
|
||||
@@ -2386,6 +2388,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_listctrlcmn.obj \
|
||||
$(OBJS)\monolib_matrix.obj \
|
||||
$(OBJS)\monolib_menucmn.obj \
|
||||
$(OBJS)\monolib_mousemanager.obj \
|
||||
$(OBJS)\monolib_nbkbase.obj \
|
||||
$(OBJS)\monolib_overlaycmn.obj \
|
||||
$(OBJS)\monolib_paper.obj \
|
||||
@@ -2625,6 +2628,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_listctrlcmn.obj \
|
||||
$(OBJS)\monolib_matrix.obj \
|
||||
$(OBJS)\monolib_menucmn.obj \
|
||||
$(OBJS)\monolib_mousemanager.obj \
|
||||
$(OBJS)\monolib_nbkbase.obj \
|
||||
$(OBJS)\monolib_overlaycmn.obj \
|
||||
$(OBJS)\monolib_paper.obj \
|
||||
@@ -2972,6 +2976,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\coredll_listctrlcmn.obj \
|
||||
$(OBJS)\coredll_matrix.obj \
|
||||
$(OBJS)\coredll_menucmn.obj \
|
||||
$(OBJS)\coredll_mousemanager.obj \
|
||||
$(OBJS)\coredll_nbkbase.obj \
|
||||
$(OBJS)\coredll_overlaycmn.obj \
|
||||
$(OBJS)\coredll_paper.obj \
|
||||
@@ -3211,6 +3216,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\coredll_listctrlcmn.obj \
|
||||
$(OBJS)\coredll_matrix.obj \
|
||||
$(OBJS)\coredll_menucmn.obj \
|
||||
$(OBJS)\coredll_mousemanager.obj \
|
||||
$(OBJS)\coredll_nbkbase.obj \
|
||||
$(OBJS)\coredll_overlaycmn.obj \
|
||||
$(OBJS)\coredll_paper.obj \
|
||||
@@ -3456,6 +3462,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\corelib_listctrlcmn.obj \
|
||||
$(OBJS)\corelib_matrix.obj \
|
||||
$(OBJS)\corelib_menucmn.obj \
|
||||
$(OBJS)\corelib_mousemanager.obj \
|
||||
$(OBJS)\corelib_nbkbase.obj \
|
||||
$(OBJS)\corelib_overlaycmn.obj \
|
||||
$(OBJS)\corelib_paper.obj \
|
||||
@@ -3695,6 +3702,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\corelib_listctrlcmn.obj \
|
||||
$(OBJS)\corelib_matrix.obj \
|
||||
$(OBJS)\corelib_menucmn.obj \
|
||||
$(OBJS)\corelib_mousemanager.obj \
|
||||
$(OBJS)\corelib_nbkbase.obj \
|
||||
$(OBJS)\corelib_overlaycmn.obj \
|
||||
$(OBJS)\corelib_paper.obj \
|
||||
@@ -7142,6 +7150,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_mousemanager.obj: ..\..\src\common\mousemanager.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\mousemanager.cpp
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monodll_nbkbase.obj: ..\..\src\common\nbkbase.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\nbkbase.cpp
|
||||
@@ -9363,6 +9376,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_mousemanager.obj: ..\..\src\common\mousemanager.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\mousemanager.cpp
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monolib_nbkbase.obj: ..\..\src\common\nbkbase.cpp
|
||||
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\nbkbase.cpp
|
||||
@@ -11608,6 +11626,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_mousemanager.obj: ..\..\src\common\mousemanager.cpp
|
||||
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\common\mousemanager.cpp
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\coredll_nbkbase.obj: ..\..\src\common\nbkbase.cpp
|
||||
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\common\nbkbase.cpp
|
||||
@@ -12982,6 +13005,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_mousemanager.obj: ..\..\src\common\mousemanager.cpp
|
||||
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\common\mousemanager.cpp
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\corelib_nbkbase.obj: ..\..\src\common\nbkbase.cpp
|
||||
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\common\nbkbase.cpp
|
||||
|
@@ -1723,6 +1723,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_listctrlcmn.o \
|
||||
$(OBJS)\monodll_matrix.o \
|
||||
$(OBJS)\monodll_menucmn.o \
|
||||
$(OBJS)\monodll_mousemanager.o \
|
||||
$(OBJS)\monodll_nbkbase.o \
|
||||
$(OBJS)\monodll_overlaycmn.o \
|
||||
$(OBJS)\monodll_paper.o \
|
||||
@@ -1964,6 +1965,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_listctrlcmn.o \
|
||||
$(OBJS)\monodll_matrix.o \
|
||||
$(OBJS)\monodll_menucmn.o \
|
||||
$(OBJS)\monodll_mousemanager.o \
|
||||
$(OBJS)\monodll_nbkbase.o \
|
||||
$(OBJS)\monodll_overlaycmn.o \
|
||||
$(OBJS)\monodll_paper.o \
|
||||
@@ -2410,6 +2412,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_listctrlcmn.o \
|
||||
$(OBJS)\monolib_matrix.o \
|
||||
$(OBJS)\monolib_menucmn.o \
|
||||
$(OBJS)\monolib_mousemanager.o \
|
||||
$(OBJS)\monolib_nbkbase.o \
|
||||
$(OBJS)\monolib_overlaycmn.o \
|
||||
$(OBJS)\monolib_paper.o \
|
||||
@@ -2651,6 +2654,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_listctrlcmn.o \
|
||||
$(OBJS)\monolib_matrix.o \
|
||||
$(OBJS)\monolib_menucmn.o \
|
||||
$(OBJS)\monolib_mousemanager.o \
|
||||
$(OBJS)\monolib_nbkbase.o \
|
||||
$(OBJS)\monolib_overlaycmn.o \
|
||||
$(OBJS)\monolib_paper.o \
|
||||
@@ -3012,6 +3016,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\coredll_listctrlcmn.o \
|
||||
$(OBJS)\coredll_matrix.o \
|
||||
$(OBJS)\coredll_menucmn.o \
|
||||
$(OBJS)\coredll_mousemanager.o \
|
||||
$(OBJS)\coredll_nbkbase.o \
|
||||
$(OBJS)\coredll_overlaycmn.o \
|
||||
$(OBJS)\coredll_paper.o \
|
||||
@@ -3253,6 +3258,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\coredll_listctrlcmn.o \
|
||||
$(OBJS)\coredll_matrix.o \
|
||||
$(OBJS)\coredll_menucmn.o \
|
||||
$(OBJS)\coredll_mousemanager.o \
|
||||
$(OBJS)\coredll_nbkbase.o \
|
||||
$(OBJS)\coredll_overlaycmn.o \
|
||||
$(OBJS)\coredll_paper.o \
|
||||
@@ -3504,6 +3510,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\corelib_listctrlcmn.o \
|
||||
$(OBJS)\corelib_matrix.o \
|
||||
$(OBJS)\corelib_menucmn.o \
|
||||
$(OBJS)\corelib_mousemanager.o \
|
||||
$(OBJS)\corelib_nbkbase.o \
|
||||
$(OBJS)\corelib_overlaycmn.o \
|
||||
$(OBJS)\corelib_paper.o \
|
||||
@@ -3745,6 +3752,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\corelib_listctrlcmn.o \
|
||||
$(OBJS)\corelib_matrix.o \
|
||||
$(OBJS)\corelib_menucmn.o \
|
||||
$(OBJS)\corelib_mousemanager.o \
|
||||
$(OBJS)\corelib_nbkbase.o \
|
||||
$(OBJS)\corelib_overlaycmn.o \
|
||||
$(OBJS)\corelib_paper.o \
|
||||
@@ -7406,6 +7414,11 @@ $(OBJS)\monodll_menucmn.o: ../../src/common/menucmn.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) $<
|
||||
endif
|
||||
|
||||
ifeq ($(USE_GUI),1)
|
||||
$(OBJS)\monodll_nbkbase.o: ../../src/common/nbkbase.cpp
|
||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
@@ -9739,6 +9752,11 @@ $(OBJS)\monolib_menucmn.o: ../../src/common/menucmn.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) $<
|
||||
endif
|
||||
|
||||
ifeq ($(USE_GUI),1)
|
||||
$(OBJS)\monolib_nbkbase.o: ../../src/common/nbkbase.cpp
|
||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
@@ -12096,6 +12114,11 @@ $(OBJS)\coredll_menucmn.o: ../../src/common/menucmn.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) $<
|
||||
endif
|
||||
|
||||
ifeq ($(USE_GUI),1)
|
||||
$(OBJS)\coredll_nbkbase.o: ../../src/common/nbkbase.cpp
|
||||
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||
@@ -13582,6 +13605,11 @@ $(OBJS)\corelib_menucmn.o: ../../src/common/menucmn.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) $<
|
||||
endif
|
||||
|
||||
ifeq ($(USE_GUI),1)
|
||||
$(OBJS)\corelib_nbkbase.o: ../../src/common/nbkbase.cpp
|
||||
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||
|
@@ -1885,6 +1885,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_listctrlcmn.obj \
|
||||
$(OBJS)\monodll_matrix.obj \
|
||||
$(OBJS)\monodll_menucmn.obj \
|
||||
$(OBJS)\monodll_mousemanager.obj \
|
||||
$(OBJS)\monodll_nbkbase.obj \
|
||||
$(OBJS)\monodll_overlaycmn.obj \
|
||||
$(OBJS)\monodll_paper.obj \
|
||||
@@ -2124,6 +2125,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
||||
$(OBJS)\monodll_listctrlcmn.obj \
|
||||
$(OBJS)\monodll_matrix.obj \
|
||||
$(OBJS)\monodll_menucmn.obj \
|
||||
$(OBJS)\monodll_mousemanager.obj \
|
||||
$(OBJS)\monodll_nbkbase.obj \
|
||||
$(OBJS)\monodll_overlaycmn.obj \
|
||||
$(OBJS)\monodll_paper.obj \
|
||||
@@ -2572,6 +2574,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_listctrlcmn.obj \
|
||||
$(OBJS)\monolib_matrix.obj \
|
||||
$(OBJS)\monolib_menucmn.obj \
|
||||
$(OBJS)\monolib_mousemanager.obj \
|
||||
$(OBJS)\monolib_nbkbase.obj \
|
||||
$(OBJS)\monolib_overlaycmn.obj \
|
||||
$(OBJS)\monolib_paper.obj \
|
||||
@@ -2811,6 +2814,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
||||
$(OBJS)\monolib_listctrlcmn.obj \
|
||||
$(OBJS)\monolib_matrix.obj \
|
||||
$(OBJS)\monolib_menucmn.obj \
|
||||
$(OBJS)\monolib_mousemanager.obj \
|
||||
$(OBJS)\monolib_nbkbase.obj \
|
||||
$(OBJS)\monolib_overlaycmn.obj \
|
||||
$(OBJS)\monolib_paper.obj \
|
||||
@@ -3188,6 +3192,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\coredll_listctrlcmn.obj \
|
||||
$(OBJS)\coredll_matrix.obj \
|
||||
$(OBJS)\coredll_menucmn.obj \
|
||||
$(OBJS)\coredll_mousemanager.obj \
|
||||
$(OBJS)\coredll_nbkbase.obj \
|
||||
$(OBJS)\coredll_overlaycmn.obj \
|
||||
$(OBJS)\coredll_paper.obj \
|
||||
@@ -3427,6 +3432,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
||||
$(OBJS)\coredll_listctrlcmn.obj \
|
||||
$(OBJS)\coredll_matrix.obj \
|
||||
$(OBJS)\coredll_menucmn.obj \
|
||||
$(OBJS)\coredll_mousemanager.obj \
|
||||
$(OBJS)\coredll_nbkbase.obj \
|
||||
$(OBJS)\coredll_overlaycmn.obj \
|
||||
$(OBJS)\coredll_paper.obj \
|
||||
@@ -3678,6 +3684,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\corelib_listctrlcmn.obj \
|
||||
$(OBJS)\corelib_matrix.obj \
|
||||
$(OBJS)\corelib_menucmn.obj \
|
||||
$(OBJS)\corelib_mousemanager.obj \
|
||||
$(OBJS)\corelib_nbkbase.obj \
|
||||
$(OBJS)\corelib_overlaycmn.obj \
|
||||
$(OBJS)\corelib_paper.obj \
|
||||
@@ -3917,6 +3924,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
||||
$(OBJS)\corelib_listctrlcmn.obj \
|
||||
$(OBJS)\corelib_matrix.obj \
|
||||
$(OBJS)\corelib_menucmn.obj \
|
||||
$(OBJS)\corelib_mousemanager.obj \
|
||||
$(OBJS)\corelib_nbkbase.obj \
|
||||
$(OBJS)\corelib_overlaycmn.obj \
|
||||
$(OBJS)\corelib_paper.obj \
|
||||
@@ -7488,6 +7496,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_mousemanager.obj: ..\..\src\common\mousemanager.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\mousemanager.cpp
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monodll_nbkbase.obj: ..\..\src\common\nbkbase.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\nbkbase.cpp
|
||||
@@ -9709,6 +9722,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_mousemanager.obj: ..\..\src\common\mousemanager.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\mousemanager.cpp
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\monolib_nbkbase.obj: ..\..\src\common\nbkbase.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\nbkbase.cpp
|
||||
@@ -11954,6 +11972,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_mousemanager.obj: ..\..\src\common\mousemanager.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\common\mousemanager.cpp
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\coredll_nbkbase.obj: ..\..\src\common\nbkbase.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\common\nbkbase.cpp
|
||||
@@ -13328,6 +13351,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_mousemanager.obj: ..\..\src\common\mousemanager.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\common\mousemanager.cpp
|
||||
!endif
|
||||
|
||||
!if "$(USE_GUI)" == "1"
|
||||
$(OBJS)\corelib_nbkbase.obj: ..\..\src\common\nbkbase.cpp
|
||||
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\common\nbkbase.cpp
|
||||
|
@@ -400,6 +400,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = &
|
||||
$(OBJS)\monodll_listctrlcmn.obj &
|
||||
$(OBJS)\monodll_matrix.obj &
|
||||
$(OBJS)\monodll_menucmn.obj &
|
||||
$(OBJS)\monodll_mousemanager.obj &
|
||||
$(OBJS)\monodll_nbkbase.obj &
|
||||
$(OBJS)\monodll_overlaycmn.obj &
|
||||
$(OBJS)\monodll_paper.obj &
|
||||
@@ -641,6 +642,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = &
|
||||
$(OBJS)\monodll_listctrlcmn.obj &
|
||||
$(OBJS)\monodll_matrix.obj &
|
||||
$(OBJS)\monodll_menucmn.obj &
|
||||
$(OBJS)\monodll_mousemanager.obj &
|
||||
$(OBJS)\monodll_nbkbase.obj &
|
||||
$(OBJS)\monodll_overlaycmn.obj &
|
||||
$(OBJS)\monodll_paper.obj &
|
||||
@@ -1092,6 +1094,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = &
|
||||
$(OBJS)\monolib_listctrlcmn.obj &
|
||||
$(OBJS)\monolib_matrix.obj &
|
||||
$(OBJS)\monolib_menucmn.obj &
|
||||
$(OBJS)\monolib_mousemanager.obj &
|
||||
$(OBJS)\monolib_nbkbase.obj &
|
||||
$(OBJS)\monolib_overlaycmn.obj &
|
||||
$(OBJS)\monolib_paper.obj &
|
||||
@@ -1333,6 +1336,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = &
|
||||
$(OBJS)\monolib_listctrlcmn.obj &
|
||||
$(OBJS)\monolib_matrix.obj &
|
||||
$(OBJS)\monolib_menucmn.obj &
|
||||
$(OBJS)\monolib_mousemanager.obj &
|
||||
$(OBJS)\monolib_nbkbase.obj &
|
||||
$(OBJS)\monolib_overlaycmn.obj &
|
||||
$(OBJS)\monolib_paper.obj &
|
||||
@@ -1705,6 +1709,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = &
|
||||
$(OBJS)\coredll_listctrlcmn.obj &
|
||||
$(OBJS)\coredll_matrix.obj &
|
||||
$(OBJS)\coredll_menucmn.obj &
|
||||
$(OBJS)\coredll_mousemanager.obj &
|
||||
$(OBJS)\coredll_nbkbase.obj &
|
||||
$(OBJS)\coredll_overlaycmn.obj &
|
||||
$(OBJS)\coredll_paper.obj &
|
||||
@@ -1946,6 +1951,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = &
|
||||
$(OBJS)\coredll_listctrlcmn.obj &
|
||||
$(OBJS)\coredll_matrix.obj &
|
||||
$(OBJS)\coredll_menucmn.obj &
|
||||
$(OBJS)\coredll_mousemanager.obj &
|
||||
$(OBJS)\coredll_nbkbase.obj &
|
||||
$(OBJS)\coredll_overlaycmn.obj &
|
||||
$(OBJS)\coredll_paper.obj &
|
||||
@@ -2199,6 +2205,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = &
|
||||
$(OBJS)\corelib_listctrlcmn.obj &
|
||||
$(OBJS)\corelib_matrix.obj &
|
||||
$(OBJS)\corelib_menucmn.obj &
|
||||
$(OBJS)\corelib_mousemanager.obj &
|
||||
$(OBJS)\corelib_nbkbase.obj &
|
||||
$(OBJS)\corelib_overlaycmn.obj &
|
||||
$(OBJS)\corelib_paper.obj &
|
||||
@@ -2440,6 +2447,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = &
|
||||
$(OBJS)\corelib_listctrlcmn.obj &
|
||||
$(OBJS)\corelib_matrix.obj &
|
||||
$(OBJS)\corelib_menucmn.obj &
|
||||
$(OBJS)\corelib_mousemanager.obj &
|
||||
$(OBJS)\corelib_nbkbase.obj &
|
||||
$(OBJS)\corelib_overlaycmn.obj &
|
||||
$(OBJS)\corelib_paper.obj &
|
||||
@@ -7655,6 +7663,11 @@ $(OBJS)\monodll_menucmn.obj : .AUTODEPEND ..\..\src\common\menucmn.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) $<
|
||||
!endif
|
||||
|
||||
!ifeq USE_GUI 1
|
||||
$(OBJS)\monodll_nbkbase.obj : .AUTODEPEND ..\..\src\common\nbkbase.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
||||
@@ -9988,6 +10001,11 @@ $(OBJS)\monolib_menucmn.obj : .AUTODEPEND ..\..\src\common\menucmn.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) $<
|
||||
!endif
|
||||
|
||||
!ifeq USE_GUI 1
|
||||
$(OBJS)\monolib_nbkbase.obj : .AUTODEPEND ..\..\src\common\nbkbase.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
||||
@@ -12345,6 +12363,11 @@ $(OBJS)\coredll_menucmn.obj : .AUTODEPEND ..\..\src\common\menucmn.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) $<
|
||||
!endif
|
||||
|
||||
!ifeq USE_GUI 1
|
||||
$(OBJS)\coredll_nbkbase.obj : .AUTODEPEND ..\..\src\common\nbkbase.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
|
||||
@@ -13831,6 +13854,11 @@ $(OBJS)\corelib_menucmn.obj : .AUTODEPEND ..\..\src\common\menucmn.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) $<
|
||||
!endif
|
||||
|
||||
!ifeq USE_GUI 1
|
||||
$(OBJS)\corelib_nbkbase.obj : .AUTODEPEND ..\..\src\common\nbkbase.cpp
|
||||
$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
|
||||
|
@@ -546,6 +546,10 @@ SOURCE=..\..\src\common\menucmn.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\src\common\mousemanager.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\src\common\msgout.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
@@ -6206,6 +6210,10 @@ SOURCE=..\..\include\wx\minifram.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\include\wx\mousemanager.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\include\wx\msgdlg.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
@@ -797,6 +797,9 @@
|
||||
<File
|
||||
RelativePath="..\..\src\common\menucmn.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\common\mousemanager.cpp">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\common\msgout.cpp">
|
||||
</File>
|
||||
@@ -5256,6 +5259,9 @@
|
||||
<File
|
||||
RelativePath="..\..\include\wx\minifram.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\wx\mousemanager.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\wx\msgdlg.h">
|
||||
</File>
|
||||
|
@@ -1098,6 +1098,10 @@
|
||||
RelativePath="..\..\src\common\menucmn.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\common\mousemanager.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\common\msgout.cpp"
|
||||
>
|
||||
@@ -7027,6 +7031,10 @@
|
||||
RelativePath="..\..\include\wx\minifram.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\wx\mousemanager.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\wx\msgdlg.h"
|
||||
>
|
||||
|
@@ -1094,6 +1094,10 @@
|
||||
RelativePath="..\..\src\common\menucmn.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\common\mousemanager.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\src\common\msgout.cpp"
|
||||
>
|
||||
@@ -7023,6 +7027,10 @@
|
||||
RelativePath="..\..\include\wx\minifram.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\wx\mousemanager.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\include\wx\msgdlg.h"
|
||||
>
|
||||
|
@@ -331,6 +331,7 @@ All (GUI):
|
||||
|
||||
- wxGrid: add possibility to prevent resizing of individual rows/columns.
|
||||
- wxHTML: add support for table borders width (Laurent Humbertclaude).
|
||||
- Added wxMouseEventsManager.
|
||||
|
||||
MSW:
|
||||
|
||||
|
148
include/wx/mousemanager.h
Normal file
148
include/wx/mousemanager.h
Normal file
@@ -0,0 +1,148 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/mousemanager.h
|
||||
// Purpose: wxMouseEventsManager class declaration
|
||||
// Author: Vadim Zeitlin
|
||||
// Created: 2009-04-20
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 2009 Vadim Zeitlin <vadim@wxwidgets.org>
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_MOUSEMANAGER_H_
|
||||
#define _WX_MOUSEMANAGER_H_
|
||||
|
||||
#include "wx/event.h"
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxMouseEventsManager
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
/*
|
||||
This class handles mouse events and synthesizes high-level notifications
|
||||
such as clicks and drag events from low level mouse button presses and
|
||||
mouse movement events. It is useful because handling the mouse events is
|
||||
less obvious than might seem at a first glance: for example, clicks on an
|
||||
object should only be generated if the mouse was both pressed and released
|
||||
over it and not just released (so it requires storing the previous state)
|
||||
and dragging shouldn't start before the mouse moves away far enough.
|
||||
|
||||
This class encapsulates all these dull details for controls containing
|
||||
multiple items which can be identified by a positive integer index and you
|
||||
just need to implement its pure virtual functions to use it.
|
||||
*/
|
||||
class WXDLLIMPEXP_CORE wxMouseEventsManager : public wxEvtHandler
|
||||
{
|
||||
public:
|
||||
// a mouse event manager is always associated with a window and must be
|
||||
// deleted by the window when it is destroyed
|
||||
wxMouseEventsManager(wxWindow *win);
|
||||
|
||||
virtual ~wxMouseEventsManager();
|
||||
|
||||
protected:
|
||||
// called to find the item at the given position: return wxNOT_FOUND (-1)
|
||||
// if there is no item here
|
||||
virtual int MouseHitTest(const wxPoint& pos) = 0;
|
||||
|
||||
// called when the user clicked (i.e. pressed and released mouse over the
|
||||
// same item), should normally generate a notification about this click and
|
||||
// return true if it was handled or false otherwise, determining whether
|
||||
// the original mouse event is skipped or not
|
||||
virtual bool MouseClicked(int item) = 0;
|
||||
|
||||
// called to start dragging the given item, should generate the appropriate
|
||||
// BEGIN_DRAG event and return false if dragging this item was forbidden
|
||||
virtual bool MouseDragBegin(int item, const wxPoint& pos) = 0;
|
||||
|
||||
// called while the item is being dragged, should normally update the
|
||||
// feedback on screen (usually using wxOverlay)
|
||||
virtual void MouseDragging(int item, const wxPoint& pos) = 0;
|
||||
|
||||
// called when the mouse is released after dragging the item
|
||||
virtual void MouseDragEnd(int item, const wxPoint& pos) = 0;
|
||||
|
||||
// called when mouse capture is lost while dragging the item, should remove
|
||||
// the visual feedback drawn by MouseDragging()
|
||||
virtual void MouseDragCancelled(int item) = 0;
|
||||
|
||||
|
||||
// you don't need to override those but you will want to do if it your
|
||||
// control renders pressed items differently
|
||||
|
||||
// called when the item is becomes pressed, can be used to change its
|
||||
// appearance
|
||||
virtual void MouseClickBegin(int WXUNUSED(item)) { }
|
||||
|
||||
// called if the mouse capture was lost while the item was pressed, can be
|
||||
// used to restore the default item appearance if it was changed in
|
||||
// MouseClickBegin()
|
||||
virtual void MouseClickCancelled(int WXUNUSED(item)) { }
|
||||
|
||||
private:
|
||||
/*
|
||||
Here is a small diagram explaining the switches between different
|
||||
states:
|
||||
|
||||
|
||||
/---------->NORMAL<--------------- Drag end
|
||||
/ / / | event
|
||||
/ / | | ^
|
||||
/ / | | |
|
||||
Click / N | | mouse | mouse up
|
||||
event / | | down |
|
||||
| / | | DRAGGING
|
||||
| / | | ^
|
||||
Y|/ N \ v |Y
|
||||
+-------------+ +--------+ N +-----------+
|
||||
|On same item?| |On item?| -----------|Begin drag?|
|
||||
+-------------+ +--------+ / +-----------+
|
||||
^ | / ^
|
||||
| | / |
|
||||
\ mouse | / mouse moved |
|
||||
\ up v v far enough /
|
||||
\--------PRESSED-------------------/
|
||||
|
||||
|
||||
There are also transitions from PRESSED and DRAGGING to NORMAL in case
|
||||
the mouse capture is lost or Escape key is pressed which are not shown.
|
||||
*/
|
||||
enum State
|
||||
{
|
||||
State_Normal, // initial, default state
|
||||
State_Pressed, // mouse was pressed over an item
|
||||
State_Dragging // the item is being dragged
|
||||
};
|
||||
|
||||
|
||||
// various event handlers
|
||||
void OnCaptureLost(wxMouseCaptureLostEvent& event);
|
||||
void OnLeftDown(wxMouseEvent& event);
|
||||
void OnLeftUp(wxMouseEvent& event);
|
||||
void OnMove(wxMouseEvent& event);
|
||||
|
||||
|
||||
// the associated window, never NULL
|
||||
wxWindow * const m_win;
|
||||
|
||||
// the current state
|
||||
State m_state;
|
||||
|
||||
// the details of the operation currently in progress, only valid if
|
||||
// m_state is not normal
|
||||
|
||||
// the item being pressed or dragged (always valid, i.e. != wxNOT_FOUND if
|
||||
// m_state != State_Normal)
|
||||
int m_item;
|
||||
|
||||
// the position of the last mouse event of interest: either mouse press in
|
||||
// State_Pressed or last movement event in State_Dragging
|
||||
wxPoint m_posLast;
|
||||
|
||||
|
||||
DECLARE_EVENT_TABLE()
|
||||
|
||||
wxDECLARE_NO_COPY_CLASS(wxMouseEventsManager);
|
||||
};
|
||||
|
||||
#endif // _WX_MOUSEMANAGER_H_
|
||||
|
166
interface/wx/mousemanager.h
Normal file
166
interface/wx/mousemanager.h
Normal file
@@ -0,0 +1,166 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/mousemanager.h
|
||||
// Purpose: documentation of wxMouseEventsManager class
|
||||
// Author: Vadim Zeitlin
|
||||
// Created: 2009-04-20
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 2009 Vadim Zeitlin <vadim@wxwidgets.org>
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/**
|
||||
@class wxMouseEventsManager
|
||||
|
||||
Helper for handling mouse input events in windows containing multiple
|
||||
items.
|
||||
|
||||
This class handles mouse events and synthesizes high-level notifications
|
||||
such as clicks and drag events from low level mouse button presses and
|
||||
mouse movement events. It is useful because handling the mouse events is
|
||||
less obvious than might seem at a first glance: for example, clicks on an
|
||||
object should only be generated if the mouse was both pressed and released
|
||||
over it and not just released (so it requires storing the previous state)
|
||||
and dragging shouldn't start before the mouse moves away far enough.
|
||||
|
||||
This class encapsulates all these dull details for controls containing
|
||||
multiple items which can be identified by a positive integer index and you
|
||||
just need to implement its pure virtual functions to use it.
|
||||
|
||||
Notice that this class supposes that all items can be identified by an
|
||||
integer "index" but it doesn't need to be an ordinal index of the item
|
||||
(although this is the most common case) -- it can be any value which can
|
||||
be used to uniquely identify an item.
|
||||
|
||||
@library{core}
|
||||
@category{events}
|
||||
*/
|
||||
class wxMouseEventsManager : public wxEvtHandler
|
||||
{
|
||||
public:
|
||||
/**
|
||||
Constructor creates the manager for the window.
|
||||
|
||||
A mouse event manager is always associated with a window and must be
|
||||
destroyed by the window when it is destroyed (it doesn't need to be
|
||||
allocated on the heap however).
|
||||
*/
|
||||
wxMouseEventsManager(wxWindow *win);
|
||||
|
||||
protected:
|
||||
/**
|
||||
Must be overridden to return the item at the given position.
|
||||
|
||||
@param pos
|
||||
The position to test, in physical coordinates.
|
||||
@return
|
||||
The index of the item at the given position or wxNOT_FOUND if there
|
||||
is no item there.
|
||||
*/
|
||||
virtual int MouseHitTest(const wxPoint& pos) = 0;
|
||||
|
||||
/**
|
||||
Must be overridden to react to mouse clicks.
|
||||
|
||||
This method is called when the user clicked (i.e. pressed and released
|
||||
mouse over the @e same item) and should normally generate a
|
||||
notification about this click and return true if it was handled or
|
||||
false otherwise, determining whether the original mouse event is
|
||||
skipped or not.
|
||||
|
||||
@param item
|
||||
The item which was clicked.
|
||||
@return
|
||||
@true if the mouse event was processed and @false otherwise.
|
||||
*/
|
||||
virtual bool MouseClicked(int item) = 0;
|
||||
|
||||
/**
|
||||
Must be overridden to allow or deny dragging of the item.
|
||||
|
||||
This method is called when the user attempts to start dragging the
|
||||
given item.
|
||||
|
||||
@param item
|
||||
The item which is going to be dragged.
|
||||
@param pos
|
||||
The position from where it is being dragged.
|
||||
@return
|
||||
@true to allow the item to be dragged (in which case
|
||||
MouseDragging() and MouseDragEnd() will be called later, unless
|
||||
MouseDragCancelled() is called instead) or @false to forbid it.
|
||||
*/
|
||||
virtual bool MouseDragBegin(int item, const wxPoint& pos) = 0;
|
||||
|
||||
/**
|
||||
Must be overridden to provide feed back while an item is being dragged.
|
||||
|
||||
This method is called while the item is being dragged and should
|
||||
normally update the feedback shown on screen (usually this is done
|
||||
using wxOverlay).
|
||||
|
||||
Notice that this method will never be called for the items for which
|
||||
MouseDragBegin() returns @false. Consequently, if MouseDragBegin()
|
||||
always returns @false you can do nothing in this method.
|
||||
|
||||
@param item
|
||||
The item being dragged.
|
||||
@param pos
|
||||
The current position of the item.
|
||||
|
||||
@see MouseDragEnd()
|
||||
*/
|
||||
virtual void MouseDragging(int item, const wxPoint& pos) = 0;
|
||||
|
||||
/**
|
||||
Must be overridden to handle item drop.
|
||||
|
||||
This method is called when the mouse is released after dragging the
|
||||
item. Normally the item should be positioned at the new location.
|
||||
|
||||
@param item
|
||||
The item which was dragged and now dropped.
|
||||
@param pos
|
||||
The position at which the item was dropped.
|
||||
|
||||
@see MouseDragBegin(), MouseDragging()
|
||||
*/
|
||||
virtual void MouseDragEnd(int item, const wxPoint& pos) = 0;
|
||||
|
||||
/**
|
||||
Must be overridden to handle cancellation of mouse dragging.
|
||||
|
||||
This method is called when mouse capture is lost while dragging the
|
||||
item and normally should remove the visual feedback drawn by
|
||||
MouseDragging() as well as reset any internal variables set in
|
||||
MouseDragBegin().
|
||||
|
||||
@see wxMouseCaptureLostEvent
|
||||
*/
|
||||
virtual void MouseDragCancelled(int item) = 0;
|
||||
|
||||
|
||||
/**
|
||||
May be overridden to update the state of an item when it is pressed.
|
||||
|
||||
This method is called when the item is becomes pressed and can be used
|
||||
to change its appearance when this happens. It is mostly useful for
|
||||
button-like items and doesn't need to be overridden if the items
|
||||
shouldn't change their appearance when pressed.
|
||||
|
||||
@param item
|
||||
The item being pressed.
|
||||
*/
|
||||
virtual void MouseClickBegin(int item);
|
||||
|
||||
/**
|
||||
Must be overridden to reset the item appearance changed by
|
||||
MouseClickBegin().
|
||||
|
||||
This method is called if the mouse capture was lost while the item was
|
||||
pressed and must be overridden to restore the default item appearance
|
||||
if it was changed in MouseClickBegin().
|
||||
|
||||
@see MouseDragCancelled(), wxMouseCaptureLostEvent
|
||||
*/
|
||||
virtual void MouseClickCancelled(int item);
|
||||
};
|
176
src/common/mousemanager.cpp
Normal file
176
src/common/mousemanager.cpp
Normal file
@@ -0,0 +1,176 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: src/common/mousemanager.cpp
|
||||
// Purpose: implementation of wxMouseEventsManager class
|
||||
// Author: Vadim Zeitlin
|
||||
// Created: 2009-04-21
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 2009 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
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#endif // WX_PRECOMP
|
||||
|
||||
#include "wx/mousemanager.h"
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// event tables
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
BEGIN_EVENT_TABLE(wxMouseEventsManager, wxEvtHandler)
|
||||
EVT_MOUSE_CAPTURE_LOST(wxMouseEventsManager::OnCaptureLost)
|
||||
EVT_LEFT_DOWN(wxMouseEventsManager::OnLeftDown)
|
||||
EVT_LEFT_UP(wxMouseEventsManager::OnLeftUp)
|
||||
EVT_MOTION(wxMouseEventsManager::OnMove)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
// ============================================================================
|
||||
// wxMouseEventsManager implementation
|
||||
// ============================================================================
|
||||
|
||||
wxMouseEventsManager::wxMouseEventsManager(wxWindow *win)
|
||||
: m_win(win)
|
||||
{
|
||||
m_state = State_Normal;
|
||||
m_item = wxNOT_FOUND;
|
||||
|
||||
win->PushEventHandler(this);
|
||||
}
|
||||
|
||||
wxMouseEventsManager::~wxMouseEventsManager()
|
||||
{
|
||||
m_win->RemoveEventHandler(this);
|
||||
}
|
||||
|
||||
void wxMouseEventsManager::OnCaptureLost(wxMouseCaptureLostEvent& WXUNUSED(event))
|
||||
{
|
||||
switch ( m_state )
|
||||
{
|
||||
case State_Normal:
|
||||
wxFAIL_MSG( "mouse shouldn't be captured in normal state" );
|
||||
break;
|
||||
|
||||
case State_Pressed:
|
||||
MouseClickCancelled(m_item);
|
||||
break;
|
||||
|
||||
case State_Dragging:
|
||||
MouseDragCancelled(m_item);
|
||||
break;
|
||||
}
|
||||
|
||||
m_state = State_Normal;
|
||||
m_item = wxNOT_FOUND;
|
||||
}
|
||||
|
||||
void wxMouseEventsManager::OnLeftDown(wxMouseEvent& event)
|
||||
{
|
||||
wxASSERT_MSG( m_state == State_Normal,
|
||||
"state hasn't been reset to normal somehow" );
|
||||
|
||||
m_posLast = event.GetPosition();
|
||||
m_item = MouseHitTest(m_posLast);
|
||||
if ( m_item == wxNOT_FOUND )
|
||||
{
|
||||
event.Skip();
|
||||
return;
|
||||
}
|
||||
|
||||
m_state = State_Pressed;
|
||||
m_win->CaptureMouse();
|
||||
MouseClickBegin(m_item);
|
||||
}
|
||||
|
||||
void wxMouseEventsManager::OnLeftUp(wxMouseEvent& event)
|
||||
{
|
||||
switch ( m_state )
|
||||
{
|
||||
case State_Normal:
|
||||
// ignore it, the mouse hasn't been pressed over any item initially
|
||||
// so releasing it shouldn't do anything
|
||||
event.Skip();
|
||||
|
||||
// skip releasing the capture below
|
||||
return;
|
||||
|
||||
case State_Pressed:
|
||||
if ( MouseHitTest(event.GetPosition()) == m_item )
|
||||
{
|
||||
// mouse released over the same item, so it was a click
|
||||
MouseClicked(m_item);
|
||||
}
|
||||
break;
|
||||
|
||||
case State_Dragging:
|
||||
MouseDragEnd(m_item, event.GetPosition());
|
||||
break;
|
||||
}
|
||||
|
||||
m_state = State_Normal;
|
||||
m_item = wxNOT_FOUND;
|
||||
m_win->ReleaseMouse();
|
||||
}
|
||||
|
||||
void wxMouseEventsManager::OnMove(wxMouseEvent& event)
|
||||
{
|
||||
switch ( m_state )
|
||||
{
|
||||
case State_Normal:
|
||||
event.Skip();
|
||||
break;
|
||||
|
||||
case State_Pressed:
|
||||
wxASSERT_MSG( event.LeftIsDown(),
|
||||
"should have detected mouse being released" );
|
||||
|
||||
{
|
||||
// it's probably a bad idea to query the system for these
|
||||
// values every time the mouse is moved so cache them on the
|
||||
// assumption that they don't change -- which is wrong, of
|
||||
// course, the user can change them but it doesn't happen often
|
||||
static const int
|
||||
dragMinX = wxSystemSettings::GetMetric(wxSYS_DRAG_X);
|
||||
static const int
|
||||
dragMinY = wxSystemSettings::GetMetric(wxSYS_DRAG_Y);
|
||||
|
||||
const wxPoint& pos = event.GetPosition();
|
||||
const wxPoint ofs = pos - m_posLast;
|
||||
if ( abs(ofs.x) > dragMinX || abs(ofs.y) > dragMinY )
|
||||
{
|
||||
// the mouse left the rectangle inside which its movements
|
||||
// are considered to be too small to constitute a start of
|
||||
// drag operation, do [attempt to] start it now
|
||||
if ( MouseDragBegin(m_item, pos) )
|
||||
{
|
||||
m_state = State_Dragging;
|
||||
}
|
||||
}
|
||||
else // still didn't move far enough away
|
||||
{
|
||||
event.Skip();
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case State_Dragging:
|
||||
m_posLast = event.GetPosition();
|
||||
MouseDragging(m_item, m_posLast);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user