Draw an unknown field using a fallback field type, so it's not invisible.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76389 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -9219,9 +9219,11 @@ bool wxRichTextField::Draw(wxDC& dc, wxRichTextDrawingContext& context, const wx
|
|||||||
if (fieldType && fieldType->Draw(this, dc, context, range, selection, rect, descent, style))
|
if (fieldType && fieldType->Draw(this, dc, context, range, selection, rect, descent, style))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
// Fallback; but don't draw guidelines.
|
// Fallback so unknown fields don't become invisible.
|
||||||
style &= ~wxRICHTEXT_DRAW_GUIDELINES;
|
wxString fieldTypeStr(GetFieldType());
|
||||||
return wxRichTextParagraphLayoutBox::Draw(dc, context, range, selection, rect, descent, style);
|
wxRichTextFieldTypeStandard defaultFieldType;
|
||||||
|
defaultFieldType.SetLabel(wxString::Format(wxT("unknown field %s"), fieldTypeStr.c_str()));
|
||||||
|
return defaultFieldType.Draw(this, dc, context, range, selection, rect, descent, style);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wxRichTextField::Layout(wxDC& dc, wxRichTextDrawingContext& context, const wxRect& rect, const wxRect& parentRect, int style)
|
bool wxRichTextField::Layout(wxDC& dc, wxRichTextDrawingContext& context, const wxRect& rect, const wxRect& parentRect, int style)
|
||||||
@@ -9230,8 +9232,11 @@ bool wxRichTextField::Layout(wxDC& dc, wxRichTextDrawingContext& context, const
|
|||||||
if (fieldType && fieldType->Layout(this, dc, context, rect, parentRect, style))
|
if (fieldType && fieldType->Layout(this, dc, context, rect, parentRect, style))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
// Fallback
|
// Fallback so unknown fields don't become invisible.
|
||||||
return wxRichTextParagraphLayoutBox::Layout(dc, context, rect, parentRect, style);
|
wxString fieldTypeStr(GetFieldType());
|
||||||
|
wxRichTextFieldTypeStandard defaultFieldType;
|
||||||
|
defaultFieldType.SetLabel(wxString::Format(wxT("unknown field %s"), fieldTypeStr.c_str()));
|
||||||
|
return defaultFieldType.Layout(this, dc, context, rect, parentRect, style);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wxRichTextField::GetRangeSize(const wxRichTextRange& range, wxSize& size, int& descent, wxDC& dc, wxRichTextDrawingContext& context, int flags, const wxPoint& position, const wxSize& parentSize, wxArrayInt* partialExtents) const
|
bool wxRichTextField::GetRangeSize(const wxRichTextRange& range, wxSize& size, int& descent, wxDC& dc, wxRichTextDrawingContext& context, int flags, const wxPoint& position, const wxSize& parentSize, wxArrayInt* partialExtents) const
|
||||||
@@ -9240,7 +9245,11 @@ bool wxRichTextField::GetRangeSize(const wxRichTextRange& range, wxSize& size, i
|
|||||||
if (fieldType)
|
if (fieldType)
|
||||||
return fieldType->GetRangeSize((wxRichTextField*) this, range, size, descent, dc, context, flags, position, parentSize, partialExtents);
|
return fieldType->GetRangeSize((wxRichTextField*) this, range, size, descent, dc, context, flags, position, parentSize, partialExtents);
|
||||||
|
|
||||||
return wxRichTextParagraphLayoutBox::GetRangeSize(range, size, descent, dc, context, flags, position, parentSize, partialExtents);
|
// Fallback so unknown fields don't become invisible.
|
||||||
|
wxString fieldTypeStr(GetFieldType());
|
||||||
|
wxRichTextFieldTypeStandard defaultFieldType;
|
||||||
|
defaultFieldType.SetLabel(wxString::Format(wxT("unknown field %s"), fieldTypeStr.c_str()));
|
||||||
|
return defaultFieldType.GetRangeSize((wxRichTextField*) this, range, size, descent, dc, context, flags, position, parentSize, partialExtents);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Calculate range
|
/// Calculate range
|
||||||
|
Reference in New Issue
Block a user