]> git.saurik.com Git - wxWidgets.git/commitdiff
implemented wxTextEntry for wxMotif, made wxComboBox derive from it
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 5 Nov 2007 23:13:09 +0000 (23:13 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 5 Nov 2007 23:13:09 +0000 (23:13 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49667 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

Makefile.in
build/bakefiles/files.bkl
include/wx/motif/combobox.h
include/wx/motif/textctrl.h
include/wx/motif/textentry.h [new file with mode: 0644]
include/wx/textentry.h
src/common/valtext.cpp
src/motif/combobox.cpp
src/motif/combobox_native.cpp
src/motif/textentry.cpp [new file with mode: 0644]

index 41a59cf9922d98541b2e821693a8d97b129302ba..59eb959205e8b8d4c2279684c2d81a2720222ad8 100644 (file)
@@ -2492,7 +2492,6 @@ COND_TOOLKIT_MAC_GUI_HDR =  \
        wx/html/webkit.h
 @COND_TOOLKIT_MAC@GUI_HDR = $(COND_TOOLKIT_MAC_GUI_HDR)
 COND_TOOLKIT_MOTIF_GUI_HDR =  \
-       wx/generic/animate.h \
        wx/generic/clrpickerg.h \
        wx/generic/collpaneg.h \
        wx/generic/colrdlgg.h \
@@ -2557,6 +2556,7 @@ COND_TOOLKIT_MOTIF_GUI_HDR =  \
        wx/motif/statbox.h \
        wx/motif/stattext.h \
        wx/motif/textctrl.h \
+       wx/motif/textentry.h \
        wx/motif/tglbtn.h \
        wx/motif/toolbar.h \
        wx/motif/toplevel.h \
@@ -2916,9 +2916,12 @@ COND_TOOLKIT_MAC_ADVANCED_PLATFORM_HDR =  \
        wx/mac/carbon/taskbarosx.h \
        wx/mac/corefoundation/joystick.h
 @COND_TOOLKIT_MAC@ADVANCED_PLATFORM_HDR = $(COND_TOOLKIT_MAC_ADVANCED_PLATFORM_HDR)
-@COND_TOOLKIT_MOTIF@ADVANCED_PLATFORM_HDR = \
-@COND_TOOLKIT_MOTIF@   wx/unix/joystick.h wx/unix/sound.h \
-@COND_TOOLKIT_MOTIF@   wx/unix/taskbarx11.h
+COND_TOOLKIT_MOTIF_ADVANCED_PLATFORM_HDR =  \
+       wx/unix/joystick.h \
+       wx/unix/sound.h \
+       wx/unix/taskbarx11.h \
+       wx/generic/animate.h
+@COND_TOOLKIT_MOTIF@ADVANCED_PLATFORM_HDR = $(COND_TOOLKIT_MOTIF_ADVANCED_PLATFORM_HDR)
 COND_TOOLKIT_MSW_ADVANCED_PLATFORM_HDR =  \
        wx/generic/animate.h \
        wx/msw/sound.h \
@@ -4680,13 +4683,13 @@ COND_TOOLKIT_MOTIF___GUI_SRC_OBJECTS =  \
        monodll_statbox.o \
        monodll_stattext.o \
        monodll_textctrl.o \
+       monodll_textentry.o \
        monodll_timer.o \
        monodll_toolbar.o \
        monodll_toplevel.o \
        monodll_utils.o \
        monodll_window.o \
        monodll_xmcombo.o \
-       monodll_animateg.o \
        monodll_clrpickerg.o \
        monodll_collpaneg.o \
        monodll_colrdlgg.o \
@@ -6559,13 +6562,13 @@ COND_TOOLKIT_MOTIF___GUI_SRC_OBJECTS_1 =  \
        monolib_statbox.o \
        monolib_stattext.o \
        monolib_textctrl.o \
+       monolib_textentry.o \
        monolib_timer.o \
        monolib_toolbar.o \
        monolib_toplevel.o \
        monolib_utils.o \
        monolib_window.o \
        monolib_xmcombo.o \
-       monolib_animateg.o \
        monolib_clrpickerg.o \
        monolib_collpaneg.o \
        monolib_colrdlgg.o \
@@ -8715,13 +8718,13 @@ COND_TOOLKIT_MOTIF___GUI_SRC_OBJECTS_2 =  \
        coredll_statbox.o \
        coredll_stattext.o \
        coredll_textctrl.o \
+       coredll_textentry.o \
        coredll_timer.o \
        coredll_toolbar.o \
        coredll_toplevel.o \
        coredll_utils.o \
        coredll_window.o \
        coredll_xmcombo.o \
-       coredll_animateg.o \
        coredll_clrpickerg.o \
        coredll_collpaneg.o \
        coredll_colrdlgg.o \
@@ -10209,13 +10212,13 @@ COND_TOOLKIT_MOTIF___GUI_SRC_OBJECTS_3 =  \
        corelib_statbox.o \
        corelib_stattext.o \
        corelib_textctrl.o \
+       corelib_textentry.o \
        corelib_timer.o \
        corelib_toolbar.o \
        corelib_toplevel.o \
        corelib_utils.o \
        corelib_window.o \
        corelib_xmcombo.o \
-       corelib_animateg.o \
        corelib_clrpickerg.o \
        corelib_collpaneg.o \
        corelib_colrdlgg.o \
@@ -11648,7 +11651,8 @@ COND_TOOLKIT_MOTIF___ADVANCED_PLATFORM_SRC_OBJECTS =  \
        monodll_taskbarcmn.o \
        monodll_joystick.o \
        monodll_sound.o \
-       monodll_taskbarx11.o
+       monodll_taskbarx11.o \
+       monodll_animateg.o
 @COND_TOOLKIT_MOTIF@__ADVANCED_PLATFORM_SRC_OBJECTS = $(COND_TOOLKIT_MOTIF___ADVANCED_PLATFORM_SRC_OBJECTS)
 COND_TOOLKIT_MSW___ADVANCED_PLATFORM_SRC_OBJECTS =  \
        monodll_taskbarcmn.o \
@@ -11724,7 +11728,8 @@ COND_TOOLKIT_MOTIF___ADVANCED_PLATFORM_SRC_OBJECTS_0 =  \
        monolib_taskbarcmn.o \
        monolib_joystick.o \
        monolib_sound.o \
-       monolib_taskbarx11.o
+       monolib_taskbarx11.o \
+       monolib_animateg.o
 @COND_TOOLKIT_MOTIF@__ADVANCED_PLATFORM_SRC_OBJECTS_0 = $(COND_TOOLKIT_MOTIF___ADVANCED_PLATFORM_SRC_OBJECTS_0)
 COND_TOOLKIT_MSW___ADVANCED_PLATFORM_SRC_OBJECTS_0 =  \
        monolib_taskbarcmn.o \
@@ -11796,9 +11801,13 @@ COND_TOOLKIT_MAC___ADVANCED_PLATFORM_SRC_OBJECTS_8 =  \
        advdll_taskbar.o \
        advdll_hidjoystick.o
 @COND_TOOLKIT_MAC@__ADVANCED_PLATFORM_SRC_OBJECTS_8 = $(COND_TOOLKIT_MAC___ADVANCED_PLATFORM_SRC_OBJECTS_8)
-@COND_TOOLKIT_MOTIF@__ADVANCED_PLATFORM_SRC_OBJECTS_8 = \
-@COND_TOOLKIT_MOTIF@   advdll_taskbarcmn.o advdll_joystick.o advdll_sound.o \
-@COND_TOOLKIT_MOTIF@   advdll_taskbarx11.o
+COND_TOOLKIT_MOTIF___ADVANCED_PLATFORM_SRC_OBJECTS_8 =  \
+       advdll_taskbarcmn.o \
+       advdll_joystick.o \
+       advdll_sound.o \
+       advdll_taskbarx11.o \
+       advdll_animateg.o
+@COND_TOOLKIT_MOTIF@__ADVANCED_PLATFORM_SRC_OBJECTS_8 = $(COND_TOOLKIT_MOTIF___ADVANCED_PLATFORM_SRC_OBJECTS_8)
 COND_TOOLKIT_MSW___ADVANCED_PLATFORM_SRC_OBJECTS_8 =  \
        advdll_taskbarcmn.o \
        advdll_animateg.o \
@@ -11860,9 +11869,13 @@ COND_TOOLKIT_MAC___ADVANCED_PLATFORM_SRC_OBJECTS_9 =  \
        advlib_taskbar.o \
        advlib_hidjoystick.o
 @COND_TOOLKIT_MAC@__ADVANCED_PLATFORM_SRC_OBJECTS_9 = $(COND_TOOLKIT_MAC___ADVANCED_PLATFORM_SRC_OBJECTS_9)
-@COND_TOOLKIT_MOTIF@__ADVANCED_PLATFORM_SRC_OBJECTS_9 = \
-@COND_TOOLKIT_MOTIF@   advlib_taskbarcmn.o advlib_joystick.o advlib_sound.o \
-@COND_TOOLKIT_MOTIF@   advlib_taskbarx11.o
+COND_TOOLKIT_MOTIF___ADVANCED_PLATFORM_SRC_OBJECTS_9 =  \
+       advlib_taskbarcmn.o \
+       advlib_joystick.o \
+       advlib_sound.o \
+       advlib_taskbarx11.o \
+       advlib_animateg.o
+@COND_TOOLKIT_MOTIF@__ADVANCED_PLATFORM_SRC_OBJECTS_9 = $(COND_TOOLKIT_MOTIF___ADVANCED_PLATFORM_SRC_OBJECTS_9)
 COND_TOOLKIT_MSW___ADVANCED_PLATFORM_SRC_OBJECTS_9 =  \
        advlib_taskbarcmn.o \
        advlib_animateg.o \
@@ -16863,6 +16876,9 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
 @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1_WXUNIV_0@monodll_textentry.o: $(srcdir)/src/gtk/textentry.cpp $(MONODLL_ODEP)
 @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1_WXUNIV_0@        $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/gtk/textentry.cpp
 
+@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@monodll_textentry.o: $(srcdir)/src/motif/textentry.cpp $(MONODLL_ODEP)
+@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@        $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/motif/textentry.cpp
+
 @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@monodll_textentry.o: $(srcdir)/src/msw/textentry.cpp $(MONODLL_ODEP)
 @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@  $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/textentry.cpp
 
@@ -17034,30 +17050,6 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
 @COND_USE_GUI_1_WXUNIV_1@monodll_toolbar.o: $(srcdir)/src/univ/toolbar.cpp $(MONODLL_ODEP)
 @COND_USE_GUI_1_WXUNIV_1@      $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/univ/toolbar.cpp
 
-@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@monodll_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONODLL_ODEP)
-@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@        $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
-
-@COND_USE_GUI_1_WXUNIV_1@monodll_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONODLL_ODEP)
-@COND_USE_GUI_1_WXUNIV_1@      $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
-
-@COND_TOOLKIT_MSW_USE_GUI_1@monodll_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONODLL_ODEP)
-@COND_TOOLKIT_MSW_USE_GUI_1@   $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
-
-@COND_TOOLKIT_WINCE_USE_GUI_1@monodll_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONODLL_ODEP)
-@COND_TOOLKIT_WINCE_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
-
-@COND_TOOLKIT_MAC_USE_GUI_1@monodll_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONODLL_ODEP)
-@COND_TOOLKIT_MAC_USE_GUI_1@   $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
-
-@COND_TOOLKIT_COCOA_USE_GUI_1@monodll_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONODLL_ODEP)
-@COND_TOOLKIT_COCOA_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
-
-@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@monodll_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONODLL_ODEP)
-@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@  $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
-
-@COND_TOOLKIT_PM_USE_GUI_1@monodll_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONODLL_ODEP)
-@COND_TOOLKIT_PM_USE_GUI_1@    $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
-
 @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@monodll_combo.o: $(srcdir)/src/msw/combo.cpp $(MONODLL_ODEP)
 @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@  $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/combo.cpp
 
