Forbid setting hints for multi-line text controls.
This doesn't work anyhow, so make it explicit by asserting if an attempt to do it is made. And document this. Also add a test of SetHint() to the text sample to verify it still works. Closes #14456. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72010 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -734,6 +734,9 @@ public:
|
|||||||
wxTextEntry::SetValue(value);
|
wxTextEntry::SetValue(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// wxTextEntry overrides
|
||||||
|
virtual bool SetHint(const wxString& hint);
|
||||||
|
|
||||||
// wxWindow overrides
|
// wxWindow overrides
|
||||||
virtual wxVisualAttributes GetDefaultAttributes() const
|
virtual wxVisualAttributes GetDefaultAttributes() const
|
||||||
{
|
{
|
||||||
|
@@ -456,6 +456,10 @@ public:
|
|||||||
currently you should avoid calling methods such as WriteText() or
|
currently you should avoid calling methods such as WriteText() or
|
||||||
Replace() when using hints and the text control is empty.
|
Replace() when using hints and the text control is empty.
|
||||||
|
|
||||||
|
@remarks Hints can only be used for single line text controls,
|
||||||
|
native multi-line text controls don't support hints under any
|
||||||
|
platform and hence wxWidgets doesn't provide them neither.
|
||||||
|
|
||||||
@since 2.9.0
|
@since 2.9.0
|
||||||
*/
|
*/
|
||||||
virtual bool SetHint(const wxString& hint);
|
virtual bool SetHint(const wxString& hint);
|
||||||
|
@@ -1077,8 +1077,9 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h )
|
|||||||
m_readonly = new MyTextCtrl( this, wxID_ANY, wxT("Read only"),
|
m_readonly = new MyTextCtrl( this, wxID_ANY, wxT("Read only"),
|
||||||
wxPoint(10,90), wxSize(140,wxDefaultCoord), wxTE_READONLY );
|
wxPoint(10,90), wxSize(140,wxDefaultCoord), wxTE_READONLY );
|
||||||
|
|
||||||
m_limited = new MyTextCtrl(this, wxID_ANY, wxT("Max 8 ch"),
|
m_limited = new MyTextCtrl(this, wxID_ANY, "",
|
||||||
wxPoint(10, 130), wxSize(140, wxDefaultCoord));
|
wxPoint(10, 130), wxSize(140, wxDefaultCoord));
|
||||||
|
m_limited->SetHint("Max 8 ch");
|
||||||
m_limited->SetMaxLength(8);
|
m_limited->SetMaxLength(8);
|
||||||
|
|
||||||
// multi line text controls
|
// multi line text controls
|
||||||
|
@@ -1139,6 +1139,18 @@ bool wxTextCtrlBase::EmulateKeyPress(const wxKeyEvent& event)
|
|||||||
return handled;
|
return handled;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// Other miscellaneous stuff
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
bool wxTextCtrlBase::SetHint(const wxString& hint)
|
||||||
|
{
|
||||||
|
wxCHECK_MSG( IsSingleLine(), false,
|
||||||
|
wxS("Hints can only be set for single line text controls") );
|
||||||
|
|
||||||
|
return wxTextEntry::SetHint(hint);
|
||||||
|
}
|
||||||
|
|
||||||
// do the window-specific processing after processing the update event
|
// do the window-specific processing after processing the update event
|
||||||
void wxTextCtrlBase::DoUpdateWindowUI(wxUpdateUIEvent& event)
|
void wxTextCtrlBase::DoUpdateWindowUI(wxUpdateUIEvent& event)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user