mirror of
https://github.com/tfussell/xlnt.git
synced 2024-03-22 13:11:17 +08:00
comment changes anchor() , in element()
This commit is contained in:
parent
26eacce248
commit
d7486830a6
@ -528,14 +528,14 @@ std::pair<int, int> cell::anchor() const
|
|||||||
|
|
||||||
for (column_t column_index = 1; column_index <= d_->column_ - 1; column_index++)
|
for (column_t column_index = 1; column_index <= d_->column_ - 1; column_index++)
|
||||||
{
|
{
|
||||||
left += worksheet().cell(column_index, row()).width();
|
left += worksheet().column_width(column_index);
|
||||||
}
|
}
|
||||||
|
|
||||||
double top = 0;
|
double top = 0;
|
||||||
|
|
||||||
for (row_t row_index = 1; row_index <= d_->row_ - 1; row_index++)
|
for (row_t row_index = 1; row_index <= d_->row_ - 1; row_index++)
|
||||||
{
|
{
|
||||||
top += worksheet().cell(column(), row_index).height();
|
top += worksheet().row_height(row_index);
|
||||||
}
|
}
|
||||||
|
|
||||||
return {static_cast<int>(left), static_cast<int>(top)};
|
return {static_cast<int>(left), static_cast<int>(top)};
|
||||||
|
@ -1345,6 +1345,28 @@ void xlsx_consumer::read_stylesheet()
|
|||||||
new_font.strikethrough(true);
|
new_font.strikethrough(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (font_property_element == qn("spreadsheetml", "outline"))
|
||||||
|
{
|
||||||
|
if (parser().attribute_present("val"))
|
||||||
|
{
|
||||||
|
new_font.outlinethrough(is_true(parser().attribute("val")));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
new_font.outlinethrough(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (font_property_element == qn("spreadsheetml", "shadow"))
|
||||||
|
{
|
||||||
|
if (parser().attribute_present("val"))
|
||||||
|
{
|
||||||
|
new_font.shadowthrough(is_true(parser().attribute("val")));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
new_font.shadowthrough(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
else if (font_property_element == qn("spreadsheetml", "i"))
|
else if (font_property_element == qn("spreadsheetml", "i"))
|
||||||
{
|
{
|
||||||
if (parser().attribute_present("val"))
|
if (parser().attribute_present("val"))
|
||||||
@ -1575,11 +1597,11 @@ void xlsx_consumer::read_stylesheet()
|
|||||||
auto count = parser().attribute<std::size_t>("count");
|
auto count = parser().attribute<std::size_t>("count");
|
||||||
std::size_t processed = 0;
|
std::size_t processed = 0;
|
||||||
|
|
||||||
while (in_element(qn("spreadsheetml", "dxfs")))
|
while (in_element(current_style_element))
|
||||||
{
|
{
|
||||||
auto current_element = expect_start_element(xml::content::complex);
|
auto current_element = expect_start_element(xml::content::mixed);
|
||||||
skip_remaining_content(current_element);
|
skip_remaining_content(current_element);
|
||||||
|
expect_end_element(current_element);
|
||||||
++processed;
|
++processed;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1600,7 +1622,7 @@ void xlsx_consumer::read_stylesheet()
|
|||||||
{
|
{
|
||||||
auto current_element = expect_start_element(xml::content::complex);
|
auto current_element = expect_start_element(xml::content::complex);
|
||||||
skip_remaining_content(current_element);
|
skip_remaining_content(current_element);
|
||||||
|
expect_end_element(current_element);
|
||||||
++processed;
|
++processed;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2627,11 +2649,11 @@ std::vector<std::string> xlsx_consumer::read_namespaces()
|
|||||||
|
|
||||||
bool xlsx_consumer::in_element(const xml::qname &name)
|
bool xlsx_consumer::in_element(const xml::qname &name)
|
||||||
{
|
{
|
||||||
if (parser().peek() == xml::parser::event_type::end_element || stack_.back() != name)
|
|
||||||
|
if ((parser().peek() == xml::parser::event_type::end_element ) && (stack_.back() == name ))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2717,6 +2739,10 @@ rich_text xlsx_consumer::read_rich_text(const xml::qname &parent)
|
|||||||
{
|
{
|
||||||
run.second.get().family(parser().attribute<std::size_t>("val"));
|
run.second.get().family(parser().attribute<std::size_t>("val"));
|
||||||
}
|
}
|
||||||
|
else if (current_run_property_element == xml::qname(xmlns, "charset"))
|
||||||
|
{
|
||||||
|
run.second.get().charset(parser().attribute<std::size_t>("val"));
|
||||||
|
}
|
||||||
else if (current_run_property_element == xml::qname(xmlns, "scheme"))
|
else if (current_run_property_element == xml::qname(xmlns, "scheme"))
|
||||||
{
|
{
|
||||||
run.second.get().scheme(parser().attribute("val"));
|
run.second.get().scheme(parser().attribute("val"));
|
||||||
@ -2726,6 +2752,11 @@ rich_text xlsx_consumer::read_rich_text(const xml::qname &parent)
|
|||||||
run.second.get().bold(
|
run.second.get().bold(
|
||||||
parser().attribute_present("val") ? is_true(parser().attribute("val")) : true);
|
parser().attribute_present("val") ? is_true(parser().attribute("val")) : true);
|
||||||
}
|
}
|
||||||
|
else if (current_run_property_element == xml::qname(xmlns, "i"))
|
||||||
|
{
|
||||||
|
run.second.get().bold(
|
||||||
|
parser().attribute_present("val") ? is_true(parser().attribute("val")) : true);
|
||||||
|
}
|
||||||
else if (current_run_property_element == xml::qname(xmlns, "u"))
|
else if (current_run_property_element == xml::qname(xmlns, "u"))
|
||||||
{
|
{
|
||||||
if (parser().attribute_present("val"))
|
if (parser().attribute_present("val"))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user