@@ -17571,6 +17563,30 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
 @COND_USE_GUI_1@monodll_vscroll.o: $(srcdir)/src/generic/vscroll.cpp $(MONODLL_ODEP)
 @COND_USE_GUI_1@       $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/vscroll.cpp
 
+@COND_USE_GUI_1_WXUNIV_1@monodll_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONODLL_ODEP)
+@COND_USE_GUI_1_WXUNIV_1@      $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
+
+@COND_TOOLKIT_MSW_USE_GUI_1@monodll_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONODLL_ODEP)
+@COND_TOOLKIT_MSW_USE_GUI_1@   $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
+
+@COND_TOOLKIT_WINCE_USE_GUI_1@monodll_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONODLL_ODEP)
+@COND_TOOLKIT_WINCE_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
+
+@COND_TOOLKIT_MAC_USE_GUI_1@monodll_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONODLL_ODEP)
+@COND_TOOLKIT_MAC_USE_GUI_1@   $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
+
+@COND_TOOLKIT_COCOA_USE_GUI_1@monodll_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONODLL_ODEP)
+@COND_TOOLKIT_COCOA_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
+
+@COND_TOOLKIT_MOTIF_USE_GUI_1@monodll_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONODLL_ODEP)
+@COND_TOOLKIT_MOTIF_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
+
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@monodll_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONODLL_ODEP)
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@  $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
+
+@COND_TOOLKIT_PM_USE_GUI_1@monodll_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONODLL_ODEP)
+@COND_TOOLKIT_PM_USE_GUI_1@    $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
+
 @COND_USE_GUI_1@monodll_animatecmn.o: $(srcdir)/src/common/animatecmn.cpp $(MONODLL_ODEP)
 @COND_USE_GUI_1@       $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/animatecmn.cpp
 
