diff --git a/Makefile.in b/Makefile.in
index 41a59cf992..59eb959205 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -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
diff --git a/build/bakefiles/files.bkl b/build/bakefiles/files.bkl
index db1d3622a9..6b640e9861 100644
--- a/build/bakefiles/files.bkl
+++ b/build/bakefiles/files.bkl
@@ -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
- 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
- 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
+
+ src/generic/animateg.cpp
+
+
+
+ wx/generic/animate.h
+
+
src/gtk/aboutdlg.cpp
src/gtk/animate.cpp
@@ -3482,7 +3490,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
$(ADVANCED_MSW_SRC)
$(ADVANCED_MAC_SRC)
$(ADVANCED_COCOA_SRC)
- $(ADVANCED_UNIX_SRC)
+ $(ADVANCED_UNIX_SRC) $(ADVANCED_MOTIF_SRC)
$(ADVANCED_UNIX_SRC) $(ADVANCED_GTK_SRC)
$(ADVANCED_UNIX_SRC) $(ADVANCED_GTK1_SRC)
$(ADVANCED_UNIX_SRC)
@@ -3494,7 +3502,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
$(ADVANCED_MSW_HDR)
$(ADVANCED_MAC_HDR)
$(ADVANCED_COCOA_HDR)
- $(ADVANCED_UNIX_HDR)
+ $(ADVANCED_UNIX_HDR) $(ADVANCED_MOTIF_HDR)
$(ADVANCED_UNIX_HDR) $(ADVANCED_GTK_HDR)
$(ADVANCED_UNIX_HDR) $(ADVANCED_GTK1_HDR)
$(ADVANCED_UNIX_HDR)
diff --git a/include/wx/motif/combobox.h b/include/wx/motif/combobox.h
index d63326ba22..8b3e8b9e45 100644
--- a/include/wx/motif/combobox.h
+++ b/include/wx/motif/combobox.h
@@ -13,12 +13,12 @@
#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_
diff --git a/include/wx/motif/textctrl.h b/include/wx/motif/textctrl.h
index 22b8f50eeb..2eed64a576 100644
--- a/include/wx/motif/textctrl.h
+++ b/include/wx/motif/textctrl.h
@@ -15,30 +15,29 @@
// 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
index 0000000000..5761116e0a
--- /dev/null
+++ b/include/wx/motif/textentry.h
@@ -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
+// 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_
+
diff --git a/include/wx/textentry.h b/include/wx/textentry.h
index 0aa350ef9d..415eb8b188 100644
--- a/include/wx/textentry.h
+++ b/include/wx/textentry.h
@@ -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
diff --git a/src/common/valtext.cpp b/src/common/valtext.cpp
index 202e8195fa..8d83f839fd 100644
--- a/src/common/valtext.cpp
+++ b/src/common/valtext.cpp
@@ -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")
diff --git a/src/motif/combobox.cpp b/src/motif/combobox.cpp
index 4083a88ebd..099cc58604 100644
--- a/src/motif/combobox.cpp
+++ b/src/motif/combobox.cpp
@@ -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
diff --git a/src/motif/combobox_native.cpp b/src/motif/combobox_native.cpp
index 4bb234346a..1cadd49e94 100644
--- a/src/motif/combobox_native.cpp
+++ b/src/motif/combobox_native.cpp
@@ -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
index 0000000000..9ba70b8df3
--- /dev/null
+++ b/src/motif/textentry.cpp
@@ -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
+// 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
+#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);
+}
+