git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70233
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
wxTEXT_BOX_ATTR_FLOAT = 0x00000001,
wxTEXT_BOX_ATTR_CLEAR = 0x00000002,
wxTEXT_BOX_ATTR_COLLAPSE_BORDERS = 0x00000004,
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
wxTextAttrDimension& GetHeight() { return m_size.m_height; }
const wxTextAttrDimension& GetHeight() const { return m_size.m_height; }
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); }
+
wxTextBoxAttrClearStyle m_clearMode;
wxTextBoxAttrCollapseMode m_collapseMode;
wxTextBoxAttrVerticalAlignment m_verticalAlignment;
wxTextBoxAttrClearStyle m_clearMode;
wxTextBoxAttrCollapseMode m_collapseMode;
wxTextBoxAttrVerticalAlignment m_verticalAlignment;
+ wxString m_boxStyleName;
wxTextAttrDimension& GetHeight() { return m_size.m_height; }
const wxTextAttrDimension& GetHeight() const { return m_size.m_height; }
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); }
+
wxTextBoxAttrClearStyle m_clearMode;
wxTextBoxAttrCollapseMode m_collapseMode;
wxTextBoxAttrVerticalAlignment m_verticalAlignment;
wxTextBoxAttrClearStyle m_clearMode;
wxTextBoxAttrCollapseMode m_collapseMode;
wxTextBoxAttrVerticalAlignment m_verticalAlignment;
+ wxString m_boxStyleName;
m_clearMode = wxTEXT_BOX_ATTR_CLEAR_NONE;
m_collapseMode = wxTEXT_BOX_ATTR_COLLAPSE_NONE;
m_verticalAlignment = wxTEXT_BOX_ATTR_VERTICAL_ALIGNMENT_NONE;
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();
m_margins.Reset();
m_padding.Reset();
m_size == attr.m_size &&
m_border == attr.m_border &&
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
if (attr.HasVerticalAlignment() && HasVerticalAlignment() && (attr.GetVerticalAlignment() != GetVerticalAlignment()))
return false;
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))
// Position
if (!m_position.EqPartial(attr.m_position))
SetVerticalAlignment(attr.GetVerticalAlignment());
}
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);
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);
if (attr.HasVerticalAlignment())
RemoveFlag(wxTEXT_BOX_ATTR_VERTICAL_ALIGNMENT);
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);
m_margins.RemoveStyle(attr.m_margins);
m_padding.RemoveStyle(attr.m_padding);
m_position.RemoveStyle(attr.m_position);
else
absentAttr.AddFlag(wxTEXT_BOX_ATTR_VERTICAL_ALIGNMENT);
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);
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);
if (!attr.GetListStyleName().empty())
AddAttribute(str, wxT("liststyle"), AttributeToXML(attr.GetListStyleName()));
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;
if (attr.HasTabs())
{
wxString strTabs;
if (!attr.GetListStyleName().empty())
node->AddAttribute(wxT("liststyle"), attr.GetListStyleName());
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;
if (attr.HasTabs())
{
wxString tabs;
attr.SetListStyleName(value);
}
}
attr.SetListStyleName(value);
}
}
+ else if (name == wxT("boxstyle"))
+ {
+ if (!value.empty())
+ {
+ attr.GetTextBoxAttr().SetBoxStyleName(value);
+ }
+ }
else if (name == wxT("tabs"))
{
if (!value.empty())
else if (name == wxT("tabs"))
{
if (!value.empty())