]> git.saurik.com Git - wxWidgets.git/commitdiff
extracted wxAcceleratorEntry code from menucmn.cpp in a separate file (this globally...
authorVadim Zeitlin <vadim@wxwidgets.org>
Sat, 5 May 2007 22:03:27 +0000 (22:03 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sat, 5 May 2007 22:03:27 +0000 (22:03 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45855 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

Makefile.in
build/bakefiles/files.bkl
build/msw/makefile.bcc
build/msw/makefile.gcc
build/msw/makefile.vc
build/msw/makefile.wat
build/msw/wx_core.dsp
src/common/accelcmn.cpp [new file with mode: 0644]
src/common/menucmn.cpp

index d62c52a268dd7a6066c12b9ed369f76a8ec0f77f..16e8ed3a61cae9afd40a08cd6c83cf6b0990bceb 100644 (file)
@@ -3634,6 +3634,7 @@ COND_USE_GUI_1___MONOLIB_GUI_SRC_OBJECTS =  \
 COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS =  \
        $(__LOWLEVEL_SRC_OBJECTS) \
        $(__GUI_SRC_OBJECTS) \
+       monodll_accelcmn.o \
        monodll_accesscmn.o \
        monodll_anidecod.o \
        monodll_appcmn.o \
@@ -3812,6 +3813,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS =  \
        monodll_metal.o \
        monodll_mono.o \
        monodll_win32.o \
+       monodll_accelcmn.o \
        monodll_accesscmn.o \
        monodll_anidecod.o \
        monodll_appcmn.o \
@@ -5442,6 +5444,7 @@ COND_USE_GUI_1___MONOLIB_GUI_SRC_OBJECTS_1 =  \
 COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_1 =  \
        $(__LOWLEVEL_SRC_OBJECTS_2) \
        $(__GUI_SRC_OBJECTS_1) \
+       monolib_accelcmn.o \
        monolib_accesscmn.o \
        monolib_anidecod.o \
        monolib_appcmn.o \
@@ -5620,6 +5623,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_1 =  \
        monolib_metal.o \
        monolib_mono.o \
        monolib_win32.o \
+       monolib_accelcmn.o \
        monolib_accesscmn.o \
        monolib_anidecod.o \
        monolib_appcmn.o \
@@ -7484,6 +7488,7 @@ COND_USE_SOSYMLINKS_1___coredll___so_symlinks_uninst_cmd = rm -f \
 COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_2 =  \
        $(__LOWLEVEL_SRC_OBJECTS_4) \
        $(__GUI_SRC_OBJECTS_2) \
+       coredll_accelcmn.o \
        coredll_accesscmn.o \
        coredll_anidecod.o \
        coredll_appcmn.o \
@@ -7662,6 +7667,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_2 =  \
        coredll_metal.o \
        coredll_mono.o \
        coredll_win32.o \
+       coredll_accelcmn.o \
        coredll_accesscmn.o \
        coredll_anidecod.o \
        coredll_appcmn.o \
@@ -8946,6 +8952,7 @@ COND_MONOLITHIC_0_SHARED_0_USE_GUI_1___corelib___depname = \
 COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_3 =  \
        $(__LOWLEVEL_SRC_OBJECTS_6) \
        $(__GUI_SRC_OBJECTS_3) \
+       corelib_accelcmn.o \
        corelib_accesscmn.o \
        corelib_anidecod.o \
        corelib_appcmn.o \
@@ -9124,6 +9131,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_3 =  \
        corelib_metal.o \
        corelib_mono.o \
        corelib_win32.o \
+       corelib_accelcmn.o \
        corelib_accesscmn.o \
        corelib_anidecod.o \
        corelib_appcmn.o \
@@ -16818,6 +16826,9 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
 @COND_USE_GUI_1_WXUNIV_1@monodll_mdig.o: $(srcdir)/src/generic/mdig.cpp $(MONODLL_ODEP)
 @COND_USE_GUI_1_WXUNIV_1@      $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/mdig.cpp
 
+@COND_USE_GUI_1@monodll_accelcmn.o: $(srcdir)/src/common/accelcmn.cpp $(MONODLL_ODEP)
+@COND_USE_GUI_1@       $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/accelcmn.cpp
+
 @COND_USE_GUI_1@monodll_accesscmn.o: $(srcdir)/src/common/accesscmn.cpp $(MONODLL_ODEP)
 @COND_USE_GUI_1@       $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/accesscmn.cpp
 
@@ -21015,6 +21026,9 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
 @COND_USE_GUI_1_WXUNIV_1@monolib_mdig.o: $(srcdir)/src/generic/mdig.cpp $(MONOLIB_ODEP)
 @COND_USE_GUI_1_WXUNIV_1@      $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/mdig.cpp
 
+@COND_USE_GUI_1@monolib_accelcmn.o: $(srcdir)/src/common/accelcmn.cpp $(MONOLIB_ODEP)
+@COND_USE_GUI_1@       $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/accelcmn.cpp
+
 @COND_USE_GUI_1@monolib_accesscmn.o: $(srcdir)/src/common/accesscmn.cpp $(MONOLIB_ODEP)
 @COND_USE_GUI_1@       $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/accesscmn.cpp
 
@@ -25593,6 +25607,9 @@ coredll_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(COREDLL_ODEP)
 @COND_USE_GUI_1_WXUNIV_1@coredll_mdig.o: $(srcdir)/src/generic/mdig.cpp $(COREDLL_ODEP)
 @COND_USE_GUI_1_WXUNIV_1@      $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/mdig.cpp
 
+@COND_USE_GUI_1@coredll_accelcmn.o: $(srcdir)/src/common/accelcmn.cpp $(COREDLL_ODEP)
+@COND_USE_GUI_1@       $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/accelcmn.cpp
+
 @COND_USE_GUI_1@coredll_accesscmn.o: $(srcdir)/src/common/accesscmn.cpp $(COREDLL_ODEP)
 @COND_USE_GUI_1@       $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/common/accesscmn.cpp
 
@@ -28557,6 +28574,9 @@ corelib_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(CORELIB_ODEP)
 @COND_USE_GUI_1_WXUNIV_1@corelib_mdig.o: $(srcdir)/src/generic/mdig.cpp $(CORELIB_ODEP)
 @COND_USE_GUI_1_WXUNIV_1@      $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/mdig.cpp
 
+@COND_USE_GUI_1@corelib_accelcmn.o: $(srcdir)/src/common/accelcmn.cpp $(CORELIB_ODEP)
+@COND_USE_GUI_1@       $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/accelcmn.cpp
+
 @COND_USE_GUI_1@corelib_accesscmn.o: $(srcdir)/src/common/accesscmn.cpp $(CORELIB_ODEP)
 @COND_USE_GUI_1@       $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/common/accesscmn.cpp
 
index 315dc51df19183d01d31da2835c6557632a0e2ba..2e9633e2d1f2f0c1bd57bcc67e9375396cc0e0fe 100644 (file)
@@ -580,6 +580,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
 <!-- ====================================================================== -->
 
 <set var="GUI_CMN_SRC" hints="files">
+    src/common/accelcmn.cpp
     src/common/accesscmn.cpp
     src/common/anidecod.cpp
     src/common/appcmn.cpp
index 1933110cd263fcd456e63efefc4c9edef68b28c7..355c4ae86e65b119d3328a48a5c65b9e94da9164 100644 (file)
@@ -1578,6 +1578,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_checklst.obj \
        $(OBJS)\monodll_fdrepdlg.obj \
        $(OBJS)\monodll_fontdlg.obj \
+       $(OBJS)\monodll_accelcmn.obj \
        $(OBJS)\monodll_accesscmn.obj \
        $(OBJS)\monodll_anidecod.obj \
        $(OBJS)\monodll_appcmn.obj \
@@ -1806,6 +1807,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_metal.obj \
        $(OBJS)\monodll_mono.obj \
        $(OBJS)\monodll_win32.obj \
+       $(OBJS)\monodll_accelcmn.obj \
        $(OBJS)\monodll_accesscmn.obj \
        $(OBJS)\monodll_anidecod.obj \
        $(OBJS)\monodll_appcmn.obj \
@@ -2210,6 +2212,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_checklst.obj \
        $(OBJS)\monolib_fdrepdlg.obj \
        $(OBJS)\monolib_fontdlg.obj \
+       $(OBJS)\monolib_accelcmn.obj \
        $(OBJS)\monolib_accesscmn.obj \
        $(OBJS)\monolib_anidecod.obj \
        $(OBJS)\monolib_appcmn.obj \
@@ -2438,6 +2441,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_metal.obj \
        $(OBJS)\monolib_mono.obj \
        $(OBJS)\monolib_win32.obj \
+       $(OBJS)\monolib_accelcmn.obj \
        $(OBJS)\monolib_accesscmn.obj \
        $(OBJS)\monolib_anidecod.obj \
        $(OBJS)\monolib_appcmn.obj \
@@ -2756,6 +2760,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\coredll_checklst.obj \
        $(OBJS)\coredll_fdrepdlg.obj \
        $(OBJS)\coredll_fontdlg.obj \
+       $(OBJS)\coredll_accelcmn.obj \
        $(OBJS)\coredll_accesscmn.obj \
        $(OBJS)\coredll_anidecod.obj \
        $(OBJS)\coredll_appcmn.obj \
@@ -2984,6 +2989,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\coredll_metal.obj \
        $(OBJS)\coredll_mono.obj \
        $(OBJS)\coredll_win32.obj \
+       $(OBJS)\coredll_accelcmn.obj \
        $(OBJS)\coredll_accesscmn.obj \
        $(OBJS)\coredll_anidecod.obj \
        $(OBJS)\coredll_appcmn.obj \
@@ -3213,6 +3219,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\corelib_checklst.obj \
        $(OBJS)\corelib_fdrepdlg.obj \
        $(OBJS)\corelib_fontdlg.obj \
+       $(OBJS)\corelib_accelcmn.obj \
        $(OBJS)\corelib_accesscmn.obj \
        $(OBJS)\corelib_anidecod.obj \
        $(OBJS)\corelib_appcmn.obj \
@@ -3441,6 +3448,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\corelib_metal.obj \
        $(OBJS)\corelib_mono.obj \
        $(OBJS)\corelib_win32.obj \
+       $(OBJS)\corelib_accelcmn.obj \
        $(OBJS)\corelib_accesscmn.obj \
        $(OBJS)\corelib_anidecod.obj \
        $(OBJS)\corelib_appcmn.obj \
@@ -6470,6 +6478,11 @@ $(OBJS)\monodll_fdrepdlg.obj: ..\..\src\generic\fdrepdlg.cpp
        $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
 !endif
 
+!if "$(USE_GUI)" == "1"
+$(OBJS)\monodll_accelcmn.obj: ..\..\src\common\accelcmn.cpp
+       $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
+!endif
+
 !if "$(USE_GUI)" == "1"
 $(OBJS)\monodll_accesscmn.obj: ..\..\src\common\accesscmn.cpp
        $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
@@ -8531,6 +8544,11 @@ $(OBJS)\monolib_fdrepdlg.obj: ..\..\src\generic\fdrepdlg.cpp
        $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
 !endif
 
+!if "$(USE_GUI)" == "1"
+$(OBJS)\monolib_accelcmn.obj: ..\..\src\common\accelcmn.cpp
+       $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
+!endif
+
 !if "$(USE_GUI)" == "1"
 $(OBJS)\monolib_accesscmn.obj: ..\..\src\common\accesscmn.cpp
        $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
@@ -10631,6 +10649,11 @@ $(OBJS)\coredll_fdrepdlg.obj: ..\..\src\generic\fdrepdlg.cpp
        $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
 !endif
 
+!if "$(USE_GUI)" == "1"
+$(OBJS)\coredll_accelcmn.obj: ..\..\src\common\accelcmn.cpp
+       $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
+!endif
+
 !if "$(USE_GUI)" == "1"
 $(OBJS)\coredll_accesscmn.obj: ..\..\src\common\accesscmn.cpp
        $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) $**
@@ -11921,6 +11944,11 @@ $(OBJS)\corelib_fdrepdlg.obj: ..\..\src\generic\fdrepdlg.cpp
        $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
 !endif
 
+!if "$(USE_GUI)" == "1"
+$(OBJS)\corelib_accelcmn.obj: ..\..\src\common\accelcmn.cpp
+       $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
+!endif
+
 !if "$(USE_GUI)" == "1"
 $(OBJS)\corelib_accesscmn.obj: ..\..\src\common\accesscmn.cpp
        $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) $**
index 3b467dc8558cf525e31e873b5d2ac70cb6057903..b84daa55550c1b00ba6710d9c9357b91ac81c4d7 100644 (file)
@@ -1588,6 +1588,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_checklst.o \
        $(OBJS)\monodll_fdrepdlg.o \
        $(OBJS)\monodll_fontdlg.o \
+       $(OBJS)\monodll_accelcmn.o \
        $(OBJS)\monodll_accesscmn.o \
        $(OBJS)\monodll_anidecod.o \
        $(OBJS)\monodll_appcmn.o \
@@ -1818,6 +1819,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_metal.o \
        $(OBJS)\monodll_mono.o \
        $(OBJS)\monodll_win32.o \
+       $(OBJS)\monodll_accelcmn.o \
        $(OBJS)\monodll_accesscmn.o \
        $(OBJS)\monodll_anidecod.o \
        $(OBJS)\monodll_appcmn.o \
@@ -2226,6 +2228,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_checklst.o \
        $(OBJS)\monolib_fdrepdlg.o \
        $(OBJS)\monolib_fontdlg.o \
+       $(OBJS)\monolib_accelcmn.o \
        $(OBJS)\monolib_accesscmn.o \
        $(OBJS)\monolib_anidecod.o \
        $(OBJS)\monolib_appcmn.o \
@@ -2456,6 +2459,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_metal.o \
        $(OBJS)\monolib_mono.o \
        $(OBJS)\monolib_win32.o \
+       $(OBJS)\monolib_accelcmn.o \
        $(OBJS)\monolib_accesscmn.o \
        $(OBJS)\monolib_anidecod.o \
        $(OBJS)\monolib_appcmn.o \
@@ -2788,6 +2792,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\coredll_checklst.o \
        $(OBJS)\coredll_fdrepdlg.o \
        $(OBJS)\coredll_fontdlg.o \
+       $(OBJS)\coredll_accelcmn.o \
        $(OBJS)\coredll_accesscmn.o \
        $(OBJS)\coredll_anidecod.o \
        $(OBJS)\coredll_appcmn.o \
@@ -3018,6 +3023,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\coredll_metal.o \
        $(OBJS)\coredll_mono.o \
        $(OBJS)\coredll_win32.o \
+       $(OBJS)\coredll_accelcmn.o \
        $(OBJS)\coredll_accesscmn.o \
        $(OBJS)\coredll_anidecod.o \
        $(OBJS)\coredll_appcmn.o \
@@ -3253,6 +3259,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\corelib_checklst.o \
        $(OBJS)\corelib_fdrepdlg.o \
        $(OBJS)\corelib_fontdlg.o \
+       $(OBJS)\corelib_accelcmn.o \
        $(OBJS)\corelib_accesscmn.o \
        $(OBJS)\corelib_anidecod.o \
        $(OBJS)\corelib_appcmn.o \
@@ -3483,6 +3490,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\corelib_metal.o \
        $(OBJS)\corelib_mono.o \
        $(OBJS)\corelib_win32.o \
+       $(OBJS)\corelib_accelcmn.o \
        $(OBJS)\corelib_accesscmn.o \
        $(OBJS)\corelib_anidecod.o \
        $(OBJS)\corelib_appcmn.o \
@@ -6731,6 +6739,11 @@ $(OBJS)\monodll_fdrepdlg.o: ../../src/generic/fdrepdlg.cpp
 endif
 endif
 
+ifeq ($(USE_GUI),1)
+$(OBJS)\monodll_accelcmn.o: ../../src/common/accelcmn.cpp
+       $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
+endif
+
 ifeq ($(USE_GUI),1)
 $(OBJS)\monodll_accesscmn.o: ../../src/common/accesscmn.cpp
        $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
@@ -8892,6 +8905,11 @@ $(OBJS)\monolib_fdrepdlg.o: ../../src/generic/fdrepdlg.cpp
 endif
 endif
 
+ifeq ($(USE_GUI),1)
+$(OBJS)\monolib_accelcmn.o: ../../src/common/accelcmn.cpp
+       $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
+endif
+
 ifeq ($(USE_GUI),1)
 $(OBJS)\monolib_accesscmn.o: ../../src/common/accesscmn.cpp
        $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
@@ -11092,6 +11110,11 @@ $(OBJS)\coredll_fdrepdlg.o: ../../src/generic/fdrepdlg.cpp
 endif
 endif
 
+ifeq ($(USE_GUI),1)
+$(OBJS)\coredll_accelcmn.o: ../../src/common/accelcmn.cpp
+       $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
+endif
+
 ifeq ($(USE_GUI),1)
 $(OBJS)\coredll_accesscmn.o: ../../src/common/accesscmn.cpp
        $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
@@ -12482,6 +12505,11 @@ $(OBJS)\corelib_fdrepdlg.o: ../../src/generic/fdrepdlg.cpp
 endif
 endif
 
+ifeq ($(USE_GUI),1)
+$(OBJS)\corelib_accelcmn.o: ../../src/common/accelcmn.cpp
+       $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
+endif
+
 ifeq ($(USE_GUI),1)
 $(OBJS)\corelib_accesscmn.o: ../../src/common/accesscmn.cpp
        $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
index 2b5b9633ee297c6c5cc12a15886aa4b1dedea0a1..59b1e1aae9d2fcea2ea1a4ddb438e7e2a0c897d0 100644 (file)
@@ -1756,6 +1756,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_checklst.obj \
        $(OBJS)\monodll_fdrepdlg.obj \
        $(OBJS)\monodll_fontdlg.obj \
+       $(OBJS)\monodll_accelcmn.obj \
        $(OBJS)\monodll_accesscmn.obj \
        $(OBJS)\monodll_anidecod.obj \
        $(OBJS)\monodll_appcmn.obj \
@@ -1984,6 +1985,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
        $(OBJS)\monodll_metal.obj \
        $(OBJS)\monodll_mono.obj \
        $(OBJS)\monodll_win32.obj \
+       $(OBJS)\monodll_accelcmn.obj \
        $(OBJS)\monodll_accesscmn.obj \
        $(OBJS)\monodll_anidecod.obj \
        $(OBJS)\monodll_appcmn.obj \
@@ -2394,6 +2396,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_checklst.obj \
        $(OBJS)\monolib_fdrepdlg.obj \
        $(OBJS)\monolib_fontdlg.obj \
+       $(OBJS)\monolib_accelcmn.obj \
        $(OBJS)\monolib_accesscmn.obj \
        $(OBJS)\monolib_anidecod.obj \
        $(OBJS)\monolib_appcmn.obj \
@@ -2622,6 +2625,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
        $(OBJS)\monolib_metal.obj \
        $(OBJS)\monolib_mono.obj \
        $(OBJS)\monolib_win32.obj \
+       $(OBJS)\monolib_accelcmn.obj \
        $(OBJS)\monolib_accesscmn.obj \
        $(OBJS)\monolib_anidecod.obj \
        $(OBJS)\monolib_appcmn.obj \
@@ -2970,6 +2974,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\coredll_checklst.obj \
        $(OBJS)\coredll_fdrepdlg.obj \
        $(OBJS)\coredll_fontdlg.obj \
+       $(OBJS)\coredll_accelcmn.obj \
        $(OBJS)\coredll_accesscmn.obj \
        $(OBJS)\coredll_anidecod.obj \
        $(OBJS)\coredll_appcmn.obj \
@@ -3198,6 +3203,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
        $(OBJS)\coredll_metal.obj \
        $(OBJS)\coredll_mono.obj \
        $(OBJS)\coredll_win32.obj \
+       $(OBJS)\coredll_accelcmn.obj \
        $(OBJS)\coredll_accesscmn.obj \
        $(OBJS)\coredll_anidecod.obj \
        $(OBJS)\coredll_appcmn.obj \
@@ -3433,6 +3439,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\corelib_checklst.obj \
        $(OBJS)\corelib_fdrepdlg.obj \
        $(OBJS)\corelib_fontdlg.obj \
+       $(OBJS)\corelib_accelcmn.obj \
        $(OBJS)\corelib_accesscmn.obj \
        $(OBJS)\corelib_anidecod.obj \
        $(OBJS)\corelib_appcmn.obj \
@@ -3661,6 +3668,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
        $(OBJS)\corelib_metal.obj \
        $(OBJS)\corelib_mono.obj \
        $(OBJS)\corelib_win32.obj \
+       $(OBJS)\corelib_accelcmn.obj \
        $(OBJS)\corelib_accesscmn.obj \
        $(OBJS)\corelib_anidecod.obj \
        $(OBJS)\corelib_appcmn.obj \
@@ -4516,7 +4524,7 @@ clean:
        -if exist $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gl.lib del $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gl.lib
        cd ..\..\samples
        $(MAKE) -f makefile.vc $(MAKEARGS) clean
-       cd $(MAKEDIR)
+       cd "$(MAKEDIR)"
 
 setup_h: $(SETUPHDIR)\wx ..\..\include\wx\$(__SETUP_H_SUBDIR_FILENAMES)\setup.h $(SETUPHDIR)\wx\setup.h $(SETUPHDIR)\wx\msw\rcdefs.h
 
@@ -4869,7 +4877,7 @@ wxgl: $(____wxgl_namedll_DEP) $(____wxgl_namelib_DEP)
 sub_samples: 
        cd ..\..\samples
        $(MAKE) -f makefile.vc $(MAKEARGS) all
-       cd $(MAKEDIR)
+       cd "$(MAKEDIR)"
 
 $(LIBDIRNAME): 
        if not exist $(LIBDIRNAME) mkdir $(LIBDIRNAME)
@@ -6822,6 +6830,11 @@ $(OBJS)\monodll_fdrepdlg.obj: ..\..\src\generic\fdrepdlg.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
 !endif
 
+!if "$(USE_GUI)" == "1"
+$(OBJS)\monodll_accelcmn.obj: ..\..\src\common\accelcmn.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
+!endif
+
 !if "$(USE_GUI)" == "1"
 $(OBJS)\monodll_accesscmn.obj: ..\..\src\common\accesscmn.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
@@ -8883,6 +8896,11 @@ $(OBJS)\monolib_fdrepdlg.obj: ..\..\src\generic\fdrepdlg.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
 !endif
 
+!if "$(USE_GUI)" == "1"
+$(OBJS)\monolib_accelcmn.obj: ..\..\src\common\accelcmn.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
+!endif
+
 !if "$(USE_GUI)" == "1"
 $(OBJS)\monolib_accesscmn.obj: ..\..\src\common\accesscmn.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
@@ -10983,6 +11001,11 @@ $(OBJS)\coredll_fdrepdlg.obj: ..\..\src\generic\fdrepdlg.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
 !endif
 
+!if "$(USE_GUI)" == "1"
+$(OBJS)\coredll_accelcmn.obj: ..\..\src\common\accelcmn.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
+!endif
+
 !if "$(USE_GUI)" == "1"
 $(OBJS)\coredll_accesscmn.obj: ..\..\src\common\accesscmn.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) $**
