-// Clipboard operations
-void wxTextCtrl::Copy()
-{
-    XmTextCopy((Widget) m_mainWidget, CurrentTime);
-}
-
-void wxTextCtrl::Cut()
-{
-    XmTextCut((Widget) m_mainWidget, CurrentTime);
-}
-
-void wxTextCtrl::Paste()
-{
-    XmTextPaste((Widget) m_mainWidget);
-}
-
-bool wxTextCtrl::CanCopy() const
-{
-    // Can copy if there's a selection
-    long from, to;
-    GetSelection(& from, & to);
-    return (from != to) ;
-}
-
-bool wxTextCtrl::CanCut() const
-{
-    // Can cut if there's a selection
-    long from, to;
-    GetSelection(& from, & to);
-    return (from != to) && (IsEditable());
-}
-
-bool wxTextCtrl::CanPaste() const
-{
-    return IsEditable() ;
-}
-
-// Undo/redo
-void wxTextCtrl::Undo()
-{
-    // Not possible in Motif
-}
-
-void wxTextCtrl::Redo()
-{
-    // Not possible in Motif
-}
-
-bool wxTextCtrl::CanUndo() const
-{
-    // No Undo in Motif
-    return false;
-}
-
-bool wxTextCtrl::CanRedo() const
-{
-    // No Redo in Motif
-    return false;
-}
-
-// If the return values from and to are the same, there is no
-// selection.
-void wxTextCtrl::GetSelection(long* from, long* to) const
-{
-    XmTextPosition left, right;
-
-    XmTextGetSelectionPosition((Widget) m_mainWidget, & left, & right);
-
-    *from = (long) left;
-    *to = (long) right;
-}
-
-bool wxTextCtrl::IsEditable() const
-{
-    return (XmTextGetEditable((Widget) m_mainWidget) != 0);
-}
-
-void wxTextCtrl::SetEditable(bool editable)
-{
-    XmTextSetEditable((Widget) m_mainWidget, (Boolean) editable);
-}
-
-void wxTextCtrl::SetInsertionPoint(long pos)
-{
-    XmTextSetInsertionPosition ((Widget) m_mainWidget, (XmTextPosition) pos);
-}
-
-void wxTextCtrl::SetInsertionPointEnd()
-{
-    wxTextPos pos = GetLastPosition();
-    SetInsertionPoint(pos);
-}
-
-long wxTextCtrl::GetInsertionPoint() const
-{
-    return (long) XmTextGetInsertionPosition ((Widget) m_mainWidget);
-}
-
-wxTextPos wxTextCtrl::GetLastPosition() const
-{
-    return (long) XmTextGetLastPosition ((Widget) m_mainWidget);
-}
-
-void wxTextCtrl::Replace(long from, long to, const wxString& value)
-{
-    XmTextReplace ((Widget) m_mainWidget, (XmTextPosition) from, (XmTextPosition) to,
-        wxConstCast(value.c_str(), char));
-}
-
-void wxTextCtrl::Remove(long from, long to)
-{
-    XmTextSetSelection ((Widget) m_mainWidget, (XmTextPosition) from, (XmTextPosition) to,
-                      (Time) 0);
-    XmTextRemove ((Widget) m_mainWidget);
-}
-
-void wxTextCtrl::SetSelection(long from, long to)
-{
-    if( to == -1 )
-        to = GetLastPosition();
-
-    XmTextSetSelection ((Widget) m_mainWidget, (XmTextPosition) from, (XmTextPosition) to,
-                      (Time) 0);
-}
-
-void wxTextCtrl::WriteText(const wxString& text)
-{
-    long textPosition = GetInsertionPoint() + text.length();
-    XmTextInsert ((Widget) m_mainWidget, GetInsertionPoint(),
-                  wxConstCast(text.c_str(), char));
-    XtVaSetValues ((Widget) m_mainWidget, XmNcursorPosition, textPosition, NULL);
-    SetInsertionPoint(textPosition);
-    XmTextShowPosition ((Widget) m_mainWidget, textPosition);
-    m_modified = true;
-}
-
-void wxTextCtrl::AppendText(const wxString& text)
-{
-    wxTextPos textPosition = GetLastPosition() + text.length();
-    XmTextInsert ((Widget) m_mainWidget, GetLastPosition(),
-                  wxConstCast(text.c_str(), char));
-    XtVaSetValues ((Widget) m_mainWidget, XmNcursorPosition, textPosition, NULL);
-    SetInsertionPoint(textPosition);
-    XmTextShowPosition ((Widget) m_mainWidget, textPosition);
-    m_modified = true;
-}
-
-void wxTextCtrl::Clear()
-{
-    XmTextSetString ((Widget) m_mainWidget, wxMOTIF_STR(""));
-    m_modified = false;
-}
-