static void wxTextWindowLoseFocusProc(Widget w, XtPointer clientData, XmAnyCallbackStruct *cbs);
 static void wxTextWindowActivateProc(Widget w, XtPointer clientData, XmAnyCallbackStruct *ptr);
 
-    IMPLEMENT_DYNAMIC_CLASS(wxTextCtrl, wxTextCtrlBase)
-
     BEGIN_EVENT_TABLE(wxTextCtrl, wxTextCtrlBase)
         EVT_DROP_FILES(wxTextCtrl::OnDropFiles)
         EVT_CHAR(wxTextCtrl::OnChar)
 #if 0
         // TODO: Is this relevant? What does it do?
         int noCols = 2;
-        if (!value.IsNull() && (value.length() > (unsigned int) noCols))
+        if (!value.empty() && (value.length() > (unsigned int) noCols))
             noCols = value.length();
         XtVaSetValues((Widget) m_mainWidget,
                       XmNcolumns, noCols,
     if ( !InSetValue() && m_processedDefault )
     {
         // Can generate a command
-        wxCommandEvent commandEvent(wxEVT_COMMAND_TEXT_UPDATED, GetId());
+        wxCommandEvent commandEvent(wxEVT_TEXT, GetId());
         commandEvent.SetEventObject(this);
         ProcessCommand(commandEvent);
     }
     if (tw->InSetValue())
         return;
 
-    wxCommandEvent event(wxEVT_COMMAND_TEXT_ENTER);
+    wxCommandEvent event(wxEVT_TEXT_ENTER);
     event.SetId(tw->GetId());
     event.SetEventObject(tw);
     tw->ProcessCommand(event);