fixed displaying text in non default charset in the richedit control

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12945 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2001-12-09 00:47:29 +00:00
parent c6465c961b
commit aac7e7fe7b
3 changed files with 269 additions and 161 deletions

View File

@@ -22,7 +22,7 @@ public:
// creation
// --------
wxTextCtrl();
wxTextCtrl() { Init(); }
wxTextCtrl(wxWindow *parent, wxWindowID id,
const wxString& value = wxEmptyString,
const wxPoint& pos = wxDefaultPosition,
@@ -31,6 +31,8 @@ public:
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxTextCtrlNameStr)
{
Init();
Create(parent, id, value, pos, size, style, validator, name);
}
@@ -135,8 +137,8 @@ public:
#if wxUSE_RICHEDIT
virtual bool MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result);
bool IsRich() const { return m_isRich; }
void SetRichEdit(bool isRich) { m_isRich = isRich; }
int GetRichVersion() const { return m_verRichEdit; }
bool IsRich() const { return m_verRichEdit != 0; }
// rich edit controls are not compatible with normal ones and wem ust set
// the colours for them otherwise
@@ -165,6 +167,9 @@ public:
void OnUpdateRedo(wxUpdateUIEvent& event);
protected:
// common part of all ctors
void Init();
// call this to increase the size limit (will do nothing if the current
// limit is big enough)
//
@@ -172,13 +177,24 @@ protected:
// false if we hit the limit set by SetMaxLength() and so didn't change it
bool AdjustSpaceLimit();
#if wxUSE_RICHEDIT
// replace the selection with the given text in the specified encoding
bool StreamIn(const wxString& value, wxFontEncoding encoding);
#endif // wxUSE_RICHEDIT
// set the selection possibly without scrolling the caret into view
void DoSetSelection(long from, long to, bool scrollCaret = TRUE);
// override some base class virtuals
virtual bool MSWShouldPreProcessMessage(WXMSG* pMsg);
virtual wxSize DoGetBestSize() const;
#if wxUSE_RICHEDIT
bool m_isRich; // Are we using rich text edit to implement this?
#endif
// we're using RICHEDIT (and not simple EDIT) control if this field is not
// 0, it also gives the version of the RICHEDIT control being used (1, 2 or
// 3 so far)
int m_verRichEdit;
#endif // wxUSE_RICHEDIT
private:
DECLARE_EVENT_TABLE()