#endif
};
-#define TE_UNLIMITED_LENGTH 0xFFFFFFFFUL
-
IMPLEMENT_DYNAMIC_CLASS(wxTextCtrl, wxControl)
m_editable = true ;
m_dirty = false;
- m_maxLength = TE_UNLIMITED_LENGTH ;
+ m_maxLength = 0;
m_privateContextMenu = NULL;
}
return ;
}
- // Check if we have reached the max # of chars, but still allow navigation and deletion
- if ( !IsMultiLine() && GetValue().Length() >= m_maxLength &&
+ // Check if we have reached the max # of chars (if it is set), but still
+ // allow navigation and deletion
+ if ( !IsMultiLine() && m_maxLength && GetValue().Length() >= m_maxLength &&
key != WXK_LEFT && key != WXK_RIGHT && key != WXK_TAB &&
key != WXK_BACK && !( key == WXK_RETURN && (m_windowStyle & wxPROCESS_ENTER) )
)
{
// eat it, we don't want to add more than allowed # of characters
+
+ // TODO: generate EVT_TEXT_MAXLEN()
return;
}
if (!eat_key)
{
// perform keystroke handling
- if ( wxTheApp->MacGetCurrentEvent() != NULL && wxTheApp->MacGetCurrentEventHandlerCallRef() != NULL )
- {
- CallNextEventHandler( (EventHandlerCallRef)wxTheApp->MacGetCurrentEventHandlerCallRef(), (EventRef)wxTheApp->MacGetCurrentEvent() ) ;
- }
- else
- {
- EventRecord rec ;
- if ( wxMacConvertEventToRecord( (EventRef) wxTheApp->MacGetCurrentEvent() , &rec ) )
- {
- short keycode, keychar ;
- EventRecord *ev = &rec ;
- keychar = short(ev->message & charCodeMask);
- keycode = short(ev->message & keyCodeMask) >> 8 ;
-
- m_peer->HandleKey( keycode , keychar , ev->modifiers ) ;
- }
- }
+ event.Skip(true) ;
}
if ( ( key >= 0x20 && key < WXK_START ) ||
m_privateContextMenu->AppendSeparator();
m_privateContextMenu->Append(wxID_SELECTALL, _("Select &All"));
}
-
+
if (m_privateContextMenu != NULL)
PopupMenu(m_privateContextMenu);
}
void wxMacUnicodeTextControl::SetEditable(bool editable)
{
- SetData<Boolean>( 0 , kControlEditTextLockedTag , (Boolean) !editable ) ;
+#if 0 // leads to problem because text cannot be selected anymore
+ SetData<Boolean>( kControlEditTextPart , kControlEditTextLockedTag , (Boolean) !editable ) ;
+#endif
}
void wxMacUnicodeTextControl::GetSelection( long* from, long* to ) const