use wxWindowIDRef to transparently implement auto-generated ids ref-counting (slightly modified patch 1835458)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51035 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
21
Makefile.in
21
Makefile.in
@@ -3223,6 +3223,7 @@ COND_USE_GUI_1_ALL_GUI_HEADERS = \
|
|||||||
wx/validate.h \
|
wx/validate.h \
|
||||||
wx/valtext.h \
|
wx/valtext.h \
|
||||||
wx/window.h \
|
wx/window.h \
|
||||||
|
wx/windowid.h \
|
||||||
wx/wupdlock.h \
|
wx/wupdlock.h \
|
||||||
wx/accel.h \
|
wx/accel.h \
|
||||||
wx/access.h \
|
wx/access.h \
|
||||||
@@ -3892,6 +3893,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS = \
|
|||||||
monodll_validate.o \
|
monodll_validate.o \
|
||||||
monodll_valtext.o \
|
monodll_valtext.o \
|
||||||
monodll_wincmn.o \
|
monodll_wincmn.o \
|
||||||
|
monodll_windowid.o \
|
||||||
monodll_xpmdecod.o \
|
monodll_xpmdecod.o \
|
||||||
monodll_busyinfo.o \
|
monodll_busyinfo.o \
|
||||||
monodll_buttonbar.o \
|
monodll_buttonbar.o \
|
||||||
@@ -4074,6 +4076,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS = \
|
|||||||
monodll_validate.o \
|
monodll_validate.o \
|
||||||
monodll_valtext.o \
|
monodll_valtext.o \
|
||||||
monodll_wincmn.o \
|
monodll_wincmn.o \
|
||||||
|
monodll_windowid.o \
|
||||||
monodll_xpmdecod.o \
|
monodll_xpmdecod.o \
|
||||||
monodll_busyinfo.o \
|
monodll_busyinfo.o \
|
||||||
monodll_buttonbar.o \
|
monodll_buttonbar.o \
|
||||||
@@ -5780,6 +5783,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_1 = \
|
|||||||
monolib_validate.o \
|
monolib_validate.o \
|
||||||
monolib_valtext.o \
|
monolib_valtext.o \
|
||||||
monolib_wincmn.o \
|
monolib_wincmn.o \
|
||||||
|
monolib_windowid.o \
|
||||||
monolib_xpmdecod.o \
|
monolib_xpmdecod.o \
|
||||||
monolib_busyinfo.o \
|
monolib_busyinfo.o \
|
||||||
monolib_buttonbar.o \
|
monolib_buttonbar.o \
|
||||||
@@ -5962,6 +5966,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_1 = \
|
|||||||
monolib_validate.o \
|
monolib_validate.o \
|
||||||
monolib_valtext.o \
|
monolib_valtext.o \
|
||||||
monolib_wincmn.o \
|
monolib_wincmn.o \
|
||||||
|
monolib_windowid.o \
|
||||||
monolib_xpmdecod.o \
|
monolib_xpmdecod.o \
|
||||||
monolib_busyinfo.o \
|
monolib_busyinfo.o \
|
||||||
monolib_buttonbar.o \
|
monolib_buttonbar.o \
|
||||||
@@ -7949,6 +7954,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_2 = \
|
|||||||
coredll_validate.o \
|
coredll_validate.o \
|
||||||
coredll_valtext.o \
|
coredll_valtext.o \
|
||||||
coredll_wincmn.o \
|
coredll_wincmn.o \
|
||||||
|
coredll_windowid.o \
|
||||||
coredll_xpmdecod.o \
|
coredll_xpmdecod.o \
|
||||||
coredll_busyinfo.o \
|
coredll_busyinfo.o \
|
||||||
coredll_buttonbar.o \
|
coredll_buttonbar.o \
|
||||||
@@ -8131,6 +8137,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_2 = \
|
|||||||
coredll_validate.o \
|
coredll_validate.o \
|
||||||
coredll_valtext.o \
|
coredll_valtext.o \
|
||||||
coredll_wincmn.o \
|
coredll_wincmn.o \
|
||||||
|
coredll_windowid.o \
|
||||||
coredll_xpmdecod.o \
|
coredll_xpmdecod.o \
|
||||||
coredll_busyinfo.o \
|
coredll_busyinfo.o \
|
||||||
coredll_buttonbar.o \
|
coredll_buttonbar.o \
|
||||||
@@ -9441,6 +9448,7 @@ COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_3 = \
|
|||||||
corelib_validate.o \
|
corelib_validate.o \
|
||||||
corelib_valtext.o \
|
corelib_valtext.o \
|
||||||
corelib_wincmn.o \
|
corelib_wincmn.o \
|
||||||
|
corelib_windowid.o \
|
||||||
corelib_xpmdecod.o \
|
corelib_xpmdecod.o \
|
||||||
corelib_busyinfo.o \
|
corelib_busyinfo.o \
|
||||||
corelib_buttonbar.o \
|
corelib_buttonbar.o \
|
||||||
@@ -9623,6 +9631,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_3 = \
|
|||||||
corelib_validate.o \
|
corelib_validate.o \
|
||||||
corelib_valtext.o \
|
corelib_valtext.o \
|
||||||
corelib_wincmn.o \
|
corelib_wincmn.o \
|
||||||
|
corelib_windowid.o \
|
||||||
corelib_xpmdecod.o \
|
corelib_xpmdecod.o \
|
||||||
corelib_busyinfo.o \
|
corelib_busyinfo.o \
|
||||||
corelib_buttonbar.o \
|
corelib_buttonbar.o \
|
||||||
@@ -17589,6 +17598,9 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
|
|||||||
@COND_USE_GUI_1@monodll_wincmn.o: $(srcdir)/src/common/wincmn.cpp $(MONODLL_ODEP)
|
@COND_USE_GUI_1@monodll_wincmn.o: $(srcdir)/src/common/wincmn.cpp $(MONODLL_ODEP)
|
||||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/wincmn.cpp
|
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/wincmn.cpp
|
||||||
|
|
||||||
|
@COND_USE_GUI_1@monodll_windowid.o: $(srcdir)/src/common/windowid.cpp $(MONODLL_ODEP)
|
||||||
|
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/windowid.cpp
|
||||||
|
|
||||||
@COND_USE_GUI_1@monodll_xpmdecod.o: $(srcdir)/src/common/xpmdecod.cpp $(MONODLL_ODEP)
|
@COND_USE_GUI_1@monodll_xpmdecod.o: $(srcdir)/src/common/xpmdecod.cpp $(MONODLL_ODEP)
|
||||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/xpmdecod.cpp
|
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/xpmdecod.cpp
|
||||||
|
|
||||||
@@ -22050,6 +22062,9 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
|
|||||||
@COND_USE_GUI_1@monolib_wincmn.o: $(srcdir)/src/common/wincmn.cpp $(MONOLIB_ODEP)
|
@COND_USE_GUI_1@monolib_wincmn.o: $(srcdir)/src/common/wincmn.cpp $(MONOLIB_ODEP)
|
||||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/wincmn.cpp
|
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/wincmn.cpp
|
||||||
|
|
||||||
|
@COND_USE_GUI_1@monolib_windowid.o: $(srcdir)/src/common/windowid.cpp $(MONOLIB_ODEP)
|
||||||
|
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/windowid.cpp
|
||||||
|
|
||||||
@COND_USE_GUI_1@monolib_xpmdecod.o: $(srcdir)/src/common/xpmdecod.cpp $(MONOLIB_ODEP)
|
@COND_USE_GUI_1@monolib_xpmdecod.o: $(srcdir)/src/common/xpmdecod.cpp $(MONOLIB_ODEP)
|
||||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/xpmdecod.cpp
|
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/xpmdecod.cpp
|
||||||
|
|
||||||
@@ -27027,6 +27042,9 @@ coredll_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(COREDLL_ODEP)
|
|||||||
@COND_USE_GUI_1@coredll_wincmn.o: $(srcdir)/src/common/wincmn.cpp $(COREDLL_ODEP)
|
@COND_USE_GUI_1@coredll_wincmn.o: $(srcdir)/src/common/wincmn.cpp $(COREDLL_ODEP)
|
||||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/wincmn.cpp
|
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/wincmn.cpp
|
||||||
|
|
||||||
|
@COND_USE_GUI_1@coredll_windowid.o: $(srcdir)/src/common/windowid.cpp $(COREDLL_ODEP)
|
||||||
|
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/windowid.cpp
|
||||||
|
|
||||||
@COND_USE_GUI_1@coredll_xpmdecod.o: $(srcdir)/src/common/xpmdecod.cpp $(COREDLL_ODEP)
|
@COND_USE_GUI_1@coredll_xpmdecod.o: $(srcdir)/src/common/xpmdecod.cpp $(COREDLL_ODEP)
|
||||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/xpmdecod.cpp
|
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/xpmdecod.cpp
|
||||||
|
|
||||||
@@ -30087,6 +30105,9 @@ corelib_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(CORELIB_ODEP)
|
|||||||
@COND_USE_GUI_1@corelib_wincmn.o: $(srcdir)/src/common/wincmn.cpp $(CORELIB_ODEP)
|
@COND_USE_GUI_1@corelib_wincmn.o: $(srcdir)/src/common/wincmn.cpp $(CORELIB_ODEP)
|
||||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/wincmn.cpp
|
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/wincmn.cpp
|
||||||
|
|
||||||
|
@COND_USE_GUI_1@corelib_windowid.o: $(srcdir)/src/common/windowid.cpp $(CORELIB_ODEP)
|
||||||
|
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/windowid.cpp
|
||||||
|
|
||||||
@COND_USE_GUI_1@corelib_xpmdecod.o: $(srcdir)/src/common/xpmdecod.cpp $(CORELIB_ODEP)
|
@COND_USE_GUI_1@corelib_xpmdecod.o: $(srcdir)/src/common/xpmdecod.cpp $(CORELIB_ODEP)
|
||||||
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/xpmdecod.cpp
|
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/xpmdecod.cpp
|
||||||
|
|
||||||
|
@@ -732,6 +732,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
|||||||
src/common/validate.cpp
|
src/common/validate.cpp
|
||||||
src/common/valtext.cpp
|
src/common/valtext.cpp
|
||||||
src/common/wincmn.cpp
|
src/common/wincmn.cpp
|
||||||
|
src/common/windowid.cpp
|
||||||
src/common/xpmdecod.cpp
|
src/common/xpmdecod.cpp
|
||||||
src/generic/busyinfo.cpp
|
src/generic/busyinfo.cpp
|
||||||
src/generic/buttonbar.cpp
|
src/generic/buttonbar.cpp
|
||||||
@@ -852,6 +853,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
|||||||
wx/validate.h
|
wx/validate.h
|
||||||
wx/valtext.h
|
wx/valtext.h
|
||||||
wx/window.h
|
wx/window.h
|
||||||
|
wx/windowid.h
|
||||||
wx/wupdlock.h
|
wx/wupdlock.h
|
||||||
|
|
||||||
wx/accel.h
|
wx/accel.h
|
||||||
|
@@ -1666,6 +1666,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
|||||||
$(OBJS)\monodll_validate.obj \
|
$(OBJS)\monodll_validate.obj \
|
||||||
$(OBJS)\monodll_valtext.obj \
|
$(OBJS)\monodll_valtext.obj \
|
||||||
$(OBJS)\monodll_wincmn.obj \
|
$(OBJS)\monodll_wincmn.obj \
|
||||||
|
$(OBJS)\monodll_windowid.obj \
|
||||||
$(OBJS)\monodll_xpmdecod.obj \
|
$(OBJS)\monodll_xpmdecod.obj \
|
||||||
$(OBJS)\monodll_busyinfo.obj \
|
$(OBJS)\monodll_busyinfo.obj \
|
||||||
$(OBJS)\monodll_buttonbar.obj \
|
$(OBJS)\monodll_buttonbar.obj \
|
||||||
@@ -1896,6 +1897,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
|||||||
$(OBJS)\monodll_validate.obj \
|
$(OBJS)\monodll_validate.obj \
|
||||||
$(OBJS)\monodll_valtext.obj \
|
$(OBJS)\monodll_valtext.obj \
|
||||||
$(OBJS)\monodll_wincmn.obj \
|
$(OBJS)\monodll_wincmn.obj \
|
||||||
|
$(OBJS)\monodll_windowid.obj \
|
||||||
$(OBJS)\monodll_xpmdecod.obj \
|
$(OBJS)\monodll_xpmdecod.obj \
|
||||||
$(OBJS)\monodll_busyinfo.obj \
|
$(OBJS)\monodll_busyinfo.obj \
|
||||||
$(OBJS)\monodll_buttonbar.obj \
|
$(OBJS)\monodll_buttonbar.obj \
|
||||||
@@ -2307,6 +2309,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
|||||||
$(OBJS)\monolib_validate.obj \
|
$(OBJS)\monolib_validate.obj \
|
||||||
$(OBJS)\monolib_valtext.obj \
|
$(OBJS)\monolib_valtext.obj \
|
||||||
$(OBJS)\monolib_wincmn.obj \
|
$(OBJS)\monolib_wincmn.obj \
|
||||||
|
$(OBJS)\monolib_windowid.obj \
|
||||||
$(OBJS)\monolib_xpmdecod.obj \
|
$(OBJS)\monolib_xpmdecod.obj \
|
||||||
$(OBJS)\monolib_busyinfo.obj \
|
$(OBJS)\monolib_busyinfo.obj \
|
||||||
$(OBJS)\monolib_buttonbar.obj \
|
$(OBJS)\monolib_buttonbar.obj \
|
||||||
@@ -2537,6 +2540,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
|||||||
$(OBJS)\monolib_validate.obj \
|
$(OBJS)\monolib_validate.obj \
|
||||||
$(OBJS)\monolib_valtext.obj \
|
$(OBJS)\monolib_valtext.obj \
|
||||||
$(OBJS)\monolib_wincmn.obj \
|
$(OBJS)\monolib_wincmn.obj \
|
||||||
|
$(OBJS)\monolib_windowid.obj \
|
||||||
$(OBJS)\monolib_xpmdecod.obj \
|
$(OBJS)\monolib_xpmdecod.obj \
|
||||||
$(OBJS)\monolib_busyinfo.obj \
|
$(OBJS)\monolib_busyinfo.obj \
|
||||||
$(OBJS)\monolib_buttonbar.obj \
|
$(OBJS)\monolib_buttonbar.obj \
|
||||||
@@ -2863,6 +2867,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
|||||||
$(OBJS)\coredll_validate.obj \
|
$(OBJS)\coredll_validate.obj \
|
||||||
$(OBJS)\coredll_valtext.obj \
|
$(OBJS)\coredll_valtext.obj \
|
||||||
$(OBJS)\coredll_wincmn.obj \
|
$(OBJS)\coredll_wincmn.obj \
|
||||||
|
$(OBJS)\coredll_windowid.obj \
|
||||||
$(OBJS)\coredll_xpmdecod.obj \
|
$(OBJS)\coredll_xpmdecod.obj \
|
||||||
$(OBJS)\coredll_busyinfo.obj \
|
$(OBJS)\coredll_busyinfo.obj \
|
||||||
$(OBJS)\coredll_buttonbar.obj \
|
$(OBJS)\coredll_buttonbar.obj \
|
||||||
@@ -3093,6 +3098,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
|||||||
$(OBJS)\coredll_validate.obj \
|
$(OBJS)\coredll_validate.obj \
|
||||||
$(OBJS)\coredll_valtext.obj \
|
$(OBJS)\coredll_valtext.obj \
|
||||||
$(OBJS)\coredll_wincmn.obj \
|
$(OBJS)\coredll_wincmn.obj \
|
||||||
|
$(OBJS)\coredll_windowid.obj \
|
||||||
$(OBJS)\coredll_xpmdecod.obj \
|
$(OBJS)\coredll_xpmdecod.obj \
|
||||||
$(OBJS)\coredll_busyinfo.obj \
|
$(OBJS)\coredll_busyinfo.obj \
|
||||||
$(OBJS)\coredll_buttonbar.obj \
|
$(OBJS)\coredll_buttonbar.obj \
|
||||||
@@ -3325,6 +3331,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
|||||||
$(OBJS)\corelib_validate.obj \
|
$(OBJS)\corelib_validate.obj \
|
||||||
$(OBJS)\corelib_valtext.obj \
|
$(OBJS)\corelib_valtext.obj \
|
||||||
$(OBJS)\corelib_wincmn.obj \
|
$(OBJS)\corelib_wincmn.obj \
|
||||||
|
$(OBJS)\corelib_windowid.obj \
|
||||||
$(OBJS)\corelib_xpmdecod.obj \
|
$(OBJS)\corelib_xpmdecod.obj \
|
||||||
$(OBJS)\corelib_busyinfo.obj \
|
$(OBJS)\corelib_busyinfo.obj \
|
||||||
$(OBJS)\corelib_buttonbar.obj \
|
$(OBJS)\corelib_buttonbar.obj \
|
||||||
@@ -3555,6 +3562,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
|||||||
$(OBJS)\corelib_validate.obj \
|
$(OBJS)\corelib_validate.obj \
|
||||||
$(OBJS)\corelib_valtext.obj \
|
$(OBJS)\corelib_valtext.obj \
|
||||||
$(OBJS)\corelib_wincmn.obj \
|
$(OBJS)\corelib_wincmn.obj \
|
||||||
|
$(OBJS)\corelib_windowid.obj \
|
||||||
$(OBJS)\corelib_xpmdecod.obj \
|
$(OBJS)\corelib_xpmdecod.obj \
|
||||||
$(OBJS)\corelib_busyinfo.obj \
|
$(OBJS)\corelib_busyinfo.obj \
|
||||||
$(OBJS)\corelib_buttonbar.obj \
|
$(OBJS)\corelib_buttonbar.obj \
|
||||||
@@ -6963,6 +6971,11 @@ $(OBJS)\monodll_wincmn.obj: ..\..\src\common\wincmn.cpp
|
|||||||
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
|
!if "$(USE_GUI)" == "1"
|
||||||
|
$(OBJS)\monodll_windowid.obj: ..\..\src\common\windowid.cpp
|
||||||
|
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
||||||
|
!endif
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
!if "$(USE_GUI)" == "1"
|
||||||
$(OBJS)\monodll_xpmdecod.obj: ..\..\src\common\xpmdecod.cpp
|
$(OBJS)\monodll_xpmdecod.obj: ..\..\src\common\xpmdecod.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
|
||||||
@@ -9061,6 +9074,11 @@ $(OBJS)\monolib_wincmn.obj: ..\..\src\common\wincmn.cpp
|
|||||||
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
|
!if "$(USE_GUI)" == "1"
|
||||||
|
$(OBJS)\monolib_windowid.obj: ..\..\src\common\windowid.cpp
|
||||||
|
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
||||||
|
!endif
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
!if "$(USE_GUI)" == "1"
|
||||||
$(OBJS)\monolib_xpmdecod.obj: ..\..\src\common\xpmdecod.cpp
|
$(OBJS)\monolib_xpmdecod.obj: ..\..\src\common\xpmdecod.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
|
||||||
@@ -11216,6 +11234,11 @@ $(OBJS)\coredll_wincmn.obj: ..\..\src\common\wincmn.cpp
|
|||||||
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
|
!if "$(USE_GUI)" == "1"
|
||||||
|
$(OBJS)\coredll_windowid.obj: ..\..\src\common\windowid.cpp
|
||||||
|
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
|
||||||
|
!endif
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
!if "$(USE_GUI)" == "1"
|
||||||
$(OBJS)\coredll_xpmdecod.obj: ..\..\src\common\xpmdecod.cpp
|
$(OBJS)\coredll_xpmdecod.obj: ..\..\src\common\xpmdecod.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
|
||||||
@@ -12522,6 +12545,11 @@ $(OBJS)\corelib_wincmn.obj: ..\..\src\common\wincmn.cpp
|
|||||||
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
|
!if "$(USE_GUI)" == "1"
|
||||||
|
$(OBJS)\corelib_windowid.obj: ..\..\src\common\windowid.cpp
|
||||||
|
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
|
||||||
|
!endif
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
!if "$(USE_GUI)" == "1"
|
||||||
$(OBJS)\corelib_xpmdecod.obj: ..\..\src\common\xpmdecod.cpp
|
$(OBJS)\corelib_xpmdecod.obj: ..\..\src\common\xpmdecod.cpp
|
||||||
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
|
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
|
||||||
|
@@ -1681,6 +1681,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
|||||||
$(OBJS)\monodll_validate.o \
|
$(OBJS)\monodll_validate.o \
|
||||||
$(OBJS)\monodll_valtext.o \
|
$(OBJS)\monodll_valtext.o \
|
||||||
$(OBJS)\monodll_wincmn.o \
|
$(OBJS)\monodll_wincmn.o \
|
||||||
|
$(OBJS)\monodll_windowid.o \
|
||||||
$(OBJS)\monodll_xpmdecod.o \
|
$(OBJS)\monodll_xpmdecod.o \
|
||||||
$(OBJS)\monodll_busyinfo.o \
|
$(OBJS)\monodll_busyinfo.o \
|
||||||
$(OBJS)\monodll_buttonbar.o \
|
$(OBJS)\monodll_buttonbar.o \
|
||||||
@@ -1913,6 +1914,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
|||||||
$(OBJS)\monodll_validate.o \
|
$(OBJS)\monodll_validate.o \
|
||||||
$(OBJS)\monodll_valtext.o \
|
$(OBJS)\monodll_valtext.o \
|
||||||
$(OBJS)\monodll_wincmn.o \
|
$(OBJS)\monodll_wincmn.o \
|
||||||
|
$(OBJS)\monodll_windowid.o \
|
||||||
$(OBJS)\monodll_xpmdecod.o \
|
$(OBJS)\monodll_xpmdecod.o \
|
||||||
$(OBJS)\monodll_busyinfo.o \
|
$(OBJS)\monodll_busyinfo.o \
|
||||||
$(OBJS)\monodll_buttonbar.o \
|
$(OBJS)\monodll_buttonbar.o \
|
||||||
@@ -2328,6 +2330,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
|||||||
$(OBJS)\monolib_validate.o \
|
$(OBJS)\monolib_validate.o \
|
||||||
$(OBJS)\monolib_valtext.o \
|
$(OBJS)\monolib_valtext.o \
|
||||||
$(OBJS)\monolib_wincmn.o \
|
$(OBJS)\monolib_wincmn.o \
|
||||||
|
$(OBJS)\monolib_windowid.o \
|
||||||
$(OBJS)\monolib_xpmdecod.o \
|
$(OBJS)\monolib_xpmdecod.o \
|
||||||
$(OBJS)\monolib_busyinfo.o \
|
$(OBJS)\monolib_busyinfo.o \
|
||||||
$(OBJS)\monolib_buttonbar.o \
|
$(OBJS)\monolib_buttonbar.o \
|
||||||
@@ -2560,6 +2563,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
|||||||
$(OBJS)\monolib_validate.o \
|
$(OBJS)\monolib_validate.o \
|
||||||
$(OBJS)\monolib_valtext.o \
|
$(OBJS)\monolib_valtext.o \
|
||||||
$(OBJS)\monolib_wincmn.o \
|
$(OBJS)\monolib_wincmn.o \
|
||||||
|
$(OBJS)\monolib_windowid.o \
|
||||||
$(OBJS)\monolib_xpmdecod.o \
|
$(OBJS)\monolib_xpmdecod.o \
|
||||||
$(OBJS)\monolib_busyinfo.o \
|
$(OBJS)\monolib_busyinfo.o \
|
||||||
$(OBJS)\monolib_buttonbar.o \
|
$(OBJS)\monolib_buttonbar.o \
|
||||||
@@ -2900,6 +2904,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
|||||||
$(OBJS)\coredll_validate.o \
|
$(OBJS)\coredll_validate.o \
|
||||||
$(OBJS)\coredll_valtext.o \
|
$(OBJS)\coredll_valtext.o \
|
||||||
$(OBJS)\coredll_wincmn.o \
|
$(OBJS)\coredll_wincmn.o \
|
||||||
|
$(OBJS)\coredll_windowid.o \
|
||||||
$(OBJS)\coredll_xpmdecod.o \
|
$(OBJS)\coredll_xpmdecod.o \
|
||||||
$(OBJS)\coredll_busyinfo.o \
|
$(OBJS)\coredll_busyinfo.o \
|
||||||
$(OBJS)\coredll_buttonbar.o \
|
$(OBJS)\coredll_buttonbar.o \
|
||||||
@@ -3132,6 +3137,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
|||||||
$(OBJS)\coredll_validate.o \
|
$(OBJS)\coredll_validate.o \
|
||||||
$(OBJS)\coredll_valtext.o \
|
$(OBJS)\coredll_valtext.o \
|
||||||
$(OBJS)\coredll_wincmn.o \
|
$(OBJS)\coredll_wincmn.o \
|
||||||
|
$(OBJS)\coredll_windowid.o \
|
||||||
$(OBJS)\coredll_xpmdecod.o \
|
$(OBJS)\coredll_xpmdecod.o \
|
||||||
$(OBJS)\coredll_busyinfo.o \
|
$(OBJS)\coredll_busyinfo.o \
|
||||||
$(OBJS)\coredll_buttonbar.o \
|
$(OBJS)\coredll_buttonbar.o \
|
||||||
@@ -3370,6 +3376,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
|||||||
$(OBJS)\corelib_validate.o \
|
$(OBJS)\corelib_validate.o \
|
||||||
$(OBJS)\corelib_valtext.o \
|
$(OBJS)\corelib_valtext.o \
|
||||||
$(OBJS)\corelib_wincmn.o \
|
$(OBJS)\corelib_wincmn.o \
|
||||||
|
$(OBJS)\corelib_windowid.o \
|
||||||
$(OBJS)\corelib_xpmdecod.o \
|
$(OBJS)\corelib_xpmdecod.o \
|
||||||
$(OBJS)\corelib_busyinfo.o \
|
$(OBJS)\corelib_busyinfo.o \
|
||||||
$(OBJS)\corelib_buttonbar.o \
|
$(OBJS)\corelib_buttonbar.o \
|
||||||
@@ -3602,6 +3609,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
|||||||
$(OBJS)\corelib_validate.o \
|
$(OBJS)\corelib_validate.o \
|
||||||
$(OBJS)\corelib_valtext.o \
|
$(OBJS)\corelib_valtext.o \
|
||||||
$(OBJS)\corelib_wincmn.o \
|
$(OBJS)\corelib_wincmn.o \
|
||||||
|
$(OBJS)\corelib_windowid.o \
|
||||||
$(OBJS)\corelib_xpmdecod.o \
|
$(OBJS)\corelib_xpmdecod.o \
|
||||||
$(OBJS)\corelib_busyinfo.o \
|
$(OBJS)\corelib_busyinfo.o \
|
||||||
$(OBJS)\corelib_buttonbar.o \
|
$(OBJS)\corelib_buttonbar.o \
|
||||||
@@ -7203,6 +7211,11 @@ $(OBJS)\monodll_wincmn.o: ../../src/common/wincmn.cpp
|
|||||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(USE_GUI),1)
|
||||||
|
$(OBJS)\monodll_windowid.o: ../../src/common/windowid.cpp
|
||||||
|
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(USE_GUI),1)
|
ifeq ($(USE_GUI),1)
|
||||||
$(OBJS)\monodll_xpmdecod.o: ../../src/common/xpmdecod.cpp
|
$(OBJS)\monodll_xpmdecod.o: ../../src/common/xpmdecod.cpp
|
||||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
@@ -9403,6 +9416,11 @@ $(OBJS)\monolib_wincmn.o: ../../src/common/wincmn.cpp
|
|||||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(USE_GUI),1)
|
||||||
|
$(OBJS)\monolib_windowid.o: ../../src/common/windowid.cpp
|
||||||
|
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(USE_GUI),1)
|
ifeq ($(USE_GUI),1)
|
||||||
$(OBJS)\monolib_xpmdecod.o: ../../src/common/xpmdecod.cpp
|
$(OBJS)\monolib_xpmdecod.o: ../../src/common/xpmdecod.cpp
|
||||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
@@ -11660,6 +11678,11 @@ $(OBJS)\coredll_wincmn.o: ../../src/common/wincmn.cpp
|
|||||||
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(USE_GUI),1)
|
||||||
|
$(OBJS)\coredll_windowid.o: ../../src/common/windowid.cpp
|
||||||
|
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(USE_GUI),1)
|
ifeq ($(USE_GUI),1)
|
||||||
$(OBJS)\coredll_xpmdecod.o: ../../src/common/xpmdecod.cpp
|
$(OBJS)\coredll_xpmdecod.o: ../../src/common/xpmdecod.cpp
|
||||||
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
@@ -13066,6 +13089,11 @@ $(OBJS)\corelib_wincmn.o: ../../src/common/wincmn.cpp
|
|||||||
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(USE_GUI),1)
|
||||||
|
$(OBJS)\corelib_windowid.o: ../../src/common/windowid.cpp
|
||||||
|
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(USE_GUI),1)
|
ifeq ($(USE_GUI),1)
|
||||||
$(OBJS)\corelib_xpmdecod.o: ../../src/common/xpmdecod.cpp
|
$(OBJS)\corelib_xpmdecod.o: ../../src/common/xpmdecod.cpp
|
||||||
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
@@ -1840,6 +1840,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
|||||||
$(OBJS)\monodll_validate.obj \
|
$(OBJS)\monodll_validate.obj \
|
||||||
$(OBJS)\monodll_valtext.obj \
|
$(OBJS)\monodll_valtext.obj \
|
||||||
$(OBJS)\monodll_wincmn.obj \
|
$(OBJS)\monodll_wincmn.obj \
|
||||||
|
$(OBJS)\monodll_windowid.obj \
|
||||||
$(OBJS)\monodll_xpmdecod.obj \
|
$(OBJS)\monodll_xpmdecod.obj \
|
||||||
$(OBJS)\monodll_busyinfo.obj \
|
$(OBJS)\monodll_busyinfo.obj \
|
||||||
$(OBJS)\monodll_buttonbar.obj \
|
$(OBJS)\monodll_buttonbar.obj \
|
||||||
@@ -2070,6 +2071,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
|
|||||||
$(OBJS)\monodll_validate.obj \
|
$(OBJS)\monodll_validate.obj \
|
||||||
$(OBJS)\monodll_valtext.obj \
|
$(OBJS)\monodll_valtext.obj \
|
||||||
$(OBJS)\monodll_wincmn.obj \
|
$(OBJS)\monodll_wincmn.obj \
|
||||||
|
$(OBJS)\monodll_windowid.obj \
|
||||||
$(OBJS)\monodll_xpmdecod.obj \
|
$(OBJS)\monodll_xpmdecod.obj \
|
||||||
$(OBJS)\monodll_busyinfo.obj \
|
$(OBJS)\monodll_busyinfo.obj \
|
||||||
$(OBJS)\monodll_buttonbar.obj \
|
$(OBJS)\monodll_buttonbar.obj \
|
||||||
@@ -2487,6 +2489,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
|||||||
$(OBJS)\monolib_validate.obj \
|
$(OBJS)\monolib_validate.obj \
|
||||||
$(OBJS)\monolib_valtext.obj \
|
$(OBJS)\monolib_valtext.obj \
|
||||||
$(OBJS)\monolib_wincmn.obj \
|
$(OBJS)\monolib_wincmn.obj \
|
||||||
|
$(OBJS)\monolib_windowid.obj \
|
||||||
$(OBJS)\monolib_xpmdecod.obj \
|
$(OBJS)\monolib_xpmdecod.obj \
|
||||||
$(OBJS)\monolib_busyinfo.obj \
|
$(OBJS)\monolib_busyinfo.obj \
|
||||||
$(OBJS)\monolib_buttonbar.obj \
|
$(OBJS)\monolib_buttonbar.obj \
|
||||||
@@ -2717,6 +2720,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
|
|||||||
$(OBJS)\monolib_validate.obj \
|
$(OBJS)\monolib_validate.obj \
|
||||||
$(OBJS)\monolib_valtext.obj \
|
$(OBJS)\monolib_valtext.obj \
|
||||||
$(OBJS)\monolib_wincmn.obj \
|
$(OBJS)\monolib_wincmn.obj \
|
||||||
|
$(OBJS)\monolib_windowid.obj \
|
||||||
$(OBJS)\monolib_xpmdecod.obj \
|
$(OBJS)\monolib_xpmdecod.obj \
|
||||||
$(OBJS)\monolib_busyinfo.obj \
|
$(OBJS)\monolib_busyinfo.obj \
|
||||||
$(OBJS)\monolib_buttonbar.obj \
|
$(OBJS)\monolib_buttonbar.obj \
|
||||||
@@ -3073,6 +3077,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
|||||||
$(OBJS)\coredll_validate.obj \
|
$(OBJS)\coredll_validate.obj \
|
||||||
$(OBJS)\coredll_valtext.obj \
|
$(OBJS)\coredll_valtext.obj \
|
||||||
$(OBJS)\coredll_wincmn.obj \
|
$(OBJS)\coredll_wincmn.obj \
|
||||||
|
$(OBJS)\coredll_windowid.obj \
|
||||||
$(OBJS)\coredll_xpmdecod.obj \
|
$(OBJS)\coredll_xpmdecod.obj \
|
||||||
$(OBJS)\coredll_busyinfo.obj \
|
$(OBJS)\coredll_busyinfo.obj \
|
||||||
$(OBJS)\coredll_buttonbar.obj \
|
$(OBJS)\coredll_buttonbar.obj \
|
||||||
@@ -3303,6 +3308,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
|
|||||||
$(OBJS)\coredll_validate.obj \
|
$(OBJS)\coredll_validate.obj \
|
||||||
$(OBJS)\coredll_valtext.obj \
|
$(OBJS)\coredll_valtext.obj \
|
||||||
$(OBJS)\coredll_wincmn.obj \
|
$(OBJS)\coredll_wincmn.obj \
|
||||||
|
$(OBJS)\coredll_windowid.obj \
|
||||||
$(OBJS)\coredll_xpmdecod.obj \
|
$(OBJS)\coredll_xpmdecod.obj \
|
||||||
$(OBJS)\coredll_busyinfo.obj \
|
$(OBJS)\coredll_busyinfo.obj \
|
||||||
$(OBJS)\coredll_buttonbar.obj \
|
$(OBJS)\coredll_buttonbar.obj \
|
||||||
@@ -3541,6 +3547,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
|||||||
$(OBJS)\corelib_validate.obj \
|
$(OBJS)\corelib_validate.obj \
|
||||||
$(OBJS)\corelib_valtext.obj \
|
$(OBJS)\corelib_valtext.obj \
|
||||||
$(OBJS)\corelib_wincmn.obj \
|
$(OBJS)\corelib_wincmn.obj \
|
||||||
|
$(OBJS)\corelib_windowid.obj \
|
||||||
$(OBJS)\corelib_xpmdecod.obj \
|
$(OBJS)\corelib_xpmdecod.obj \
|
||||||
$(OBJS)\corelib_busyinfo.obj \
|
$(OBJS)\corelib_busyinfo.obj \
|
||||||
$(OBJS)\corelib_buttonbar.obj \
|
$(OBJS)\corelib_buttonbar.obj \
|
||||||
@@ -3771,6 +3778,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
|
|||||||
$(OBJS)\corelib_validate.obj \
|
$(OBJS)\corelib_validate.obj \
|
||||||
$(OBJS)\corelib_valtext.obj \
|
$(OBJS)\corelib_valtext.obj \
|
||||||
$(OBJS)\corelib_wincmn.obj \
|
$(OBJS)\corelib_wincmn.obj \
|
||||||
|
$(OBJS)\corelib_windowid.obj \
|
||||||
$(OBJS)\corelib_xpmdecod.obj \
|
$(OBJS)\corelib_xpmdecod.obj \
|
||||||
$(OBJS)\corelib_busyinfo.obj \
|
$(OBJS)\corelib_busyinfo.obj \
|
||||||
$(OBJS)\corelib_buttonbar.obj \
|
$(OBJS)\corelib_buttonbar.obj \
|
||||||
@@ -7295,6 +7303,11 @@ $(OBJS)\monodll_wincmn.obj: ..\..\src\common\wincmn.cpp
|
|||||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
|
!if "$(USE_GUI)" == "1"
|
||||||
|
$(OBJS)\monodll_windowid.obj: ..\..\src\common\windowid.cpp
|
||||||
|
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
||||||
|
!endif
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
!if "$(USE_GUI)" == "1"
|
||||||
$(OBJS)\monodll_xpmdecod.obj: ..\..\src\common\xpmdecod.cpp
|
$(OBJS)\monodll_xpmdecod.obj: ..\..\src\common\xpmdecod.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
|
||||||
@@ -9393,6 +9406,11 @@ $(OBJS)\monolib_wincmn.obj: ..\..\src\common\wincmn.cpp
|
|||||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
|
!if "$(USE_GUI)" == "1"
|
||||||
|
$(OBJS)\monolib_windowid.obj: ..\..\src\common\windowid.cpp
|
||||||
|
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
||||||
|
!endif
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
!if "$(USE_GUI)" == "1"
|
||||||
$(OBJS)\monolib_xpmdecod.obj: ..\..\src\common\xpmdecod.cpp
|
$(OBJS)\monolib_xpmdecod.obj: ..\..\src\common\xpmdecod.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
|
||||||
@@ -11548,6 +11566,11 @@ $(OBJS)\coredll_wincmn.obj: ..\..\src\common\wincmn.cpp
|
|||||||
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
|
!if "$(USE_GUI)" == "1"
|
||||||
|
$(OBJS)\coredll_windowid.obj: ..\..\src\common\windowid.cpp
|
||||||
|
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
|
||||||
|
!endif
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
!if "$(USE_GUI)" == "1"
|
||||||
$(OBJS)\coredll_xpmdecod.obj: ..\..\src\common\xpmdecod.cpp
|
$(OBJS)\coredll_xpmdecod.obj: ..\..\src\common\xpmdecod.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
|
||||||
@@ -12854,6 +12877,11 @@ $(OBJS)\corelib_wincmn.obj: ..\..\src\common\wincmn.cpp
|
|||||||
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
|
!if "$(USE_GUI)" == "1"
|
||||||
|
$(OBJS)\corelib_windowid.obj: ..\..\src\common\windowid.cpp
|
||||||
|
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
|
||||||
|
!endif
|
||||||
|
|
||||||
!if "$(USE_GUI)" == "1"
|
!if "$(USE_GUI)" == "1"
|
||||||
$(OBJS)\corelib_xpmdecod.obj: ..\..\src\common\xpmdecod.cpp
|
$(OBJS)\corelib_xpmdecod.obj: ..\..\src\common\xpmdecod.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
|
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
|
||||||
|
@@ -406,6 +406,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = &
|
|||||||
$(OBJS)\monodll_validate.obj &
|
$(OBJS)\monodll_validate.obj &
|
||||||
$(OBJS)\monodll_valtext.obj &
|
$(OBJS)\monodll_valtext.obj &
|
||||||
$(OBJS)\monodll_wincmn.obj &
|
$(OBJS)\monodll_wincmn.obj &
|
||||||
|
$(OBJS)\monodll_windowid.obj &
|
||||||
$(OBJS)\monodll_xpmdecod.obj &
|
$(OBJS)\monodll_xpmdecod.obj &
|
||||||
$(OBJS)\monodll_busyinfo.obj &
|
$(OBJS)\monodll_busyinfo.obj &
|
||||||
$(OBJS)\monodll_buttonbar.obj &
|
$(OBJS)\monodll_buttonbar.obj &
|
||||||
@@ -638,6 +639,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = &
|
|||||||
$(OBJS)\monodll_validate.obj &
|
$(OBJS)\monodll_validate.obj &
|
||||||
$(OBJS)\monodll_valtext.obj &
|
$(OBJS)\monodll_valtext.obj &
|
||||||
$(OBJS)\monodll_wincmn.obj &
|
$(OBJS)\monodll_wincmn.obj &
|
||||||
|
$(OBJS)\monodll_windowid.obj &
|
||||||
$(OBJS)\monodll_xpmdecod.obj &
|
$(OBJS)\monodll_xpmdecod.obj &
|
||||||
$(OBJS)\monodll_busyinfo.obj &
|
$(OBJS)\monodll_busyinfo.obj &
|
||||||
$(OBJS)\monodll_buttonbar.obj &
|
$(OBJS)\monodll_buttonbar.obj &
|
||||||
@@ -1058,6 +1060,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = &
|
|||||||
$(OBJS)\monolib_validate.obj &
|
$(OBJS)\monolib_validate.obj &
|
||||||
$(OBJS)\monolib_valtext.obj &
|
$(OBJS)\monolib_valtext.obj &
|
||||||
$(OBJS)\monolib_wincmn.obj &
|
$(OBJS)\monolib_wincmn.obj &
|
||||||
|
$(OBJS)\monolib_windowid.obj &
|
||||||
$(OBJS)\monolib_xpmdecod.obj &
|
$(OBJS)\monolib_xpmdecod.obj &
|
||||||
$(OBJS)\monolib_busyinfo.obj &
|
$(OBJS)\monolib_busyinfo.obj &
|
||||||
$(OBJS)\monolib_buttonbar.obj &
|
$(OBJS)\monolib_buttonbar.obj &
|
||||||
@@ -1290,6 +1293,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = &
|
|||||||
$(OBJS)\monolib_validate.obj &
|
$(OBJS)\monolib_validate.obj &
|
||||||
$(OBJS)\monolib_valtext.obj &
|
$(OBJS)\monolib_valtext.obj &
|
||||||
$(OBJS)\monolib_wincmn.obj &
|
$(OBJS)\monolib_wincmn.obj &
|
||||||
|
$(OBJS)\monolib_windowid.obj &
|
||||||
$(OBJS)\monolib_xpmdecod.obj &
|
$(OBJS)\monolib_xpmdecod.obj &
|
||||||
$(OBJS)\monolib_busyinfo.obj &
|
$(OBJS)\monolib_busyinfo.obj &
|
||||||
$(OBJS)\monolib_buttonbar.obj &
|
$(OBJS)\monolib_buttonbar.obj &
|
||||||
@@ -1641,6 +1645,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = &
|
|||||||
$(OBJS)\coredll_validate.obj &
|
$(OBJS)\coredll_validate.obj &
|
||||||
$(OBJS)\coredll_valtext.obj &
|
$(OBJS)\coredll_valtext.obj &
|
||||||
$(OBJS)\coredll_wincmn.obj &
|
$(OBJS)\coredll_wincmn.obj &
|
||||||
|
$(OBJS)\coredll_windowid.obj &
|
||||||
$(OBJS)\coredll_xpmdecod.obj &
|
$(OBJS)\coredll_xpmdecod.obj &
|
||||||
$(OBJS)\coredll_busyinfo.obj &
|
$(OBJS)\coredll_busyinfo.obj &
|
||||||
$(OBJS)\coredll_buttonbar.obj &
|
$(OBJS)\coredll_buttonbar.obj &
|
||||||
@@ -1873,6 +1878,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = &
|
|||||||
$(OBJS)\coredll_validate.obj &
|
$(OBJS)\coredll_validate.obj &
|
||||||
$(OBJS)\coredll_valtext.obj &
|
$(OBJS)\coredll_valtext.obj &
|
||||||
$(OBJS)\coredll_wincmn.obj &
|
$(OBJS)\coredll_wincmn.obj &
|
||||||
|
$(OBJS)\coredll_windowid.obj &
|
||||||
$(OBJS)\coredll_xpmdecod.obj &
|
$(OBJS)\coredll_xpmdecod.obj &
|
||||||
$(OBJS)\coredll_busyinfo.obj &
|
$(OBJS)\coredll_busyinfo.obj &
|
||||||
$(OBJS)\coredll_buttonbar.obj &
|
$(OBJS)\coredll_buttonbar.obj &
|
||||||
@@ -2113,6 +2119,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = &
|
|||||||
$(OBJS)\corelib_validate.obj &
|
$(OBJS)\corelib_validate.obj &
|
||||||
$(OBJS)\corelib_valtext.obj &
|
$(OBJS)\corelib_valtext.obj &
|
||||||
$(OBJS)\corelib_wincmn.obj &
|
$(OBJS)\corelib_wincmn.obj &
|
||||||
|
$(OBJS)\corelib_windowid.obj &
|
||||||
$(OBJS)\corelib_xpmdecod.obj &
|
$(OBJS)\corelib_xpmdecod.obj &
|
||||||
$(OBJS)\corelib_busyinfo.obj &
|
$(OBJS)\corelib_busyinfo.obj &
|
||||||
$(OBJS)\corelib_buttonbar.obj &
|
$(OBJS)\corelib_buttonbar.obj &
|
||||||
@@ -2345,6 +2352,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = &
|
|||||||
$(OBJS)\corelib_validate.obj &
|
$(OBJS)\corelib_validate.obj &
|
||||||
$(OBJS)\corelib_valtext.obj &
|
$(OBJS)\corelib_valtext.obj &
|
||||||
$(OBJS)\corelib_wincmn.obj &
|
$(OBJS)\corelib_wincmn.obj &
|
||||||
|
$(OBJS)\corelib_windowid.obj &
|
||||||
$(OBJS)\corelib_xpmdecod.obj &
|
$(OBJS)\corelib_xpmdecod.obj &
|
||||||
$(OBJS)\corelib_busyinfo.obj &
|
$(OBJS)\corelib_busyinfo.obj &
|
||||||
$(OBJS)\corelib_buttonbar.obj &
|
$(OBJS)\corelib_buttonbar.obj &
|
||||||
@@ -7437,6 +7445,11 @@ $(OBJS)\monodll_wincmn.obj : .AUTODEPEND ..\..\src\common\wincmn.cpp
|
|||||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
|
!ifeq USE_GUI 1
|
||||||
|
$(OBJS)\monodll_windowid.obj : .AUTODEPEND ..\..\src\common\windowid.cpp
|
||||||
|
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
||||||
|
!endif
|
||||||
|
|
||||||
!ifeq USE_GUI 1
|
!ifeq USE_GUI 1
|
||||||
$(OBJS)\monodll_xpmdecod.obj : .AUTODEPEND ..\..\src\common\xpmdecod.cpp
|
$(OBJS)\monodll_xpmdecod.obj : .AUTODEPEND ..\..\src\common\xpmdecod.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
|
||||||
@@ -9637,6 +9650,11 @@ $(OBJS)\monolib_wincmn.obj : .AUTODEPEND ..\..\src\common\wincmn.cpp
|
|||||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
|
!ifeq USE_GUI 1
|
||||||
|
$(OBJS)\monolib_windowid.obj : .AUTODEPEND ..\..\src\common\windowid.cpp
|
||||||
|
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
||||||
|
!endif
|
||||||
|
|
||||||
!ifeq USE_GUI 1
|
!ifeq USE_GUI 1
|
||||||
$(OBJS)\monolib_xpmdecod.obj : .AUTODEPEND ..\..\src\common\xpmdecod.cpp
|
$(OBJS)\monolib_xpmdecod.obj : .AUTODEPEND ..\..\src\common\xpmdecod.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
|
||||||
@@ -11894,6 +11912,11 @@ $(OBJS)\coredll_wincmn.obj : .AUTODEPEND ..\..\src\common\wincmn.cpp
|
|||||||
$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
|
!ifeq USE_GUI 1
|
||||||
|
$(OBJS)\coredll_windowid.obj : .AUTODEPEND ..\..\src\common\windowid.cpp
|
||||||
|
$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
|
||||||
|
!endif
|
||||||
|
|
||||||
!ifeq USE_GUI 1
|
!ifeq USE_GUI 1
|
||||||
$(OBJS)\coredll_xpmdecod.obj : .AUTODEPEND ..\..\src\common\xpmdecod.cpp
|
$(OBJS)\coredll_xpmdecod.obj : .AUTODEPEND ..\..\src\common\xpmdecod.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
|
||||||
@@ -13300,6 +13323,11 @@ $(OBJS)\corelib_wincmn.obj : .AUTODEPEND ..\..\src\common\wincmn.cpp
|
|||||||
$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
|
!ifeq USE_GUI 1
|
||||||
|
$(OBJS)\corelib_windowid.obj : .AUTODEPEND ..\..\src\common\windowid.cpp
|
||||||
|
$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
|
||||||
|
!endif
|
||||||
|
|
||||||
!ifeq USE_GUI 1
|
!ifeq USE_GUI 1
|
||||||
$(OBJS)\corelib_xpmdecod.obj : .AUTODEPEND ..\..\src\common\xpmdecod.cpp
|
$(OBJS)\corelib_xpmdecod.obj : .AUTODEPEND ..\..\src\common\xpmdecod.cpp
|
||||||
$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
|
$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
|
||||||
|
@@ -646,6 +646,10 @@ SOURCE=..\..\src\common\wincmn.cpp
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\src\common\windowid.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\src\common\xpmdecod.cpp
|
SOURCE=..\..\src\common\xpmdecod.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# End Group
|
# End Group
|
||||||
@@ -6376,6 +6380,10 @@ SOURCE=..\..\include\wx\window.h
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\include\wx\windowid.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\include\wx\wizard.h
|
SOURCE=..\..\include\wx\wizard.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
@@ -233,12 +233,6 @@
|
|||||||
|
|
||||||
typedef short int WXTYPE;
|
typedef short int WXTYPE;
|
||||||
|
|
||||||
/* special care should be taken with this type under Windows where the real */
|
|
||||||
/* window id is unsigned, so we must always do the cast before comparing them */
|
|
||||||
/* (or else they would be always different!). Using wxGetWindowId() which does */
|
|
||||||
/* the cast itself is recommended. Note that this type can't be unsigned */
|
|
||||||
/* because wxID_ANY == -1 is a valid (and largely used) value for window id. */
|
|
||||||
typedef int wxWindowID;
|
|
||||||
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
/* ---------------------------------------------------------------------------- */
|
||||||
/* other feature tests */
|
/* other feature tests */
|
||||||
@@ -1782,8 +1776,19 @@ enum
|
|||||||
These ids delimit the range used by automatically-generated ids
|
These ids delimit the range used by automatically-generated ids
|
||||||
(i.e. those used when wxID_ANY is specified during construction).
|
(i.e. those used when wxID_ANY is specified during construction).
|
||||||
*/
|
*/
|
||||||
|
#if defined(__WXMSW__) || wxUSE_AUTOID_MANAGEMENT
|
||||||
|
/*
|
||||||
|
On MSW the range is always restricted no matter if id management
|
||||||
|
is used or not because the native window ids are limited to short
|
||||||
|
range. On other platforms the range is only restricted if id
|
||||||
|
management is used so the reference count buffer won't be so big.
|
||||||
|
*/
|
||||||
wxID_AUTO_LOWEST = -32000,
|
wxID_AUTO_LOWEST = -32000,
|
||||||
wxID_AUTO_HIGHEST = -2000,
|
wxID_AUTO_HIGHEST = -2000,
|
||||||
|
#else
|
||||||
|
wxID_AUTO_LOWEST = -1000000,
|
||||||
|
wxID_AUTO_HIGHEST = -2000,
|
||||||
|
#endif
|
||||||
|
|
||||||
/* no id matches this one when compared to it */
|
/* no id matches this one when compared to it */
|
||||||
wxID_NONE = -3,
|
wxID_NONE = -3,
|
||||||
@@ -1919,6 +1924,19 @@ enum
|
|||||||
wxID_HIGHEST = 5999
|
wxID_HIGHEST = 5999
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------------- */
|
||||||
|
/* wxWindowID type (after wxID_XYZ enum, platform detection, and dlimpexp.h) */
|
||||||
|
/* ---------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
/* special care should be taken with this type under Windows where the real */
|
||||||
|
/* window id is unsigned, so we must always do the cast before comparing them */
|
||||||
|
/* (or else they would be always different!). Using wxGetWindowId() which does */
|
||||||
|
/* the cast itself is recommended. Note that this type can't be unsigned */
|
||||||
|
/* because wxID_ANY == -1 is a valid (and largely used) value for window id. */
|
||||||
|
#ifdef __cplusplus
|
||||||
|
#include "wx/windowid.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
/* ---------------------------------------------------------------------------- */
|
/* ---------------------------------------------------------------------------- */
|
||||||
/* other constants */
|
/* other constants */
|
||||||
/* ---------------------------------------------------------------------------- */
|
/* ---------------------------------------------------------------------------- */
|
||||||
|
@@ -887,6 +887,16 @@
|
|||||||
// wxValidator class and related methods
|
// wxValidator class and related methods
|
||||||
#define wxUSE_VALIDATORS 1
|
#define wxUSE_VALIDATORS 1
|
||||||
|
|
||||||
|
// Use reference counted ID management: this means that wxWidgets will track
|
||||||
|
// the automatically allocated ids (those used when you use wxID_ANY when
|
||||||
|
// creating a window, menu or toolbar item &c) instead of just supposing that
|
||||||
|
// the program never runs out of them. This is mostly useful only under wxMSW
|
||||||
|
// where the total ids range is limited to SHRT_MIN..SHRT_MAX and where
|
||||||
|
// long-running programs can run into problems with ids reuse without this. On
|
||||||
|
// the other platforms, where the ids have the full int range, this shouldn't
|
||||||
|
// be necessary.
|
||||||
|
#define wxUSE_AUTOID_MANAGEMENT defined(__WXMSW__)
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// common dialogs
|
// common dialogs
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
@@ -145,7 +145,7 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
int m_id; // numeric id of the item >= 0 or wxID_ANY or wxID_SEPARATOR
|
wxWindowIDRef m_id; // numeric id of the item >= 0 or wxID_ANY or wxID_SEPARATOR
|
||||||
wxMenu *m_parentMenu, // the menu we belong to
|
wxMenu *m_parentMenu, // the menu we belong to
|
||||||
*m_subMenu; // our sub menu or NULL
|
*m_subMenu; // our sub menu or NULL
|
||||||
wxString m_text, // label of the item
|
wxString m_text, // label of the item
|
||||||
|
@@ -886,6 +886,16 @@
|
|||||||
// wxValidator class and related methods
|
// wxValidator class and related methods
|
||||||
#define wxUSE_VALIDATORS 1
|
#define wxUSE_VALIDATORS 1
|
||||||
|
|
||||||
|
// Use reference counted ID management: this means that wxWidgets will track
|
||||||
|
// the automatically allocated ids (those used when you use wxID_ANY when
|
||||||
|
// creating a window, menu or toolbar item &c) instead of just supposing that
|
||||||
|
// the program never runs out of them. This is mostly useful only under wxMSW
|
||||||
|
// where the total ids range is limited to SHRT_MIN..SHRT_MAX and where
|
||||||
|
// long-running programs can run into problems with ids reuse without this. On
|
||||||
|
// the other platforms, where the ids have the full int range, this shouldn't
|
||||||
|
// be necessary.
|
||||||
|
#define wxUSE_AUTOID_MANAGEMENT defined(__WXMSW__)
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// common dialogs
|
// common dialogs
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
@@ -158,6 +158,7 @@ protected:
|
|||||||
|
|
||||||
// the buttons we contain
|
// the buttons we contain
|
||||||
wxSubwindows *m_radioButtons;
|
wxSubwindows *m_radioButtons;
|
||||||
|
wxWindowIDRef *m_radioButtonIds;
|
||||||
|
|
||||||
// array of widths and heights of the buttons, may be wxDefaultCoord if the
|
// array of widths and heights of the buttons, may be wxDefaultCoord if the
|
||||||
// corresponding quantity should be computed
|
// corresponding quantity should be computed
|
||||||
|
@@ -886,6 +886,16 @@
|
|||||||
// wxValidator class and related methods
|
// wxValidator class and related methods
|
||||||
#define wxUSE_VALIDATORS 1
|
#define wxUSE_VALIDATORS 1
|
||||||
|
|
||||||
|
// Use reference counted ID management: this means that wxWidgets will track
|
||||||
|
// the automatically allocated ids (those used when you use wxID_ANY when
|
||||||
|
// creating a window, menu or toolbar item &c) instead of just supposing that
|
||||||
|
// the program never runs out of them. This is mostly useful only under wxMSW
|
||||||
|
// where the total ids range is limited to SHRT_MIN..SHRT_MAX and where
|
||||||
|
// long-running programs can run into problems with ids reuse without this. On
|
||||||
|
// the other platforms, where the ids have the full int range, this shouldn't
|
||||||
|
// be necessary.
|
||||||
|
#define wxUSE_AUTOID_MANAGEMENT defined(__WXMSW__)
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// common dialogs
|
// common dialogs
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
@@ -117,7 +117,8 @@ protected:
|
|||||||
virtual wxSize DoGetBestSize() const;
|
virtual wxSize DoGetBestSize() const;
|
||||||
|
|
||||||
// the labels windows, if any
|
// the labels windows, if any
|
||||||
wxSubwindows *m_labels;
|
wxSubwindows *m_labels;
|
||||||
|
wxWindowIDRef *m_labelIds;
|
||||||
|
|
||||||
int m_rangeMin;
|
int m_rangeMin;
|
||||||
int m_rangeMax;
|
int m_rangeMax;
|
||||||
|
@@ -886,6 +886,16 @@
|
|||||||
// wxValidator class and related methods
|
// wxValidator class and related methods
|
||||||
#define wxUSE_VALIDATORS 1
|
#define wxUSE_VALIDATORS 1
|
||||||
|
|
||||||
|
// Use reference counted ID management: this means that wxWidgets will track
|
||||||
|
// the automatically allocated ids (those used when you use wxID_ANY when
|
||||||
|
// creating a window, menu or toolbar item &c) instead of just supposing that
|
||||||
|
// the program never runs out of them. This is mostly useful only under wxMSW
|
||||||
|
// where the total ids range is limited to SHRT_MIN..SHRT_MAX and where
|
||||||
|
// long-running programs can run into problems with ids reuse without this. On
|
||||||
|
// the other platforms, where the ids have the full int range, this shouldn't
|
||||||
|
// be necessary.
|
||||||
|
#define wxUSE_AUTOID_MANAGEMENT defined(__WXMSW__)
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// common dialogs
|
// common dialogs
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
@@ -886,6 +886,16 @@
|
|||||||
// wxValidator class and related methods
|
// wxValidator class and related methods
|
||||||
#define wxUSE_VALIDATORS 1
|
#define wxUSE_VALIDATORS 1
|
||||||
|
|
||||||
|
// Use reference counted ID management: this means that wxWidgets will track
|
||||||
|
// the automatically allocated ids (those used when you use wxID_ANY when
|
||||||
|
// creating a window, menu or toolbar item &c) instead of just supposing that
|
||||||
|
// the program never runs out of them. This is mostly useful only under wxMSW
|
||||||
|
// where the total ids range is limited to SHRT_MIN..SHRT_MAX and where
|
||||||
|
// long-running programs can run into problems with ids reuse without this. On
|
||||||
|
// the other platforms, where the ids have the full int range, this shouldn't
|
||||||
|
// be necessary.
|
||||||
|
#define wxUSE_AUTOID_MANAGEMENT defined(__WXMSW__)
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// common dialogs
|
// common dialogs
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
@@ -886,6 +886,16 @@
|
|||||||
// wxValidator class and related methods
|
// wxValidator class and related methods
|
||||||
#define wxUSE_VALIDATORS 1
|
#define wxUSE_VALIDATORS 1
|
||||||
|
|
||||||
|
// Use reference counted ID management: this means that wxWidgets will track
|
||||||
|
// the automatically allocated ids (those used when you use wxID_ANY when
|
||||||
|
// creating a window, menu or toolbar item &c) instead of just supposing that
|
||||||
|
// the program never runs out of them. This is mostly useful only under wxMSW
|
||||||
|
// where the total ids range is limited to SHRT_MIN..SHRT_MAX and where
|
||||||
|
// long-running programs can run into problems with ids reuse without this. On
|
||||||
|
// the other platforms, where the ids have the full int range, this shouldn't
|
||||||
|
// be necessary.
|
||||||
|
#define wxUSE_AUTOID_MANAGEMENT defined(__WXMSW__)
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// common dialogs
|
// common dialogs
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
@@ -882,6 +882,16 @@
|
|||||||
// wxValidator class and related methods
|
// wxValidator class and related methods
|
||||||
#define wxUSE_VALIDATORS 1
|
#define wxUSE_VALIDATORS 1
|
||||||
|
|
||||||
|
// Use reference counted ID management: this means that wxWidgets will track
|
||||||
|
// the automatically allocated ids (those used when you use wxID_ANY when
|
||||||
|
// creating a window, menu or toolbar item &c) instead of just supposing that
|
||||||
|
// the program never runs out of them. This is mostly useful only under wxMSW
|
||||||
|
// where the total ids range is limited to SHRT_MIN..SHRT_MAX and where
|
||||||
|
// long-running programs can run into problems with ids reuse without this. On
|
||||||
|
// the other platforms, where the ids have the full int range, this shouldn't
|
||||||
|
// be necessary.
|
||||||
|
#define wxUSE_AUTOID_MANAGEMENT defined(__WXMSW__)
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// common dialogs
|
// common dialogs
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
@@ -210,7 +210,7 @@ protected:
|
|||||||
|
|
||||||
// tool parameters
|
// tool parameters
|
||||||
int m_toolStyle; // see enum wxToolBarToolStyle
|
int m_toolStyle; // see enum wxToolBarToolStyle
|
||||||
int m_id; // the tool id, wxID_SEPARATOR for separator
|
wxWindowIDRef m_id; // the tool id, wxID_SEPARATOR for separator
|
||||||
wxItemKind m_kind; // for normal buttons may be wxITEM_NORMAL/CHECK/RADIO
|
wxItemKind m_kind; // for normal buttons may be wxITEM_NORMAL/CHECK/RADIO
|
||||||
|
|
||||||
// as controls have their own client data, no need to waste memory
|
// as controls have their own client data, no need to waste memory
|
||||||
|
@@ -228,17 +228,21 @@ public:
|
|||||||
void SetId( wxWindowID winid ) { m_windowId = winid; }
|
void SetId( wxWindowID winid ) { m_windowId = winid; }
|
||||||
wxWindowID GetId() const { return m_windowId; }
|
wxWindowID GetId() const { return m_windowId; }
|
||||||
|
|
||||||
// returns true if this id value belong to the range reserved for the
|
|
||||||
// auto-generated (by NewControlId()) ids (they're always negative)
|
|
||||||
static bool IsAutoGeneratedId(wxWindowID id);
|
|
||||||
|
|
||||||
// generate a unique id (or count of them consecutively), returns a
|
// generate a unique id (or count of them consecutively), returns a
|
||||||
// valid id in IsAutoGeneratedId() range or wxID_NONE if failed
|
// valid id in the auto-id range or wxID_NONE if failed. If using
|
||||||
static wxWindowID NewControlId(int count = 1);
|
// autoid management, it will mark the id as reserved until it is
|
||||||
|
// used (by assigning it to a wxWindowIDRef) or unreserved.
|
||||||
|
static wxWindowID NewControlId(int count = 1)
|
||||||
|
{
|
||||||
|
return wxIdManager::ReserveId(count);
|
||||||
|
}
|
||||||
|
|
||||||
// mark an id previously returned by NewControlId() as being unused any
|
// If an ID generated from NewControlId is not assigned to a wxWindowIDRef,
|
||||||
// more so that it can be reused again for another control later
|
// it must be unreserved
|
||||||
static void ReleaseControlId(wxWindowID id);
|
static void UnreserveControlId(wxWindowID id, int count = 1)
|
||||||
|
{
|
||||||
|
wxIdManager::UnreserveId(id, count);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// moving/resizing
|
// moving/resizing
|
||||||
@@ -1356,7 +1360,7 @@ protected:
|
|||||||
|
|
||||||
// the window id - a number which uniquely identifies a window among
|
// the window id - a number which uniquely identifies a window among
|
||||||
// its siblings unless it is wxID_ANY
|
// its siblings unless it is wxID_ANY
|
||||||
wxWindowID m_windowId;
|
wxWindowIDRef m_windowId;
|
||||||
|
|
||||||
// the parent window of this window (or NULL) and the list of the children
|
// the parent window of this window (or NULL) and the list of the children
|
||||||
// of this window
|
// of this window
|
||||||
@@ -1425,10 +1429,6 @@ protected:
|
|||||||
// Layout() window automatically when its size changes?
|
// Layout() window automatically when its size changes?
|
||||||
bool m_autoLayout:1;
|
bool m_autoLayout:1;
|
||||||
|
|
||||||
// true if we had automatically allocated the id value for this window
|
|
||||||
// (i.e. wxID_ANY had been passed to the ctor)
|
|
||||||
bool m_freeId:1;
|
|
||||||
|
|
||||||
// window state
|
// window state
|
||||||
bool m_isShown:1;
|
bool m_isShown:1;
|
||||||
bool m_isEnabled:1;
|
bool m_isEnabled:1;
|
||||||
@@ -1747,8 +1747,8 @@ WXDLLEXPORT wxWindow* wxGetTopLevelParent(wxWindow *win);
|
|||||||
|
|
||||||
#if WXWIN_COMPATIBILITY_2_6
|
#if WXWIN_COMPATIBILITY_2_6
|
||||||
// deprecated (doesn't start with 'wx' prefix), use wxWindow::NewControlId()
|
// deprecated (doesn't start with 'wx' prefix), use wxWindow::NewControlId()
|
||||||
wxDEPRECATED( int NewControlId() );
|
wxDEPRECATED( wxWindowID NewControlId() );
|
||||||
inline int NewControlId() { return wxWindowBase::NewControlId(); }
|
inline wxWindowID NewControlId() { return wxWindowBase::NewControlId(); }
|
||||||
#endif // WXWIN_COMPATIBILITY_2_6
|
#endif // WXWIN_COMPATIBILITY_2_6
|
||||||
|
|
||||||
#if wxUSE_ACCESSIBILITY
|
#if wxUSE_ACCESSIBILITY
|
||||||
|
189
include/wx/windowid.h
Normal file
189
include/wx/windowid.h
Normal file
@@ -0,0 +1,189 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: wx/windowid.h
|
||||||
|
// Purpose: wxWindowID class - a class for managing window ids
|
||||||
|
// Author: Brian Vanderburg II
|
||||||
|
// Created: 2007-09-21
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) 2007 Brian Vanderburg II
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef _WX_WINDOWID_H_
|
||||||
|
#define _WX_WINDOWID_H_
|
||||||
|
|
||||||
|
// NB: do not include defs.h as we are included from it
|
||||||
|
|
||||||
|
typedef int wxWindowID;
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// wxWindowIDRef: reference counted id value
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// A wxWindowIDRef object wraps an id value and marks it as (un)used as
|
||||||
|
// necessary. All ids returned from wxWindow::NewControlId() should be assigned
|
||||||
|
// to an instance of this class to ensure that the id is marked as being in
|
||||||
|
// use.
|
||||||
|
//
|
||||||
|
// This class is always defined but it is trivial if wxUSE_AUTOID_MANAGEMENT is
|
||||||
|
// off.
|
||||||
|
class WXDLLIMPEXP_CORE wxWindowIDRef
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// default ctor
|
||||||
|
wxWindowIDRef()
|
||||||
|
{
|
||||||
|
m_id = wxID_NONE;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ctor taking id values
|
||||||
|
wxWindowIDRef(int id)
|
||||||
|
{
|
||||||
|
Init(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
wxWindowIDRef(long id)
|
||||||
|
{
|
||||||
|
Init(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
wxWindowIDRef(const wxWindowIDRef& id)
|
||||||
|
{
|
||||||
|
Init(id.m_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
// dtor
|
||||||
|
~wxWindowIDRef()
|
||||||
|
{
|
||||||
|
Assign(wxID_NONE);
|
||||||
|
}
|
||||||
|
|
||||||
|
// assignment
|
||||||
|
wxWindowIDRef& operator=(int id)
|
||||||
|
{
|
||||||
|
Assign(id);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
wxWindowIDRef& operator=(long id)
|
||||||
|
{
|
||||||
|
Assign(id);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
wxWindowIDRef& operator=(const wxWindowIDRef& id)
|
||||||
|
{
|
||||||
|
Assign(id.m_id);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
// access to the stored id value
|
||||||
|
wxWindowID GetValue() const
|
||||||
|
{
|
||||||
|
return m_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
operator wxWindowID() const
|
||||||
|
{
|
||||||
|
return m_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
#if wxUSE_AUTOID_MANAGEMENT
|
||||||
|
// common part of all ctors: call Assign() for our new id
|
||||||
|
void Init(wxWindowID id)
|
||||||
|
{
|
||||||
|
// m_id must be initialized before calling Assign()
|
||||||
|
m_id = wxID_NONE;
|
||||||
|
Assign(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
// increase reference count of id, decrease the one of m_id
|
||||||
|
void Assign(wxWindowID id);
|
||||||
|
#else // !wxUSE_AUTOID_MANAGEMENT
|
||||||
|
// trivial stubs for the functions above
|
||||||
|
void Init(wxWindowID id)
|
||||||
|
{
|
||||||
|
m_id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Assign(wxWindowID id)
|
||||||
|
{
|
||||||
|
m_id = id;
|
||||||
|
}
|
||||||
|
#endif // wxUSE_AUTOID_MANAGEMENT/!wxUSE_AUTOID_MANAGEMENT
|
||||||
|
|
||||||
|
|
||||||
|
wxWindowID m_id;
|
||||||
|
};
|
||||||
|
|
||||||
|
// comparison operators
|
||||||
|
inline bool operator==(const wxWindowIDRef& lhs, const wxWindowIDRef& rhs)
|
||||||
|
{
|
||||||
|
return lhs.GetValue() == rhs.GetValue();
|
||||||
|
}
|
||||||
|
|
||||||
|
inline bool operator==(const wxWindowIDRef& lhs, int rhs)
|
||||||
|
{
|
||||||
|
return lhs.GetValue() == rhs;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline bool operator==(const wxWindowIDRef& lhs, long rhs)
|
||||||
|
{
|
||||||
|
return lhs.GetValue() == rhs;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline bool operator==(int lhs, const wxWindowIDRef& rhs)
|
||||||
|
{
|
||||||
|
return rhs == lhs;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline bool operator==(long lhs, const wxWindowIDRef& rhs)
|
||||||
|
{
|
||||||
|
return rhs == lhs;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline bool operator!=(const wxWindowIDRef& lhs, const wxWindowIDRef& rhs)
|
||||||
|
{
|
||||||
|
return !(lhs == rhs);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline bool operator!=(const wxWindowIDRef& lhs, int rhs)
|
||||||
|
{
|
||||||
|
return !(lhs == rhs);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline bool operator!=(const wxWindowIDRef& lhs, long rhs)
|
||||||
|
{
|
||||||
|
return !(lhs == rhs);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline bool operator!=(int lhs, const wxWindowIDRef& rhs)
|
||||||
|
{
|
||||||
|
return !(lhs == rhs);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline bool operator!=(long lhs, const wxWindowIDRef& rhs)
|
||||||
|
{
|
||||||
|
return !(lhs == rhs);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// wxIdManager
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class WXDLLIMPEXP_CORE wxIdManager
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// This returns an id value and not an wxWindowIDRef. The returned value
|
||||||
|
// should be assigned a.s.a.p to a wxWindowIDRef. The IDs are marked as
|
||||||
|
// reserved so that another call to ReserveId before assigning the id to a
|
||||||
|
// wxWindowIDRef will not use the same ID
|
||||||
|
static wxWindowID ReserveId(int count = 1);
|
||||||
|
|
||||||
|
// This will release an unused reserved ID. This should only be called
|
||||||
|
// if the ID returned by ReserveId was NOT assigned to a wxWindowIDRef
|
||||||
|
// for some purpose, maybe an early return from a function
|
||||||
|
static void UnreserveId(wxWindowID id, int count = 1);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // _WX_WINDOWID_H_
|
@@ -409,6 +409,8 @@
|
|||||||
|
|
||||||
#define wxUSE_VALIDATORS 0
|
#define wxUSE_VALIDATORS 0
|
||||||
|
|
||||||
|
#define wxUSE_AUTOID_MANAGEMENT defined(__WXMSW__)
|
||||||
|
|
||||||
|
|
||||||
#define wxUSE_COMMON_DIALOGS 0
|
#define wxUSE_COMMON_DIALOGS 0
|
||||||
|
|
||||||
|
@@ -173,7 +173,6 @@ wxWindowBase::wxWindowBase()
|
|||||||
m_windowSizer = (wxSizer *) NULL;
|
m_windowSizer = (wxSizer *) NULL;
|
||||||
m_containingSizer = (wxSizer *) NULL;
|
m_containingSizer = (wxSizer *) NULL;
|
||||||
m_autoLayout = false;
|
m_autoLayout = false;
|
||||||
m_freeId = false;
|
|
||||||
|
|
||||||
#if wxUSE_DRAG_AND_DROP
|
#if wxUSE_DRAG_AND_DROP
|
||||||
m_dropTarget = (wxDropTarget *)NULL;
|
m_dropTarget = (wxDropTarget *)NULL;
|
||||||
@@ -247,9 +246,6 @@ bool wxWindowBase::CreateBase(wxWindowBase *parent,
|
|||||||
if ( id == wxID_ANY )
|
if ( id == wxID_ANY )
|
||||||
{
|
{
|
||||||
m_windowId = NewControlId();
|
m_windowId = NewControlId();
|
||||||
|
|
||||||
// remember to call ReleaseControlId() when this window is destroyed
|
|
||||||
m_freeId = true;
|
|
||||||
}
|
}
|
||||||
else // valid id specified
|
else // valid id specified
|
||||||
{
|
{
|
||||||
@@ -310,10 +306,6 @@ wxWindowBase::~wxWindowBase()
|
|||||||
{
|
{
|
||||||
wxASSERT_MSG( GetCapture() != this, wxT("attempt to destroy window with mouse capture") );
|
wxASSERT_MSG( GetCapture() != this, wxT("attempt to destroy window with mouse capture") );
|
||||||
|
|
||||||
// mark the id as unused if we allocated it for this control
|
|
||||||
if ( m_freeId )
|
|
||||||
ReleaseControlId(m_windowId);
|
|
||||||
|
|
||||||
// FIXME if these 2 cases result from programming errors in the user code
|
// FIXME if these 2 cases result from programming errors in the user code
|
||||||
// we should probably assert here instead of silently fixing them
|
// we should probably assert here instead of silently fixing them
|
||||||
|
|
||||||
@@ -3195,125 +3187,4 @@ wxWindowBase::AdjustForLayoutDirection(wxCoord x,
|
|||||||
return x;
|
return x;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
// Window (and menu items) identifiers management
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
namespace
|
|
||||||
{
|
|
||||||
|
|
||||||
// this array contains, in packed form, the "in use" flags for the entire
|
|
||||||
// auto-generated ids range: N-th element of the array contains the flags for
|
|
||||||
// ids in [wxID_AUTO_LOWEST + 8*N, wxID_AUTO_LOWEST + 8*N + 7] range
|
|
||||||
//
|
|
||||||
// initially no ids are in use and we allocate them consecutively, but after we
|
|
||||||
// exhaust the entire range, we wrap around and reuse the ids freed in the
|
|
||||||
// meanwhile
|
|
||||||
wxByte gs_autoIdsInUse[(wxID_AUTO_HIGHEST - wxID_AUTO_LOWEST + 1)/8 + 1] = { 0 };
|
|
||||||
|
|
||||||
// this is an optimization used until we wrap around wxID_AUTO_HIGHEST: if this
|
|
||||||
// value is < wxID_AUTO_HIGHEST we know that we haven't wrapped yet and so can
|
|
||||||
// allocate the ids simply by incrementing it
|
|
||||||
static wxWindowID gs_nextControlId = wxID_AUTO_LOWEST;
|
|
||||||
|
|
||||||
void MarkAutoIdUsed(wxWindowID id)
|
|
||||||
{
|
|
||||||
id -= wxID_AUTO_LOWEST;
|
|
||||||
|
|
||||||
const int theByte = id / 8;
|
|
||||||
const int theBit = id % 8;
|
|
||||||
|
|
||||||
gs_autoIdsInUse[theByte] |= 1 << theBit;
|
|
||||||
}
|
|
||||||
|
|
||||||
void FreeAutoId(wxWindowID id)
|
|
||||||
{
|
|
||||||
id -= wxID_AUTO_LOWEST;
|
|
||||||
|
|
||||||
const int theByte = id / 8;
|
|
||||||
const int theBit = id % 8;
|
|
||||||
|
|
||||||
gs_autoIdsInUse[theByte] &= ~(1 << theBit);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool IsAutoIdInUse(wxWindowID id)
|
|
||||||
{
|
|
||||||
id -= wxID_AUTO_LOWEST;
|
|
||||||
|
|
||||||
const int theByte = id / 8;
|
|
||||||
const int theBit = id % 8;
|
|
||||||
|
|
||||||
return (gs_autoIdsInUse[theByte] & (1 << theBit)) != 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
} // anonymous namespace
|
|
||||||
|
|
||||||
|
|
||||||
/* static */
|
|
||||||
bool wxWindowBase::IsAutoGeneratedId(wxWindowID id)
|
|
||||||
{
|
|
||||||
if ( id < wxID_AUTO_LOWEST || id > wxID_AUTO_HIGHEST )
|
|
||||||
return false;
|
|
||||||
|
|
||||||
// we shouldn't have any stray ids in this range
|
|
||||||
wxASSERT_MSG( IsAutoIdInUse(id), "unused automatically generated id?" );
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
wxWindowID wxWindowBase::NewControlId(int count)
|
|
||||||
{
|
|
||||||
wxASSERT_MSG( count > 0, "can't allocate less than 1 id" );
|
|
||||||
|
|
||||||
if ( gs_nextControlId + count - 1 <= wxID_AUTO_HIGHEST )
|
|
||||||
{
|
|
||||||
// we haven't wrapped yet, so we can just grab the next count ids
|
|
||||||
wxWindowID id = gs_nextControlId;
|
|
||||||
|
|
||||||
while ( count-- )
|
|
||||||
MarkAutoIdUsed(gs_nextControlId++);
|
|
||||||
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
else // we've already wrapped or are now going to
|
|
||||||
{
|
|
||||||
// brute-force search for the id values
|
|
||||||
|
|
||||||
// number of consecutive free ids found so far
|
|
||||||
int found = 0;
|
|
||||||
|
|
||||||
for ( wxWindowID id = wxID_AUTO_LOWEST; id <= wxID_AUTO_HIGHEST; id++ )
|
|
||||||
{
|
|
||||||
if ( !IsAutoIdInUse(id) )
|
|
||||||
{
|
|
||||||
// found another consecutive available id
|
|
||||||
found++;
|
|
||||||
if ( found == count )
|
|
||||||
{
|
|
||||||
// mark all count consecutive free ids we found as being in
|
|
||||||
// use now and rewind back to the start of available range
|
|
||||||
// in the process
|
|
||||||
while ( count-- )
|
|
||||||
MarkAutoIdUsed(id--);
|
|
||||||
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else // this id is in use
|
|
||||||
{
|
|
||||||
// reset the number of consecutive free values found
|
|
||||||
found = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// if we get here, there are not enough consecutive free ids
|
|
||||||
return wxID_NONE;
|
|
||||||
}
|
|
||||||
|
|
||||||
void wxWindowBase::ReleaseControlId(wxWindowID id)
|
|
||||||
{
|
|
||||||
wxCHECK_RET( IsAutoGeneratedId(id), "can't release non auto-generated id" );
|
|
||||||
|
|
||||||
FreeAutoId(id);
|
|
||||||
}
|
|
||||||
|
256
src/common/windowid.cpp
Normal file
256
src/common/windowid.cpp
Normal file
@@ -0,0 +1,256 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: src/common/windowid.cpp
|
||||||
|
// Purpose: wxWindowID class - a class for managing window ids
|
||||||
|
// Author: Brian Vanderburg II
|
||||||
|
// Created: 2007-09-21
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) 2007 Brian Vanderburg II
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// Needed headers
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
#include "wx/wxprec.h"
|
||||||
|
|
||||||
|
#ifdef __BORLANDC__
|
||||||
|
#pragma hdrstop
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef WX_PRECOMP
|
||||||
|
#include "wx/log.h"
|
||||||
|
#include "wx/intl.h"
|
||||||
|
#endif //WX_PRECOMP
|
||||||
|
|
||||||
|
// Not needed, included in defs.h
|
||||||
|
// #include "wx/windowid.h"
|
||||||
|
|
||||||
|
#define wxTRACE_WINDOWID _T("windowid")
|
||||||
|
|
||||||
|
namespace
|
||||||
|
{
|
||||||
|
|
||||||
|
#if wxUSE_AUTOID_MANAGEMENT
|
||||||
|
|
||||||
|
|
||||||
|
// initially no ids are in use and we allocate them consecutively, but after we
|
||||||
|
// exhaust the entire range, we wrap around and reuse the ids freed in the
|
||||||
|
// meanwhile
|
||||||
|
static const wxUint8 ID_FREE = 0;
|
||||||
|
static const wxUint8 ID_STARTCOUNT = 1;
|
||||||
|
static const wxUint8 ID_MAXCOUNT = 254;
|
||||||
|
static const wxUint8 ID_RESERVED = 255;
|
||||||
|
|
||||||
|
wxUint8 gs_autoIdsRefCount[wxID_AUTO_HIGHEST - wxID_AUTO_LOWEST + 1] = { 0 };
|
||||||
|
|
||||||
|
// this is an optimization used until we wrap around wxID_AUTO_HIGHEST: if this
|
||||||
|
// value is < wxID_AUTO_HIGHEST we know that we haven't wrapped yet and so can
|
||||||
|
// allocate the ids simply by incrementing it
|
||||||
|
wxWindowID gs_nextAutoId = wxID_AUTO_LOWEST;
|
||||||
|
|
||||||
|
// Reserve an ID
|
||||||
|
void ReserveIdRefCount(wxWindowID id)
|
||||||
|
{
|
||||||
|
wxCHECK_RET(id >= wxID_AUTO_LOWEST && id <= wxID_AUTO_HIGHEST,
|
||||||
|
wxT("invalid id range"));
|
||||||
|
|
||||||
|
id -= wxID_AUTO_LOWEST;
|
||||||
|
|
||||||
|
wxCHECK_RET(gs_autoIdsRefCount[id] == ID_FREE,
|
||||||
|
wxT("id already in use or already reserved"));
|
||||||
|
gs_autoIdsRefCount[id] = ID_RESERVED;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Unreserve and id
|
||||||
|
void UnreserveIdRefCount(wxWindowID id)
|
||||||
|
{
|
||||||
|
wxCHECK_RET(id >= wxID_AUTO_LOWEST && id <= wxID_AUTO_HIGHEST,
|
||||||
|
wxT("invalid id range"));
|
||||||
|
|
||||||
|
id -= wxID_AUTO_LOWEST;
|
||||||
|
|
||||||
|
wxCHECK_RET(gs_autoIdsRefCount[id] == ID_RESERVED,
|
||||||
|
wxT("id already in use or not reserved"));
|
||||||
|
gs_autoIdsRefCount[id] = ID_FREE;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get the usage count of an id
|
||||||
|
int GetIdRefCount(wxWindowID id)
|
||||||
|
{
|
||||||
|
wxCHECK_MSG(id >= wxID_AUTO_LOWEST && id <= wxID_AUTO_HIGHEST, 0,
|
||||||
|
wxT("invalid id range"));
|
||||||
|
|
||||||
|
id -= wxID_AUTO_LOWEST;
|
||||||
|
return gs_autoIdsRefCount[id];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Increase the count for an id
|
||||||
|
void IncIdRefCount(wxWindowID id)
|
||||||
|
{
|
||||||
|
wxCHECK_RET(id >= wxID_AUTO_LOWEST && id <= wxID_AUTO_HIGHEST,
|
||||||
|
wxT("invalid id range"));
|
||||||
|
|
||||||
|
id -= wxID_AUTO_LOWEST;
|
||||||
|
|
||||||
|
wxCHECK_RET(gs_autoIdsRefCount[id] != ID_MAXCOUNT, wxT("id count at max"));
|
||||||
|
wxCHECK_RET(gs_autoIdsRefCount[id] != ID_FREE, wxT("id should first be reserved"));
|
||||||
|
|
||||||
|
if(gs_autoIdsRefCount[id] == ID_RESERVED)
|
||||||
|
gs_autoIdsRefCount[id] = ID_STARTCOUNT;
|
||||||
|
else
|
||||||
|
gs_autoIdsRefCount[id]++;
|
||||||
|
|
||||||
|
wxLogTrace(wxTRACE_WINDOWID, wxT("Increasing ref count of ID %d to %d"),
|
||||||
|
id + wxID_AUTO_LOWEST, gs_autoIdsRefCount[id]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Decrease the count for an id
|
||||||
|
void DecIdRefCount(wxWindowID id)
|
||||||
|
{
|
||||||
|
wxCHECK_RET(id >= wxID_AUTO_LOWEST && id <= wxID_AUTO_HIGHEST,
|
||||||
|
wxT("invalid id range"));
|
||||||
|
|
||||||
|
id -= wxID_AUTO_LOWEST;
|
||||||
|
|
||||||
|
wxCHECK_RET(gs_autoIdsRefCount[id] != ID_FREE, wxT("id count already 0"));
|
||||||
|
|
||||||
|
// DecIdRefCount is only called on an ID that has been IncIdRefCount'ed'
|
||||||
|
// so it should never be reserved, but test anyway
|
||||||
|
if(gs_autoIdsRefCount[id] == ID_RESERVED)
|
||||||
|
{
|
||||||
|
wxASSERT_MSG(false, wxT("reserve id being decreased"));
|
||||||
|
gs_autoIdsRefCount[id] = ID_FREE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
gs_autoIdsRefCount[id]--;
|
||||||
|
|
||||||
|
wxLogTrace(wxTRACE_WINDOWID, wxT("Decreasing ref count of ID %d to %d"),
|
||||||
|
id + wxID_AUTO_LOWEST, gs_autoIdsRefCount[id]);
|
||||||
|
}
|
||||||
|
|
||||||
|
#else // wxUSE_AUTOID_MANAGEMENT
|
||||||
|
|
||||||
|
static wxWindowID gs_nextAutoId = wxID_AUTO_HIGHEST;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
} // anonymous namespace
|
||||||
|
|
||||||
|
|
||||||
|
#if wxUSE_AUTOID_MANAGEMENT
|
||||||
|
|
||||||
|
void wxWindowIDRef::Assign(wxWindowID id)
|
||||||
|
{
|
||||||
|
if ( id != m_id )
|
||||||
|
{
|
||||||
|
// decrease count if it is in the managed range
|
||||||
|
if ( m_id >= wxID_AUTO_LOWEST && m_id <= wxID_AUTO_HIGHEST )
|
||||||
|
DecIdRefCount(m_id);
|
||||||
|
|
||||||
|
m_id = id;
|
||||||
|
|
||||||
|
// increase count if it is in the managed range
|
||||||
|
if ( m_id >= wxID_AUTO_LOWEST && m_id <= wxID_AUTO_HIGHEST )
|
||||||
|
IncIdRefCount(m_id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // wxUSE_AUTOID_MANAGEMENT
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
wxWindowID wxIdManager::ReserveId(int count)
|
||||||
|
{
|
||||||
|
wxASSERT_MSG(count > 0, wxT("can't allocate less than 1 id"));
|
||||||
|
|
||||||
|
|
||||||
|
#if wxUSE_AUTOID_MANAGEMENT
|
||||||
|
if ( gs_nextAutoId + count - 1 <= wxID_AUTO_HIGHEST )
|
||||||
|
{
|
||||||
|
wxWindowID id = gs_nextAutoId;
|
||||||
|
|
||||||
|
while(count--)
|
||||||
|
{
|
||||||
|
ReserveIdRefCount(gs_nextAutoId++);
|
||||||
|
}
|
||||||
|
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
int found = 0;
|
||||||
|
|
||||||
|
for(wxWindowID id = wxID_AUTO_LOWEST; id <= wxID_AUTO_HIGHEST; id++)
|
||||||
|
{
|
||||||
|
if(GetIdRefCount(id) == 0)
|
||||||
|
{
|
||||||
|
found++;
|
||||||
|
if(found == count)
|
||||||
|
{
|
||||||
|
// Imagine this: 100 free IDs left. Then NewId(50) takes 50
|
||||||
|
// so 50 left. Then, the 25 before that last 50 are freed, but
|
||||||
|
// gs_nextAutoId does not decrement and stays where it is at
|
||||||
|
// with 50 free. Then NewId(75) gets called, and since there
|
||||||
|
// are only 50 left according to gs_nextAutoId, it does a
|
||||||
|
// search and finds the 75 at the end. Then NewId(10) gets
|
||||||
|
// called, and accorind to gs_nextAutoId, their are still
|
||||||
|
// 50 at the end so it returns them without testing the ref
|
||||||
|
// To fix this, the next ID is also updated here as needed
|
||||||
|
if(id >= gs_nextAutoId)
|
||||||
|
gs_nextAutoId = id + 1;
|
||||||
|
|
||||||
|
while(count--)
|
||||||
|
ReserveIdRefCount(id--);
|
||||||
|
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
found = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
::wxLogError(_("Out of window IDs. Recommend shutting down application."));
|
||||||
|
return wxID_NONE;
|
||||||
|
#else // !wxUSE_AUTOID_MANAGEMENT
|
||||||
|
// Make sure enough in the range
|
||||||
|
wxWindowID id;
|
||||||
|
|
||||||
|
id = gs_nextAutoId - count + 1;
|
||||||
|
|
||||||
|
if ( id >= wxID_AUTO_LOWEST && id <= wxID_AUTO_HIGHEST )
|
||||||
|
{
|
||||||
|
// There is enough, but it may be time to wrap
|
||||||
|
if(id == wxID_AUTO_LOWEST)
|
||||||
|
gs_nextAutoId = wxID_AUTO_HIGHEST;
|
||||||
|
else
|
||||||
|
gs_nextAutoId = id - 1;
|
||||||
|
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// There is not enough at the low end of the range or
|
||||||
|
// count was big enough to wrap around to the positive
|
||||||
|
// Surely 'count' is not so big to take up much of the range
|
||||||
|
gs_nextAutoId = wxID_AUTO_HIGHEST - count;
|
||||||
|
return gs_nextAutoId + 1;
|
||||||
|
}
|
||||||
|
#endif // wxUSE_AUTOID_MANAGEMENT/!wxUSE_AUTOID_MANAGEMENT
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxIdManager::UnreserveId(wxWindowID id, int count)
|
||||||
|
{
|
||||||
|
wxASSERT_MSG(count > 0, wxT("can't unreserve less than 1 id"));
|
||||||
|
|
||||||
|
#if wxUSE_AUTOID_MANAGEMENT
|
||||||
|
while (count--)
|
||||||
|
UnreserveIdRefCount(id++);
|
||||||
|
#else
|
||||||
|
wxUnusedVar(id);
|
||||||
|
wxUnusedVar(count);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
@@ -197,12 +197,12 @@ IMPLEMENT_CLASS(wxEditableListBox, wxPanel)
|
|||||||
|
|
||||||
// NB: generate the IDs at runtime to avoid conflict with XRCID values,
|
// NB: generate the IDs at runtime to avoid conflict with XRCID values,
|
||||||
// they could cause XRCCTRL() failures in XRC-based dialogs
|
// they could cause XRCCTRL() failures in XRC-based dialogs
|
||||||
const int wxID_ELB_DELETE = wxWindow::NewControlId();
|
const wxWindowIDRef wxID_ELB_DELETE = wxWindow::NewControlId();
|
||||||
const int wxID_ELB_EDIT = wxWindow::NewControlId();
|
const wxWindowIDRef wxID_ELB_EDIT = wxWindow::NewControlId();
|
||||||
const int wxID_ELB_NEW = wxWindow::NewControlId();
|
const wxWindowIDRef wxID_ELB_NEW = wxWindow::NewControlId();
|
||||||
const int wxID_ELB_UP = wxWindow::NewControlId();
|
const wxWindowIDRef wxID_ELB_UP = wxWindow::NewControlId();
|
||||||
const int wxID_ELB_DOWN = wxWindow::NewControlId();
|
const wxWindowIDRef wxID_ELB_DOWN = wxWindow::NewControlId();
|
||||||
const int wxID_ELB_LISTCTRL = wxWindow::NewControlId();
|
const wxWindowIDRef wxID_ELB_LISTCTRL = wxWindow::NewControlId();
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(wxEditableListBox, wxPanel)
|
BEGIN_EVENT_TABLE(wxEditableListBox, wxPanel)
|
||||||
EVT_LIST_ITEM_SELECTED(wxID_ELB_LISTCTRL, wxEditableListBox::OnItemSelected)
|
EVT_LIST_ITEM_SELECTED(wxID_ELB_LISTCTRL, wxEditableListBox::OnItemSelected)
|
||||||
|
@@ -175,7 +175,7 @@ bool wxBitmapButton::Create(wxWindow *parent, wxWindowID id,
|
|||||||
msStyle,
|
msStyle,
|
||||||
0, 0, 0, 0,
|
0, 0, 0, 0,
|
||||||
GetWinHwnd(parent),
|
GetWinHwnd(parent),
|
||||||
(HMENU)m_windowId,
|
(HMENU)m_windowId.GetValue(),
|
||||||
wxGetInstance(),
|
wxGetInstance(),
|
||||||
NULL
|
NULL
|
||||||
);
|
);
|
||||||
|
@@ -694,7 +694,7 @@ bool wxMDIChildFrame::Create(wxMDIParentFrame *parent,
|
|||||||
if ( id != wxID_ANY )
|
if ( id != wxID_ANY )
|
||||||
m_windowId = id;
|
m_windowId = id;
|
||||||
else
|
else
|
||||||
m_windowId = (int)NewControlId();
|
m_windowId = NewControlId();
|
||||||
|
|
||||||
if ( parent )
|
if ( parent )
|
||||||
{
|
{
|
||||||
|
@@ -129,6 +129,7 @@ void wxRadioBox::Init()
|
|||||||
{
|
{
|
||||||
m_selectedButton = wxNOT_FOUND;
|
m_selectedButton = wxNOT_FOUND;
|
||||||
m_radioButtons = NULL;
|
m_radioButtons = NULL;
|
||||||
|
m_radioButtonIds = NULL;
|
||||||
m_radioWidth = NULL;
|
m_radioWidth = NULL;
|
||||||
m_radioHeight = NULL;
|
m_radioHeight = NULL;
|
||||||
}
|
}
|
||||||
@@ -156,6 +157,7 @@ bool wxRadioBox::Create(wxWindow *parent,
|
|||||||
#endif // wxUSE_VALIDATORS/!wxUSE_VALIDATORS
|
#endif // wxUSE_VALIDATORS/!wxUSE_VALIDATORS
|
||||||
|
|
||||||
m_radioButtons = new wxSubwindows(n);
|
m_radioButtons = new wxSubwindows(n);
|
||||||
|
m_radioButtonIds = new wxWindowIDRef[n + 1];
|
||||||
m_radioWidth = new int[n];
|
m_radioWidth = new int[n];
|
||||||
m_radioHeight = new int[n];
|
m_radioHeight = new int[n];
|
||||||
|
|
||||||
@@ -167,14 +169,14 @@ bool wxRadioBox::Create(wxWindow *parent,
|
|||||||
if ( i == 0 )
|
if ( i == 0 )
|
||||||
styleBtn |= WS_GROUP;
|
styleBtn |= WS_GROUP;
|
||||||
|
|
||||||
long newId = NewControlId();
|
m_radioButtonIds[i] = NewControlId();
|
||||||
|
|
||||||
HWND hwndBtn = ::CreateWindow(_T("BUTTON"),
|
HWND hwndBtn = ::CreateWindow(_T("BUTTON"),
|
||||||
choices[i].wx_str(),
|
choices[i].wx_str(),
|
||||||
styleBtn,
|
styleBtn,
|
||||||
0, 0, 0, 0, // will be set in SetSize()
|
0, 0, 0, 0, // will be set in SetSize()
|
||||||
GetHwndOf(parent),
|
GetHwndOf(parent),
|
||||||
(HMENU)newId,
|
(HMENU)(wxWindowID)m_radioButtonIds[i],
|
||||||
wxGetInstance(),
|
wxGetInstance(),
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
@@ -189,15 +191,17 @@ bool wxRadioBox::Create(wxWindow *parent,
|
|||||||
|
|
||||||
SubclassRadioButton((WXHWND)hwndBtn);
|
SubclassRadioButton((WXHWND)hwndBtn);
|
||||||
|
|
||||||
m_subControls.Add(newId);
|
m_subControls.Add(m_radioButtonIds[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create a dummy radio control to end the group.
|
// Create a dummy radio control to end the group.
|
||||||
|
m_radioButtonIds[n] = NewControlId();
|
||||||
|
|
||||||
(void)::CreateWindow(_T("BUTTON"),
|
(void)::CreateWindow(_T("BUTTON"),
|
||||||
wxEmptyString,
|
wxEmptyString,
|
||||||
WS_GROUP | BS_AUTORADIOBUTTON | WS_CHILD,
|
WS_GROUP | BS_AUTORADIOBUTTON | WS_CHILD,
|
||||||
0, 0, 0, 0, GetHwndOf(parent),
|
0, 0, 0, 0, GetHwndOf(parent),
|
||||||
(HMENU)NewControlId(), wxGetInstance(), NULL);
|
(HMENU)(wxWindowID)m_radioButtonIds[n], wxGetInstance(), NULL);
|
||||||
|
|
||||||
m_radioButtons->SetFont(GetFont());
|
m_radioButtons->SetFont(GetFont());
|
||||||
|
|
||||||
@@ -237,6 +241,7 @@ wxRadioBox::~wxRadioBox()
|
|||||||
m_isBeingDeleted = true;
|
m_isBeingDeleted = true;
|
||||||
|
|
||||||
delete m_radioButtons;
|
delete m_radioButtons;
|
||||||
|
delete[] m_radioButtonIds;
|
||||||
delete[] m_radioWidth;
|
delete[] m_radioWidth;
|
||||||
delete[] m_radioHeight;
|
delete[] m_radioHeight;
|
||||||
}
|
}
|
||||||
|
@@ -135,6 +135,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxSlider, wxControl)
|
|||||||
void wxSlider::Init()
|
void wxSlider::Init()
|
||||||
{
|
{
|
||||||
m_labels = NULL;
|
m_labels = NULL;
|
||||||
|
m_labelIds = NULL;
|
||||||
|
|
||||||
m_pageSize = 1;
|
m_pageSize = 1;
|
||||||
m_lineSize = 1;
|
m_lineSize = 1;
|
||||||
@@ -204,10 +205,13 @@ wxSlider::Create(wxWindow *parent,
|
|||||||
if ( m_windowStyle & wxSL_LABELS )
|
if ( m_windowStyle & wxSL_LABELS )
|
||||||
{
|
{
|
||||||
m_labels = new wxSubwindows(SliderLabel_Last);
|
m_labels = new wxSubwindows(SliderLabel_Last);
|
||||||
|
m_labelIds = new wxWindowIDRef[SliderLabel_Last];
|
||||||
|
|
||||||
HWND hwndParent = GetHwndOf(parent);
|
HWND hwndParent = GetHwndOf(parent);
|
||||||
for ( size_t n = 0; n < SliderLabel_Last; n++ )
|
for ( size_t n = 0; n < SliderLabel_Last; n++ )
|
||||||
{
|
{
|
||||||
|
m_labelIds[n] = NewControlId();
|
||||||
|
|
||||||
(*m_labels)[n] = ::CreateWindow
|
(*m_labels)[n] = ::CreateWindow
|
||||||
(
|
(
|
||||||
wxT("STATIC"),
|
wxT("STATIC"),
|
||||||
@@ -215,7 +219,7 @@ wxSlider::Create(wxWindow *parent,
|
|||||||
WS_CHILD | WS_VISIBLE | SS_CENTER,
|
WS_CHILD | WS_VISIBLE | SS_CENTER,
|
||||||
0, 0, 0, 0,
|
0, 0, 0, 0,
|
||||||
hwndParent,
|
hwndParent,
|
||||||
(HMENU)NewControlId(),
|
(HMENU)(wxWindowID)m_labelIds[n],
|
||||||
wxGetInstance(),
|
wxGetInstance(),
|
||||||
NULL
|
NULL
|
||||||
);
|
);
|
||||||
@@ -282,6 +286,7 @@ WXDWORD wxSlider::MSWGetStyle(long style, WXDWORD *exstyle) const
|
|||||||
wxSlider::~wxSlider()
|
wxSlider::~wxSlider()
|
||||||
{
|
{
|
||||||
delete m_labels;
|
delete m_labels;
|
||||||
|
delete[] m_labelIds;
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
@@ -106,7 +106,7 @@ bool wxStatusBar95::Create(wxWindow *parent,
|
|||||||
wstyle,
|
wstyle,
|
||||||
0, 0, 0, 0,
|
0, 0, 0, 0,
|
||||||
GetHwndOf(parent),
|
GetHwndOf(parent),
|
||||||
(HMENU)m_windowId,
|
(HMENU)m_windowId.GetValue(),
|
||||||
wxGetInstance(),
|
wxGetInstance(),
|
||||||
NULL
|
NULL
|
||||||
);
|
);
|
||||||
|
@@ -1575,7 +1575,10 @@ void wxXmlResourceHandler::CreateChildrenPrivately(wxObject *parent, wxXmlNode *
|
|||||||
|
|
||||||
struct XRCID_record
|
struct XRCID_record
|
||||||
{
|
{
|
||||||
int id;
|
/* Hold the id so that once an id is allocated for a name, it
|
||||||
|
does not get created again by NewControlId at least
|
||||||
|
until we are done with it */
|
||||||
|
wxWindowIDRef id;
|
||||||
char *key;
|
char *key;
|
||||||
XRCID_record *next;
|
XRCID_record *next;
|
||||||
};
|
};
|
||||||
@@ -1648,11 +1651,6 @@ static void CleanXRCID_Record(XRCID_record *rec)
|
|||||||
{
|
{
|
||||||
CleanXRCID_Record(rec->next);
|
CleanXRCID_Record(rec->next);
|
||||||
|
|
||||||
// if we had generated the value of this id automatically, release it
|
|
||||||
// now that we don't need it any longer
|
|
||||||
if ( wxWindow::IsAutoGeneratedId(rec->id) )
|
|
||||||
wxWindow::ReleaseControlId(rec->id);
|
|
||||||
|
|
||||||
free(rec->key);
|
free(rec->key);
|
||||||
delete rec;
|
delete rec;
|
||||||
}
|
}
|
||||||
|
10
wxGTK.spec
10
wxGTK.spec
@@ -329,19 +329,19 @@ wx/xtistrm.h
|
|||||||
wx/zipstrm.h
|
wx/zipstrm.h
|
||||||
wx/zstream.h
|
wx/zstream.h
|
||||||
wx/private/fdiodispatcher.h
|
wx/private/fdiodispatcher.h
|
||||||
wx/private/gsocketiohandler.h
|
|
||||||
wx/private/selectdispatcher.h
|
wx/private/selectdispatcher.h
|
||||||
wx/unix/app.h
|
wx/unix/app.h
|
||||||
wx/unix/apptbase.h
|
wx/unix/apptbase.h
|
||||||
wx/unix/apptrait.h
|
wx/unix/apptrait.h
|
||||||
wx/unix/chkconf.h
|
wx/unix/chkconf.h
|
||||||
wx/unix/execute.h
|
|
||||||
wx/unix/evtloop.h
|
wx/unix/evtloop.h
|
||||||
wx/unix/mimetype.h
|
|
||||||
wx/unix/pipe.h
|
wx/unix/pipe.h
|
||||||
wx/unix/private.h
|
|
||||||
wx/unix/stackwalk.h
|
|
||||||
wx/unix/stdpaths.h
|
wx/unix/stdpaths.h
|
||||||
|
wx/unix/execute.h
|
||||||
|
wx/unix/mimetype.h
|
||||||
|
wx/unix/private.h
|
||||||
|
wx/private/gsocketiohandler.h
|
||||||
|
wx/unix/stackwalk.h
|
||||||
wx/fs_inet.h
|
wx/fs_inet.h
|
||||||
wx/gsocket.h
|
wx/gsocket.h
|
||||||
wx/protocol/file.h
|
wx/protocol/file.h
|
||||||
|
10
wxMotif.spec
10
wxMotif.spec
@@ -234,19 +234,19 @@ wx/xtistrm.h
|
|||||||
wx/zipstrm.h
|
wx/zipstrm.h
|
||||||
wx/zstream.h
|
wx/zstream.h
|
||||||
wx/private/fdiodispatcher.h
|
wx/private/fdiodispatcher.h
|
||||||
wx/private/gsocketiohandler.h
|
|
||||||
wx/private/selectdispatcher.h
|
wx/private/selectdispatcher.h
|
||||||
wx/unix/app.h
|
wx/unix/app.h
|
||||||
wx/unix/apptbase.h
|
wx/unix/apptbase.h
|
||||||
wx/unix/apptrait.h
|
wx/unix/apptrait.h
|
||||||
wx/unix/chkconf.h
|
wx/unix/chkconf.h
|
||||||
wx/unix/execute.h
|
|
||||||
wx/unix/evtloop.h
|
wx/unix/evtloop.h
|
||||||
wx/unix/mimetype.h
|
|
||||||
wx/unix/pipe.h
|
wx/unix/pipe.h
|
||||||
wx/unix/private.h
|
|
||||||
wx/unix/stackwalk.h
|
|
||||||
wx/unix/stdpaths.h
|
wx/unix/stdpaths.h
|
||||||
|
wx/unix/execute.h
|
||||||
|
wx/unix/mimetype.h
|
||||||
|
wx/unix/private.h
|
||||||
|
wx/private/gsocketiohandler.h
|
||||||
|
wx/unix/stackwalk.h
|
||||||
wx/fs_inet.h
|
wx/fs_inet.h
|
||||||
wx/gsocket.h
|
wx/gsocket.h
|
||||||
wx/protocol/file.h
|
wx/protocol/file.h
|
||||||
|
10
wxX11.spec
10
wxX11.spec
@@ -258,19 +258,19 @@ wx/xtistrm.h
|
|||||||
wx/zipstrm.h
|
wx/zipstrm.h
|
||||||
wx/zstream.h
|
wx/zstream.h
|
||||||
wx/private/fdiodispatcher.h
|
wx/private/fdiodispatcher.h
|
||||||
wx/private/gsocketiohandler.h
|
|
||||||
wx/private/selectdispatcher.h
|
wx/private/selectdispatcher.h
|
||||||
wx/unix/app.h
|
wx/unix/app.h
|
||||||
wx/unix/apptbase.h
|
wx/unix/apptbase.h
|
||||||
wx/unix/apptrait.h
|
wx/unix/apptrait.h
|
||||||
wx/unix/chkconf.h
|
wx/unix/chkconf.h
|
||||||
wx/unix/execute.h
|
|
||||||
wx/unix/evtloop.h
|
wx/unix/evtloop.h
|
||||||
wx/unix/mimetype.h
|
|
||||||
wx/unix/pipe.h
|
wx/unix/pipe.h
|
||||||
wx/unix/private.h
|
|
||||||
wx/unix/stackwalk.h
|
|
||||||
wx/unix/stdpaths.h
|
wx/unix/stdpaths.h
|
||||||
|
wx/unix/execute.h
|
||||||
|
wx/unix/mimetype.h
|
||||||
|
wx/unix/private.h
|
||||||
|
wx/private/gsocketiohandler.h
|
||||||
|
wx/unix/stackwalk.h
|
||||||
wx/fs_inet.h
|
wx/fs_inet.h
|
||||||
wx/gsocket.h
|
wx/gsocket.h
|
||||||
wx/protocol/file.h
|
wx/protocol/file.h
|
||||||
|
Reference in New Issue
Block a user