X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9c4cb6116779e9fc7bcb7009ef0aa6047d2f8874..68893d580363f62c7579cade2d9ee8f954eaf309:/src/common/textcmn.cpp diff --git a/src/common/textcmn.cpp b/src/common/textcmn.cpp index 6a806b2d77..06824dd481 100644 --- a/src/common/textcmn.cpp +++ b/src/common/textcmn.cpp @@ -49,10 +49,10 @@ IMPLEMENT_DYNAMIC_CLASS(wxTextUrlEvent, wxCommandEvent) -wxDEFINE_EVENT( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEvent ) -wxDEFINE_EVENT( wxEVT_COMMAND_TEXT_ENTER, wxCommandEvent ) -wxDEFINE_EVENT( wxEVT_COMMAND_TEXT_URL, wxTextUrlEvent ) -wxDEFINE_EVENT( wxEVT_COMMAND_TEXT_MAXLEN, wxCommandEvent ) +wxDEFINE_EVENT( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEvent ); +wxDEFINE_EVENT( wxEVT_COMMAND_TEXT_ENTER, wxCommandEvent ); +wxDEFINE_EVENT( wxEVT_COMMAND_TEXT_URL, wxTextUrlEvent ); +wxDEFINE_EVENT( wxEVT_COMMAND_TEXT_MAXLEN, wxCommandEvent ); IMPLEMENT_ABSTRACT_CLASS(wxTextCtrlBase, wxControl) @@ -85,8 +85,8 @@ void wxTextAttr::Init() m_rightIndent = 0; m_fontSize = 12; - m_fontStyle = wxNORMAL; - m_fontWeight = wxNORMAL; + m_fontStyle = wxFONTSTYLE_NORMAL; + m_fontWeight = wxFONTWEIGHT_NORMAL; m_fontUnderlined = false; m_fontEncoding = wxFONTENCODING_DEFAULT; m_fontFamily = wxFONTFAMILY_DEFAULT; @@ -333,14 +333,11 @@ wxFont wxTextAttr::GetFont() const if (HasFontEncoding()) encoding = GetFontEncoding(); - int fontFamily = wxFONTFAMILY_DEFAULT; + wxFontFamily fontFamily = wxFONTFAMILY_DEFAULT; if (HasFontFamily()) fontFamily = GetFontFamily(); wxFont font(fontSize, fontFamily, fontStyle, fontWeight, underlined, fontFaceName, encoding); -#ifdef __WXMAC__ - font.SetNoAntiAliasing(true); -#endif return font; } @@ -369,7 +366,16 @@ bool wxTextAttr::GetFontAttributes(const wxFont& font, int flags) m_fontEncoding = font.GetEncoding(); if (flags & wxTEXT_ATTR_FONT_FAMILY) - m_fontFamily = font.GetFamily(); + { + // wxFont might not know its family, avoid setting m_fontFamily to an + // invalid value and rather pretend that we don't have any font family + // information at all in this case + const wxFontFamily fontFamily = font.GetFamily(); + if ( fontFamily == wxFONTFAMILY_UNKNOWN ) + flags &= ~wxTEXT_ATTR_FONT_FAMILY; + else + m_fontFamily = fontFamily; + } m_flags |= flags; @@ -739,7 +745,7 @@ bool wxTextCtrlBase::SetDefaultStyle(const wxTextAttr& style) // file IO functions // ---------------------------------------------------------------------------- -bool wxTextCtrlBase::DoLoadFile(const wxString& filename, int WXUNUSED(fileType)) +bool wxTextAreaBase::DoLoadFile(const wxString& filename, int WXUNUSED(fileType)) { #if wxUSE_FFILE wxFFile file(filename); @@ -750,18 +756,34 @@ bool wxTextCtrlBase::DoLoadFile(const wxString& filename, int WXUNUSED(fileType) { SetValue(text); - DiscardEdits(); - - m_filename = filename; - return true; } } +#endif // wxUSE_FFILE + return false; +} + +bool wxTextCtrlBase::DoLoadFile(const wxString& filename, int fileType) +{ + if ( wxTextAreaBase::DoLoadFile(filename, fileType) ) + { + DiscardEdits(); + m_filename = filename; + return true; + } wxLogError(_("File couldn't be loaded.")); -#endif // wxUSE_FFILE + return false; +} +bool wxTextAreaBase::DoSaveFile(const wxString& filename, int WXUNUSED(fileType)) +{ +#if wxUSE_FFILE + wxFFile file(filename, wxT("w")); + return file.IsOpened() && file.Write(GetValue(), *wxConvCurrent); +#else return false; +#endif // wxUSE_FFILE } bool wxTextAreaBase::SaveFile(const wxString& filename, int fileType) @@ -778,11 +800,9 @@ bool wxTextAreaBase::SaveFile(const wxString& filename, int fileType) return DoSaveFile(filenameToUse, fileType); } -bool wxTextCtrlBase::DoSaveFile(const wxString& filename, int WXUNUSED(fileType)) +bool wxTextCtrlBase::DoSaveFile(const wxString& filename, int fileType) { -#if wxUSE_FFILE - wxFFile file(filename, _T("w")); - if ( file.IsOpened() && file.Write(GetValue()) ) + if ( wxTextAreaBase::DoSaveFile(filename, fileType) ) { // if it worked, save for future calls m_filename = filename; @@ -792,10 +812,6 @@ bool wxTextCtrlBase::DoSaveFile(const wxString& filename, int WXUNUSED(fileType) return true; } -#endif // wxUSE_FFILE - - wxLogError(_("The text couldn't be saved.")); - return false; } @@ -862,32 +878,32 @@ bool wxTextCtrlBase::EmulateKeyPress(const wxKeyEvent& event) case WXK_NUMPAD7: case WXK_NUMPAD8: case WXK_NUMPAD9: - ch = (wxChar)(_T('0') + keycode - WXK_NUMPAD0); + ch = (wxChar)(wxT('0') + keycode - WXK_NUMPAD0); break; case WXK_MULTIPLY: case WXK_NUMPAD_MULTIPLY: - ch = _T('*'); + ch = wxT('*'); break; case WXK_ADD: case WXK_NUMPAD_ADD: - ch = _T('+'); + ch = wxT('+'); break; case WXK_SUBTRACT: case WXK_NUMPAD_SUBTRACT: - ch = _T('-'); + ch = wxT('-'); break; case WXK_DECIMAL: case WXK_NUMPAD_DECIMAL: - ch = _T('.'); + ch = wxT('.'); break; case WXK_DIVIDE: case WXK_NUMPAD_DIVIDE: - ch = _T('/'); + ch = wxT('/'); break; case WXK_DELETE: @@ -929,7 +945,7 @@ bool wxTextCtrlBase::EmulateKeyPress(const wxKeyEvent& event) } else { - ch = _T('\0'); + ch = wxT('\0'); } } @@ -1014,6 +1030,6 @@ bool wxTextCtrlBase::SendTextUpdatedEvent(wxWindow *win) // define this one even if !wxUSE_TEXTCTRL because it is also used by other // controls (wxComboBox and wxSpinCtrl) -wxDEFINE_EVENT( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEvent ) +wxDEFINE_EVENT( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEvent ); #endif // wxUSE_TEXTCTRL/!wxUSE_TEXTCTRL