@@ -21312,6 +21328,9 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
 @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1_WXUNIV_0@monolib_textentry.o: $(srcdir)/src/gtk/textentry.cpp $(MONOLIB_ODEP)
 @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1_WXUNIV_0@        $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/gtk/textentry.cpp
 
+@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@monolib_textentry.o: $(srcdir)/src/motif/textentry.cpp $(MONOLIB_ODEP)
+@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@        $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/motif/textentry.cpp
+
 @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@monolib_textentry.o: $(srcdir)/src/msw/textentry.cpp $(MONOLIB_ODEP)
 @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@  $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/textentry.cpp
 
@@ -21483,30 +21502,6 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
 @COND_USE_GUI_1_WXUNIV_1@monolib_toolbar.o: $(srcdir)/src/univ/toolbar.cpp $(MONOLIB_ODEP)
 @COND_USE_GUI_1_WXUNIV_1@      $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/univ/toolbar.cpp
 
-@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@monolib_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONOLIB_ODEP)
-@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@        $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
-
-@COND_USE_GUI_1_WXUNIV_1@monolib_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONOLIB_ODEP)
-@COND_USE_GUI_1_WXUNIV_1@      $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
-
-@COND_TOOLKIT_MSW_USE_GUI_1@monolib_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONOLIB_ODEP)
-@COND_TOOLKIT_MSW_USE_GUI_1@   $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
-
-@COND_TOOLKIT_WINCE_USE_GUI_1@monolib_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONOLIB_ODEP)
-@COND_TOOLKIT_WINCE_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
-
-@COND_TOOLKIT_MAC_USE_GUI_1@monolib_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONOLIB_ODEP)
-@COND_TOOLKIT_MAC_USE_GUI_1@   $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
-
-@COND_TOOLKIT_COCOA_USE_GUI_1@monolib_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONOLIB_ODEP)
-@COND_TOOLKIT_COCOA_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
-
-@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@monolib_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONOLIB_ODEP)
-@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@  $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
-
-@COND_TOOLKIT_PM_USE_GUI_1@monolib_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONOLIB_ODEP)
-@COND_TOOLKIT_PM_USE_GUI_1@    $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
-
 @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@monolib_combo.o: $(srcdir)/src/msw/combo.cpp $(MONOLIB_ODEP)
 @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@  $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/combo.cpp
 
@@ -22020,6 +22015,30 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
 @COND_USE_GUI_1@monolib_vscroll.o: $(srcdir)/src/generic/vscroll.cpp $(MONOLIB_ODEP)
 @COND_USE_GUI_1@       $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/vscroll.cpp
 
+@COND_USE_GUI_1_WXUNIV_1@monolib_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONOLIB_ODEP)
+@COND_USE_GUI_1_WXUNIV_1@      $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
+
+@COND_TOOLKIT_MSW_USE_GUI_1@monolib_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONOLIB_ODEP)
+@COND_TOOLKIT_MSW_USE_GUI_1@   $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
+
+@COND_TOOLKIT_WINCE_USE_GUI_1@monolib_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONOLIB_ODEP)
+@COND_TOOLKIT_WINCE_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
+
+@COND_TOOLKIT_MAC_USE_GUI_1@monolib_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONOLIB_ODEP)
+@COND_TOOLKIT_MAC_USE_GUI_1@   $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
+
+@COND_TOOLKIT_COCOA_USE_GUI_1@monolib_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONOLIB_ODEP)
+@COND_TOOLKIT_COCOA_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
+
+@COND_TOOLKIT_MOTIF_USE_GUI_1@monolib_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONOLIB_ODEP)
+@COND_TOOLKIT_MOTIF_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
+
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@monolib_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONOLIB_ODEP)
+@COND_TOOLKIT_GTK_TOOLKIT_VERSION__USE_GUI_1@  $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
+
+@COND_TOOLKIT_PM_USE_GUI_1@monolib_animateg.o: $(srcdir)/src/generic/animateg.cpp $(MONOLIB_ODEP)
+@COND_TOOLKIT_PM_USE_GUI_1@    $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
+
 @COND_USE_GUI_1@monolib_animatecmn.o: $(srcdir)/src/common/animatecmn.cpp $(MONOLIB_ODEP)
 @COND_USE_GUI_1@       $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/animatecmn.cpp
 
@@ -24081,6 +24100,9 @@ coredll_regiong.o: $(srcdir)/src/generic/regiong.cpp $(COREDLL_ODEP)
 coredll_gsockpm.o: $(srcdir)/src/os2/gsockpm.cpp $(COREDLL_ODEP)
        $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/os2/gsockpm.cpp
 