@@ -12273,6 +12296,11 @@ $(OBJS)\corelib_fdrepdlg.obj: ..\..\src\generic\fdrepdlg.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
 !endif
 
+!if "$(USE_GUI)" == "1"
+$(OBJS)\corelib_accelcmn.obj: ..\..\src\common\accelcmn.cpp
+       $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
+!endif
+
 !if "$(USE_GUI)" == "1"
 $(OBJS)\corelib_accesscmn.obj: ..\..\src\common\accesscmn.cpp
        $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) $**
index eb760492fb955936d7587101b11504d6a6c41899..895e70d1f179d4f32429c25a808cadcbacbe41b8 100644 (file)
@@ -309,6 +309,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  &
        $(OBJS)\monodll_checklst.obj &
        $(OBJS)\monodll_fdrepdlg.obj &
        $(OBJS)\monodll_fontdlg.obj &
+       $(OBJS)\monodll_accelcmn.obj &
        $(OBJS)\monodll_accesscmn.obj &
        $(OBJS)\monodll_anidecod.obj &
        $(OBJS)\monodll_appcmn.obj &
@@ -539,6 +540,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  &
        $(OBJS)\monodll_metal.obj &
        $(OBJS)\monodll_mono.obj &
        $(OBJS)\monodll_win32.obj &
+       $(OBJS)\monodll_accelcmn.obj &
        $(OBJS)\monodll_accesscmn.obj &
        $(OBJS)\monodll_anidecod.obj &
        $(OBJS)\monodll_appcmn.obj &
@@ -952,6 +954,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  &
        $(OBJS)\monolib_checklst.obj &
        $(OBJS)\monolib_fdrepdlg.obj &
        $(OBJS)\monolib_fontdlg.obj &
+       $(OBJS)\monolib_accelcmn.obj &
        $(OBJS)\monolib_accesscmn.obj &
        $(OBJS)\monolib_anidecod.obj &
        $(OBJS)\monolib_appcmn.obj &
@@ -1182,6 +1185,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  &
        $(OBJS)\monolib_metal.obj &
        $(OBJS)\monolib_mono.obj &
        $(OBJS)\monolib_win32.obj &
+       $(OBJS)\monolib_accelcmn.obj &
        $(OBJS)\monolib_accesscmn.obj &
        $(OBJS)\monolib_anidecod.obj &
        $(OBJS)\monolib_appcmn.obj &
@@ -1525,6 +1529,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  &
        $(OBJS)\coredll_checklst.obj &
        $(OBJS)\coredll_fdrepdlg.obj &
        $(OBJS)\coredll_fontdlg.obj &
+       $(OBJS)\coredll_accelcmn.obj &
        $(OBJS)\coredll_accesscmn.obj &
        $(OBJS)\coredll_anidecod.obj &
        $(OBJS)\coredll_appcmn.obj &
@@ -1755,6 +1760,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  &
        $(OBJS)\coredll_metal.obj &
        $(OBJS)\coredll_mono.obj &
        $(OBJS)\coredll_win32.obj &
+       $(OBJS)\coredll_accelcmn.obj &
        $(OBJS)\coredll_accesscmn.obj &
        $(OBJS)\coredll_anidecod.obj &
        $(OBJS)\coredll_appcmn.obj &
@@ -1992,6 +1998,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  &
        $(OBJS)\corelib_checklst.obj &
        $(OBJS)\corelib_fdrepdlg.obj &
        $(OBJS)\corelib_fontdlg.obj &
+       $(OBJS)\corelib_accelcmn.obj &
        $(OBJS)\corelib_accesscmn.obj &
        $(OBJS)\corelib_anidecod.obj &
        $(OBJS)\corelib_appcmn.obj &
@@ -2222,6 +2229,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  &
        $(OBJS)\corelib_metal.obj &
        $(OBJS)\corelib_mono.obj &
        $(OBJS)\corelib_win32.obj &
+       $(OBJS)\corelib_accelcmn.obj &
        $(OBJS)\corelib_accesscmn.obj &
        $(OBJS)\corelib_anidecod.obj &
        $(OBJS)\corelib_appcmn.obj &
@@ -7003,6 +7011,11 @@ $(OBJS)\monodll_fdrepdlg.obj :  .AUTODEPEND ..\..\src\generic\fdrepdlg.cpp
 !endif
 !endif
 
+!ifeq USE_GUI 1
+$(OBJS)\monodll_accelcmn.obj :  .AUTODEPEND ..\..\src\common\accelcmn.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
+!endif
+
 !ifeq USE_GUI 1
 $(OBJS)\monodll_accesscmn.obj :  .AUTODEPEND ..\..\src\common\accesscmn.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
@@ -9164,6 +9177,11 @@ $(OBJS)\monolib_fdrepdlg.obj :  .AUTODEPEND ..\..\src\generic\fdrepdlg.cpp
 !endif
 !endif
 
+!ifeq USE_GUI 1
+$(OBJS)\monolib_accelcmn.obj :  .AUTODEPEND ..\..\src\common\accelcmn.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
+!endif
+
 !ifeq USE_GUI 1
 $(OBJS)\monolib_accesscmn.obj :  .AUTODEPEND ..\..\src\common\accesscmn.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
@@ -11364,6 +11382,11 @@ $(OBJS)\coredll_fdrepdlg.obj :  .AUTODEPEND ..\..\src\generic\fdrepdlg.cpp
 !endif
 !endif
 
+!ifeq USE_GUI 1
+$(OBJS)\coredll_accelcmn.obj :  .AUTODEPEND ..\..\src\common\accelcmn.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
+!endif
+
 !ifeq USE_GUI 1
 $(OBJS)\coredll_accesscmn.obj :  .AUTODEPEND ..\..\src\common\accesscmn.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
@@ -12754,6 +12777,11 @@ $(OBJS)\corelib_fdrepdlg.obj :  .AUTODEPEND ..\..\src\generic\fdrepdlg.cpp
 !endif
 !endif
 
+!ifeq USE_GUI 1
+$(OBJS)\corelib_accelcmn.obj :  .AUTODEPEND ..\..\src\common\accelcmn.cpp
+       $(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
+!endif
+
 !ifeq USE_GUI 1
 $(OBJS)\corelib_accesscmn.obj :  .AUTODEPEND ..\..\src\common\accesscmn.cpp
        $(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
index 104d4d6023694eefbc1cffcee4a1ca9ce8683910..8d496b40247d031acff0e0fb3981f5aa202794f2 100644 (file)
@@ -452,6 +452,10 @@ LIB32=link.exe -lib
 # PROP Default_Filter ""
 # Begin Source File
 
+SOURCE=..\..\src\common\accelcmn.cpp
+# End Source File
+# Begin Source File
+
 SOURCE=..\..\src\common\accesscmn.cpp
 # End Source File
 # Begin Source File
diff --git a/src/common/accelcmn.cpp b/src/common/accelcmn.cpp
new file mode 100644 (file)
index 0000000..a038c58
--- /dev/null
@@ -0,0 +1,347 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        src/common/accelcmn.cpp
+// Purpose:     implementation of platform-independent wxAcceleratorEntry parts
+// Author:      Vadim Zeitlin
+// Created:     2007-05-05
+// RCS-ID:      $Id$
+// Copyright:   (c) 2007 Vadim Zeitlin <vadim@wxwindows.org>
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+// ============================================================================
+// declarations
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+
+// for compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
+#if wxUSE_ACCEL
+
+#ifndef WX_PRECOMP
+    #include "wx/string.h"
+    #include "wx/accel.h"
+#endif //WX_PRECOMP
+
+// ============================================================================
+// wxAcceleratorEntry implementation
+// ============================================================================
+
+static const struct wxKeyName
+{
+    wxKeyCode code;
+    const wxChar *name;
+} wxKeyNames[] =
+{
+    { WXK_DELETE, wxTRANSLATE("DEL") },
+    { WXK_DELETE, wxTRANSLATE("DELETE") },
+    { WXK_BACK, wxTRANSLATE("BACK") },
+    { WXK_INSERT, wxTRANSLATE("INS") },
+    { WXK_INSERT, wxTRANSLATE("INSERT") },
+    { WXK_RETURN, wxTRANSLATE("ENTER") },
+    { WXK_RETURN, wxTRANSLATE("RETURN") },
+    { WXK_PAGEUP, wxTRANSLATE("PGUP") },
+    { WXK_PAGEDOWN, wxTRANSLATE("PGDN") },
+    { WXK_LEFT, wxTRANSLATE("LEFT") },
+    { WXK_RIGHT, wxTRANSLATE("RIGHT") },
+    { WXK_UP, wxTRANSLATE("UP") },
+    { WXK_DOWN, wxTRANSLATE("DOWN") },
+    { WXK_HOME, wxTRANSLATE("HOME") },
+    { WXK_END, wxTRANSLATE("END") },
+    { WXK_SPACE, wxTRANSLATE("SPACE") },
+    { WXK_TAB, wxTRANSLATE("TAB") },
+    { WXK_ESCAPE, wxTRANSLATE("ESC") },
+    { WXK_ESCAPE, wxTRANSLATE("ESCAPE") },
+    { WXK_CANCEL, wxTRANSLATE("CANCEL") },
+    { WXK_CLEAR, wxTRANSLATE("CLEAR") },
+    { WXK_MENU, wxTRANSLATE("MENU") },
+    { WXK_PAUSE, wxTRANSLATE("PAUSE") },
+    { WXK_CAPITAL, wxTRANSLATE("CAPITAL") },
+    { WXK_SELECT, wxTRANSLATE("SELECT") },
+    { WXK_PRINT, wxTRANSLATE("PRINT") },
+    { WXK_EXECUTE, wxTRANSLATE("EXECUTE") },
+    { WXK_SNAPSHOT, wxTRANSLATE("SNAPSHOT") },
+    { WXK_HELP, wxTRANSLATE("HELP") },
+    { WXK_ADD, wxTRANSLATE("ADD") },
+    { WXK_SEPARATOR, wxTRANSLATE("SEPARATOR") },
+    { WXK_SUBTRACT, wxTRANSLATE("SUBTRACT") },
+    { WXK_DECIMAL, wxTRANSLATE("DECIMAL") },
+    { WXK_DIVIDE, wxTRANSLATE("DIVIDE") },
+    { WXK_NUMLOCK, wxTRANSLATE("NUM_LOCK") },
+    { WXK_SCROLL, wxTRANSLATE("SCROLL_LOCK") },
+    { WXK_PAGEUP, wxTRANSLATE("PAGEUP") },
+    { WXK_PAGEDOWN, wxTRANSLATE("PAGEDOWN") },
+    { WXK_NUMPAD_SPACE, wxTRANSLATE("KP_SPACE") },
+    { WXK_NUMPAD_TAB, wxTRANSLATE("KP_TAB") },
+    { WXK_NUMPAD_ENTER, wxTRANSLATE("KP_ENTER") },
+    { WXK_NUMPAD_HOME, wxTRANSLATE("KP_HOME") },
+    { WXK_NUMPAD_LEFT, wxTRANSLATE("KP_LEFT") },
+    { WXK_NUMPAD_UP, wxTRANSLATE("KP_UP") },
+    { WXK_NUMPAD_RIGHT, wxTRANSLATE("KP_RIGHT") },
+    { WXK_NUMPAD_DOWN, wxTRANSLATE("KP_DOWN") },
+    { WXK_NUMPAD_PAGEUP, wxTRANSLATE("KP_PRIOR") },
+    { WXK_NUMPAD_PAGEUP, wxTRANSLATE("KP_PAGEUP") },
+    { WXK_NUMPAD_PAGEDOWN, wxTRANSLATE("KP_NEXT") },
+    { WXK_NUMPAD_PAGEDOWN, wxTRANSLATE("KP_PAGEDOWN") },
+    { WXK_NUMPAD_END, wxTRANSLATE("KP_END") },
+    { WXK_NUMPAD_BEGIN, wxTRANSLATE("KP_BEGIN") },
+    { WXK_NUMPAD_INSERT, wxTRANSLATE("KP_INSERT") },
+    { WXK_NUMPAD_DELETE, wxTRANSLATE("KP_DELETE") },
+    { WXK_NUMPAD_EQUAL, wxTRANSLATE("KP_EQUAL") },
+    { WXK_NUMPAD_MULTIPLY, wxTRANSLATE("KP_MULTIPLY") },
+    { WXK_NUMPAD_ADD, wxTRANSLATE("KP_ADD") },
+    { WXK_NUMPAD_SEPARATOR, wxTRANSLATE("KP_SEPARATOR") },
+    { WXK_NUMPAD_SUBTRACT, wxTRANSLATE("KP_SUBTRACT") },
+    { WXK_NUMPAD_DECIMAL, wxTRANSLATE("KP_DECIMAL") },
+    { WXK_NUMPAD_DIVIDE, wxTRANSLATE("KP_DIVIDE") },
+    { WXK_WINDOWS_LEFT, wxTRANSLATE("WINDOWS_LEFT") },
+    { WXK_WINDOWS_RIGHT, wxTRANSLATE("WINDOWS_RIGHT") },
+    { WXK_WINDOWS_MENU, wxTRANSLATE("WINDOWS_MENU") },
+    { WXK_COMMAND, wxTRANSLATE("COMMAND") },
+};
+
+// return true if the 2 strings refer to the same accel
+//
+// as accels can be either translated or not, check for both possibilities and
+// also compare case-insensitively as the key names case doesn't count
+static inline bool CompareAccelString(const wxString& str, const wxChar *accel)
+{
+    return str.CmpNoCase(accel) == 0
+#if wxUSE_INTL
+            || str.CmpNoCase(wxGetTranslation(accel)) == 0
+#endif
+            ;
+}
+
+// return prefixCode+number if the string is of the form "<prefix><number>" and
+// 0 if it isn't
+//
+// first and last parameter specify the valid domain for "number" part
+static int IsNumberedAccelKey(const wxString& str,
+                              const wxChar *prefix,
+                              wxKeyCode prefixCode,
+                              unsigned first,
+                              unsigned last)
+{
+    const size_t lenPrefix = wxStrlen(prefix);
+    if ( !CompareAccelString(str.Left(lenPrefix), prefix) )
+        return 0;
+
+    unsigned long num;
+    if ( !str.Mid(lenPrefix).ToULong(&num) )
+        return 0;
+
+    if ( num < first || num > last )
+    {
+        // this must be a mistake, chances that this is a valid name of another
+        // key are vanishingly small
+        wxLogDebug(_T("Invalid key string \"%s\""), str.c_str());
+        return 0;
+    }
+
+    return prefixCode + num - first;
+}
+
+/* static */
+bool
+wxAcceleratorEntry::ParseAccel(const wxString& text, int *flagsOut, int *keyOut)
+{
+    // the parser won't like trailing spaces
+    wxString label = text;
+    label.Trim(true);  // the initial \t must be preserved so don't strip leading whitespaces
+
+    // check for accelerators: they are given after '\t'
+    int posTab = label.Find(wxT('\t'));
+    if ( posTab == wxNOT_FOUND )
+    {
+        return false;
+    }
+
+    // parse the accelerator string
+    int accelFlags = wxACCEL_NORMAL;
+    wxString current;
+    for ( size_t n = (size_t)posTab + 1; n < label.length(); n++ )
+    {
+        if ( (label[n] == '+') || (label[n] == '-') )
+        {
+            if ( CompareAccelString(current, wxTRANSLATE("ctrl")) )
+                accelFlags |= wxACCEL_CTRL;
+            else if ( CompareAccelString(current, wxTRANSLATE("alt")) )
+                accelFlags |= wxACCEL_ALT;
+            else if ( CompareAccelString(current, wxTRANSLATE("shift")) )
+                accelFlags |= wxACCEL_SHIFT;
+            else // not a recognized modifier name
+            {
+                // we may have "Ctrl-+", for example, but we still want to
+                // catch typos like "Crtl-A" so only give the warning if we
+                // have something before the current '+' or '-', else take
+                // it as a literal symbol
+                if ( current.empty() )
+                {
+                    current += label[n];
+
+                    // skip clearing it below
+                    continue;
+                }
+                else
+                {
+                    wxLogDebug(wxT("Unknown accel modifier: '%s'"),
+                               current.c_str());
+                }
+            }
+
+            current.clear();
+        }
+        else // not special character
+        {
+            current += (wxChar) wxTolower(label[n]);
+        }
+    }
+
+    int keyCode;
+    const size_t len = current.length();
+    switch ( len )
+    {
+        case 0:
+            wxLogDebug(wxT("No accel key found, accel string ignored."));
+            return false;
+
+        case 1:
+            // it's just a letter
+            keyCode = current[0U];
+
+            // if the key is used with any modifiers, make it an uppercase one
+            // because Ctrl-A and Ctrl-a are the same; but keep it as is if it's
+            // used alone as 'a' and 'A' are different
+            if ( accelFlags != wxACCEL_NORMAL )
+                keyCode = wxToupper(keyCode);
+            break;
+
+        default:
+            keyCode = IsNumberedAccelKey(current, wxTRANSLATE("F"),
+                                         WXK_F1, 1, 12);
+            if ( !keyCode )
+            {
+                for ( size_t n = 0; n < WXSIZEOF(wxKeyNames); n++ )
+                {
+                    const wxKeyName& kn = wxKeyNames[n];
+                    if ( CompareAccelString(current, kn.name) )
+                    {
+                        keyCode = kn.code;
+                        break;
+                    }
+                }
+            }
+
+            if ( !keyCode )
+                keyCode = IsNumberedAccelKey(current, wxTRANSLATE("KP_"),
+                                             WXK_NUMPAD0, 0, 9);
+            if ( !keyCode )
+                keyCode = IsNumberedAccelKey(current, wxTRANSLATE("SPECIAL"),
+                                             WXK_SPECIAL1, 1, 20);
+
+            if ( !keyCode )
+            {
+                wxLogDebug(wxT("Unrecognized accel key '%s', accel string ignored."),
+                           current.c_str());
+                return false;
+            }
+    }
+
+
+    wxASSERT_MSG( keyCode, _T("logic error: should have key code here") );
+
+    if ( flagsOut )
+        *flagsOut = accelFlags;
+    if ( keyOut )
+        *keyOut = keyCode;
+
+    return true;
+}
+
+/* static */
+wxAcceleratorEntry *wxAcceleratorEntry::Create(const wxString& str)
+{
+    int flags,
+        keyCode;
+    if ( !ParseAccel(str, &flags, &keyCode) )
+        return NULL;
+
+    return new wxAcceleratorEntry(flags, keyCode);
+}
+
+bool wxAcceleratorEntry::FromString(const wxString& str)
+{
+    return ParseAccel(str, &m_flags, &m_keyCode);
+}
+
+wxString wxAcceleratorEntry::ToString() const
+{
+    wxString text;
+
+    int flags = GetFlags();
+    if ( flags & wxACCEL_ALT )
+        text += _("Alt-");
+    if ( flags & wxACCEL_CTRL )
+        text += _("Ctrl-");
+    if ( flags & wxACCEL_SHIFT )
+        text += _("Shift-");
+
+    const int code = GetKeyCode();
+
+    if ( code >= WXK_F1 && code <= WXK_F12 )
+        text << _("F") << code - WXK_F1 + 1;
+    else if ( code >= WXK_NUMPAD0 && code <= WXK_NUMPAD9 )
+        text << _("KP_") << code - WXK_NUMPAD0;
+    else if ( code >= WXK_SPECIAL1 && code <= WXK_SPECIAL20 )
+        text << _("SPECIAL") << code - WXK_SPECIAL1 + 1;
+    else // check the named keys
+    {
+        size_t n;
+        for ( n = 0; n < WXSIZEOF(wxKeyNames); n++ )
+        {
+            const wxKeyName& kn = wxKeyNames[n];
+            if ( code == kn.code )
+            {
+                text << wxGetTranslation(kn.name);
+                break;
+            }
+        }
+
+        if ( n == WXSIZEOF(wxKeyNames) )
+        {
+            // must be a simple key
+            if (
+#if !wxUSE_UNICODE
+                 isascii(code) &&
+#endif // ANSI
+                    wxIsalnum(code) )
+            {
+                text << (wxChar)code;
+            }
+            else
+            {
+                wxFAIL_MSG( wxT("unknown keyboard accelerator code") );
+            }
+        }
+    }
+
+    return text;
+}
+
+wxAcceleratorEntry *wxGetAccelFromString(const wxString& label)
+{
+    return wxAcceleratorEntry::Create(label);
+}
+
+#endif // wxUSE_ACCEL
+
+
+
index 87969e0411da4450b8d2623b22dabae99dfa0de7..2b65f80845f0bf2a7d25c7483c6bcaf87bf7274c 100644 (file)
@@ -26,8 +26,6 @@
 
 #if wxUSE_MENUS
 
-#include <ctype.h>
-
 #ifndef WX_PRECOMP
     #include "wx/intl.h"
     #include "wx/log.h"
@@ -50,325 +48,7 @@ WX_DEFINE_LIST(wxMenuItemList)
 // ============================================================================
 
 // ----------------------------------------------------------------------------
-// wxAcceleratorEntry
-// ----------------------------------------------------------------------------
-
-
-#if wxUSE_ACCEL
-
-static const struct wxKeyName
-{
-    wxKeyCode code;
-    const wxChar *name;
-} wxKeyNames[] =
-{
-    { WXK_DELETE, wxTRANSLATE("DEL") },
-    { WXK_DELETE, wxTRANSLATE("DELETE") },
-    { WXK_BACK, wxTRANSLATE("BACK") },
-    { WXK_INSERT, wxTRANSLATE("INS") },
-    { WXK_INSERT, wxTRANSLATE("INSERT") },
-    { WXK_RETURN, wxTRANSLATE("ENTER") },
-    { WXK_RETURN, wxTRANSLATE("RETURN") },
-    { WXK_PAGEUP, wxTRANSLATE("PGUP") },
-    { WXK_PAGEDOWN, wxTRANSLATE("PGDN") },
-    { WXK_LEFT, wxTRANSLATE("LEFT") },
-    { WXK_RIGHT, wxTRANSLATE("RIGHT") },
-    { WXK_UP, wxTRANSLATE("UP") },
-    { WXK_DOWN, wxTRANSLATE("DOWN") },
-    { WXK_HOME, wxTRANSLATE("HOME") },
-    { WXK_END, wxTRANSLATE("END") },
-    { WXK_SPACE, wxTRANSLATE("SPACE") },
-    { WXK_TAB, wxTRANSLATE("TAB") },
-    { WXK_ESCAPE, wxTRANSLATE("ESC") },
-    { WXK_ESCAPE, wxTRANSLATE("ESCAPE") },
-    { WXK_CANCEL, wxTRANSLATE("CANCEL") },
-    { WXK_CLEAR, wxTRANSLATE("CLEAR") },
-    { WXK_MENU, wxTRANSLATE("MENU") },
-    { WXK_PAUSE, wxTRANSLATE("PAUSE") },
-    { WXK_CAPITAL, wxTRANSLATE("CAPITAL") },
-    { WXK_SELECT, wxTRANSLATE("SELECT") },
-    { WXK_PRINT, wxTRANSLATE("PRINT") },
-    { WXK_EXECUTE, wxTRANSLATE("EXECUTE") },
-    { WXK_SNAPSHOT, wxTRANSLATE("SNAPSHOT") },
-    { WXK_HELP, wxTRANSLATE("HELP") },
-    { WXK_ADD, wxTRANSLATE("ADD") },
-    { WXK_SEPARATOR, wxTRANSLATE("SEPARATOR") },
-    { WXK_SUBTRACT, wxTRANSLATE("SUBTRACT") },
-    { WXK_DECIMAL, wxTRANSLATE("DECIMAL") },
-    { WXK_DIVIDE, wxTRANSLATE("DIVIDE") },
-    { WXK_NUMLOCK, wxTRANSLATE("NUM_LOCK") },
-    { WXK_SCROLL, wxTRANSLATE("SCROLL_LOCK") },
-    { WXK_PAGEUP, wxTRANSLATE("PAGEUP") },
-    { WXK_PAGEDOWN, wxTRANSLATE("PAGEDOWN") },
-    { WXK_NUMPAD_SPACE, wxTRANSLATE("KP_SPACE") },
-    { WXK_NUMPAD_TAB, wxTRANSLATE("KP_TAB") },
-    { WXK_NUMPAD_ENTER, wxTRANSLATE("KP_ENTER") },
-    { WXK_NUMPAD_HOME, wxTRANSLATE("KP_HOME") },
-    { WXK_NUMPAD_LEFT, wxTRANSLATE("KP_LEFT") },
-    { WXK_NUMPAD_UP, wxTRANSLATE("KP_UP") },
-    { WXK_NUMPAD_RIGHT, wxTRANSLATE("KP_RIGHT") },
-    { WXK_NUMPAD_DOWN, wxTRANSLATE("KP_DOWN") },
-    { WXK_NUMPAD_PAGEUP, wxTRANSLATE("KP_PRIOR") },
-    { WXK_NUMPAD_PAGEUP, wxTRANSLATE("KP_PAGEUP") },
-    { WXK_NUMPAD_PAGEDOWN, wxTRANSLATE("KP_NEXT") },
-    { WXK_NUMPAD_PAGEDOWN, wxTRANSLATE("KP_PAGEDOWN") },
-    { WXK_NUMPAD_END, wxTRANSLATE("KP_END") },
-    { WXK_NUMPAD_BEGIN, wxTRANSLATE("KP_BEGIN") },
-    { WXK_NUMPAD_INSERT, wxTRANSLATE("KP_INSERT") },
-    { WXK_NUMPAD_DELETE, wxTRANSLATE("KP_DELETE") },
-    { WXK_NUMPAD_EQUAL, wxTRANSLATE("KP_EQUAL") },
-    { WXK_NUMPAD_MULTIPLY, wxTRANSLATE("KP_MULTIPLY") },
-    { WXK_NUMPAD_ADD, wxTRANSLATE("KP_ADD") },
-    { WXK_NUMPAD_SEPARATOR, wxTRANSLATE("KP_SEPARATOR") },
-    { WXK_NUMPAD_SUBTRACT, wxTRANSLATE("KP_SUBTRACT") },
-    { WXK_NUMPAD_DECIMAL, wxTRANSLATE("KP_DECIMAL") },
-    { WXK_NUMPAD_DIVIDE, wxTRANSLATE("KP_DIVIDE") },
-    { WXK_WINDOWS_LEFT, wxTRANSLATE("WINDOWS_LEFT") },
-    { WXK_WINDOWS_RIGHT, wxTRANSLATE("WINDOWS_RIGHT") },
-    { WXK_WINDOWS_MENU, wxTRANSLATE("WINDOWS_MENU") },
-    { WXK_COMMAND, wxTRANSLATE("COMMAND") },
-};
-
-// return true if the 2 strings refer to the same accel
-//
-// as accels can be either translated or not, check for both possibilities and
-// also compare case-insensitively as the key names case doesn't count
-static inline bool CompareAccelString(const wxString& str, const wxChar *accel)
-{
-    return str.CmpNoCase(accel) == 0
-#if wxUSE_INTL
-            || str.CmpNoCase(wxGetTranslation(accel)) == 0
-#endif
-            ;
-}
-
-// return prefixCode+number if the string is of the form "<prefix><number>" and
-// 0 if it isn't
-//
-// first and last parameter specify the valid domain for "number" part
-static int
-        IsNumberedAccelKey(const wxString& str,
-                           const wxChar *prefix,
-                           wxKeyCode prefixCode,
-                           unsigned first,
-                           unsigned last)
-{
-    const size_t lenPrefix = wxStrlen(prefix);
-    if ( !CompareAccelString(str.Left(lenPrefix), prefix) )
-        return 0;
-
-    unsigned long num;
-    if ( !str.Mid(lenPrefix).ToULong(&num) )
-        return 0;
-
-    if ( num < first || num > last )
-    {
-        // this must be a mistake, chances that this is a valid name of another
-        // key are vanishingly small
-        wxLogDebug(_T("Invalid key string \"%s\""), str.c_str());
-        return 0;
-    }
-
-    return prefixCode + num - first;
-}
-
-/* static */
-bool
-wxAcceleratorEntry::ParseAccel(const wxString& text, int *flagsOut, int *keyOut)
-{
-    // the parser won't like trailing spaces
-    wxString label = text;
-    label.Trim(true);  // the initial \t must be preserved so don't strip leading whitespaces
-
-    // check for accelerators: they are given after '\t'
-    int posTab = label.Find(wxT('\t'));
-    if ( posTab == wxNOT_FOUND )
-    {
-        return false;
-    }
-
-    // parse the accelerator string
-    int accelFlags = wxACCEL_NORMAL;
-    wxString current;
-    for ( size_t n = (size_t)posTab + 1; n < label.length(); n++ )
-    {
-        if ( (label[n] == '+') || (label[n] == '-') )
-        {
-            if ( CompareAccelString(current, wxTRANSLATE("ctrl")) )
-                accelFlags |= wxACCEL_CTRL;
-            else if ( CompareAccelString(current, wxTRANSLATE("alt")) )
-                accelFlags |= wxACCEL_ALT;
-            else if ( CompareAccelString(current, wxTRANSLATE("shift")) )
-                accelFlags |= wxACCEL_SHIFT;
-            else // not a recognized modifier name
-            {
-                // we may have "Ctrl-+", for example, but we still want to
-                // catch typos like "Crtl-A" so only give the warning if we
-                // have something before the current '+' or '-', else take
-                // it as a literal symbol
-                if ( current.empty() )
-                {
-                    current += label[n];
-
-                    // skip clearing it below
-                    continue;
-                }
-                else
-                {
-                    wxLogDebug(wxT("Unknown accel modifier: '%s'"),
-                               current.c_str());
-                }
-            }
-
-            current.clear();
-        }
-        else // not special character
-        {
-            current += (wxChar) wxTolower(label[n]);
-        }
-    }
-
-    int keyCode;
-    const size_t len = current.length();
-    switch ( len )
-    {
-        case 0:
-            wxLogDebug(wxT("No accel key found, accel string ignored."));
-            return false;
-
-        case 1:
-            // it's just a letter
-            keyCode = current[0U];
-
-            // if the key is used with any modifiers, make it an uppercase one
-            // because Ctrl-A and Ctrl-a are the same; but keep it as is if it's
-            // used alone as 'a' and 'A' are different
-            if ( accelFlags != wxACCEL_NORMAL )
-                keyCode = wxToupper(keyCode);
-            break;
-
-        default:
-            keyCode = IsNumberedAccelKey(current, wxTRANSLATE("F"),
-                                         WXK_F1, 1, 12);
-            if ( !keyCode )
-            {
-                for ( size_t n = 0; n < WXSIZEOF(wxKeyNames); n++ )
-                {
-                    const wxKeyName& kn = wxKeyNames[n];
-                    if ( CompareAccelString(current, kn.name) )
-                    {
-                        keyCode = kn.code;
-                        break;
-                    }
-                }
-            }
-
-            if ( !keyCode )
-                keyCode = IsNumberedAccelKey(current, wxTRANSLATE("KP_"),
-                                             WXK_NUMPAD0, 0, 9);
-            if ( !keyCode )
-                keyCode = IsNumberedAccelKey(current, wxTRANSLATE("SPECIAL"),
-                                             WXK_SPECIAL1, 1, 20);
-
-            if ( !keyCode )
-            {
-                wxLogDebug(wxT("Unrecognized accel key '%s', accel string ignored."),
-                           current.c_str());
-                return false;
-            }
-    }
-
-
-    wxASSERT_MSG( keyCode, _T("logic error: should have key code here") );
-
-    if ( flagsOut )
-        *flagsOut = accelFlags;
-    if ( keyOut )
-        *keyOut = keyCode;
-
-    return true;
-}
-
-/* static */
-wxAcceleratorEntry *wxAcceleratorEntry::Create(const wxString& str)
-{
-    int flags,
-        keyCode;
-    if ( !ParseAccel(str, &flags, &keyCode) )
-        return NULL;
-
-    return new wxAcceleratorEntry(flags, keyCode);
-}
-
-bool wxAcceleratorEntry::FromString(const wxString& str)
-{
-    return ParseAccel(str, &m_flags, &m_keyCode);
-}
-
-wxString wxAcceleratorEntry::ToString() const
-{
-    wxString text;
-
-    int flags = GetFlags();
-    if ( flags & wxACCEL_ALT )
-        text += _("Alt-");
-    if ( flags & wxACCEL_CTRL )
-        text += _("Ctrl-");
-    if ( flags & wxACCEL_SHIFT )
-        text += _("Shift-");
-
-    const int code = GetKeyCode();
-
-    if ( code >= WXK_F1 && code <= WXK_F12 )
-        text << _("F") << code - WXK_F1 + 1;
-    else if ( code >= WXK_NUMPAD0 && code <= WXK_NUMPAD9 )
-        text << _("KP_") << code - WXK_NUMPAD0;
-    else if ( code >= WXK_SPECIAL1 && code <= WXK_SPECIAL20 )
-        text << _("SPECIAL") << code - WXK_SPECIAL1 + 1;
-    else // check the named keys
-    {
-        size_t n;
-        for ( n = 0; n < WXSIZEOF(wxKeyNames); n++ )
-        {
-            const wxKeyName& kn = wxKeyNames[n];
-            if ( code == kn.code )
-            {
-                text << wxGetTranslation(kn.name);
-                break;
-            }
-        }
-
-        if ( n == WXSIZEOF(wxKeyNames) )
-        {
-            // must be a simple key
-            if (
-#if !wxUSE_UNICODE
-                 isascii(code) &&
-#endif // ANSI
-                    wxIsalnum(code) )
-            {
-                text << (wxChar)code;
-            }
-            else
-            {
-                wxFAIL_MSG( wxT("unknown keyboard accelerator code") );
-            }
-        }
-    }
-
-    return text;
-}
-
-wxAcceleratorEntry *wxGetAccelFromString(const wxString& label)
-{
-    return wxAcceleratorEntry::Create(label);
-}
-
-#endif // wxUSE_ACCEL
-
-
-// ----------------------------------------------------------------------------
-// wxMenuItem
+// wxMenuItemBase
 // ----------------------------------------------------------------------------
 
 wxMenuItemBase::wxMenuItemBase(wxMenu *parentMenu,