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

(1.2.0.56): ASCOfficeOdfFileW

группы шейпов
правки ошибок по результатам тестирования

git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@56464 954022d7-b5bf-4e40-9824-e11837661b57
parent 42466507
...@@ -198,7 +198,6 @@ static const def_language_code LanguageCodeTable[] = ...@@ -198,7 +198,6 @@ static const def_language_code LanguageCodeTable[] =
odf_number_styles_context::odf_number_styles_context() odf_number_styles_context::odf_number_styles_context()
{ {
create_default(0);
} }
void odf_number_styles_context::set_odf_context(odf_conversion_context * Context) void odf_number_styles_context::set_odf_context(odf_conversion_context * Context)
{ {
......
...@@ -22,7 +22,10 @@ void calculate_size_font_symbols(_font_metrix & metrix) ...@@ -22,7 +22,10 @@ void calculate_size_font_symbols(_font_metrix & metrix)
double appr_px = 0;//(int)_gdi_graphics_::calculate_size_symbol_asc(metrix.font_name,metrix.font_size,metrix.italic,metrix.bold); double appr_px = 0;//(int)_gdi_graphics_::calculate_size_symbol_asc(metrix.font_name,metrix.font_size,metrix.italic,metrix.bold);
if (appr_px <0.01) if (appr_px <0.01)
appr_px = (int)_gdi_graphics_::calculate_size_symbol(metrix.font_name,metrix.font_size,false/*metrix.italic*/,false/*metrix.bold*/); {
appr_px = /*(int)*/_gdi_graphics_::calculate_size_symbol(metrix.font_name,metrix.font_size,false/*metrix.italic*/,false/*metrix.bold*/);
appr_px = ((int)(appr_px+0.5) + 2*(int)appr_px)/3.;
}
if (appr_px > 0) if (appr_px > 0)
{ {
......
...@@ -689,10 +689,42 @@ void OoxConverter::convert(OOX::Drawing::CRunProperty * oox_run_pr, odf::style_t ...@@ -689,10 +689,42 @@ void OoxConverter::convert(OOX::Drawing::CRunProperty * oox_run_pr, odf::style_t
{ {
text_properties->content().fo_letter_spacing_ = odf::letter_spacing(odf::length(oox_run_pr->m_oSpace->GetValue()/100., odf::length::pt)); text_properties->content().fo_letter_spacing_ = odf::letter_spacing(odf::length(oox_run_pr->m_oSpace->GetValue()/100., odf::length::pt));
} }
//if (oox_run_pr->m_oUnderline.IsInit()) if (oox_run_pr->m_oUnderline.IsInit())
//{ {
// convert_element ???? text_properties->content().style_text_underline_style_ = odf::line_style(odf::line_style::Solid);
//} text_properties->content().style_text_underline_type_= odf::line_type(odf::line_type::Single);
SimpleTypes::EUnderline type = oox_run_pr->m_oUnderline->GetValue();
switch(type)
{
case SimpleTypes::underlineNone :
text_properties->content().style_text_underline_type_= odf::line_type(odf::line_type::None);break;
case SimpleTypes::underlineDash :
case SimpleTypes::underlineDashedHeavy:
text_properties->content().style_text_underline_style_ = odf::line_style(odf::line_style::Dash);break;
case SimpleTypes::underlineDotDash :
case SimpleTypes::underlineDashDotHeavy:
text_properties->content().style_text_underline_style_ = odf::line_style(odf::line_style::DotDash);break;
case SimpleTypes::underlineDashLong:
case SimpleTypes::underlineDashLongHeavy:
text_properties->content().style_text_underline_style_ = odf::line_style(odf::line_style::LongDash);break;
case SimpleTypes::underlineDotDotDash:
case SimpleTypes::underlineDashDotDotHeavy :
text_properties->content().style_text_underline_style_ = odf::line_style(odf::line_style::DotDotDash);break;
case SimpleTypes::underlineDotted:
case SimpleTypes::underlineDottedHeavy:
text_properties->content().style_text_underline_style_ = odf::line_style(odf::line_style::Dotted);break;
case SimpleTypes::underlineWave :
case SimpleTypes::underlineWavyHeavy :
text_properties->content().style_text_underline_style_ = odf::line_style(odf::line_style::Wave);break;
case SimpleTypes::underlineDouble :
case SimpleTypes::underlineThick :
text_properties->content().style_text_underline_type_= odf::line_type(odf::line_type::Double);break;
case SimpleTypes::underlineWavyDouble :
text_properties->content().style_text_underline_type_= odf::line_type(odf::line_type::Double);
text_properties->content().style_text_underline_style_ = odf::line_style(odf::line_style::Wave);break;
}
}
} }
void OoxConverter::convert(OOX::Drawing::CRun *oox_run) void OoxConverter::convert(OOX::Drawing::CRun *oox_run)
{ {
......
...@@ -488,9 +488,27 @@ void XlsxConverter::convert(OOX::Spreadsheet::CRPr *oox_run_pr) ...@@ -488,9 +488,27 @@ void XlsxConverter::convert(OOX::Spreadsheet::CRPr *oox_run_pr)
} }
convert(oox_run_pr->m_oColor.GetPointer(),text_properties->content().fo_color_); convert(oox_run_pr->m_oColor.GetPointer(),text_properties->content().fo_color_);
text_properties->content().style_text_underline_type_= odf::line_type(odf::line_type::None);
if (oox_run_pr->m_oUnderline.IsInit()) if (oox_run_pr->m_oUnderline.IsInit())
{ {
//convert_element ???? text_properties->content().style_text_underline_style_ = odf::line_style(odf::line_style::Solid);
text_properties->content().style_text_underline_type_= odf::line_type(odf::line_type::Single);
if (oox_run_pr->m_oUnderline->m_oUnderline.IsInit())
{
SimpleTypes::Spreadsheet::EUnderline type = oox_run_pr->m_oUnderline->m_oUnderline->GetValue();
switch(type)
{
case SimpleTypes::Spreadsheet::underlineDouble :
case SimpleTypes::Spreadsheet::underlineDoubleAccounting :
text_properties->content().style_text_underline_type_= odf::line_type(odf::line_type::Double);break;
case SimpleTypes::Spreadsheet::underlineNone :
text_properties->content().style_text_underline_type_= odf::line_type(odf::line_type::None);break;
case SimpleTypes::Spreadsheet::underlineSingle :
case SimpleTypes::Spreadsheet::underlineSingleAccounting :
text_properties->content().style_text_underline_type_= odf::line_type(odf::line_type::Single);break;
}
}
} }
if (oox_run_pr->m_oItalic.IsInit()) if (oox_run_pr->m_oItalic.IsInit())
{ {
...@@ -513,13 +531,22 @@ void XlsxConverter::convert(OOX::Spreadsheet::CRPr *oox_run_pr) ...@@ -513,13 +531,22 @@ void XlsxConverter::convert(OOX::Spreadsheet::CRPr *oox_run_pr)
text_properties->content().fo_font_family_ = string2std_string(oox_run_pr->m_oRFont->m_sVal.get()); text_properties->content().fo_font_family_ = string2std_string(oox_run_pr->m_oRFont->m_sVal.get());
} }
if (oox_run_pr->m_oScheme.IsInit() && oox_run_pr->m_oScheme->m_oFontScheme.IsInit())
//convert(oox_run_pr->m_oVertAlign.GetPointer(),... {
SimpleTypes::Spreadsheet::EFontScheme type = oox_run_pr->m_oScheme->m_oFontScheme->GetValue();
if (type == SimpleTypes::Spreadsheet::fontschemeMajor)
{
text_properties->content().style_text_position_ = odf::text_position(+33.);
}
if (type == SimpleTypes::Spreadsheet::fontschemeMinor)
{
text_properties->content().style_text_position_ = odf::text_position(-33.);
}
}
//nullable<CCharset> m_oCharset; //nullable<CCharset> m_oCharset;
//nullable<ComplexTypes::Spreadsheet::COnOff2<SimpleTypes::onoffTrue> > m_oCondense; //nullable<ComplexTypes::Spreadsheet::COnOff2<SimpleTypes::onoffTrue> > m_oCondense;
//nullable<ComplexTypes::Spreadsheet::COnOff2<SimpleTypes::onoffTrue> > m_oExtend; //nullable<ComplexTypes::Spreadsheet::COnOff2<SimpleTypes::onoffTrue> > m_oExtend;
//nullable<ComplexTypes::Spreadsheet::COnOff2<SimpleTypes::onoffTrue> > m_oOutline; //nullable<ComplexTypes::Spreadsheet::COnOff2<SimpleTypes::onoffTrue> > m_oOutline;
//nullable<CFontScheme> m_oScheme;
//nullable<ComplexTypes::Spreadsheet::COnOff2<SimpleTypes::onoffTrue> > m_oShadow; //nullable<ComplexTypes::Spreadsheet::COnOff2<SimpleTypes::onoffTrue> > m_oShadow;
//nullable<ComplexTypes::Spreadsheet::COnOff2<SimpleTypes::onoffTrue> > m_oStrike; //nullable<ComplexTypes::Spreadsheet::COnOff2<SimpleTypes::onoffTrue> > m_oStrike;
...@@ -752,9 +779,26 @@ void XlsxConverter::convert(OOX::Spreadsheet::CFont * font, odf::style_text_prop ...@@ -752,9 +779,26 @@ void XlsxConverter::convert(OOX::Spreadsheet::CFont * font, odf::style_text_prop
convert(font->m_oColor.GetPointer(),text_properties->content().fo_color_); convert(font->m_oColor.GetPointer(),text_properties->content().fo_color_);
if (font->m_oUnderline.IsInit()) if (font->m_oUnderline.IsInit() )
{ {
//convert_element ???? text_properties->content().style_text_underline_style_ = odf::line_style(odf::line_style::Solid);
text_properties->content().style_text_underline_type_= odf::line_type(odf::line_type::Single);
if (font->m_oUnderline->m_oUnderline.IsInit())
{
SimpleTypes::Spreadsheet::EUnderline type = font->m_oUnderline->m_oUnderline->GetValue();
switch(type)
{
case SimpleTypes::Spreadsheet::underlineDouble :
case SimpleTypes::Spreadsheet::underlineDoubleAccounting :
text_properties->content().style_text_underline_type_= odf::line_type(odf::line_type::Double);break;
case SimpleTypes::Spreadsheet::underlineNone :
text_properties->content().style_text_underline_type_= odf::line_type(odf::line_type::None);break;
case SimpleTypes::Spreadsheet::underlineSingle :
case SimpleTypes::Spreadsheet::underlineSingleAccounting :
text_properties->content().style_text_underline_type_= odf::line_type(odf::line_type::Single);break;
}
}
} }
if (font->m_oItalic.IsInit() && (font->m_oItalic->m_oVal.ToBool() ==true))font_italic = true; if (font->m_oItalic.IsInit() && (font->m_oItalic->m_oVal.ToBool() ==true))font_italic = true;
...@@ -777,15 +821,23 @@ void XlsxConverter::convert(OOX::Spreadsheet::CFont * font, odf::style_text_prop ...@@ -777,15 +821,23 @@ void XlsxConverter::convert(OOX::Spreadsheet::CFont * font, odf::style_text_prop
{ {
font_name = string2std_string(font->m_oRFont->m_sVal.get()); font_name = string2std_string(font->m_oRFont->m_sVal.get());
text_properties->content().fo_font_family_ = font_name; text_properties->content().fo_font_family_ = font_name;
//text_properties->content().style_font_name_asian_ = font_name;
//text_properties->content().style_font_name_complex_ = font_name;
text_properties->content().style_font_family_asian_ = font_name; text_properties->content().style_font_family_asian_ = font_name;
text_properties->content().style_font_family_complex_ = font_name; text_properties->content().style_font_family_complex_ = font_name;
} }
if (font->m_oScheme.IsInit() && font->m_oScheme->m_oFontScheme.IsInit())
{
SimpleTypes::Spreadsheet::EFontScheme type = font->m_oScheme->m_oFontScheme->GetValue();
if (type == SimpleTypes::Spreadsheet::fontschemeMajor)
{
text_properties->content().style_text_position_ = odf::text_position(+33.);
}
if (type == SimpleTypes::Spreadsheet::fontschemeMinor)
{
text_properties->content().style_text_position_ = odf::text_position(-33.);
}
}
ods_context->calculate_font_metrix(font_name,font_size,font_italic,font_bold); ods_context->calculate_font_metrix(font_name,font_size,font_italic,font_bold);
/////
//...
/////
} }
void XlsxConverter::convert(double oox_size, _CP_OPT(odf::length) & odf_size) void XlsxConverter::convert(double oox_size, _CP_OPT(odf::length) & odf_size)
...@@ -1244,7 +1296,10 @@ void XlsxConverter::convert(OOX::Spreadsheet::CCellAnchor *oox_anchor) ...@@ -1244,7 +1296,10 @@ void XlsxConverter::convert(OOX::Spreadsheet::CCellAnchor *oox_anchor)
{ {
convert(oox_anchor->m_oGraphicFrame.GetPointer()); convert(oox_anchor->m_oGraphicFrame.GetPointer());
} }
else if (oox_anchor->m_oGraphicFrame.IsInit())//chart
{
convert(oox_anchor->m_oGraphicFrame.GetPointer());
}
} }
void XlsxConverter::convert(OOX::Spreadsheet::CDrawing *oox_drawing) void XlsxConverter::convert(OOX::Spreadsheet::CDrawing *oox_drawing)
......
...@@ -88,7 +88,7 @@ namespace _gdi_graphics_ ...@@ -88,7 +88,7 @@ namespace _gdi_graphics_
ULONG_PTR gdiplusToken=0; ULONG_PTR gdiplusToken=0;
Gdiplus::GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL); Gdiplus::GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
//// ////
std::wstring test_string = L"0123456789abcdefg"; std::wstring test_string = L"0123456789";
int style = Gdiplus::FontStyleRegular; int style = Gdiplus::FontStyleRegular;
if (bold && italic) style = Gdiplus::FontStyleBoldItalic; if (bold && italic) style = Gdiplus::FontStyleBoldItalic;
......
...@@ -2,6 +2,6 @@ ...@@ -2,6 +2,6 @@
//1 //1
//2 //2
//0 //0
//55 //56
#define INTVER 1,2,0,55 #define INTVER 1,2,0,56
#define STRVER "1,2,0,55\0" #define STRVER "1,2,0,56\0"
...@@ -136,6 +136,8 @@ namespace OOX ...@@ -136,6 +136,8 @@ namespace OOX
m_oShape = oShapeReader; m_oShape = oShapeReader;
else if (_T("xdr:cxnSp") == sName) else if (_T("xdr:cxnSp") == sName)
m_oConnShape = oShapeReader; m_oConnShape = oShapeReader;
else if (_T("xdr:grpSp") == sName)
m_oGroupShape = oShapeReader;
} }
} }
} }
...@@ -175,6 +177,7 @@ namespace OOX ...@@ -175,6 +177,7 @@ namespace OOX
nullable<OOX::Spreadsheet::CExt> m_oExt; nullable<OOX::Spreadsheet::CExt> m_oExt;
nullable<OOX::Spreadsheet::CGraphicFrame> m_oGraphicFrame; nullable<OOX::Spreadsheet::CGraphicFrame> m_oGraphicFrame;
nullable<OOX::Spreadsheet::CPic> m_oPicture; nullable<OOX::Spreadsheet::CPic> m_oPicture;
nullable<OOX::Spreadsheet::CGroupShape> m_oGroupShape;
nullable<OOX::Spreadsheet::CShape> m_oShape; nullable<OOX::Spreadsheet::CShape> m_oShape;
nullable<OOX::Spreadsheet::CConnShape> m_oConnShape; nullable<OOX::Spreadsheet::CConnShape> m_oConnShape;
nullable<CString> m_oXml; nullable<CString> m_oXml;
......
...@@ -129,7 +129,67 @@ namespace OOX ...@@ -129,7 +129,67 @@ namespace OOX
nullable<OOX::Drawing::COfficeArtExtensionList> m_oExtLst; nullable<OOX::Drawing::COfficeArtExtensionList> m_oExtLst;
nullable<OOX::Drawing::CPictureLocking> m_oSpLocks;//todo CShapeLocking nullable<OOX::Drawing::CPictureLocking> m_oSpLocks;//todo CShapeLocking
}; };
//--------------------------------------------------------------------------------
// 20.5.2.6 cNvGrpSpPr (Non-Visual Group Shape Drawing Properties)
//--------------------------------------------------------------------------------
class CNonVisualGroupShapeDrawingProps : public WritingElement
{
public:
WritingElementSpreadsheet_AdditionConstructors(CNonVisualGroupShapeDrawingProps)
CNonVisualGroupShapeDrawingProps()
{
}
virtual ~CNonVisualGroupShapeDrawingProps()
{
}
public:
virtual CString toXML() const
{
return _T("");
}
virtual void toXML(XmlUtils::CStringWriter& writer) const
{
}
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{
ReadAttributes( oReader );
if ( oReader.IsEmptyNode() )
return;
int nCurDepth = oReader.GetDepth();
while( oReader.ReadNextSiblingNode( nCurDepth ) )
{
CWCharWrapper sName = oReader.GetName();
sName = oReader.GetName();
if ( _T("a:extLst") == sName )
m_oExtLst = oReader;
//else ( _T("a:grpSpLocks") == sName )
// m_oSpLocks = oReader;
}
}
virtual EElementType getType () const
{
return et_NonVisualGroupShapeDrawingProps;
}
private:
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{
WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_End( oReader )
}
public:
// Attributes
SimpleTypes::COnOff<SimpleTypes::onoffFalse> m_otxBox;
// Childs
nullable<OOX::Drawing::COfficeArtExtensionList> m_oExtLst;
//nullable<OOX::Drawing::CPictureLocking> m_oSpLocks;//todo grpSpLocks
};
//-------------------------------------------------------------------------------- //--------------------------------------------------------------------------------
// 20.5.2.23 nvSpPr (Non-Visual Properties for a Shape) // 20.5.2.23 nvSpPr (Non-Visual Properties for a Shape)
//-------------------------------------------------------------------------------- //--------------------------------------------------------------------------------
...@@ -312,6 +372,70 @@ namespace OOX ...@@ -312,6 +372,70 @@ namespace OOX
nullable<OOX::Drawing::CPictureLocking> m_oPicLocks; nullable<OOX::Drawing::CPictureLocking> m_oPicLocks;
}; };
//--------------------------------------------------------------------------------
// 20.5.2.18 grpSpPr (Group Shape Properties)
//--------------------------------------------------------------------------------
class CGroupShapeProperties : public WritingElement
{
public:
WritingElementSpreadsheet_AdditionConstructors(CGroupShapeProperties)
CGroupShapeProperties()
{
}
virtual ~CGroupShapeProperties()
{
}
public:
virtual CString toXML() const
{
return _T("");
}
virtual void toXML(XmlUtils::CStringWriter& writer) const
{
}
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{
ReadAttributes( oReader );
if ( oReader.IsEmptyNode() )
return;
int nCurDepth = oReader.GetDepth();
while( oReader.ReadNextSiblingNode( nCurDepth ) )
{
CWCharWrapper sName = oReader.GetName();
//if ( _T("xdr:cNvCxnSpPr") == sName )
// m_oCNvConnSpPr = oReader;
//else if ( _T("xdr:cNvPr") == sName )
// m_oCNvPr = oReader;
}
}
virtual EElementType getType () const
{
return et_GroupShapeProperties;
}
private:
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{
WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_End( oReader )
}
public:
// Childs
//blipFill (Picture Fill) 20.1.8.14
//effectDag (Effect Container) 20.1.8.25
//effectLst (Effect Container) 20.1.8.26
//extLst (Extension List) 20.1.2.2.15
//gradFill (Gradient Fill) 20.1.8.33
//grpFill (Group Fill) 20.1.8.35
//noFill (No Fill) 20.1.8.44
//pattFill (Pattern Fill) 20.1.8.47
};
//-------------------------------------------------------------------------------- //--------------------------------------------------------------------------------
// 20.5.2.19 nvCxnSpPr (Non-Visual Properties for a Connection Shape) // 20.5.2.19 nvCxnSpPr (Non-Visual Properties for a Connection Shape)
//-------------------------------------------------------------------------------- //--------------------------------------------------------------------------------
...@@ -370,7 +494,6 @@ namespace OOX ...@@ -370,7 +494,6 @@ namespace OOX
nullable<OOX::Drawing::CNonVisualDrawingProps> m_oCNvPr; nullable<OOX::Drawing::CNonVisualDrawingProps> m_oCNvPr;
}; };
//-------------------------------------------------------------------------------- //--------------------------------------------------------------------------------
//20.5.2.13 cxnSp (Connection Shape) //20.5.2.13 cxnSp (Connection Shape)
//-------------------------------------------------------------------------------- //--------------------------------------------------------------------------------
...@@ -427,6 +550,130 @@ namespace OOX ...@@ -427,6 +550,130 @@ namespace OOX
nullable<OOX::Drawing::CShapeProperties> m_oSpPr; nullable<OOX::Drawing::CShapeProperties> m_oSpPr;
nullable<OOX::Drawing::CShapeStyle> m_oShapeStyle; nullable<OOX::Drawing::CShapeStyle> m_oShapeStyle;
}; };
//--------------------------------------------------------------------------------
// 20.5.2.21 nvGrpSpPr (Non-Visual Properties for a Group Shape)
//--------------------------------------------------------------------------------
class CGroupShapeNonVisual : public WritingElement
{
public:
WritingElementSpreadsheet_AdditionConstructors(CGroupShapeNonVisual)
CGroupShapeNonVisual()
{
}
virtual ~CGroupShapeNonVisual()
{
}
public:
virtual CString toXML() const
{
return _T("");
}
virtual void toXML(XmlUtils::CStringWriter& writer) const
{
}
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{
ReadAttributes( oReader );
if ( oReader.IsEmptyNode() )
return;
int nCurDepth = oReader.GetDepth();
while( oReader.ReadNextSiblingNode( nCurDepth ) )
{
CWCharWrapper sName = oReader.GetName();
if ( _T("xdr:cNvGrpSpPr") == sName )
m_oCNvGroupSpPr = oReader;
else if ( _T("xdr:cNvPr") == sName )
m_oCNvPr = oReader;
}
}
virtual EElementType getType () const
{
return et_GroupShapeNonVisual;
}
private:
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{
WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_End( oReader )
}
public:
// Childs
nullable<CNonVisualGroupShapeDrawingProps> m_oCNvGroupSpPr;
nullable<OOX::Drawing::CNonVisualDrawingProps> m_oCNvPr;
};
//--------------------------------------------------------------------------------
// 20.5.2.17 grpSp (Group Shape)
//--------------------------------------------------------------------------------
class CGroupShape : public WritingElementWithChilds<WritingElement>
{
public:
WritingElementSpreadsheet_AdditionConstructors(CGroupShape)
CGroupShape()
{
}
virtual ~CGroupShape()
{
}
public:
virtual CString toXML() const
{
return _T("");
}
virtual void toXML(XmlUtils::CStringWriter& writer) const
{
}
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{
ReadAttributes( oReader );
if ( oReader.IsEmptyNode() )
return;
int nCurDepth = oReader.GetDepth();
while( oReader.ReadNextSiblingNode( nCurDepth ) )
{
CWCharWrapper sName = oReader.GetName();
if ( _T("xdr:nvGrpSpPr") == sName )
m_oNvGroupSpPr = oReader;
//else if ( _T("xdr:grpSpPr") == sName )
// m_oGroupSpPr = oReader;
else if ( _T("xdr:sp") == sName )
m_arrItems.Add( new OOX::Spreadsheet::CShape( oReader ));
else if ( _T("xdr:cxnSp") == sName )
m_arrItems.Add( new OOX::Spreadsheet::CConnShape( oReader ));
else if ( _T("xdr:graphicFrame") == sName )
m_arrItems.Add( new OOX::Spreadsheet::CGraphicFrame( oReader ));
else if ( _T("xdr:pic") == sName )
m_arrItems.Add( new OOX::Spreadsheet::CPic( oReader ));
else if ( _T("xdr:grpSp") == sName )
m_arrItems.Add( new OOX::Spreadsheet::CGroupShape( oReader ));
}
}
virtual EElementType getType () const
{
return et_GroupShape;
}
private:
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{
}
public:
//nullable<OOX::Drawing::CGroupShapeProperties> m_oGroupSpPr;
nullable<CGroupShapeNonVisual> m_oNvGroupSpPr;
};
} //Spreadsheet } //Spreadsheet
} // namespace OOX } // namespace OOX
......
...@@ -306,10 +306,14 @@ namespace Spreadsheet ...@@ -306,10 +306,14 @@ namespace Spreadsheet
et_ShapeProperties, et_ShapeProperties,
et_ShapeNonVisual, et_ShapeNonVisual,
et_ShapeStyle, et_ShapeStyle,
et_GroupShape,
et_Shape, et_Shape,
et_ConnShape, et_ConnShape,
et_ShapeTextBody, et_ShapeTextBody,
et_ConnShapeNonVisual, et_ConnShapeNonVisual,
et_GroupShapeNonVisual,
et_GroupShapeProperties,
et_NonVisualGroupShapeDrawingProps,
et_ConnectionNonVisualConnShapeProps, et_ConnectionNonVisualConnShapeProps,
et_GraphicFrameNonVisual, et_GraphicFrameNonVisual,
et_ConnectionNonVisualGraphicFrameProps, et_ConnectionNonVisualGraphicFrameProps,
......
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