+coredll_animateg.o: $(srcdir)/src/generic/animateg.cpp $(COREDLL_ODEP)
+       $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
+
 coredll_colschem.o: $(srcdir)/src/univ/colschem.cpp $(COREDLL_ODEP)
        $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/univ/colschem.cpp
 
@@ -26316,6 +26338,9 @@ coredll_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(COREDLL_ODEP)
 @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1_WXUNIV_0@coredll_textentry.o: $(srcdir)/src/gtk/textentry.cpp $(COREDLL_ODEP)
 @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1_WXUNIV_0@        $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/gtk/textentry.cpp
 
+@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@coredll_textentry.o: $(srcdir)/src/motif/textentry.cpp $(COREDLL_ODEP)
+@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@        $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/motif/textentry.cpp
+
 @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@coredll_textentry.o: $(srcdir)/src/msw/textentry.cpp $(COREDLL_ODEP)
 @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@  $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/msw/textentry.cpp
 
@@ -26487,12 +26512,6 @@ coredll_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(COREDLL_ODEP)
 @COND_USE_GUI_1_WXUNIV_1@coredll_toolbar.o: $(srcdir)/src/univ/toolbar.cpp $(COREDLL_ODEP)
 @COND_USE_GUI_1_WXUNIV_1@      $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/univ/toolbar.cpp
 
-@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@coredll_animateg.o: $(srcdir)/src/generic/animateg.cpp $(COREDLL_ODEP)
-@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@        $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
-
-@COND_USE_GUI_1_WXUNIV_1@coredll_animateg.o: $(srcdir)/src/generic/animateg.cpp $(COREDLL_ODEP)
-@COND_USE_GUI_1_WXUNIV_1@      $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
-
 @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@coredll_combo.o: $(srcdir)/src/msw/combo.cpp $(COREDLL_ODEP)
 @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@  $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/msw/combo.cpp
 
@@ -27150,6 +27169,9 @@ corelib_regiong.o: $(srcdir)/src/generic/regiong.cpp $(CORELIB_ODEP)
 corelib_gsockpm.o: $(srcdir)/src/os2/gsockpm.cpp $(CORELIB_ODEP)
        $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/os2/gsockpm.cpp
 
+corelib_animateg.o: $(srcdir)/src/generic/animateg.cpp $(CORELIB_ODEP)
+       $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
+
 corelib_colschem.o: $(srcdir)/src/univ/colschem.cpp $(CORELIB_ODEP)
        $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/univ/colschem.cpp
 
@@ -29385,6 +29407,9 @@ corelib_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(CORELIB_ODEP)
 @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1_WXUNIV_0@corelib_textentry.o: $(srcdir)/src/gtk/textentry.cpp $(CORELIB_ODEP)
 @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_USE_GUI_1_WXUNIV_0@        $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/gtk/textentry.cpp
 
+@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@corelib_textentry.o: $(srcdir)/src/motif/textentry.cpp $(CORELIB_ODEP)
+@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@        $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/motif/textentry.cpp
+
 @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@corelib_textentry.o: $(srcdir)/src/msw/textentry.cpp $(CORELIB_ODEP)
 @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@  $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/msw/textentry.cpp
 
@@ -29556,12 +29581,6 @@ corelib_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(CORELIB_ODEP)
 @COND_USE_GUI_1_WXUNIV_1@corelib_toolbar.o: $(srcdir)/src/univ/toolbar.cpp $(CORELIB_ODEP)
 @COND_USE_GUI_1_WXUNIV_1@      $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/univ/toolbar.cpp
 
-@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@corelib_animateg.o: $(srcdir)/src/generic/animateg.cpp $(CORELIB_ODEP)
-@COND_TOOLKIT_MOTIF_USE_GUI_1_WXUNIV_0@        $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
-
-@COND_USE_GUI_1_WXUNIV_1@corelib_animateg.o: $(srcdir)/src/generic/animateg.cpp $(CORELIB_ODEP)
-@COND_USE_GUI_1_WXUNIV_1@      $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
-
 @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@corelib_combo.o: $(srcdir)/src/msw/combo.cpp $(CORELIB_ODEP)
 @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@  $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/msw/combo.cpp
 
@@ -30147,6 +30166,9 @@ advdll_wizard.o: $(srcdir)/src/generic/wizard.cpp $(ADVDLL_ODEP)
 @COND_TOOLKIT_COCOA@advdll_animateg.o: $(srcdir)/src/generic/animateg.cpp $(ADVDLL_ODEP)
 @COND_TOOLKIT_COCOA@   $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
 
+@COND_TOOLKIT_MOTIF@advdll_animateg.o: $(srcdir)/src/generic/animateg.cpp $(ADVDLL_ODEP)
+@COND_TOOLKIT_MOTIF@   $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
+
 @COND_TOOLKIT_GTK_TOOLKIT_VERSION_@advdll_animateg.o: $(srcdir)/src/generic/animateg.cpp $(ADVDLL_ODEP)
 @COND_TOOLKIT_GTK_TOOLKIT_VERSION_@    $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
 
@@ -30387,6 +30409,9 @@ advlib_wizard.o: $(srcdir)/src/generic/wizard.cpp $(ADVLIB_ODEP)
 @COND_TOOLKIT_COCOA@advlib_animateg.o: $(srcdir)/src/generic/animateg.cpp $(ADVLIB_ODEP)
 @COND_TOOLKIT_COCOA@   $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
 
+@COND_TOOLKIT_MOTIF@advlib_animateg.o: $(srcdir)/src/generic/animateg.cpp $(ADVLIB_ODEP)
+@COND_TOOLKIT_MOTIF@   $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
+
 @COND_TOOLKIT_GTK_TOOLKIT_VERSION_@advlib_animateg.o: $(srcdir)/src/generic/animateg.cpp $(ADVLIB_ODEP)
 @COND_TOOLKIT_GTK_TOOLKIT_VERSION_@    $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/generic/animateg.cpp
 
index db1d3622a9ed4b557c153606c8071f137c4ee602..6b640e9861419e2cf8b86ec624c6da8066d2e68a 100644 (file)
@@ -1364,6 +1364,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
     src/motif/statbox.cpp
     src/motif/stattext.cpp
     src/motif/textctrl.cpp
