Commit f1e60665 authored by Elen.Subbotina's avatar Elen.Subbotina Committed by Alexander Trofimov

.....

git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@63351 954022d7-b5bf-4e40-9824-e11837661b57
parent b36de57c
...@@ -35,6 +35,8 @@ border_style::border_style(const border_style & Value) ...@@ -35,6 +35,8 @@ border_style::border_style(const border_style & Value)
length_ = Value.get_length(); length_ = Value.get_length();
style_ = Value.get_style(); style_ = Value.get_style();
none_ = Value.is_none();
initialized_ = true; initialized_ = true;
} }
...@@ -49,6 +51,7 @@ border_style::border_style(const std::wstring & Value) : initialized_(false), no ...@@ -49,6 +51,7 @@ border_style::border_style(const std::wstring & Value) : initialized_(false), no
} }
else else
{ {
none_ = false;
std::vector< std::wstring > splitted; std::vector< std::wstring > splitted;
boost::algorithm::split(splitted, Value, boost::algorithm::is_any_of(L" \t"), boost::algorithm::token_compress_on); boost::algorithm::split(splitted, Value, boost::algorithm::is_any_of(L" \t"), boost::algorithm::token_compress_on);
...@@ -92,6 +95,8 @@ border_style::border_style(const color & color_, const type & style_, const len ...@@ -92,6 +95,8 @@ border_style::border_style(const color & color_, const type & style_, const len
if (this->style_ == none) if (this->style_ == none)
none_ = true; none_ = true;
else
none_ = false;
initialized_ = true; initialized_ = true;
} }
......
...@@ -106,7 +106,7 @@ bool parse_clipping(std::wstring strClipping,std::wstring fileName, double_4 & c ...@@ -106,7 +106,7 @@ bool parse_clipping(std::wstring strClipping,std::wstring fileName, double_4 & c
} }
if (Points_pt.size()>3)// .. if (Points_pt.size()>3)// ..
{ {
float dpi_ = getSystemDPI(); float dpi_ = 96.;///getSystemDPI();
clip_rect[0] = dpi_ * Points_pt[3].get_value_unit(length::inch); clip_rect[0] = dpi_ * Points_pt[3].get_value_unit(length::inch);
clip_rect[1] = dpi_ * Points_pt[0].get_value_unit(length::inch); clip_rect[1] = dpi_ * Points_pt[0].get_value_unit(length::inch);
clip_rect[2] = dpi_ * Points_pt[1].get_value_unit(length::inch); clip_rect[2] = dpi_ * Points_pt[1].get_value_unit(length::inch);
......
...@@ -50,20 +50,31 @@ void table_table_row::xlsx_convert(oox::xlsx_conversion_context & Context) ...@@ -50,20 +50,31 @@ void table_table_row::xlsx_convert(oox::xlsx_conversion_context & Context)
/// - /// -
size_t Default_Cell_style_in_row_ = 0; size_t Default_Cell_style_in_row_ = 0;
const std::wstring styleName = table_table_row_attlist_.table_style_name_.get_value_or( style_ref(L"") ).style_name(); const std::wstring rowStyleName = table_table_row_attlist_.table_style_name_.get_value_or( style_ref(L"") ).style_name();
const std::wstring defaultCellStyleName = table_table_row_attlist_.table_default_cell_style_name_.get_value_or( style_ref(L"") ).style_name(); const std::wstring defaultCellStyleName = table_table_row_attlist_.table_default_cell_style_name_.get_value_or( style_ref(L"") ).style_name();
style_instance * instStyle_CellDefault = style_instance * instStyle_CellDefault =
Context.root()->odf_context().styleContainer().style_by_name(defaultCellStyleName, style_family::TableCell,false/*false*/); Context.root()->odf_context().styleContainer().style_by_name(defaultCellStyleName, style_family::TableCell,false/*false*/);
style_table_cell_properties * prop_CellDefault = NULL; style_table_cell_properties * prop_CellDefault = NULL;
if ((instStyle_CellDefault) && (instStyle_CellDefault->content())) prop_CellDefault = instStyle_CellDefault->content()->get_style_table_cell_properties(); if ((instStyle_CellDefault) && (instStyle_CellDefault->content()))
prop_CellDefault = instStyle_CellDefault->content()->get_style_table_cell_properties();
// //
if (prop_CellDefault)
// - if (prop_CellDefault) // -
{ {
odf_reader::style_table_cell_properties_attlist cellFormatProperties = calc_table_cell_properties(instStyle_CellDefault); odf_reader::style_table_cell_properties_attlist cellFormatProperties = calc_table_cell_properties(instStyle_CellDefault);
Default_Cell_style_in_row_ = Context.get_style_manager().xfId(NULL,NULL, &cellFormatProperties, NULL, L"",true); Default_Cell_style_in_row_ = Context.get_style_manager().xfId(NULL,NULL, &cellFormatProperties, NULL, L"", true);
}
else //
{
// cell ( )
int ind_last_cell = content_.size()-1;
table_table_cell *last_cell = NULL;
if (ind_last_cell > 0)
last_cell = dynamic_cast<table_table_cell *>(content_[ind_last_cell].get());
} }
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
bool skip_next_row = false; bool skip_next_row = false;
...@@ -75,7 +86,7 @@ void table_table_row::xlsx_convert(oox::xlsx_conversion_context & Context) ...@@ -75,7 +86,7 @@ void table_table_row::xlsx_convert(oox::xlsx_conversion_context & Context)
do do
{ {
odf_reader::style_instance * rowStyle = odfContext.styleContainer().style_by_name(styleName, odf_types::style_family::TableRow,false/*false*/); odf_reader::style_instance * rowStyle = odfContext.styleContainer().style_by_name(rowStyleName, odf_types::style_family::TableRow,false/*false*/);
if (!rowStyle) if (!rowStyle)
break; break;
...@@ -110,7 +121,7 @@ void table_table_row::xlsx_convert(oox::xlsx_conversion_context & Context) ...@@ -110,7 +121,7 @@ void table_table_row::xlsx_convert(oox::xlsx_conversion_context & Context)
for (unsigned int i = 0; i < table_table_row_attlist_.table_number_rows_repeated_; ++i) for (unsigned int i = 0; i < table_table_row_attlist_.table_number_rows_repeated_; ++i)
{ {
Context.start_table_row(styleName, defaultCellStyleName); Context.start_table_row(rowStyleName, defaultCellStyleName);
if (!skip_next_row) if (!skip_next_row)
{ {
...@@ -148,7 +159,7 @@ void table_table_row::xlsx_convert(oox::xlsx_conversion_context & Context) ...@@ -148,7 +159,7 @@ void table_table_row::xlsx_convert(oox::xlsx_conversion_context & Context)
CP_XML_ATTR(L"customHeight", L"true"); CP_XML_ATTR(L"customHeight", L"true");
CP_XML_ATTR(L"ht", ht); CP_XML_ATTR(L"ht", ht);
} }
if (Default_Cell_style_in_row_>0) if (Default_Cell_style_in_row_ > 0)
{ {
CP_XML_ATTR(L"customFormat", 1); CP_XML_ATTR(L"customFormat", 1);
CP_XML_ATTR(L"s", Default_Cell_style_in_row_ ); CP_XML_ATTR(L"s", Default_Cell_style_in_row_ );
...@@ -390,8 +401,8 @@ void table_table_column::xlsx_convert(oox::xlsx_conversion_context & Context) ...@@ -390,8 +401,8 @@ void table_table_column::xlsx_convert(oox::xlsx_conversion_context & Context)
size_t style_ = Context.get_style_manager().xfId(NULL,NULL, &cellFormatProperties, NULL, L"", set_default); size_t style_ = Context.get_style_manager().xfId(NULL,NULL, &cellFormatProperties, NULL, L"", set_default);
//if (style_>=0) if (style_>=0)
if (set_default) //if (set_default)
CP_XML_ATTR(L"style", style_ ); CP_XML_ATTR(L"style", style_ );
} }
} }
...@@ -541,10 +552,10 @@ void table_table_cell::xlsx_convert(oox::xlsx_conversion_context & Context) ...@@ -541,10 +552,10 @@ void table_table_cell::xlsx_convert(oox::xlsx_conversion_context & Context)
for (unsigned int r = 0; r < table_table_cell_attlist_.table_number_columns_repeated_; ++r) for (unsigned int r = 0; r < table_table_cell_attlist_.table_number_columns_repeated_; ++r)
{ {
Context.start_table_cell(formula, Context.start_table_cell ( formula,
table_table_cell_attlist_extra_.table_number_columns_spanned_ - 1, table_table_cell_attlist_extra_.table_number_columns_spanned_ - 1,
table_table_cell_attlist_extra_.table_number_rows_spanned_ - 1 table_table_cell_attlist_extra_.table_number_rows_spanned_ - 1
); );
if (skip_next_cell)break; if (skip_next_cell)break;
...@@ -767,8 +778,8 @@ void table_table_cell::xlsx_convert(oox::xlsx_conversion_context & Context) ...@@ -767,8 +778,8 @@ void table_table_cell::xlsx_convert(oox::xlsx_conversion_context & Context)
else else
{ {
empty_cell++; empty_cell++;
if (empty_cell > 4 && table_table_cell_attlist_.table_number_columns_repeated_>100) if ((empty_cell > 4 && table_table_cell_attlist_.table_number_columns_repeated_>299) || (cellStyle == NULL))
{ {//
skip_next_cell = true; skip_next_cell = true;
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment