mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-02-10 18:05:41 +08:00
fix bug #63735
This commit is contained in:
@ -1820,7 +1820,7 @@ namespace SimpleTypes
|
||||
{
|
||||
relfromvBottomMargin = 0,
|
||||
relfromvInsideMargin = 1,
|
||||
relfromvLine = 2,
|
||||
relfromvLine = 2,
|
||||
relfromvMargin = 3,
|
||||
relfromvOutsideMargin = 4,
|
||||
relfromvPage = 5,
|
||||
|
||||
@ -3218,7 +3218,7 @@ void DocxConverter::convert(OOX::Logic::CDrawing *oox_drawing)
|
||||
}
|
||||
odt_context->end_drawing_context();
|
||||
}
|
||||
void DocxConverter::convert(OOX::Drawing::CAnchor *oox_anchor)
|
||||
void DocxConverter::convert(OOX::Drawing::CAnchor* oox_anchor)
|
||||
{
|
||||
if (oox_anchor == NULL)return;
|
||||
|
||||
@ -3230,18 +3230,18 @@ void DocxConverter::convert(OOX::Drawing::CAnchor *oox_anchor)
|
||||
width = oox_anchor->m_oExtent->m_oCx.ToPoints();
|
||||
height = oox_anchor->m_oExtent->m_oCy.ToPoints();
|
||||
}
|
||||
if (oox_anchor->m_oDistL.IsInit())odt_context->drawing_context()->set_margin_left (oox_anchor->m_oDistL->ToPoints());
|
||||
if (oox_anchor->m_oDistT.IsInit())odt_context->drawing_context()->set_margin_top (oox_anchor->m_oDistT->ToPoints());
|
||||
if (oox_anchor->m_oDistR.IsInit())odt_context->drawing_context()->set_margin_right (oox_anchor->m_oDistR->ToPoints());
|
||||
if (oox_anchor->m_oDistB.IsInit())odt_context->drawing_context()->set_margin_bottom (oox_anchor->m_oDistB->ToPoints());
|
||||
if (oox_anchor->m_oDistL.IsInit())odt_context->drawing_context()->set_margin_left(oox_anchor->m_oDistL->ToPoints());
|
||||
if (oox_anchor->m_oDistT.IsInit())odt_context->drawing_context()->set_margin_top(oox_anchor->m_oDistT->ToPoints());
|
||||
if (oox_anchor->m_oDistR.IsInit())odt_context->drawing_context()->set_margin_right(oox_anchor->m_oDistR->ToPoints());
|
||||
if (oox_anchor->m_oDistB.IsInit())odt_context->drawing_context()->set_margin_bottom(oox_anchor->m_oDistB->ToPoints());
|
||||
|
||||
odt_context->drawing_context()->set_drawings_rect(x, y, width, height);
|
||||
|
||||
_CP_OPT(int) anchor_type_x, anchor_type_y;
|
||||
|
||||
bool bBackground = oox_anchor->m_oBehindDoc.IsInit() ? oox_anchor->m_oBehindDoc->ToBool(): false;
|
||||
bool bBackground = oox_anchor->m_oBehindDoc.IsInit() ? oox_anchor->m_oBehindDoc->ToBool() : false;
|
||||
|
||||
bool bThrough = oox_anchor->m_oAllowOverlap.IsInit() ? oox_anchor->m_oAllowOverlap->ToBool(): false;
|
||||
bool bThrough = oox_anchor->m_oAllowOverlap.IsInit() ? oox_anchor->m_oAllowOverlap->ToBool() : false;
|
||||
|
||||
if (oox_anchor->m_oPositionV.IsInit() && oox_anchor->m_oPositionV->m_oRelativeFrom.IsInit())
|
||||
{
|
||||
@ -3249,16 +3249,25 @@ void DocxConverter::convert(OOX::Drawing::CAnchor *oox_anchor)
|
||||
|
||||
odt_context->drawing_context()->set_vertical_rel(vert_rel);
|
||||
|
||||
if ( oox_anchor->m_oPositionV->m_oAlign.IsInit())
|
||||
if (oox_anchor->m_oPositionV->m_oAlign.IsInit())
|
||||
odt_context->drawing_context()->set_vertical_pos(oox_anchor->m_oPositionV->m_oAlign->GetValue());
|
||||
|
||||
else if (oox_anchor->m_oPositionV->m_oPosOffset.IsInit())
|
||||
{
|
||||
switch(vert_rel)
|
||||
// relfromvBottomMargin = 0,
|
||||
// relfromvInsideMargin = 1,
|
||||
// relfromvLine = 2,
|
||||
// relfromvMargin = 3,
|
||||
// relfromvOutsideMargin = 4,
|
||||
// relfromvPage = 5,
|
||||
// relfromvParagraph = 6,
|
||||
// relfromvTopMargin = 7
|
||||
switch (vert_rel)
|
||||
{
|
||||
case 3:
|
||||
case 6: anchor_type_y = anchor_type::Paragraph; break;
|
||||
case 5: anchor_type_y = anchor_type::Page; break;
|
||||
case 2: anchor_type_x = anchor_type::Char; break;
|
||||
case 5: anchor_type_y = anchor_type::Page; break;
|
||||
case 3:
|
||||
case 6: anchor_type_y = anchor_type::Paragraph; break;
|
||||
}
|
||||
odt_context->drawing_context()->set_vertical_pos(oox_anchor->m_oPositionV->m_oPosOffset->ToPoints());
|
||||
}
|
||||
@ -3269,26 +3278,41 @@ void DocxConverter::convert(OOX::Drawing::CAnchor *oox_anchor)
|
||||
{
|
||||
int horiz_rel = oox_anchor->m_oPositionH->m_oRelativeFrom->GetValue();
|
||||
odt_context->drawing_context()->set_horizontal_rel(horiz_rel);
|
||||
|
||||
|
||||
if (oox_anchor->m_oPositionH->m_oAlign.IsInit())
|
||||
odt_context->drawing_context()->set_horizontal_pos(oox_anchor->m_oPositionH->m_oAlign->GetValue());
|
||||
|
||||
|
||||
else if (oox_anchor->m_oPositionH->m_oPosOffset.IsInit())
|
||||
{
|
||||
odt_context->drawing_context()->set_horizontal_pos(oox_anchor->m_oPositionH->m_oPosOffset->ToPoints());
|
||||
switch(horiz_rel)
|
||||
// relfromhCharacter = 0,
|
||||
// relfromhColumn = 1,
|
||||
// relfromhInsideMargin = 2,
|
||||
// relfromhLeftMargin = 3,
|
||||
// relfromhMargin = 4,
|
||||
// relfromhOutsideMargin = 5,
|
||||
// relfromhPage = 6,
|
||||
// relfromhRightMargin = 7
|
||||
switch (horiz_rel)
|
||||
{
|
||||
case 1:
|
||||
case 2: anchor_type_x = anchor_type::Paragraph; break;
|
||||
case 6: anchor_type_x = anchor_type::Page; break;
|
||||
case 0: anchor_type_x = anchor_type::Char; break;
|
||||
case 1: anchor_type_x = anchor_type::Frame; break;
|
||||
case 4:
|
||||
case 2: anchor_type_x = anchor_type::Paragraph; break;
|
||||
case 6: anchor_type_x = anchor_type::Page; break;
|
||||
}
|
||||
}
|
||||
else
|
||||
odt_context->drawing_context()->set_horizontal_pos(SimpleTypes::alignhLeft);
|
||||
}
|
||||
|
||||
if ( (anchor_type_x && anchor_type_y) && (*anchor_type_x == *anchor_type_y))
|
||||
odt_context->drawing_context()->set_anchor(*anchor_type_x);
|
||||
if (anchor_type_x && anchor_type_y)
|
||||
{
|
||||
if (*anchor_type_x == *anchor_type_y)
|
||||
odt_context->drawing_context()->set_anchor(*anchor_type_x);
|
||||
else if (*anchor_type_x == anchor_type::Frame && *anchor_type_y == anchor_type::Paragraph)
|
||||
odt_context->drawing_context()->set_anchor(anchor_type::Char);
|
||||
}
|
||||
|
||||
bool wrap_set = false;
|
||||
if (oox_anchor->m_oWrapSquare.IsInit())
|
||||
|
||||
@ -549,34 +549,40 @@ void odf_drawing_context::set_anchor_drawing()
|
||||
if (impl_->current_level_.empty()) return;
|
||||
if (!impl_->current_level_.back().bDrawElement) return;
|
||||
if (!impl_->current_level_.back().graphic_properties) return;
|
||||
|
||||
impl_->current_level_.back().graphic_properties->common_vertical_pos_attlist_.style_vertical_pos_ = impl_->anchor_settings_.style_vertical_pos_;
|
||||
impl_->current_level_.back().graphic_properties->common_horizontal_pos_attlist_.style_horizontal_pos_ = impl_->anchor_settings_.style_horizontal_pos_;
|
||||
|
||||
impl_->current_level_.back().graphic_properties->common_vertical_rel_attlist_.style_vertical_rel_ = impl_->anchor_settings_.style_vertical_rel_;
|
||||
impl_->current_level_.back().graphic_properties->common_horizontal_rel_attlist_.style_horizontal_rel_ = impl_->anchor_settings_.style_horizontal_rel_;
|
||||
|
||||
impl_->current_level_.back().graphic_properties->common_horizontal_margin_attlist_.fo_margin_left_ = impl_->anchor_settings_.fo_margin_left_;
|
||||
impl_->current_level_.back().graphic_properties->common_vertical_margin_attlist_.fo_margin_top_ = impl_->anchor_settings_.fo_margin_top_;
|
||||
impl_->current_level_.back().graphic_properties->common_horizontal_margin_attlist_.fo_margin_right_ = impl_->anchor_settings_.fo_margin_right_;
|
||||
impl_->current_level_.back().graphic_properties->common_vertical_margin_attlist_.fo_margin_bottom_ = impl_->anchor_settings_.fo_margin_bottom_;
|
||||
|
||||
impl_->current_level_.back().graphic_properties->style_run_through_ = impl_->anchor_settings_.run_through_;
|
||||
|
||||
set_anchor_drawing(impl_->current_level_.back().graphic_properties);
|
||||
}
|
||||
void odf_drawing_context::set_anchor_drawing(graphic_format_properties *graphic_properties)
|
||||
{
|
||||
int index = impl_->current_drawing_state_.index_base < 0 ? 0 : impl_->current_drawing_state_.index_base;
|
||||
draw_base* draw = impl_->current_drawing_state_.elements_.empty() ? NULL : dynamic_cast<draw_base*>(impl_->current_drawing_state_.elements_[index].elm.get());
|
||||
|
||||
|
||||
if (draw && !impl_->current_drawing_state_.in_group_)
|
||||
{
|
||||
draw->common_draw_attlists_.shape_with_text_and_styles_.common_text_anchor_attlist_.type_ = impl_->anchor_settings_.anchor_type_;
|
||||
}
|
||||
else // libra падает
|
||||
else if (graphic_properties) // libra падает
|
||||
{
|
||||
impl_->current_level_.back().graphic_properties->style_wrap_ = impl_->anchor_settings_.style_wrap_;
|
||||
impl_->current_level_.back().graphic_properties->style_wrap_contour_ = impl_->anchor_settings_.style_wrap_contour_;
|
||||
impl_->current_level_.back().graphic_properties->style_wrap_contour_mode_ = impl_->anchor_settings_.style_wrap_contour_mode_;
|
||||
impl_->current_level_.back().graphic_properties->style_number_wrapped_paragraphs_ = impl_->anchor_settings_.style_number_wrapped_paragraphs_;
|
||||
graphic_properties->style_wrap_ = impl_->anchor_settings_.style_wrap_;
|
||||
graphic_properties->style_wrap_contour_ = impl_->anchor_settings_.style_wrap_contour_;
|
||||
graphic_properties->style_wrap_contour_mode_ = impl_->anchor_settings_.style_wrap_contour_mode_;
|
||||
graphic_properties->style_number_wrapped_paragraphs_ = impl_->anchor_settings_.style_number_wrapped_paragraphs_;
|
||||
}
|
||||
|
||||
if (!graphic_properties) return;
|
||||
|
||||
graphic_properties->common_vertical_pos_attlist_.style_vertical_pos_ = impl_->anchor_settings_.style_vertical_pos_;
|
||||
graphic_properties->common_horizontal_pos_attlist_.style_horizontal_pos_ = impl_->anchor_settings_.style_horizontal_pos_;
|
||||
|
||||
graphic_properties->common_vertical_rel_attlist_.style_vertical_rel_ = impl_->anchor_settings_.style_vertical_rel_;
|
||||
graphic_properties->common_horizontal_rel_attlist_.style_horizontal_rel_ = impl_->anchor_settings_.style_horizontal_rel_;
|
||||
|
||||
graphic_properties->common_horizontal_margin_attlist_.fo_margin_left_ = impl_->anchor_settings_.fo_margin_left_;
|
||||
graphic_properties->common_vertical_margin_attlist_.fo_margin_top_ = impl_->anchor_settings_.fo_margin_top_;
|
||||
graphic_properties->common_horizontal_margin_attlist_.fo_margin_right_ = impl_->anchor_settings_.fo_margin_right_;
|
||||
graphic_properties->common_vertical_margin_attlist_.fo_margin_bottom_ = impl_->anchor_settings_.fo_margin_bottom_;
|
||||
|
||||
graphic_properties->style_run_through_ = impl_->anchor_settings_.run_through_;
|
||||
}
|
||||
void odf_drawing_context::end_drawing()
|
||||
{
|
||||
@ -911,7 +917,6 @@ bool odf_drawing_context::change_text_box_2_wordart()
|
||||
}
|
||||
}
|
||||
//----------------------------------------------
|
||||
|
||||
odf_element_state state = impl_->current_drawing_state_.elements_[sz_state - 2];
|
||||
state.elm = draw_elm;
|
||||
|
||||
@ -929,6 +934,10 @@ bool odf_drawing_context::change_text_box_2_wordart()
|
||||
impl_->current_drawing_state_.oox_shape_preset_ = 2031;//plain text
|
||||
|
||||
if (sz == 2) impl_->root_element_ = draw_elm;
|
||||
|
||||
set_anchor_drawing(impl_->current_graphic_properties);
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
draw_rect* s = dynamic_cast<draw_rect*>(impl_->current_drawing_state_.elements_.back().elm.get());
|
||||
@ -974,9 +983,10 @@ bool odf_drawing_context::change_text_box_2_wordart()
|
||||
impl_->current_drawing_state_.oox_shape_preset_ = 2031;//plain text
|
||||
|
||||
if (sz == 1) impl_->root_element_ = draw_elm;
|
||||
|
||||
set_anchor_drawing(impl_->current_graphic_properties);
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -1957,7 +1967,7 @@ void odf_drawing_context::set_horizontal_rel(int from)
|
||||
switch(from)
|
||||
{
|
||||
case 0: type = horizontal_rel::Char; break; // relfromhCharacter = 0,
|
||||
case 1: type = horizontal_rel::Paragraph; break; // relfromhColumn = 1,
|
||||
case 1: type = horizontal_rel::Char; break; // relfromhColumn = 1,
|
||||
case 2: type = horizontal_rel::Paragraph; break; // relfromhInsideMargin = 2, ???
|
||||
case 3: type = horizontal_rel::PageStartMargin; break; // relfromhLeftMargin = 3,
|
||||
case 4: type = horizontal_rel::PageContent; break; // relfromhMargin = 4, ??? //ParagraphStartMargin
|
||||
|
||||
@ -116,6 +116,7 @@ public:
|
||||
void end_drawing_background(odf_types::common_draw_fill_attlist & common_draw_attlist);
|
||||
|
||||
void set_anchor_drawing();
|
||||
void set_anchor_drawing(graphic_format_properties* graphic_properties);
|
||||
|
||||
size_t get_group_level();
|
||||
void start_group();
|
||||
|
||||
@ -67,6 +67,10 @@ public:
|
||||
static const wchar_t * name;
|
||||
static const ElementType type = typeOfficeMetaInitialCreator;
|
||||
|
||||
virtual ElementType get_type() const
|
||||
{
|
||||
return type;
|
||||
}
|
||||
virtual void serialize(std::wostream & _Wostream);
|
||||
};
|
||||
CP_REGISTER_OFFICE_ELEMENT2(meta_initial_creator);
|
||||
@ -78,6 +82,10 @@ public:
|
||||
static const wchar_t * name;
|
||||
static const ElementType type = typeOfficeMetaKeyword;
|
||||
|
||||
virtual ElementType get_type() const
|
||||
{
|
||||
return type;
|
||||
}
|
||||
virtual void serialize(std::wostream & _Wostream);
|
||||
};
|
||||
CP_REGISTER_OFFICE_ELEMENT2(meta_keyword);
|
||||
@ -89,6 +97,10 @@ public:
|
||||
static const wchar_t * name;
|
||||
static const ElementType type = typeOfficeMetaCreationDate;
|
||||
|
||||
virtual ElementType get_type() const
|
||||
{
|
||||
return type;
|
||||
}
|
||||
virtual void serialize(std::wostream & _Wostream);
|
||||
};
|
||||
CP_REGISTER_OFFICE_ELEMENT2(meta_creation_date);
|
||||
@ -100,6 +112,10 @@ public:
|
||||
static const wchar_t * name;
|
||||
static const ElementType type = typeOfficeMetaGenerator;
|
||||
|
||||
virtual ElementType get_type() const
|
||||
{
|
||||
return type;
|
||||
}
|
||||
virtual void serialize(std::wostream & _Wostream);
|
||||
};
|
||||
CP_REGISTER_OFFICE_ELEMENT2(meta_generator);
|
||||
@ -111,6 +127,10 @@ public:
|
||||
static const wchar_t * name;
|
||||
static const ElementType type = typeOfficeMetaTemplate;
|
||||
|
||||
virtual ElementType get_type() const
|
||||
{
|
||||
return type;
|
||||
}
|
||||
virtual void serialize(std::wostream & _Wostream);
|
||||
};
|
||||
CP_REGISTER_OFFICE_ELEMENT2(meta_template);
|
||||
@ -122,6 +142,10 @@ public:
|
||||
static const wchar_t * name;
|
||||
static const ElementType type = typeOfficeMetaEditingCycles;
|
||||
|
||||
virtual ElementType get_type() const
|
||||
{
|
||||
return type;
|
||||
}
|
||||
virtual void serialize(std::wostream & _Wostream);
|
||||
};
|
||||
CP_REGISTER_OFFICE_ELEMENT2(meta_editing_cycles);
|
||||
@ -134,6 +158,10 @@ public:
|
||||
static const wchar_t * name;
|
||||
static const ElementType type = typeDcCreator;
|
||||
|
||||
virtual ElementType get_type() const
|
||||
{
|
||||
return type;
|
||||
}
|
||||
virtual void serialize(std::wostream & _Wostream);
|
||||
};
|
||||
CP_REGISTER_OFFICE_ELEMENT2(dc_creator);
|
||||
@ -145,6 +173,10 @@ public:
|
||||
static const wchar_t * name;
|
||||
static const ElementType type = typeDcDescription;
|
||||
|
||||
virtual ElementType get_type() const
|
||||
{
|
||||
return type;
|
||||
}
|
||||
virtual void serialize(std::wostream & _Wostream);
|
||||
};
|
||||
CP_REGISTER_OFFICE_ELEMENT2(dc_description);
|
||||
@ -156,6 +188,10 @@ public:
|
||||
static const wchar_t * name;
|
||||
static const ElementType type = typeDcLanguage;
|
||||
|
||||
virtual ElementType get_type() const
|
||||
{
|
||||
return type;
|
||||
}
|
||||
virtual void serialize(std::wostream & _Wostream);
|
||||
};
|
||||
CP_REGISTER_OFFICE_ELEMENT2(dc_language);
|
||||
@ -167,6 +203,10 @@ public:
|
||||
static const wchar_t * name;
|
||||
static const ElementType type = typeDcDate;
|
||||
|
||||
virtual ElementType get_type() const
|
||||
{
|
||||
return type;
|
||||
}
|
||||
virtual void serialize(std::wostream & _Wostream);
|
||||
};
|
||||
CP_REGISTER_OFFICE_ELEMENT2(dc_date);
|
||||
@ -178,6 +218,10 @@ public:
|
||||
static const wchar_t * name;
|
||||
static const ElementType type = typeDcTitle;
|
||||
|
||||
virtual ElementType get_type() const
|
||||
{
|
||||
return type;
|
||||
}
|
||||
virtual void serialize(std::wostream & _Wostream);
|
||||
};
|
||||
CP_REGISTER_OFFICE_ELEMENT2(dc_title);
|
||||
@ -189,6 +233,10 @@ public:
|
||||
static const wchar_t * name;
|
||||
static const ElementType type = typeDcSubject;
|
||||
|
||||
virtual ElementType get_type() const
|
||||
{
|
||||
return type;
|
||||
}
|
||||
virtual void serialize(std::wostream & _Wostream);
|
||||
};
|
||||
CP_REGISTER_OFFICE_ELEMENT2(dc_subject);
|
||||
|
||||
@ -95,14 +95,12 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeOfficeChangeInfo;
|
||||
|
||||
static const ElementType type = typeOfficeChangeInfo;
|
||||
|
||||
virtual void create_child_element(const std::wstring & Ns, const std::wstring & Name);
|
||||
virtual void add_child_element( const office_element_ptr & child_element);
|
||||
|
||||
virtual void serialize(std::wostream & _Wostream);
|
||||
|
||||
private:
|
||||
office_element_ptr dc_date_;
|
||||
office_element_ptr dc_creator_;
|
||||
|
||||
@ -130,14 +130,12 @@ public:
|
||||
|
||||
virtual void serialize(std::wostream & _Wostream);
|
||||
|
||||
_CP_OPT(std::wstring) text_style_name_;
|
||||
_CP_OPT(odf_types::Bool) text_continue_numbering_;
|
||||
_CP_OPT(std::wstring) text_style_name_;
|
||||
_CP_OPT(odf_types::Bool) text_continue_numbering_;
|
||||
|
||||
office_element_ptr text_list_header_;
|
||||
office_element_ptr_array text_list_items_;
|
||||
|
||||
};
|
||||
|
||||
CP_REGISTER_OFFICE_ELEMENT2(text_list);
|
||||
|
||||
//---------------------------------------------------------------------------------------------------
|
||||
@ -147,15 +145,13 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextSoftPageBreak;
|
||||
|
||||
static const ElementType type = typeTextSoftPageBreak;
|
||||
|
||||
virtual void create_child_element(const std::wstring & Ns, const std::wstring & Name){}
|
||||
virtual void add_child_element( const office_element_ptr & child_element){}
|
||||
|
||||
virtual void serialize(std::wostream & _Wostream);
|
||||
};
|
||||
|
||||
CP_REGISTER_OFFICE_ELEMENT2(text_soft_page_break);
|
||||
|
||||
class text_section_attr
|
||||
@ -178,7 +174,7 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextSection;
|
||||
static const ElementType type = typeTextSection;
|
||||
|
||||
|
||||
virtual void create_child_element(const std::wstring & Ns, const std::wstring & Name);
|
||||
@ -190,9 +186,7 @@ public:
|
||||
|
||||
office_element_ptr text_section_source_;
|
||||
office_element_ptr_array content_;
|
||||
|
||||
};
|
||||
|
||||
CP_REGISTER_OFFICE_ELEMENT2(text_section);
|
||||
|
||||
class text_section_source_attr
|
||||
@ -215,7 +209,7 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextSectionSource;
|
||||
static const ElementType type = typeTextSectionSource;
|
||||
|
||||
|
||||
virtual void create_child_element(const std::wstring & Ns, const std::wstring & Name);
|
||||
@ -234,7 +228,7 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextTableOfContent;
|
||||
static const ElementType type = typeTextTableOfContent;
|
||||
|
||||
|
||||
|
||||
@ -266,8 +260,7 @@ public:
|
||||
|
||||
virtual void serialize(std::wostream & _Wostream);
|
||||
|
||||
office_element_ptr_array index_content_main_;
|
||||
|
||||
office_element_ptr_array index_content_main_;
|
||||
};
|
||||
|
||||
CP_REGISTER_OFFICE_ELEMENT2(text_index_body);
|
||||
@ -288,8 +281,7 @@ public:
|
||||
virtual void serialize(std::wostream & _Wostream);
|
||||
|
||||
text_section_attr text_section_attr_;
|
||||
office_element_ptr_array index_content_main_;
|
||||
|
||||
office_element_ptr_array index_content_main_;
|
||||
};
|
||||
CP_REGISTER_OFFICE_ELEMENT2(text_index_title);
|
||||
|
||||
@ -300,9 +292,7 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextUnknownChange;
|
||||
|
||||
|
||||
static const ElementType type = typeTextUnknownChange;
|
||||
|
||||
virtual void create_child_element (const std::wstring & Ns, const std::wstring & Name);
|
||||
virtual void add_child_element ( const office_element_ptr & child_element);
|
||||
@ -321,11 +311,10 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextInsertion;
|
||||
static const ElementType type = typeTextInsertion;
|
||||
|
||||
virtual void serialize(std::wostream & _Wostream);
|
||||
};
|
||||
|
||||
CP_REGISTER_OFFICE_ELEMENT2(text_insertion);
|
||||
|
||||
//---------------------------------------------------------------------------------------------------
|
||||
@ -335,11 +324,10 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextDeletion;
|
||||
static const ElementType type = typeTextDeletion;
|
||||
|
||||
virtual void serialize(std::wostream & _Wostream);
|
||||
};
|
||||
|
||||
CP_REGISTER_OFFICE_ELEMENT2(text_deletion);
|
||||
|
||||
//---------------------------------------------------------------------------------------------------
|
||||
@ -349,12 +337,11 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextFormatChange;
|
||||
static const ElementType type = typeTextFormatChange;
|
||||
|
||||
virtual void serialize(std::wostream & _Wostream);
|
||||
|
||||
_CP_OPT(std::wstring) text_style_name_; //не по снецификации ... но КАК сохранить то что было изменено в формате?????
|
||||
|
||||
};
|
||||
CP_REGISTER_OFFICE_ELEMENT2(text_format_change);
|
||||
|
||||
@ -365,8 +352,7 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextTrackedChanges;
|
||||
|
||||
static const ElementType type = typeTextTrackedChanges;
|
||||
|
||||
virtual void create_child_element (const std::wstring & Ns, const std::wstring & Name);
|
||||
virtual void add_child_element ( const office_element_ptr & child_element);
|
||||
@ -385,8 +371,7 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextChangedRegion;
|
||||
|
||||
static const ElementType type = typeTextChangedRegion;
|
||||
|
||||
virtual void create_child_element (const std::wstring & Ns, const std::wstring & Name);
|
||||
virtual void add_child_element ( const office_element_ptr & child_element);
|
||||
@ -403,19 +388,16 @@ class text_add_change : public office_element_impl<text_add_change>
|
||||
{
|
||||
public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
static const wchar_t * name;
|
||||
|
||||
|
||||
static const ElementType type = typeTextChange;
|
||||
|
||||
|
||||
static const ElementType type = typeTextChange;
|
||||
|
||||
virtual void create_child_element (const std::wstring & Ns, const std::wstring & Name){}
|
||||
virtual void add_child_element ( const office_element_ptr & child_element) {}
|
||||
virtual void create_child_element (const std::wstring & Ns, const std::wstring & Name){}
|
||||
virtual void add_child_element ( const office_element_ptr & child_element) {}
|
||||
|
||||
virtual void serialize(std::wostream & _Wostream) = 0;
|
||||
|
||||
_CP_OPT(std::wstring) text_change_id_;
|
||||
_CP_OPT(std::wstring) text_change_id_;
|
||||
};
|
||||
|
||||
//---------------------------------------------------------------------------------------------------
|
||||
@ -425,7 +407,7 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextChange;
|
||||
static const ElementType type = typeTextChange;
|
||||
|
||||
virtual void serialize(std::wostream & _Wostream);
|
||||
};
|
||||
@ -438,7 +420,7 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextChangeStart;
|
||||
static const ElementType type = typeTextChangeStart;
|
||||
|
||||
virtual void serialize(std::wostream & _Wostream);
|
||||
};
|
||||
@ -451,7 +433,7 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextChangeEnd;
|
||||
static const ElementType type = typeTextChangeEnd;
|
||||
|
||||
virtual void serialize(std::wostream & _Wostream);
|
||||
};
|
||||
@ -465,9 +447,7 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextTableIndex;
|
||||
|
||||
|
||||
static const ElementType type = typeTextTableIndex;
|
||||
|
||||
virtual void create_child_element (const std::wstring & Ns, const std::wstring & Name);
|
||||
virtual void add_child_element ( const office_element_ptr & child_element);
|
||||
@ -489,9 +469,7 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextIllustrationIndex;
|
||||
|
||||
|
||||
static const ElementType type = typeTextIllustrationIndex;
|
||||
|
||||
virtual void create_child_element (const std::wstring & Ns, const std::wstring & Name);
|
||||
virtual void add_child_element ( const office_element_ptr & child_element);
|
||||
@ -513,9 +491,7 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextAlphabeticalIndex;
|
||||
|
||||
|
||||
static const ElementType type = typeTextAlphabeticalIndex;
|
||||
|
||||
virtual void create_child_element (const std::wstring & Ns, const std::wstring & Name);
|
||||
virtual void add_child_element ( const office_element_ptr & child_element);
|
||||
@ -523,8 +499,8 @@ public:
|
||||
virtual void serialize(std::wostream & _Wostream);
|
||||
|
||||
odf_types::section_attlists section_attr_;
|
||||
office_element_ptr alphabetical_index_source_;
|
||||
office_element_ptr index_body_;
|
||||
office_element_ptr alphabetical_index_source_;
|
||||
office_element_ptr index_body_;
|
||||
|
||||
};
|
||||
CP_REGISTER_OFFICE_ELEMENT2(text_alphabetical_index);
|
||||
@ -537,9 +513,7 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextUserIndex;
|
||||
|
||||
|
||||
static const ElementType type = typeTextUserIndex;
|
||||
|
||||
virtual void create_child_element (const std::wstring & Ns, const std::wstring & Name);
|
||||
virtual void add_child_element ( const office_element_ptr & child_element);
|
||||
@ -547,8 +521,8 @@ public:
|
||||
virtual void serialize(std::wostream & _Wostream);
|
||||
|
||||
odf_types::section_attlists section_attr_;
|
||||
office_element_ptr user_index_source_;
|
||||
office_element_ptr index_body_;
|
||||
office_element_ptr user_index_source_;
|
||||
office_element_ptr index_body_;
|
||||
|
||||
};
|
||||
CP_REGISTER_OFFICE_ELEMENT2(text_user_index);
|
||||
@ -561,9 +535,7 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextBibliography;
|
||||
|
||||
|
||||
static const ElementType type = typeTextBibliography;
|
||||
|
||||
virtual void create_child_element (const std::wstring & Ns, const std::wstring & Name);
|
||||
virtual void add_child_element ( const office_element_ptr & child_element);
|
||||
@ -571,8 +543,8 @@ public:
|
||||
virtual void serialize(std::wostream & _Wostream);
|
||||
|
||||
odf_types::section_attlists section_attr_;
|
||||
office_element_ptr bibliography_source_;
|
||||
office_element_ptr index_body_;
|
||||
office_element_ptr bibliography_source_;
|
||||
office_element_ptr index_body_;
|
||||
};
|
||||
CP_REGISTER_OFFICE_ELEMENT2(text_bibliography);
|
||||
//------------------------------------------------------------------------------------------------------------
|
||||
@ -603,8 +575,7 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextCommonEntryTemplate;
|
||||
|
||||
static const ElementType type = typeTextCommonEntryTemplate;
|
||||
|
||||
virtual void create_child_element (const std::wstring & Ns, const std::wstring & Name);
|
||||
virtual void add_child_element ( const office_element_ptr & child_element);
|
||||
@ -624,8 +595,7 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextBibliographyEntryTemplate;
|
||||
|
||||
static const ElementType type = typeTextBibliographyEntryTemplate;
|
||||
|
||||
virtual void serialize(std::wostream & _Wostream);
|
||||
|
||||
@ -639,8 +609,7 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextIndexTitleTemplate;
|
||||
|
||||
static const ElementType type = typeTextIndexTitleTemplate;
|
||||
|
||||
virtual void create_child_element (const std::wstring & Ns, const std::wstring & Name){}
|
||||
virtual void add_child_element ( const office_element_ptr & child_element){}
|
||||
@ -660,8 +629,7 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextSequenceDecl;
|
||||
|
||||
static const ElementType type = typeTextSequenceDecl;
|
||||
|
||||
virtual void create_child_element (const std::wstring & Ns, const std::wstring & Name){}
|
||||
virtual void add_child_element ( const office_element_ptr & child_element){}
|
||||
@ -682,8 +650,7 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextSequenceDecls;
|
||||
|
||||
static const ElementType type = typeTextSequenceDecls;
|
||||
|
||||
virtual void create_child_element (const std::wstring & Ns, const std::wstring & Name);
|
||||
virtual void add_child_element ( const office_element_ptr & child_element);
|
||||
@ -702,8 +669,7 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextTableOfContentSource;
|
||||
|
||||
static const ElementType type = typeTextTableOfContentSource;
|
||||
|
||||
virtual void create_child_element (const std::wstring & Ns, const std::wstring & Name);
|
||||
virtual void add_child_element ( const office_element_ptr & child_element);
|
||||
@ -732,8 +698,7 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextTableOfContentEntryTemplate;
|
||||
|
||||
static const ElementType type = typeTextTableOfContentEntryTemplate;
|
||||
};
|
||||
CP_REGISTER_OFFICE_ELEMENT2(text_table_of_content_entry_template);
|
||||
//---------------------------------------------------------------------------------------------------
|
||||
@ -745,7 +710,7 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextIndexEntryBibliography;
|
||||
static const ElementType type = typeTextIndexEntryBibliography;
|
||||
|
||||
|
||||
virtual void create_child_element (const std::wstring & Ns, const std::wstring & Name){}
|
||||
@ -753,8 +718,8 @@ public:
|
||||
|
||||
virtual void serialize(std::wostream & _Wostream);
|
||||
|
||||
_CP_OPT(std::wstring) style_name_;
|
||||
_CP_OPT(std::wstring) bibliography_data_field_;
|
||||
_CP_OPT(std::wstring) style_name_;
|
||||
_CP_OPT(std::wstring) bibliography_data_field_;
|
||||
};
|
||||
CP_REGISTER_OFFICE_ELEMENT2(text_index_entry_bibliography);
|
||||
//---------------------------------------------------------------------------------------------------
|
||||
@ -766,8 +731,7 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextIndexEntryChapter;
|
||||
|
||||
static const ElementType type = typeTextIndexEntryChapter;
|
||||
|
||||
virtual void create_child_element (const std::wstring & Ns, const std::wstring & Name){}
|
||||
virtual void add_child_element ( const office_element_ptr & child_element){}
|
||||
@ -784,8 +748,7 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextIndexEntryLinkEnd;
|
||||
|
||||
static const ElementType type = typeTextIndexEntryLinkEnd;
|
||||
|
||||
virtual void create_child_element (const std::wstring & Ns, const std::wstring & Name){}
|
||||
virtual void add_child_element ( const office_element_ptr & child_element){}
|
||||
@ -802,8 +765,7 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextIndexEntryLinkStart;
|
||||
|
||||
static const ElementType type = typeTextIndexEntryLinkStart;
|
||||
|
||||
virtual void create_child_element (const std::wstring & Ns, const std::wstring & Name){}
|
||||
virtual void add_child_element ( const office_element_ptr & child_element){}
|
||||
@ -820,8 +782,7 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextIndexEntryPageNumber;
|
||||
|
||||
static const ElementType type = typeTextIndexEntryPageNumber;
|
||||
|
||||
virtual void create_child_element (const std::wstring & Ns, const std::wstring & Name){}
|
||||
virtual void add_child_element ( const office_element_ptr & child_element){}
|
||||
@ -838,8 +799,7 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextIndexEntrySpan;
|
||||
|
||||
static const ElementType type = typeTextIndexEntrySpan;
|
||||
|
||||
virtual void create_child_element (const std::wstring & Ns, const std::wstring & Name){}
|
||||
virtual void add_child_element ( const office_element_ptr & child_element){}
|
||||
@ -856,11 +816,10 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextIndexEntryTabStop;
|
||||
static const ElementType type = typeTextIndexEntryTabStop;
|
||||
|
||||
|
||||
virtual void create_child_element (const std::wstring & Ns, const std::wstring & Name){}
|
||||
virtual void add_child_element ( const office_element_ptr & child_element){}
|
||||
virtual void create_child_element (const std::wstring & Ns, const std::wstring & Name){}
|
||||
virtual void add_child_element ( const office_element_ptr & child_element){}
|
||||
|
||||
virtual void serialize(std::wostream & _Wostream);
|
||||
};
|
||||
@ -874,11 +833,10 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextIndexEntryText;
|
||||
static const ElementType type = typeTextIndexEntryText;
|
||||
|
||||
|
||||
virtual void create_child_element (const std::wstring & Ns, const std::wstring & Name){}
|
||||
virtual void add_child_element ( const office_element_ptr & child_element){}
|
||||
virtual void create_child_element (const std::wstring & Ns, const std::wstring & Name){}
|
||||
virtual void add_child_element ( const office_element_ptr & child_element){}
|
||||
|
||||
virtual void serialize(std::wostream & _Wostream);
|
||||
};
|
||||
@ -892,16 +850,15 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextIllustrationIndexSource;
|
||||
static const ElementType type = typeTextIllustrationIndexSource;
|
||||
|
||||
|
||||
virtual void create_child_element (const std::wstring & Ns, const std::wstring & Name);
|
||||
virtual void add_child_element ( const office_element_ptr & child_element);
|
||||
virtual void create_child_element (const std::wstring & Ns, const std::wstring & Name);
|
||||
virtual void add_child_element ( const office_element_ptr & child_element);
|
||||
|
||||
virtual void serialize(std::wostream & _Wostream);
|
||||
|
||||
_CP_OPT(std::wstring) caption_sequence_name_;
|
||||
_CP_OPT(std::wstring) caption_sequence_format_;
|
||||
_CP_OPT(std::wstring) caption_sequence_name_;
|
||||
_CP_OPT(std::wstring) caption_sequence_format_;
|
||||
|
||||
_CP_OPT(odf_types::Bool) relative_tab_stop_position_;
|
||||
_CP_OPT(odf_types::Bool) use_caption_;
|
||||
@ -920,8 +877,7 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextIllustrationIndexEntryTemplate;
|
||||
|
||||
static const ElementType type = typeTextIllustrationIndexEntryTemplate;
|
||||
};
|
||||
CP_REGISTER_OFFICE_ELEMENT2(text_illustration_index_entry_template);
|
||||
//---------------------------------------------------------------------------------------------------
|
||||
@ -933,8 +889,7 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextUserIndexSource;
|
||||
|
||||
static const ElementType type = typeTextUserIndexSource;
|
||||
|
||||
virtual void create_child_element (const std::wstring & Ns, const std::wstring & Name);
|
||||
virtual void add_child_element ( const office_element_ptr & child_element);
|
||||
@ -968,8 +923,7 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextUserIndexEntryTemplate;
|
||||
|
||||
static const ElementType type = typeTextUserIndexEntryTemplate;
|
||||
};
|
||||
CP_REGISTER_OFFICE_ELEMENT2(text_user_index_entry_template);
|
||||
//---------------------------------------------------------------------------------------------------
|
||||
@ -1020,7 +974,7 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextAlphabeticalIndexEntryTemplate;
|
||||
static const ElementType type = typeTextAlphabeticalIndexEntryTemplate;
|
||||
|
||||
};
|
||||
CP_REGISTER_OFFICE_ELEMENT2(text_alphabetical_index_entry_template);
|
||||
@ -1033,7 +987,7 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextTableIndexSource;
|
||||
static const ElementType type = typeTextTableIndexSource;
|
||||
|
||||
|
||||
virtual void create_child_element (const std::wstring & Ns, const std::wstring & Name);
|
||||
@ -1061,7 +1015,7 @@ public:
|
||||
static const wchar_t * ns;
|
||||
static const wchar_t * name;
|
||||
|
||||
static const ElementType type = typeTextTableIndexEntryTemplate;
|
||||
static const ElementType type = typeTextTableIndexEntryTemplate;
|
||||
|
||||
};
|
||||
CP_REGISTER_OFFICE_ELEMENT2(text_table_index_entry_template);
|
||||
|
||||
Reference in New Issue
Block a user