+    src/motif/textentry.cpp
     src/motif/timer.cpp
     src/motif/toolbar.cpp
     src/motif/toplevel.cpp
@@ -1371,7 +1372,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
     src/motif/window.cpp
     src/motif/xmcombo/xmcombo.c
     <!-- Generic files used by wxMotif: -->
-    src/generic/animateg.cpp
     src/generic/clrpickerg.cpp
     src/generic/collpaneg.cpp
     src/generic/colrdlgg.cpp
@@ -1388,7 +1388,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
     src/generic/tabg.cpp
 </set>
 <set var="MOTIF_HDR" hints="files">
-    wx/generic/animate.h
     wx/generic/clrpickerg.h
     wx/generic/collpaneg.h
     wx/generic/colrdlgg.h
@@ -1453,6 +1452,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
     wx/motif/statbox.h
     wx/motif/stattext.h
     wx/motif/textctrl.h
+    wx/motif/textentry.h
     wx/motif/tglbtn.h
     wx/motif/toolbar.h
     wx/motif/toplevel.h
@@ -2911,6 +2911,14 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
     wx/unix/taskbarx11.h
 </set>
 
+<set var="ADVANCED_MOTIF_SRC" hints="files">
+    src/generic/animateg.cpp
+</set>
+
+<set var="ADVANCED_MOTIF_HDR" hints="files">
+    wx/generic/animate.h
+</set>
+
 <set var="ADVANCED_GTK_SRC" hints="files">
     src/gtk/aboutdlg.cpp
     src/gtk/animate.cpp
@@ -3482,7 +3490,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
         <if cond="TOOLKIT=='WINCE'">$(ADVANCED_MSW_SRC)</if>
         <if cond="TOOLKIT=='MAC'">$(ADVANCED_MAC_SRC)</if>
         <if cond="TOOLKIT=='COCOA'">$(ADVANCED_COCOA_SRC)</if>
-        <if cond="TOOLKIT=='MOTIF'">$(ADVANCED_UNIX_SRC)</if>
+        <if cond="TOOLKIT=='MOTIF'">$(ADVANCED_UNIX_SRC) $(ADVANCED_MOTIF_SRC)</if>
         <if cond="TOOLKIT=='GTK' and TOOLKIT_VERSION=='2'">$(ADVANCED_UNIX_SRC) $(ADVANCED_GTK_SRC)</if>
         <if cond="TOOLKIT=='GTK' and TOOLKIT_VERSION==''">$(ADVANCED_UNIX_SRC) $(ADVANCED_GTK1_SRC)</if>
         <if cond="TOOLKIT=='X11'">$(ADVANCED_UNIX_SRC)</if>
@@ -3494,7 +3502,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
         <if cond="TOOLKIT=='WINCE'">$(ADVANCED_MSW_HDR)</if>
         <if cond="TOOLKIT=='MAC'">$(ADVANCED_MAC_HDR)</if>
         <if cond="TOOLKIT=='COCOA'">$(ADVANCED_COCOA_HDR)</if>
-        <if cond="TOOLKIT=='MOTIF'">$(ADVANCED_UNIX_HDR)</if>
+        <if cond="TOOLKIT=='MOTIF'">$(ADVANCED_UNIX_HDR) $(ADVANCED_MOTIF_HDR)</if>
         <if cond="TOOLKIT=='GTK' and TOOLKIT_VERSION=='2'">$(ADVANCED_UNIX_HDR) $(ADVANCED_GTK_HDR)</if>
         <if cond="TOOLKIT=='GTK' and TOOLKIT_VERSION==''">$(ADVANCED_UNIX_HDR) $(ADVANCED_GTK1_HDR)</if>
         <if cond="TOOLKIT=='X11'">$(ADVANCED_UNIX_HDR)</if>
index d63326ba22d4c65464fedf0f9659691b5bc5b3cb..8b3e8b9e453d0007175c78b4e0ff484a6152980b 100644 (file)
 #define _WX_COMBOBOX_H_
 
 #include "wx/choice.h"
+#include "wx/textentry.h"
 
 // Combobox item
-class WXDLLEXPORT wxComboBox: public wxChoice
+class WXDLLEXPORT wxComboBox : public wxChoice,
+                               public wxTextEntry
 {
-    DECLARE_DYNAMIC_CLASS(wxComboBox)
-
 public:
     wxComboBox() { m_inSetSelection = false; }
     virtual ~wxComboBox();
@@ -69,35 +69,31 @@ public:
         const wxValidator& validator = wxDefaultValidator,
         const wxString& name = wxComboBoxNameStr);
 
+    // resolve ambiguities among virtual functions inherited from both base
+    // classes
+    virtual void Clear();
+    virtual wxString GetValue() const { return wxTextEntry::GetValue(); }
+    virtual void SetValue(const wxString& value);
+    virtual wxString GetStringSelection() const
+        { return wxChoice::GetStringSelection(); }
+
+    virtual void SetSelection(long from, long to)
+        { wxTextEntry::SetSelection(from, to); }
+    virtual void GetSelection(long *from, long *to) const
+        { wxTextEntry::GetSelection(from, to); }
+
+
     // implementation of wxControlWithItems
     virtual int DoInsertItems(const wxArrayStringsAdapter& items,
                               unsigned int pos,
                               void **clientData, wxClientDataType type);
     virtual void DoDeleteOneItem(unsigned int n);
-    virtual void DoClear();
     virtual int GetSelection() const ;
     virtual void SetSelection(int n);
     virtual int FindString(const wxString& s, bool bCase = false) const;
     virtual wxString GetString(unsigned int n) const ;
     virtual void SetString(unsigned int n, const wxString& s);
 
-    // Text field functions
-    virtual wxString GetValue() const ;
-    virtual void SetValue(const wxString& value);
-
-    // Clipboard operations
-    virtual void Copy();
-    virtual void Cut();
-    virtual void Paste();
-    virtual void SetInsertionPoint(long pos);
-    virtual void SetInsertionPointEnd();
-    virtual long GetInsertionPoint() const ;
-    virtual wxTextPos GetLastPosition() const ;
-    virtual void Replace(long from, long to, const wxString& value);
-    virtual void Remove(long from, long to);
-    virtual void SetSelection(long from, long to);
-    virtual void SetEditable(bool editable);
-
     // Implementation
     virtual void ChangeFont(bool keepOriginalSize = true);
     virtual void ChangeBackgroundColour();
@@ -105,11 +101,14 @@ public:
     WXWidget GetTopWidget() const { return m_mainWidget; }
     WXWidget GetMainWidget() const { return m_mainWidget; }
 
-    virtual wxSize DoGetBestSize() const;
 protected:
+    virtual wxSize DoGetBestSize() const;
     virtual void DoSetSize(int x, int y,
-        int width, int height,
-        int sizeFlags = wxSIZE_AUTO);
+                           int width, int height,
+                           int sizeFlags = wxSIZE_AUTO);
+
+    virtual WXWidget GetTextWidget() const;
+
 private:
     // only implemented for native combo box
     void AdjustDropDownListSize();
@@ -117,7 +116,8 @@ private:
     // implementation detail, should really be private
 public:
     bool m_inSetSelection;
+
+    DECLARE_DYNAMIC_CLASS(wxComboBox)
 };
 
-#endif
-// _WX_COMBOBOX_H_
+#endif // _WX_COMBOBOX_H_
index 22b8f50eebc7985b7137ad0f26fb497dfe9a92e1..2eed64a576d5a8a5d06ff9e516b7d03b551ee15a 100644 (file)
 // Single-line text item
 class WXDLLEXPORT wxTextCtrl : public wxTextCtrlBase
 {
-    DECLARE_DYNAMIC_CLASS(wxTextCtrl)
-
 public:
     // creation
     // --------
+
     wxTextCtrl();
     wxTextCtrl(wxWindow *parent,
-        wxWindowID id,
-        const wxString& value = wxEmptyString,
-        const wxPoint& pos = wxDefaultPosition,
-        const wxSize& size = wxDefaultSize,
-        long style = 0,
-        const wxValidator& validator = wxDefaultValidator,
-        const wxString& name = wxTextCtrlNameStr)
+               wxWindowID id,
+               const wxString& value = wxEmptyString,
+               const wxPoint& pos = wxDefaultPosition,
+               const wxSize& size = wxDefaultSize,
+               long style = 0,
+               const wxValidator& validator = wxDefaultValidator,
+               const wxString& name = wxTextCtrlNameStr)
     {
         Create(parent, id, value, pos, size, style, validator, name);
     }
 
     bool Create(wxWindow *parent, wxWindowID id,
-        const wxString& value = wxEmptyString,
-        const wxPoint& pos = wxDefaultPosition,
-        const wxSize& size = wxDefaultSize, long style = 0,
-        const wxValidator& validator = wxDefaultValidator,
-        const wxString& name = wxTextCtrlNameStr);
+                const wxString& value = wxEmptyString,
+                const wxPoint& pos = wxDefaultPosition,
+                const wxSize& size = wxDefaultSize, long style = 0,
+                const wxValidator& validator = wxDefaultValidator,
+                const wxString& name = wxTextCtrlNameStr);
 
     // accessors
     // ---------
@@ -51,36 +50,6 @@ public:
     // operations
     // ----------
 
-    // Clipboard operations
-    virtual void Copy();
-    virtual void Cut();
-    virtual void Paste();
-    virtual bool CanCopy() const;
-    virtual bool CanCut() const;
-    virtual bool CanPaste() const;
-
-    // Undo/redo
-    virtual void Undo();
-    virtual void Redo();
-
-    virtual bool CanUndo() const;
-    virtual bool CanRedo() const;
-
-    virtual void SetInsertionPoint(long pos);
-    virtual void SetInsertionPointEnd();
-    virtual long GetInsertionPoint() const;
-    virtual wxTextPos GetLastPosition() const;
-    virtual void Replace(long from, long to, const wxString& value);
-    virtual void Remove(long from, long to);
-    virtual void SetSelection(long from, long to);
-    virtual void SetEditable(bool editable);
-    // If the return values from and to are the same, there is no
-    // selection.
-    virtual void GetSelection(long* from, long* to) const;
-    virtual bool IsEditable() const ;
-
-    virtual void WriteText(const wxString& text);
-    virtual void AppendText(const wxString& text);
     virtual void MarkDirty();
     virtual void DiscardEdits();
     virtual bool IsModified() const;
@@ -88,7 +57,6 @@ public:
     virtual long XYToPosition(long x, long y) const;
     virtual bool PositionToXY(long pos, long *x, long *y) const;
     virtual void ShowPosition(long pos);
-    virtual void Clear();
 
     // callbacks
     // ---------
@@ -120,15 +88,15 @@ public:
 
     // send the CHAR and TEXT_UPDATED events
     void DoSendEvents(void /* XmTextVerifyCallbackStruct */ *cbs,
-        long keycode);
+                      long keycode);
 
 protected:
-    wxString  m_fileName;
-
     virtual wxSize DoGetBestSize() const;
 
     virtual void DoSetValue(const wxString& value, int flags = 0);
 
+    virtual WXWidget GetTextWidget() const { return m_mainWidget; }
+
 public:
     // Motif-specific
     void*     m_tempCallbackStruct;
@@ -140,6 +108,7 @@ public:
 
 private:
     DECLARE_EVENT_TABLE()
+    DECLARE_DYNAMIC_CLASS(wxTextCtrl)
 };
 
 #endif
