X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e00a5d3ca15eec8db3e231d79d82ff6965e3466b..64f4500a4a6905623685e67efc65b0d856aff393:/src/common/textcmn.cpp diff --git a/src/common/textcmn.cpp b/src/common/textcmn.cpp index 57e584a310..cf77965c5b 100644 --- a/src/common/textcmn.cpp +++ b/src/common/textcmn.cpp @@ -13,7 +13,7 @@ // declarations // ============================================================================ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "textctrlbase.h" #endif @@ -230,7 +230,7 @@ bool wxTextCtrlBase::LoadFile(const wxString& filename) bool wxTextCtrlBase::SaveFile(const wxString& filename) { wxString filenameToUse = filename.IsEmpty() ? m_filename : filename; - if ( !filenameToUse ) + if ( filenameToUse.empty() ) { // what kind of message to give? is it an error or a program bug? wxLogDebug(wxT("Can't save textctrl to file without filename.")); @@ -239,19 +239,20 @@ bool wxTextCtrlBase::SaveFile(const wxString& filename) } #if wxUSE_FFILE - wxFFile file(filename, _T("w")); + wxFFile file(filenameToUse, _T("w")); if ( file.IsOpened() && file.Write(GetValue()) ) { // it's not modified any longer DiscardEdits(); - m_filename = filename; + // if it worked, save for future calls + m_filename = filenameToUse; return TRUE; } +#endif // wxUSE_FFILE wxLogError(_("The text couldn't be saved.")); -#endif // wxUSE_FFILE return FALSE; } @@ -347,10 +348,15 @@ bool wxTextCtrlBase::CanPaste() const // emulating key presses // ---------------------------------------------------------------------------- +#ifdef __WIN32__ +// the generic version is unused in wxMSW +bool wxTextCtrlBase::EmulateKeyPress(const wxKeyEvent& WXUNUSED(event)) +{ + return FALSE; +} +#else // !__WIN32__ bool wxTextCtrlBase::EmulateKeyPress(const wxKeyEvent& event) { - // the generic version is unused in wxMSW -#ifndef __WIN32__ wxChar ch = 0; int keycode = event.GetKeyCode(); switch ( keycode ) @@ -436,10 +442,10 @@ bool wxTextCtrlBase::EmulateKeyPress(const wxKeyEvent& event) return TRUE; } -#endif // !__WIN32__ return FALSE; } +#endif // !__WIN32__ // ---------------------------------------------------------------------------- // selection and ranges @@ -469,6 +475,20 @@ wxString wxTextCtrlBase::GetRange(long from, long to) const return sel; } +// do the window-specific processing after processing the update event +void wxTextCtrlBase::DoUpdateWindowUI(wxUpdateUIEvent& event) +{ + if ( event.GetSetEnabled() ) + Enable(event.GetEnabled()); + + if ( event.GetSetText() ) + { + if ( event.GetText() != GetValue() ) + SetValue(event.GetText()); + } +} + + #else // !wxUSE_TEXTCTRL // define this one even if !wxUSE_TEXTCTRL because it is also used by other