void wxTextCtrl::Init()
{
- m_editable = true ;
m_dirty = false;
- m_maxLength = 0;
m_privateContextMenu = NULL;
m_triggerUpdateEvents = true ;
}
GetTextPeer()->CheckSpelling(check);
}
-wxString wxTextCtrl::DoGetValue() const
-{
- return GetTextPeer()->GetStringValue() ;
-}
-
-void wxTextCtrl::GetSelection(long* from, long* to) const
-{
- GetTextPeer()->GetSelection( from , to ) ;
-}
-
void wxTextCtrl::SetMaxLength(unsigned long len)
{
m_maxLength = len ;
return true ;
}
-// Clipboard operations
-
-void wxTextCtrl::Copy()
-{
- if (CanCopy())
- GetTextPeer()->Copy() ;
-}
-
-void wxTextCtrl::Cut()
-{
- if (CanCut())
- {
- GetTextPeer()->Cut() ;
-
- SendTextUpdatedEvent();
- }
-}
-
-void wxTextCtrl::Paste()
-{
- if (CanPaste())
- {
- GetTextPeer()->Paste() ;
-
- // TODO: eventually we should add setting the default style again
- SendTextUpdatedEvent();
- }
-}
-
-bool wxTextCtrl::CanCopy() const
-{
- // Can copy if there's a selection
- long from, to;
- GetSelection( &from, &to );
-
- return (from != to);
-}
-
-bool wxTextCtrl::CanCut() const
-{
- if ( !IsEditable() )
- return false;
-
- // Can cut if there's a selection
- long from, to;
- GetSelection( &from, &to );
-
- return (from != to);
-}
-
-bool wxTextCtrl::CanPaste() const
-{
- if (!IsEditable())
- return false;
-
- return GetTextPeer()->CanPaste() ;
-}
-
-void wxTextCtrl::SetEditable(bool editable)
-{
- if ( editable != m_editable )
- {
- m_editable = editable ;
- GetTextPeer()->SetEditable( editable ) ;
- }
-}
-
-void wxTextCtrl::SetInsertionPoint(long pos)
-{
- SetSelection( pos , pos ) ;
-}
-
-void wxTextCtrl::SetInsertionPointEnd()
-{
- long pos = GetLastPosition();
- SetInsertionPoint( pos );
-}
-
-long wxTextCtrl::GetInsertionPoint() const
-{
- long begin, end ;
- GetSelection( &begin , &end ) ;
-
- return begin ;
-}
-
-wxTextPos wxTextCtrl::GetLastPosition() const
-{
- return GetTextPeer()->GetLastPosition() ;
-}
-
-void wxTextCtrl::Remove(long from, long to)
-{
- GetTextPeer()->Remove( from , to ) ;
- if ( m_triggerUpdateEvents )
- SendTextUpdatedEvent();
-}
-
-void wxTextCtrl::SetSelection(long from, long to)
-{
- GetTextPeer()->SetSelection( from , to ) ;
-}
-
-void wxTextCtrl::WriteText(const wxString& str)
-{
- GetTextPeer()->WriteText( str ) ;
- if ( m_triggerUpdateEvents )
- SendTextUpdatedEvent();
-}
-
-void wxTextCtrl::Clear()
-{
- GetTextPeer()->Clear() ;
- SendTextUpdatedEvent();
-}
-
bool wxTextCtrl::IsModified() const
{
return m_dirty;
}
-bool wxTextCtrl::IsEditable() const
-{
- return IsEnabled() && m_editable ;
-}
-
bool wxTextCtrl::AcceptsFocus() const
{
// we don't want focus if we can't be edited
return GetTextPeer()->GetStyle(position, style);
}
-// ----------------------------------------------------------------------------
-// Undo/redo
-// ----------------------------------------------------------------------------
-
-void wxTextCtrl::Undo()
-{
- if (CanUndo())
- GetTextPeer()->Undo() ;
-}
-
-void wxTextCtrl::Redo()
-{
- if (CanRedo())
- GetTextPeer()->Redo() ;
-}
-
-bool wxTextCtrl::CanUndo() const
-{
- if ( !IsEditable() )
- return false ;
-
- return GetTextPeer()->CanUndo() ;
-}
-
-bool wxTextCtrl::CanRedo() const
-{
- if ( !IsEditable() )
- return false ;
-
- return GetTextPeer()->CanRedo() ;
-}
-
void wxTextCtrl::MarkDirty()
{
m_dirty = true;
return GetTextPeer()->GetLineText(lineNo) ;
}
-void wxTextCtrl::Command(wxCommandEvent & event)
+void wxTextCtrl::Remove(long from, long to)
{
- SetValue(event.GetString());
- ProcessCommand(event);
+ wxTextEntry::Remove(from, to);
+ if ( m_triggerUpdateEvents )
+ SendTextUpdatedEvent();
+}
+
+void wxTextCtrl::WriteText(const wxString& str)
+{
+ wxTextEntry::WriteText( str ) ;
+ if ( m_triggerUpdateEvents )
+ SendTextUpdatedEvent();
+}
+
+void wxTextCtrl::Clear()
+{
+ wxTextEntry::Clear() ;
+ SendTextUpdatedEvent();
+}
+
+void wxTextCtrl::Cut()
+{
+ if (CanCut())
+ {
+ wxTextEntry::Cut() ;
+
+ SendTextUpdatedEvent();
+ }
+}
+
+void wxTextCtrl::Paste()
+{
+ if (CanPaste())
+ {
+ wxTextEntry::Paste();
+
+ // TODO: eventually we should add setting the default style again
+ SendTextUpdatedEvent();
+ }
}
void wxTextCtrl::OnDropFiles(wxDropFilesEvent& event)
#endif
}
+void wxTextCtrl::Command(wxCommandEvent & event)
+{
+ SetValue(event.GetString());
+ ProcessCommand(event);
+}
+
// ----------------------------------------------------------------------------
// standard handlers for standard edit menu events
// ----------------------------------------------------------------------------
+// CS: Context Menus only work with MLTE implementations or non-multiline HIViews at the moment
+
void wxTextCtrl::OnCut(wxCommandEvent& WXUNUSED(event))
{
Cut();
event.Enable(GetLastPosition() > 0);
}
-// CS: Context Menus only work with MLTE implementations or non-multiline HIViews at the moment
-
void wxTextCtrl::OnContextMenu(wxContextMenuEvent& event)
{
if ( GetTextPeer()->HasOwnContextMenu() )