diff --git a/include/wx/motif/textentry.h b/include/wx/motif/textentry.h
new file mode 100644 (file)
index 0000000..5761116
--- /dev/null
@@ -0,0 +1,59 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        wx/motif/textentry.h
+// Purpose:     wxMotif-specific wxTextEntry implementation
+// Author:      Vadim Zeitlin
+// Created:     2007-11-05
+// RCS-ID:      $Id$
+// Copyright:   (c) 2007 Vadim Zeitlin <vadim@wxwindows.org>
+// Licence:     wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_MOTIF_TEXTENTRY_H_
+#define _WX_MOTIF_TEXTENTRY_H_
+
+// ----------------------------------------------------------------------------
+// wxTextEntry wraps XmTextXXX() methods suitable for single-line controls
+// ----------------------------------------------------------------------------
+
+class WXDLLIMPEXP_CORE wxTextEntry : public wxTextEntryBase
+{
+public:
+    wxTextEntry() { }
+
+    // implement wxTextEntryBase pure virtual methods
+    virtual void WriteText(const wxString& text);
+    virtual wxString GetValue() const;
+    virtual void Replace(long from, long to, const wxString& value);
+    virtual void Remove(long from, long to);
+
+    virtual void Copy();
+    virtual void Cut();
+    virtual void Paste();
+
+    virtual void Undo();
+    virtual void Redo();
+    virtual bool CanUndo() const;
+    virtual bool CanRedo() const;
+
+    virtual void SetInsertionPoint(long pos);
+    virtual long GetInsertionPoint() const;
+    virtual long GetLastPosition() const;
+
+    virtual void SetSelection(long from, long to);
+    virtual void GetSelection(long *from, long *to) const;
+
+    virtual bool IsEditable() const;
+    virtual void SetEditable(bool editable);
+
+protected:
+    // translate wx text position (which may be -1 meaning "last one") to a
+    // valid Motif text position
+    long GetMotifPos(long pos) const;
+
+private:
+    // implement this to return the associated xmTextWidgetClass widget
+    virtual WXWidget GetTextWidget() const = 0;
+};
+
+#endif // _WX_MOTIF_TEXTENTRY_H_
+
index 0aa350ef9da1d7b9df43c1868df740ee8cc02aad..415eb8b188638a774e451843190c88edfeff8fae 100644 (file)
@@ -96,7 +96,7 @@ public:
     bool HasSelection() const;
     virtual wxString GetStringSelection() const;
 
-    
+
     // auto-completion
     // ---------------
 
@@ -207,6 +207,8 @@ private:
     #include "wx/gtk/textentry.h"
 #elif defined(__WXMSW__)
     #include "wx/msw/textentry.h"
+#elif defined(__WXMOTIF__)
+    #include "wx/motif/textentry.h"
 #else
     // no platform-specific implementation of wxTextEntry yet
     class WXDLLIMPEXP_CORE wxTextEntry : public wxTextEntryBase
index 202e8195fab7b5c0f24c248166fba76cafc33661..8d83f839fdc1f3bf290410a77ea58fba58014487 100644 (file)
@@ -85,15 +85,12 @@ wxTextEntry *wxTextValidator::GetTextEntry()
     }
 #endif
 
-    // FIXME: in wxMotif wxComboBox doesn't derive from wxTextCtrl yet
-#ifndef __WXMOTIF__
 #if wxUSE_COMBOBOX
     if (m_validatorWindow->IsKindOf(CLASSINFO(wxComboBox)))
     {
         return (wxComboBox*)m_validatorWindow;
     }
 #endif
-#endif // !__WXMOTIF__
 
     wxFAIL_MSG(
         _T("wxTextValidator can only be used with wxTextCtrl or wxComboBox")
index 4083a88ebd6bee1e1a9fee7cf2a5603d8a94ddd4..099cc58604a8f0db4071ba8041705c2eef785835 100644 (file)
@@ -236,68 +236,6 @@ int wxComboBox::FindString(const wxString& s, bool WXUNUSED(bCase)) const
     return wxNOT_FOUND;
 }
 
-// Clipboard operations
-void wxComboBox::Copy()
-{
-    XmComboBoxCopy((Widget) m_mainWidget, CurrentTime);
-}
-
-void wxComboBox::Cut()
-{
-    XmComboBoxCut((Widget) m_mainWidget, CurrentTime);
-}
-
-void wxComboBox::Paste()
-{
-    XmComboBoxPaste((Widget) m_mainWidget);
-}
-
-void wxComboBox::SetEditable(bool WXUNUSED(editable))
-{
-    // TODO
-}
-
-void wxComboBox::SetInsertionPoint(long pos)
-{
-    XmComboBoxSetInsertionPosition ((Widget) m_mainWidget, (XmTextPosition) pos);
-}
-
-void wxComboBox::SetInsertionPointEnd()
-{
-    XmTextPosition pos = XmComboBoxGetLastPosition ((Widget) m_mainWidget);
-    XmComboBoxSetInsertionPosition ((Widget) m_mainWidget, (XmTextPosition) (pos + 1));
-}
-
-long wxComboBox::GetInsertionPoint() const
-{
-    return (long) XmComboBoxGetInsertionPosition ((Widget) m_mainWidget);
-}
-
-wxTextPos wxComboBox::GetLastPosition() const
-{
-    return (wxTextPos) XmComboBoxGetLastPosition ((Widget) m_mainWidget);
-}
-
-void wxComboBox::Replace(long from, long to, const wxString& value)
-{
-    XmComboBoxReplace ((Widget) m_mainWidget, (XmTextPosition) from,
-                       (XmTextPosition) to,
-                       value.char_str());
-}
-
-void wxComboBox::Remove(long from, long to)
-{
-    XmComboBoxSetSelection ((Widget) m_mainWidget, (XmTextPosition) from, (XmTextPosition) to,
-                      (Time) 0);
-    XmComboBoxRemove ((Widget) m_mainWidget);
-}
-
-void wxComboBox::SetSelection(long from, long to)
-{
-    XmComboBoxSetSelection ((Widget) m_mainWidget, (XmTextPosition) from, (XmTextPosition) to,
-                      (Time) 0);
-}
-
 void  wxComboBoxCallback (Widget WXUNUSED(w), XtPointer clientData,
                           XmComboBoxSelectionCallbackStruct * cbs)
 {
@@ -366,6 +304,11 @@ wxSize wxComboBox::DoGetBestSize() const
         return wxWindow::DoGetBestSize();
 }
 
+WXWidget wxComboBox::GetTextWidget() const
+{
+    return (WXWidget)XmComboBoxGetEditWidget((Widget) m_mainWidget);
+}
+
 #endif // XmVersion < 2000
 
 #endif // wxUSE_COMBOBOX
index 4bb234346a7115f9ff868c0ebff23131f8ea88ba..1cadd49e94406592525454cb6551d64bf9679189 100644 (file)
@@ -226,7 +226,7 @@ void wxComboBox::DoDeleteOneItem(unsigned int n)
     AdjustDropDownListSize();
 }
 
-void wxComboBox::DoClear()
+void wxComboBox::Clear()
 {
 #ifdef LESSTIF_VERSION
     XmListDeleteAllItems (GetXmList(this));
@@ -237,9 +237,10 @@ void wxComboBox::DoClear()
     }
 #endif
 
-    wxControlWithItems::DoClear();
     m_noStrings = 0;
     AdjustDropDownListSize();
+
+    wxTextEntry::Clear();
 }
 
 void wxComboBox::SetSelection (int n)
@@ -262,7 +263,7 @@ void wxComboBox::SetSelection (int n)
     m_inSetSelection = false;
 }
 
-int wxComboBox::GetSelection (void) const
+int wxComboBox::GetSelection() const
 {
     return wxDoGetSelectionInList( GetXmList( this ) );
 }
@@ -279,11 +280,6 @@ int wxComboBox::FindString(const wxString& s, bool WXUNUSED(bCase)) const
     return wxDoFindStringInList( GetXmList( this ), s );
 }
 
-void wxComboBox::SetEditable(bool WXUNUSED(editable))
-{
-    // TODO
-}
-
 void  wxComboBoxCallback (Widget WXUNUSED(w), XtPointer clientData,
                           XmComboBoxCallbackStruct * cbs)
 {
diff --git a/src/motif/textentry.cpp b/src/motif/textentry.cpp
new file mode 100644 (file)
index 0000000..9ba70b8
--- /dev/null
@@ -0,0 +1,200 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        src/motif/textentry.cpp
+// Purpose:     implementation of wxTextEntry for wxMotif
+// Author:      Vadim Zeitlin
+// Created:     2007-11-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
+
+#ifndef WX_PRECOMP
+    #include "wx/string.h"
+#endif //WX_PRECOMP
+
+#include "wx/textentry.h"
+
+#ifdef __VMS__
+#pragma message disable nosimpint
+#endif
+#include <Xm/Text.h>
+#ifdef __VMS__
+#pragma message enable nosimpint
+#endif
+
+// return the text widget casted to the correct type
+#define GetText() ((Widget)this->GetTextWidget())
+
+// ============================================================================
+// wxTextEntry implementation
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// helpers
+// ----------------------------------------------------------------------------
+
+long wxTextEntry::GetMotifPos(long pos) const
+{
+    // in wx API position -1 means "last one" but for Motif position must be
+    // positive, i.e. it doesn't have this convention, so translate
+    return pos == -1 ? GetLastPosition() : pos;
+}
+
+// ----------------------------------------------------------------------------
+// operations on control text
+// ----------------------------------------------------------------------------
+
+wxString wxTextEntry::GetValue() const
+{
+    wxString str;
+
+    char * const s = XmTextGetString(GetText());
+    if ( s )
+    {
+        str = s;
+        XtFree(s);
+    }
+
+    return str;
+}
+
+void wxTextEntry::WriteText(const wxString& text)
+{
+    long pos = GetInsertionPoint();
+
+    XmTextInsert(GetText(), pos, text.char_str());
+
+    pos += text.length();
+
+    XtVaSetValues(GetText(), XmNcursorPosition, pos, NULL);
+    SetInsertionPoint(pos);
+    XmTextShowPosition(GetText(), pos);
+}
+
+void wxTextEntry::Replace(long from, long to, const wxString& value)
+{
+    XmTextReplace(GetText(), from, GetMotifPos(to), value.char_str());
+}
+
+void wxTextEntry::Remove(long from, long to)
+{
+    SetSelection(from, to);
+    XmTextRemove(GetText());
+}
+
+// ----------------------------------------------------------------------------
+// clipboard operations
+// ----------------------------------------------------------------------------
+
+void wxTextEntry::Copy()
+{
+    XmTextCopy(GetText(), CurrentTime);
+}
+
+void wxTextEntry::Cut()
+{
+    XmTextCut(GetText(), CurrentTime);
+}
+
+void wxTextEntry::Paste()
+{
+    XmTextPaste(GetText());
+}
+
+// ----------------------------------------------------------------------------
+// undo/redo (not implemented)
+// ----------------------------------------------------------------------------
+
+void wxTextEntry::Undo()
+{
+}
+
+void wxTextEntry::Redo()
+{
+}
+
+bool wxTextEntry::CanUndo() const
+{
+    return false;
+}
+
+bool wxTextEntry::CanRedo() const
+{
+    return false;
+}
+
+// ----------------------------------------------------------------------------
+// insertion point
+// ----------------------------------------------------------------------------
+
+void wxTextEntry::SetInsertionPoint(long pos)
+{
+    XmTextSetInsertionPosition(GetText(), GetMotifPos(pos));
+}
+
+long wxTextEntry::GetInsertionPoint() const
+{
+    return XmTextGetInsertionPosition(GetText());
+}
+
+wxTextPos wxTextEntry::GetLastPosition() const
+{
+    return XmTextGetLastPosition(GetText());
+}
+
+// ----------------------------------------------------------------------------
+// selection
+// ----------------------------------------------------------------------------
+
+void wxTextEntry::GetSelection(long* from, long* to) const
+{
+    XmTextPosition left, right;
+    if ( !XmTextGetSelectionPosition(GetText(), &left, &right) )
+    {
+        // no selection, for compatibility with wxMSW return empty range at
+        // cursor position
+        left =
+        right = GetInsertionPoint();
+    }
+
+    if ( from )
+        *from = left;
+    if ( to )
+        *to = right;
+}
+
+void wxTextEntry::SetSelection(long from, long to)
+{
+    XmTextSetSelection(GetText(), from, GetMotifPos(to), CurrentTime);
+}
+
+
+// ----------------------------------------------------------------------------
+// editable state
+// ----------------------------------------------------------------------------
+
+bool wxTextEntry::IsEditable() const
+{
+    return XmTextGetEditable(GetText()) != 0;
+}
+
+void wxTextEntry::SetEditable(bool editable)
+{
+    XmTextSetEditable(GetText(), (Boolean) editable);
+}
+