Added a box style definition name to the box attribute.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70233 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
3e14a8d3d7
commit
2f987d8309
@ -273,7 +273,8 @@ enum wxTextBoxAttrFlags
|
||||
wxTEXT_BOX_ATTR_FLOAT = 0x00000001,
|
||||
wxTEXT_BOX_ATTR_CLEAR = 0x00000002,
|
||||
wxTEXT_BOX_ATTR_COLLAPSE_BORDERS = 0x00000004,
|
||||
wxTEXT_BOX_ATTR_VERTICAL_ALIGNMENT = 0x00000008
|
||||
wxTEXT_BOX_ATTR_VERTICAL_ALIGNMENT = 0x00000008,
|
||||
wxTEXT_BOX_ATTR_BOX_STYLE_NAME = 0x00000010
|
||||
};
|
||||
|
||||
/**
|
||||
@ -1332,6 +1333,21 @@ public:
|
||||
wxTextAttrDimension& GetHeight() { return m_size.m_height; }
|
||||
const wxTextAttrDimension& GetHeight() const { return m_size.m_height; }
|
||||
|
||||
/**
|
||||
Returns the box style name.
|
||||
*/
|
||||
const wxString& GetBoxStyleName() const { return m_boxStyleName; }
|
||||
|
||||
/**
|
||||
Sets the box style name.
|
||||
*/
|
||||
void SetBoxStyleName(const wxString& name) { m_boxStyleName = name; AddFlag(wxTEXT_BOX_ATTR_BOX_STYLE_NAME); }
|
||||
|
||||
/**
|
||||
Returns @true if the box style name is present.
|
||||
*/
|
||||
bool HasBoxStyleName() const { return HasFlag(wxTEXT_BOX_ATTR_BOX_STYLE_NAME); }
|
||||
|
||||
public:
|
||||
|
||||
int m_flags;
|
||||
@ -1349,6 +1365,7 @@ public:
|
||||
wxTextBoxAttrClearStyle m_clearMode;
|
||||
wxTextBoxAttrCollapseMode m_collapseMode;
|
||||
wxTextBoxAttrVerticalAlignment m_verticalAlignment;
|
||||
wxString m_boxStyleName;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -1217,6 +1217,21 @@ public:
|
||||
wxTextAttrDimension& GetHeight() { return m_size.m_height; }
|
||||
const wxTextAttrDimension& GetHeight() const { return m_size.m_height; }
|
||||
|
||||
/**
|
||||
Returns the box style name.
|
||||
*/
|
||||
const wxString& GetBoxStyleName() const { return m_boxStyleName; }
|
||||
|
||||
/**
|
||||
Sets the box style name.
|
||||
*/
|
||||
void SetBoxStyleName(const wxString& name) { m_boxStyleName = name; AddFlag(wxTEXT_BOX_ATTR_BOX_STYLE_NAME); }
|
||||
|
||||
/**
|
||||
Returns @true if the box style name is present.
|
||||
*/
|
||||
bool HasBoxStyleName() const { return HasFlag(wxTEXT_BOX_ATTR_BOX_STYLE_NAME); }
|
||||
|
||||
public:
|
||||
|
||||
int m_flags;
|
||||
@ -1234,6 +1249,7 @@ public:
|
||||
wxTextBoxAttrClearStyle m_clearMode;
|
||||
wxTextBoxAttrCollapseMode m_collapseMode;
|
||||
wxTextBoxAttrVerticalAlignment m_verticalAlignment;
|
||||
wxString m_boxStyleName;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -10746,6 +10746,7 @@ void wxTextBoxAttr::Reset()
|
||||
m_clearMode = wxTEXT_BOX_ATTR_CLEAR_NONE;
|
||||
m_collapseMode = wxTEXT_BOX_ATTR_COLLAPSE_NONE;
|
||||
m_verticalAlignment = wxTEXT_BOX_ATTR_VERTICAL_ALIGNMENT_NONE;
|
||||
m_boxStyleName = wxEmptyString;
|
||||
|
||||
m_margins.Reset();
|
||||
m_padding.Reset();
|
||||
@ -10774,7 +10775,9 @@ bool wxTextBoxAttr::operator== (const wxTextBoxAttr& attr) const
|
||||
m_size == attr.m_size &&
|
||||
|
||||
m_border == attr.m_border &&
|
||||
m_outline == attr.m_outline
|
||||
m_outline == attr.m_outline &&
|
||||
|
||||
m_boxStyleName == attr.m_boxStyleName
|
||||
);
|
||||
}
|
||||
|
||||
@ -10793,6 +10796,9 @@ bool wxTextBoxAttr::EqPartial(const wxTextBoxAttr& attr) const
|
||||
if (attr.HasVerticalAlignment() && HasVerticalAlignment() && (attr.GetVerticalAlignment() != GetVerticalAlignment()))
|
||||
return false;
|
||||
|
||||
if (attr.HasBoxStyleName() && HasBoxStyleName() && (attr.GetBoxStyleName() != GetBoxStyleName()))
|
||||
return false;
|
||||
|
||||
// Position
|
||||
|
||||
if (!m_position.EqPartial(attr.m_position))
|
||||
@ -10850,6 +10856,12 @@ bool wxTextBoxAttr::Apply(const wxTextBoxAttr& attr, const wxTextBoxAttr* compar
|
||||
SetVerticalAlignment(attr.GetVerticalAlignment());
|
||||
}
|
||||
|
||||
if (attr.HasBoxStyleName())
|
||||
{
|
||||
if (!(compareWith && compareWith->HasBoxStyleName() && compareWith->GetBoxStyleName() == attr.GetBoxStyleName()))
|
||||
SetBoxStyleName(attr.GetBoxStyleName());
|
||||
}
|
||||
|
||||
m_margins.Apply(attr.m_margins, compareWith ? (& attr.m_margins) : (const wxTextAttrDimensions*) NULL);
|
||||
m_padding.Apply(attr.m_padding, compareWith ? (& attr.m_padding) : (const wxTextAttrDimensions*) NULL);
|
||||
m_position.Apply(attr.m_position, compareWith ? (& attr.m_position) : (const wxTextAttrDimensions*) NULL);
|
||||
@ -10877,6 +10889,12 @@ bool wxTextBoxAttr::RemoveStyle(const wxTextBoxAttr& attr)
|
||||
if (attr.HasVerticalAlignment())
|
||||
RemoveFlag(wxTEXT_BOX_ATTR_VERTICAL_ALIGNMENT);
|
||||
|
||||
if (attr.HasBoxStyleName())
|
||||
{
|
||||
SetBoxStyleName(wxEmptyString);
|
||||
RemoveFlag(wxTEXT_BOX_ATTR_BOX_STYLE_NAME);
|
||||
}
|
||||
|
||||
m_margins.RemoveStyle(attr.m_margins);
|
||||
m_padding.RemoveStyle(attr.m_padding);
|
||||
m_position.RemoveStyle(attr.m_position);
|
||||
@ -10969,6 +10987,25 @@ void wxTextBoxAttr::CollectCommonAttributes(const wxTextBoxAttr& attr, wxTextBox
|
||||
else
|
||||
absentAttr.AddFlag(wxTEXT_BOX_ATTR_VERTICAL_ALIGNMENT);
|
||||
|
||||
if (attr.HasBoxStyleName())
|
||||
{
|
||||
if (!clashingAttr.HasBoxStyleName() && !absentAttr.HasBoxStyleName())
|
||||
{
|
||||
if (HasBoxStyleName())
|
||||
{
|
||||
if (GetBoxStyleName() != attr.GetBoxStyleName())
|
||||
{
|
||||
clashingAttr.AddFlag(wxTEXT_BOX_ATTR_BOX_STYLE_NAME);
|
||||
RemoveFlag(wxTEXT_BOX_ATTR_BOX_STYLE_NAME);
|
||||
}
|
||||
}
|
||||
else
|
||||
SetBoxStyleName(attr.GetBoxStyleName());
|
||||
}
|
||||
}
|
||||
else
|
||||
absentAttr.AddFlag(wxTEXT_BOX_ATTR_BOX_STYLE_NAME);
|
||||
|
||||
m_margins.CollectCommonAttributes(attr.m_margins, clashingAttr.m_margins, absentAttr.m_margins);
|
||||
m_padding.CollectCommonAttributes(attr.m_padding, clashingAttr.m_padding, absentAttr.m_padding);
|
||||
m_position.CollectCommonAttributes(attr.m_position, clashingAttr.m_position, absentAttr.m_position);
|
||||
|
@ -1162,6 +1162,9 @@ wxString wxRichTextXMLHandler::AddAttributes(const wxRichTextAttr& attr, bool is
|
||||
if (!attr.GetListStyleName().empty())
|
||||
AddAttribute(str, wxT("liststyle"), AttributeToXML(attr.GetListStyleName()));
|
||||
|
||||
if (!attr.GetTextBoxAttr().GetBoxStyleName().empty())
|
||||
AddAttribute(str, wxT("boxstyle"), AttributeToXML(attr.GetTextBoxAttr().GetBoxStyleName()));
|
||||
|
||||
if (attr.HasTabs())
|
||||
{
|
||||
wxString strTabs;
|
||||
@ -1451,6 +1454,9 @@ bool wxRichTextXMLHandler::AddAttributes(wxXmlNode* node, wxRichTextAttr& attr,
|
||||
if (!attr.GetListStyleName().empty())
|
||||
node->AddAttribute(wxT("liststyle"), attr.GetListStyleName());
|
||||
|
||||
if (!attr.GetTextBoxAttr().GetBoxStyleName().empty())
|
||||
node->AddAttribute(wxT("boxstyle"), attr.GetTextBoxAttr().GetBoxStyleName());
|
||||
|
||||
if (attr.HasTabs())
|
||||
{
|
||||
wxString tabs;
|
||||
@ -1804,6 +1810,13 @@ bool wxRichTextXMLHandler::ImportStyle(wxRichTextAttr& attr, wxXmlNode* node, bo
|
||||
attr.SetListStyleName(value);
|
||||
}
|
||||
}
|
||||
else if (name == wxT("boxstyle"))
|
||||
{
|
||||
if (!value.empty())
|
||||
{
|
||||
attr.GetTextBoxAttr().SetBoxStyleName(value);
|
||||
}
|
||||
}
|
||||
else if (name == wxT("tabs"))
|
||||
{
|
||||
if (!value.empty())
|
||||
|
Loading…
Reference in New Issue
Block a user