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

XlsFile2 bug 24747

git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@63981 954022d7-b5bf-4e40-9824-e11837661b57
parent 9c84b61c
...@@ -29,7 +29,10 @@ void DefColWidth::writeFields(CFRecord& record) ...@@ -29,7 +29,10 @@ void DefColWidth::writeFields(CFRecord& record)
void DefColWidth::readFields(CFRecord& record) void DefColWidth::readFields(CFRecord& record)
{ {
GlobalWorkbookInfoPtr global_info = record.getGlobalWorkbookInfo();
record >> cchdefColWidth; record >> cchdefColWidth;
global_info->defaultColumnWidth = cchdefColWidth ;
} }
} // namespace XLS } // namespace XLS
......
...@@ -41,6 +41,8 @@ void DefaultRowHeight::writeFields(CFRecord& record) ...@@ -41,6 +41,8 @@ void DefaultRowHeight::writeFields(CFRecord& record)
void DefaultRowHeight::readFields(CFRecord& record) void DefaultRowHeight::readFields(CFRecord& record)
{ {
GlobalWorkbookInfoPtr global_info = record.getGlobalWorkbookInfo();
unsigned short flags; unsigned short flags;
record >> flags; record >> flags;
fUnsynced = GETBIT(flags, 0); fUnsynced = GETBIT(flags, 0);
...@@ -50,10 +52,12 @@ void DefaultRowHeight::readFields(CFRecord& record) ...@@ -50,10 +52,12 @@ void DefaultRowHeight::readFields(CFRecord& record)
if(!fDyZero) if(!fDyZero)
{ {
record >> miyRw; record >> miyRw;
global_info->defaultRowHeight = miyRw / 20.;
} }
else else
{ {
record >> miyRwHidden; record >> miyRwHidden;
global_info->defaultRowHeight = miyRwHidden / 20.;
} }
} }
......
...@@ -81,7 +81,7 @@ int XF::serialize(std::wostream & stream) ...@@ -81,7 +81,7 @@ int XF::serialize(std::wostream & stream)
if (ifmt.value()) if (ifmt.value())
{ {
CP_XML_ATTR(L"numFmtId" , *ifmt.value()); CP_XML_ATTR(L"numFmtId" , ifmt);
} }
if(fStyle) if(fStyle)
...@@ -91,7 +91,7 @@ int XF::serialize(std::wostream & stream) ...@@ -91,7 +91,7 @@ int XF::serialize(std::wostream & stream)
} }
else else
{ {
CP_XML_ATTR(L"xfId" , *ixfParent.value() ); CP_XML_ATTR(L"xfId" , ixfParent );
CP_XML_ATTR(L"borderId" , cell.border_x_id); CP_XML_ATTR(L"borderId" , cell.border_x_id);
CP_XML_ATTR(L"fillId" , cell.fill_x_id); CP_XML_ATTR(L"fillId" , cell.fill_x_id);
} }
......
...@@ -69,8 +69,8 @@ void OfficeArtBStoreContainerFileBlock::load(XLS::CFRecord& record) ...@@ -69,8 +69,8 @@ void OfficeArtBStoreContainerFileBlock::load(XLS::CFRecord& record)
// read OfficeArtBlipPNG, OfficeArtBlipJPG ... // read OfficeArtBlipPNG, OfficeArtBlipJPG ...
record >> rc_header; record >> rc_header;
size_t skipLen = 0; size_t skipLen = 0;
bool isCompressed = false; bool isCompressed = false;
bool dumpToFile = true;
recType = rc_header.recType; recType = rc_header.recType;
switch (rc_header.recType) switch (rc_header.recType)
...@@ -135,6 +135,7 @@ void OfficeArtBStoreContainerFileBlock::load(XLS::CFRecord& record) ...@@ -135,6 +135,7 @@ void OfficeArtBStoreContainerFileBlock::load(XLS::CFRecord& record)
isCompressed = true; isCompressed = true;
readCompressedData(record, metafileHeader); readCompressedData(record, metafileHeader);
} }
pict_type = L".wmf";///???? todooo
} }
break; break;
case OfficeArtRecord::BlipJPEG: case OfficeArtRecord::BlipJPEG:
...@@ -169,6 +170,7 @@ void OfficeArtBStoreContainerFileBlock::load(XLS::CFRecord& record) ...@@ -169,6 +170,7 @@ void OfficeArtBStoreContainerFileBlock::load(XLS::CFRecord& record)
} }
break; break;
case OfficeArtRecord::BlipDIB: case OfficeArtRecord::BlipDIB:
pict_type = L"dib_data";
if (rc_header.recInstance == 0x7A8) if (rc_header.recInstance == 0x7A8)
{ {
skipLen = 17; skipLen = 17;
...@@ -183,7 +185,6 @@ void OfficeArtBStoreContainerFileBlock::load(XLS::CFRecord& record) ...@@ -183,7 +185,6 @@ void OfficeArtBStoreContainerFileBlock::load(XLS::CFRecord& record)
record.RollRdPtrBack(32); record.RollRdPtrBack(32);
} }
dumpToFile = false;
break; break;
case OfficeArtRecord::BlipTIFF: case OfficeArtRecord::BlipTIFF:
pict_type = L".tiff"; pict_type = L".tiff";
...@@ -217,7 +218,6 @@ void OfficeArtBStoreContainerFileBlock::load(XLS::CFRecord& record) ...@@ -217,7 +218,6 @@ void OfficeArtBStoreContainerFileBlock::load(XLS::CFRecord& record)
else else
result = true; result = true;
if (dumpToFile)
{ {
pict_data = new char[data_size]; pict_data = new char[data_size];
memcpy(pict_data, record.getCurData<char>(), data_size); memcpy(pict_data, record.getCurData<char>(), data_size);
......
...@@ -23,6 +23,7 @@ XLS::BiffStructurePtr OfficeArtClientAnchorSheet::clone() ...@@ -23,6 +23,7 @@ XLS::BiffStructurePtr OfficeArtClientAnchorSheet::clone()
int OfficeArtClientAnchorSheet::serialize(std::wostream &stream) int OfficeArtClientAnchorSheet::serialize(std::wostream &stream)
{ {
//-------------------------------------------------
CP_XML_WRITER(stream) CP_XML_WRITER(stream)
{ {
CP_XML_NODE(L"xdr:from") CP_XML_NODE(L"xdr:from")
...@@ -33,7 +34,7 @@ int OfficeArtClientAnchorSheet::serialize(std::wostream &stream) ...@@ -33,7 +34,7 @@ int OfficeArtClientAnchorSheet::serialize(std::wostream &stream)
} }
CP_XML_NODE(L"xdr:colOff") CP_XML_NODE(L"xdr:colOff")
{ {
CP_XML_STREAM() << boost::lexical_cast<std::wstring>(dxL * 256); CP_XML_STREAM() << boost::lexical_cast<std::wstring>(_dxL );
} }
CP_XML_NODE(L"xdr:row") CP_XML_NODE(L"xdr:row")
{ {
...@@ -41,7 +42,7 @@ int OfficeArtClientAnchorSheet::serialize(std::wostream &stream) ...@@ -41,7 +42,7 @@ int OfficeArtClientAnchorSheet::serialize(std::wostream &stream)
} }
CP_XML_NODE(L"xdr:rowOff") CP_XML_NODE(L"xdr:rowOff")
{ {
CP_XML_STREAM() << boost::lexical_cast<std::wstring>(dyT * 256); CP_XML_STREAM() << boost::lexical_cast<std::wstring>(_dyT);
} }
} }
CP_XML_NODE(L"xdr:to") CP_XML_NODE(L"xdr:to")
...@@ -52,7 +53,7 @@ int OfficeArtClientAnchorSheet::serialize(std::wostream &stream) ...@@ -52,7 +53,7 @@ int OfficeArtClientAnchorSheet::serialize(std::wostream &stream)
} }
CP_XML_NODE(L"xdr:colOff") CP_XML_NODE(L"xdr:colOff")
{ {
CP_XML_STREAM() << boost::lexical_cast<std::wstring>(dxR * 256); CP_XML_STREAM() << boost::lexical_cast<std::wstring>(_dxR );
} }
CP_XML_NODE(L"xdr:row") CP_XML_NODE(L"xdr:row")
{ {
...@@ -60,7 +61,7 @@ int OfficeArtClientAnchorSheet::serialize(std::wostream &stream) ...@@ -60,7 +61,7 @@ int OfficeArtClientAnchorSheet::serialize(std::wostream &stream)
} }
CP_XML_NODE(L"xdr:rowOff") CP_XML_NODE(L"xdr:rowOff")
{ {
CP_XML_STREAM() << boost::lexical_cast<std::wstring>(dyB * 256); CP_XML_STREAM() << boost::lexical_cast<std::wstring>(_dyB);
} }
} }
} }
...@@ -78,15 +79,31 @@ void OfficeArtClientAnchorSheet::storeFields(XLS::CFRecord& record) ...@@ -78,15 +79,31 @@ void OfficeArtClientAnchorSheet::storeFields(XLS::CFRecord& record)
void OfficeArtClientAnchorSheet::loadFields(XLS::CFRecord& record) void OfficeArtClientAnchorSheet::loadFields(XLS::CFRecord& record)
{ {
XLS::GlobalWorkbookInfoPtr global_info = record.getGlobalWorkbookInfo();
unsigned short flags; unsigned short flags;
record >> flags >> colL >> dxL >> rwT >> dyT >> colR >> dxR >> rwB >> dyB; record >> flags >> colL >> dxL >> rwT >> dyT >> colR >> dxR >> rwB >> dyB;
fMove = GETBIT(flags, 0); fMove = GETBIT(flags, 0);
fSize = GETBIT(flags, 1); fSize = GETBIT(flags, 1);
_dxL = dxL * 595; double kfRow = (global_info->defaultRowHeight * 360000 * 2.54 / 72);
_dyT = dyT * 744; double kfColumn = ( 360000 * 2.54 / 72) / 256.;
_dxR = dxR * 595;
_dyB = dyB * 744; if (colL < global_info->customColumnsWidth.size())
_dxL = dxL * kfColumn * global_info->customColumnsWidth[colL];
else
_dxL = dxL * kfColumn * global_info->defaultColumnWidth;
if (colR < global_info->customColumnsWidth.size())
_dxR = dxR * kfColumn * global_info->customColumnsWidth[colR];
else
_dxR = dxR * kfColumn * global_info->defaultColumnWidth;
_dyT = dyT * kfRow / 256. ;
_dyB = dyB * kfRow / 256 ; //744;
} }
......
...@@ -38,215 +38,193 @@ OfficeArtFOPTEPtr OfficeArtFOPTE::load_and_create(XLS::CFRecord& record) ...@@ -38,215 +38,193 @@ OfficeArtFOPTEPtr OfficeArtFOPTE::load_and_create(XLS::CFRecord& record)
OfficeArtFOPTEPtr fopte; OfficeArtFOPTEPtr fopte;
switch(opid) switch(opid)
{ {
case 0x007F:
fopte = OfficeArtFOPTEPtr(new ProtectionBooleanProperties);
break;
case 0x00BF:
fopte = OfficeArtFOPTEPtr(new TextBooleanProperties);
break;
case 0x0100:
fopte = OfficeArtFOPTEPtr(new cropFromTop);
break;
case 0x0101:
fopte = OfficeArtFOPTEPtr(new cropFromBottom);
break;
case 0x0102:
fopte = OfficeArtFOPTEPtr(new cropFromLeft);
break;
case 0x0103:
fopte = OfficeArtFOPTEPtr(new cropFromRight);
break;
case 0x0104: case 0x0104:
fopte = OfficeArtFOPTEPtr(new pib); fopte = OfficeArtFOPTEPtr(new pib);
break; break;
case 0x0105:
fopte = OfficeArtFOPTEPtr(new anyString);
break;
case 0x010B: case 0x010B:
fopte = OfficeArtFOPTEPtr(new pictureId); fopte = OfficeArtFOPTEPtr(new pictureId);
break; break;
case 0x011A: case 0x011A:
fopte = OfficeArtFOPTEPtr(new pictureRecolor); fopte = OfficeArtFOPTEPtr(new pictureRecolor);
break; break;
case 0x013F:
case 0x007F: fopte = OfficeArtFOPTEPtr(new BlipBooleanProperties);
fopte = OfficeArtFOPTEPtr(new ProtectionBooleanProperties);
break;
case 0x00BF:
fopte = OfficeArtFOPTEPtr(new TextBooleanProperties);
break; break;
case 0x0180: case 0x0180:
fopte = OfficeArtFOPTEPtr(new fillType); fopte = OfficeArtFOPTEPtr(new fillType);
break; break;
case 0x0181: case 0x0181:
fopte = OfficeArtFOPTEPtr(new fillColor); fopte = OfficeArtFOPTEPtr(new fillColor);
break; break;
case 0x0182: case 0x0182:
fopte = OfficeArtFOPTEPtr(new fillOpacity); fopte = OfficeArtFOPTEPtr(new fillOpacity);
break; break;
case 0x0183: case 0x0183:
fopte = OfficeArtFOPTEPtr(new fillBackColor); fopte = OfficeArtFOPTEPtr(new fillBackColor);
break; break;
case 0x0184: case 0x0184:
fopte = OfficeArtFOPTEPtr(new fillBackOpacity); fopte = OfficeArtFOPTEPtr(new fillBackOpacity);
break; break;
case 0x0185: case 0x0185:
fopte = OfficeArtFOPTEPtr(new fillCrMod); fopte = OfficeArtFOPTEPtr(new fillCrMod);
break; break;
case 0x0186: case 0x0186:
fopte = OfficeArtFOPTEPtr(new fillBlip); fopte = OfficeArtFOPTEPtr(new fillBlip);
break; break;
case 0x0187: case 0x0187:
fopte = OfficeArtFOPTEPtr(new fillBlipName); fopte = OfficeArtFOPTEPtr(new anyString);
break; break;
case 0x0188: case 0x0188:
fopte = OfficeArtFOPTEPtr(new fillBlipFlags); fopte = OfficeArtFOPTEPtr(new fillBlipFlags);
break; break;
case 0x0189: case 0x0189:
fopte = OfficeArtFOPTEPtr(new fillWidth); fopte = OfficeArtFOPTEPtr(new fillWidth);
break; break;
case 0x018A: case 0x018A:
fopte = OfficeArtFOPTEPtr(new fillHeight); fopte = OfficeArtFOPTEPtr(new fillHeight);
break; break;
case 0x018B: case 0x018B:
fopte = OfficeArtFOPTEPtr(new fillAngle); fopte = OfficeArtFOPTEPtr(new fillAngle);
break; break;
case 0x018C: case 0x018C:
fopte = OfficeArtFOPTEPtr(new fillFocus); fopte = OfficeArtFOPTEPtr(new fillFocus);
break; break;
case 0x018D: case 0x018D:
fopte = OfficeArtFOPTEPtr(new fillToLeft); fopte = OfficeArtFOPTEPtr(new fillToLeft);
break; break;
case 0x018E: case 0x018E:
fopte = OfficeArtFOPTEPtr(new fillToTop); fopte = OfficeArtFOPTEPtr(new fillToTop);
break; break;
case 0x018F: case 0x018F:
fopte = OfficeArtFOPTEPtr(new fillToRight); fopte = OfficeArtFOPTEPtr(new fillToRight);
break; break;
case 0x0190: case 0x0190:
fopte = OfficeArtFOPTEPtr(new fillToBottom); fopte = OfficeArtFOPTEPtr(new fillToBottom);
break; break;
case 0x0191: case 0x0191:
fopte = OfficeArtFOPTEPtr(new fillRectLeft); fopte = OfficeArtFOPTEPtr(new fillRectLeft);
break; break;
case 0x0192: case 0x0192:
fopte = OfficeArtFOPTEPtr(new fillRectTop); fopte = OfficeArtFOPTEPtr(new fillRectTop);
break; break;
case 0x0193: case 0x0193:
fopte = OfficeArtFOPTEPtr(new fillRectRight); fopte = OfficeArtFOPTEPtr(new fillRectRight);
break; break;
case 0x0194: case 0x0194:
fopte = OfficeArtFOPTEPtr(new fillRectBottom); fopte = OfficeArtFOPTEPtr(new fillRectBottom);
break; break;
case 0x0195: case 0x0195:
fopte = OfficeArtFOPTEPtr(new fillDztype); fopte = OfficeArtFOPTEPtr(new fillDztype);
break; break;
case 0x0196: case 0x0196:
fopte = OfficeArtFOPTEPtr(new fillShadePreset); fopte = OfficeArtFOPTEPtr(new fillShadePreset);
break; break;
case 0x0197: case 0x0197:
fopte = OfficeArtFOPTEPtr(new fillShadeColors); fopte = OfficeArtFOPTEPtr(new fillShadeColors);
break; break;
case 0x0198: case 0x0198:
fopte = OfficeArtFOPTEPtr(new fillOriginX); fopte = OfficeArtFOPTEPtr(new fillOriginX);
break; break;
case 0x0199: case 0x0199:
fopte = OfficeArtFOPTEPtr(new fillOriginY); fopte = OfficeArtFOPTEPtr(new fillOriginY);
break; break;
case 0x019A: case 0x019A:
fopte = OfficeArtFOPTEPtr(new fillShapeOriginX); fopte = OfficeArtFOPTEPtr(new fillShapeOriginX);
break; break;
case 0x019B: case 0x019B:
fopte = OfficeArtFOPTEPtr(new fillShapeOriginY); fopte = OfficeArtFOPTEPtr(new fillShapeOriginY);
break; break;
case 0x019C: case 0x019C:
fopte = OfficeArtFOPTEPtr(new fillShadeType); fopte = OfficeArtFOPTEPtr(new fillShadeType);
break; break;
case 0x019E: case 0x019E:
fopte = OfficeArtFOPTEPtr(new fillColorExt); fopte = OfficeArtFOPTEPtr(new fillColorExt);
break; break;
case 0x019F: case 0x019F:
fopte = OfficeArtFOPTEPtr(new reserved415); fopte = OfficeArtFOPTEPtr(new reserved415);
break; break;
case 0x01A0: case 0x01A0:
fopte = OfficeArtFOPTEPtr(new fillColorExtMod); fopte = OfficeArtFOPTEPtr(new fillColorExtMod);
break; break;
case 0x01A1: case 0x01A1:
fopte = OfficeArtFOPTEPtr(new reserved417); fopte = OfficeArtFOPTEPtr(new reserved417);
break; break;
case 0x01A2: case 0x01A2:
fopte = OfficeArtFOPTEPtr(new fillBackColorExt); fopte = OfficeArtFOPTEPtr(new fillBackColorExt);
break; break;
case 0x01A3: case 0x01A3:
fopte = OfficeArtFOPTEPtr(new reserved419); fopte = OfficeArtFOPTEPtr(new reserved419);
break; break;
case 0x01A4: case 0x01A4:
fopte = OfficeArtFOPTEPtr(new fillBackColorExtMod); fopte = OfficeArtFOPTEPtr(new fillBackColorExtMod);
break; break;
case 0x01A5: case 0x01A5:
fopte = OfficeArtFOPTEPtr(new reserved421); fopte = OfficeArtFOPTEPtr(new reserved421);
break; break;
case 0x01A6: case 0x01A6:
fopte = OfficeArtFOPTEPtr(new reserved422); fopte = OfficeArtFOPTEPtr(new reserved422);
break; break;
case 0x01A7: case 0x01A7:
fopte = OfficeArtFOPTEPtr(new reserved423); fopte = OfficeArtFOPTEPtr(new reserved423);
break; break;
case 0x01BF: case 0x01BF:
fopte = OfficeArtFOPTEPtr(new FillStyleBooleanProperties); fopte = OfficeArtFOPTEPtr(new FillStyleBooleanProperties);
break; break;
case 0x01C0: case 0x01C0:
fopte = OfficeArtFOPTEPtr(new lineColor); fopte = OfficeArtFOPTEPtr(new lineColor);
break; break;
case 0x01CB: case 0x01CB:
fopte = OfficeArtFOPTEPtr(new lineWidth); fopte = OfficeArtFOPTEPtr(new lineWidth);
break; break;
case 0x01CC: case 0x01CC:
fopte = OfficeArtFOPTEPtr(new lineMiterLimit); fopte = OfficeArtFOPTEPtr(new lineMiterLimit);
break; break;
case 0x01CD: case 0x01CD:
fopte = OfficeArtFOPTEPtr(new lineStyle); fopte = OfficeArtFOPTEPtr(new lineStyle);
break; break;
case 0x01CE: case 0x01CE:
fopte = OfficeArtFOPTEPtr(new lineDashing); fopte = OfficeArtFOPTEPtr(new lineDashing);
break; break;
case 0x01FF: case 0x01FF:
fopte = OfficeArtFOPTEPtr(new LineStyleBooleanProperties); fopte = OfficeArtFOPTEPtr(new LineStyleBooleanProperties);
break; break;
case 0x023F: case 0x023F:
fopte = OfficeArtFOPTEPtr(new ShadowStyleBooleanProperties); fopte = OfficeArtFOPTEPtr(new ShadowStyleBooleanProperties);
break; break;
case 0x033F:
fopte = OfficeArtFOPTEPtr(new ShapeBooleanProperties);
break;
case 0x0380:
case 0x0381:
fopte = OfficeArtFOPTEPtr(new anyString);
break;
case 0x0382: case 0x0382:
fopte = OfficeArtFOPTEPtr(new pihlShape); fopte = OfficeArtFOPTEPtr(new pihlShape);
break; break;
case 0x03BF:
fopte = OfficeArtFOPTEPtr(new GroupShapeBooleanProperties);
break;
default: default:
fopte = OfficeArtFOPTEPtr(new OfficeArtFOPTE); fopte = OfficeArtFOPTEPtr(new OfficeArtFOPTE);
break; break;
...@@ -259,24 +237,19 @@ OfficeArtFOPTEPtr OfficeArtFOPTE::load_and_create(XLS::CFRecord& record) ...@@ -259,24 +237,19 @@ OfficeArtFOPTEPtr OfficeArtFOPTE::load_and_create(XLS::CFRecord& record)
void OfficeArtFOPTE::ReadComplexData(XLS::CFRecord& record) void OfficeArtFOPTE::ReadComplexData(XLS::CFRecord& record)
{ {
record.skipNunBytes(op); // default is to skip complex data record.skipNunBytes(op); // default is to skip complex data
}; }
//void TextBooleanProperties::setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag) void TextBooleanProperties::load(XLS::CFRecord& record)
//{ {
// bool fFitShapeToText = GETBIT(op, 1); OfficeArtFOPTE::load(record);
// bool fAutoTextMargin = GETBIT(op, 3);
// bool fSelectText = GETBIT(op, 4); fFitShapeToText = GETBIT(op, 1);
// bool fUsefFitShapeToText = GETBIT(op, 17); fAutoTextMargin = GETBIT(op, 3);
// bool fUsefAutoTextMargin = GETBIT(op, 19); fSelectText = GETBIT(op, 4);
// bool fUsefSelectText = GETBIT(op, 20); fUsefFitShapeToText = GETBIT(op, 17);
// fUsefAutoTextMargin = GETBIT(op, 19);
// own_tag->setAttribute(L"fFitShapeToText", fFitShapeToText); fUsefSelectText = GETBIT(op, 20);
// own_tag->setAttribute(L"fAutoTextMargin", fAutoTextMargin); }
// own_tag->setAttribute(L"fSelectText", fSelectText);
// own_tag->setAttribute(L"fUsefFitShapeToText", fUsefFitShapeToText);
// own_tag->setAttribute(L"fUsefAutoTextMargin", fUsefAutoTextMargin);
// own_tag->setAttribute(L"fUsefSelectText", fUsefSelectText);
//}
//void fillShadeType::setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag) //void fillShadeType::setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag)
...@@ -286,69 +259,36 @@ void OfficeArtFOPTE::ReadComplexData(XLS::CFRecord& record) ...@@ -286,69 +259,36 @@ void OfficeArtFOPTE::ReadComplexData(XLS::CFRecord& record)
// bool msoshadeSigma = GETBIT(op, 2); // bool msoshadeSigma = GETBIT(op, 2);
// bool msoshadeBand = GETBIT(op, 3); // bool msoshadeBand = GETBIT(op, 3);
// bool msoshadeOneColor = GETBIT(op, 4); // bool msoshadeOneColor = GETBIT(op, 4);
//
// own_tag->setAttribute(L"fFitShapeToText", msoshadeNone);
// own_tag->setAttribute(L"fAutoTextMargin", msoshadeGamma);
// own_tag->setAttribute(L"fSelectText", msoshadeSigma);
// own_tag->setAttribute(L"fUsefFitShapeToText", msoshadeBand);
// own_tag->setAttribute(L"fUsefAutoTextMargin", msoshadeOneColor);
//} //}
//void FillStyleBooleanProperties::setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag) void FillStyleBooleanProperties::load(XLS::CFRecord& record)
//{ {
// bool fNoFillHitTest = GETBIT(op, 0); OfficeArtFOPTE::load(record);
// bool fillUseRect = GETBIT(op, 1);
// bool fillShape = GETBIT(op, 2); fNoFillHitTest = GETBIT(op, 0);
// bool fHitTestFill = GETBIT(op, 3); fillUseRect = GETBIT(op, 1);
// bool fFilled = GETBIT(op, 4); fillShape = GETBIT(op, 2);
// bool fUseShapeAnchor = GETBIT(op, 5); fHitTestFill = GETBIT(op, 3);
// bool fRecolorFillAsPicture = GETBIT(op, 6); fFilled = GETBIT(op, 4);
// bool fUsefNoFillHitTest = GETBIT(op, 16); fUseShapeAnchor = GETBIT(op, 5);
// bool fUsefillUseRect = GETBIT(op, 17); fRecolorFillAsPicture = GETBIT(op, 6);
// bool fUsefillShape = GETBIT(op, 18); fUsefNoFillHitTest = GETBIT(op, 16);
// bool fUsefHitTestFill = GETBIT(op, 19); fUsefillUseRect = GETBIT(op, 17);
// bool fUsefFilled = GETBIT(op, 20); fUsefillShape = GETBIT(op, 18);
// bool fUsefUseShapeAnchor = GETBIT(op, 21); fUsefHitTestFill = GETBIT(op, 19);
// bool fUsefRecolorFillAsPicture = GETBIT(op, 22); fUsefFilled = GETBIT(op, 20);
// fUsefUseShapeAnchor = GETBIT(op, 21);
// own_tag->setAttribute(L"fNoFillHitTest", fNoFillHitTest); fUsefRecolorFillAsPicture = GETBIT(op, 22);
// own_tag->setAttribute(L"fillUseRect", fillUseRect); }
// own_tag->setAttribute(L"fillShape", fillShape);
// own_tag->setAttribute(L"fHitTestFill", fHitTestFill);
// own_tag->setAttribute(L"fFilled", fFilled);
// own_tag->setAttribute(L"fUseShapeAnchor", fUseShapeAnchor);
// own_tag->setAttribute(L"fRecolorFillAsPicture", fRecolorFillAsPicture);
// own_tag->setAttribute(L"fUsefNoFillHitTest", fUsefNoFillHitTest);
// own_tag->setAttribute(L"fUsefillUseRect", fUsefillUseRect);
// own_tag->setAttribute(L"fUsefillShape", fUsefillShape);
// own_tag->setAttribute(L"fUsefHitTestFill", fUsefHitTestFill);
// own_tag->setAttribute(L"fUsefFilled", fUsefFilled);
// own_tag->setAttribute(L"fUsefUseShapeAnchor", fUsefUseShapeAnchor);
// own_tag->setAttribute(L"fUsefRecolorFillAsPicture", fUsefRecolorFillAsPicture);
//}
//
//
//void fillBlip::setXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// if(blip)
// {
// blip->toXML(xml_tag);
// }
//}
void fillBlip::ReadComplexData(XLS::CFRecord& record) void fillBlip::ReadComplexData(XLS::CFRecord& record)
{ {
blip = OfficeArtBlip::load_blip(record); blip = OfficeArtBlip::load_blip(record);
} }
//void fillBlipName::setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag) void anyString::ReadComplexData(XLS::CFRecord& record)
//{
// own_tag->setAttribute(L"name", name.c_str());
//}
void fillBlipName::ReadComplexData(XLS::CFRecord& record)
{ {
name = std::wstring(record.getCurData<wchar_t>(), op); string_ = std::wstring(record.getCurData<wchar_t>(), op);
record.skipNunBytes(op); record.skipNunBytes(op);
} }
...@@ -378,116 +318,69 @@ void fillBlipName::ReadComplexData(XLS::CFRecord& record) ...@@ -378,116 +318,69 @@ void fillBlipName::ReadComplexData(XLS::CFRecord& record)
// } // }
// } // }
//} //}
//
//
//void fillShadeColors::setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag)
//{
// if(fComplex && op > 0)
// {
// fillShadeColors_complex.toXML(own_tag);
// }
//}
//
void fillShadeColors::ReadComplexData(XLS::CFRecord& record) void fillShadeColors::ReadComplexData(XLS::CFRecord& record)
{ {
record >> fillShadeColors_complex; record >> fillShadeColors_complex;
} }
void ProtectionBooleanProperties::load(XLS::CFRecord& record)
{
OfficeArtFOPTE::load(record);
fLockAgainstGrouping = GETBIT(op, 0);
fLockAdjustHandles = GETBIT(op, 1);
fLockText = GETBIT(op, 2);
fLockVertices = GETBIT(op, 3);
fLockCropping = GETBIT(op, 4);
fLockAgainstSelect = GETBIT(op, 5);
fLockPosition = GETBIT(op, 6);
fLockAspectRatio = GETBIT(op, 7);
fLockRotation = GETBIT(op, 8);
fLockAgainstUngrouping = GETBIT(op, 9);
fUsefLockAgainstGrouping = GETBIT(op, 16);
fUsefLockAdjustHandles = GETBIT(op, 17);
fUsefLockText = GETBIT(op, 18);
fUsefLockVertices = GETBIT(op, 19);
fUsefLockCropping = GETBIT(op, 20);
fUsefLockAgainstSelect = GETBIT(op, 21);
fUsefLockPosition = GETBIT(op, 22);
fUsefLockAspectRatio = GETBIT(op, 23);
fUsefLockRotation = GETBIT(op, 24);
fUsefLockAgainstUngrouping = GETBIT(op, 25);
}
//void ProtectionBooleanProperties::setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag) void LineStyleBooleanProperties::load(XLS::CFRecord& record)
//{ {
// bool fLockAgainstGrouping = GETBIT(op, 0); OfficeArtFOPTE::load(record);
// bool fLockAdjustHandles = GETBIT(op, 1);
// bool fLockText = GETBIT(op, 2); fNoLineDrawDash = GETBIT(op, 0);
// bool fLockVertices = GETBIT(op, 3); fLineFillShape = GETBIT(op, 1);
// bool fLockCropping = GETBIT(op, 4); fHitTestLine = GETBIT(op, 2);
// bool fLockAgainstSelect = GETBIT(op, 5); fLine = GETBIT(op, 3);
// bool fLockPosition = GETBIT(op, 6); fArrowheadsOK = GETBIT(op, 4);
// bool fLockAspectRatio = GETBIT(op, 7); fInsetPenOK = GETBIT(op, 5);
// bool fLockRotation = GETBIT(op, 8); fInsetPen = GETBIT(op, 6);
// bool fLockAgainstUngrouping = GETBIT(op, 9); fLineOpaqueBackColor = GETBIT(op, 9);
// bool fUsefLockAgainstGrouping = GETBIT(op, 16); fUsefNoLineDrawDash = GETBIT(op, 16);
// bool fUsefLockAdjustHandles = GETBIT(op, 17); fUsefLineFillShape = GETBIT(op, 17);
// bool fUsefLockText = GETBIT(op, 18); fUsefHitTestLine = GETBIT(op, 18);
// bool fUsefLockVertices = GETBIT(op, 19); fUsefLine = GETBIT(op, 19);
// bool fUsefLockCropping = GETBIT(op, 20); fUsefArrowheadsOK = GETBIT(op, 20);
// bool fUsefLockAgainstSelect = GETBIT(op, 21); fUsefInsetPenOK = GETBIT(op, 21);
// bool fUsefLockPosition = GETBIT(op, 22); fUsefInsetPen = GETBIT(op, 22);
// bool fUsefLockAspectRatio = GETBIT(op, 23); fUsefLineOpaqueBackColor = GETBIT(op, 25);
// bool fUsefLockRotation = GETBIT(op, 24); }
// bool fUsefLockAgainstUngrouping = GETBIT(op, 25);
//
// own_tag->setAttribute(L"fLockAgainstGrouping", fLockAgainstGrouping);
// own_tag->setAttribute(L"fLockAdjustHandles", fLockAdjustHandles);
// own_tag->setAttribute(L"fLockText", fLockText);
// own_tag->setAttribute(L"fLockVertices", fLockVertices);
// own_tag->setAttribute(L"fLockCropping", fLockCropping);
// own_tag->setAttribute(L"fLockAgainstSelect", fLockAgainstSelect);
// own_tag->setAttribute(L"fLockPosition", fLockPosition);
// own_tag->setAttribute(L"fLockAspectRatio", fLockAspectRatio);
// own_tag->setAttribute(L"fLockRotation", fLockRotation);
// own_tag->setAttribute(L"fLockAgainstUngrouping", fLockAgainstUngrouping);
// own_tag->setAttribute(L"fUsefLockAgainstGrouping", fUsefLockAgainstGrouping);
// own_tag->setAttribute(L"fUsefLockAdjustHandles", fUsefLockAdjustHandles);
// own_tag->setAttribute(L"fUsefLockText", fUsefLockText);
// own_tag->setAttribute(L"fUsefLockVertices", fUsefLockVertices);
// own_tag->setAttribute(L"fUsefLockCropping", fUsefLockCropping);
// own_tag->setAttribute(L"fUsefLockAgainstSelect", fUsefLockAgainstSelect);
// own_tag->setAttribute(L"fUsefLockPosition", fUsefLockPosition);
// own_tag->setAttribute(L"fUsefLockAspectRatio", fUsefLockAspectRatio);
// own_tag->setAttribute(L"fUsefLockRotation", fUsefLockRotation);
// own_tag->setAttribute(L"fUsefLockAgainstUngrouping", fUsefLockAgainstUngrouping);
//}
//
//void LineStyleBooleanProperties::setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag)
//{
// bool fNoLineDrawDash = GETBIT(op, 0);
// bool fLineFillShape = GETBIT(op, 1);
// bool fHitTestLine = GETBIT(op, 2);
// bool fLine = GETBIT(op, 3);
// bool fArrowheadsOK = GETBIT(op, 4);
// bool fInsetPenOK = GETBIT(op, 5);
// bool fInsetPen = GETBIT(op, 6);
// bool fLineOpaqueBackColor = GETBIT(op, 9);
// bool fUsefNoLineDrawDash = GETBIT(op, 16);
// bool fUsefLineFillShape = GETBIT(op, 17);
// bool fUsefHitTestLine = GETBIT(op, 18);
// bool fUsefLine = GETBIT(op, 19);
// bool fUsefArrowheadsOK = GETBIT(op, 20);
// bool fUsefInsetPenOK = GETBIT(op, 21);
// bool fUsefInsetPen = GETBIT(op, 22);
// bool fUsefLineOpaqueBackColor = GETBIT(op, 25);
//
// own_tag->setAttribute(L"fNoLineDrawDash", fNoLineDrawDash);
// own_tag->setAttribute(L"fLineFillShape", fLineFillShape);
// own_tag->setAttribute(L"fHitTestLine", fHitTestLine);
// own_tag->setAttribute(L"fLine", fLine);
// own_tag->setAttribute(L"fArrowheadsOK", fArrowheadsOK);
// own_tag->setAttribute(L"fInsetPenOK", fInsetPenOK);
// own_tag->setAttribute(L"fInsetPen", fInsetPen);
// own_tag->setAttribute(L"fLineOpaqueBackColor", fLineOpaqueBackColor);
// own_tag->setAttribute(L"fUsefNoLineDrawDash", fUsefNoLineDrawDash);
// own_tag->setAttribute(L"fUsefLineFillShape", fUsefLineFillShape);
// own_tag->setAttribute(L"fUsefHitTestLine", fUsefHitTestLine);
// own_tag->setAttribute(L"fUsefLine", fUsefLine);
// own_tag->setAttribute(L"fUsefArrowheadsOK", fUsefArrowheadsOK);
// own_tag->setAttribute(L"fUsefInsetPenOK", fUsefInsetPenOK);
// own_tag->setAttribute(L"fUsefInsetPen", fUsefInsetPen);
// own_tag->setAttribute(L"fUsefLineOpaqueBackColor", fUsefLineOpaqueBackColor);
//}
//void ShadowStyleBooleanProperties::setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag) void ShadowStyleBooleanProperties::load(XLS::CFRecord& record)
//{ {
// bool fshadowObscured = GETBIT(op, 0); OfficeArtFOPTE::load(record);
// bool fShadow = GETBIT(op, 1);
// bool fUsefshadowObscured = GETBIT(op, 16); fshadowObscured = GETBIT(op, 0);
// bool fUsefShadow = GETBIT(op, 17); fShadow = GETBIT(op, 1);
// fUsefshadowObscured = GETBIT(op, 16);
// own_tag->setAttribute(L"fshadowObscured", fshadowObscured); fUsefShadow = GETBIT(op, 17);
// own_tag->setAttribute(L"fShadow", fShadow); }
// own_tag->setAttribute(L"fUsefshadowObscured", fUsefshadowObscured);
// own_tag->setAttribute(L"fUsefShadow", fUsefShadow);
//}
XLS::BiffStructurePtr IHlink::clone() XLS::BiffStructurePtr IHlink::clone()
{ {
return XLS::BiffStructurePtr(new IHlink(*this)); return XLS::BiffStructurePtr(new IHlink(*this));
......
...@@ -48,41 +48,32 @@ public: ...@@ -48,41 +48,32 @@ public:
class fillColor : public OfficeArtFOPTE class fillColor : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(fillColor) BASE_STRUCTURE_DEFINE_CLASS_NAME(fillColor)
public:
//virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// OfficeArtCOLORREF(op).toXML(xml_tag);
//}
}; };
class TextBooleanProperties : public OfficeArtFOPTE class TextBooleanProperties : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(TextBooleanProperties) BASE_STRUCTURE_DEFINE_CLASS_NAME(TextBooleanProperties)
public:
virtual void load(XLS::CFRecord& record);
bool fFitShapeToText;
bool fAutoTextMargin;
bool fSelectText;
bool fUsefFitShapeToText;
bool fUsefAutoTextMargin;
bool fUsefSelectText;
}; };
class lineColor : public OfficeArtFOPTE class lineColor : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(lineColor) BASE_STRUCTURE_DEFINE_CLASS_NAME(lineColor)
public:
//virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// OfficeArtCOLORREF(op).toXML(xml_tag);
//}
}; };
class fillType : public OfficeArtFOPTE class fillType : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(fillType) BASE_STRUCTURE_DEFINE_CLASS_NAME(fillType)
public:
//virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag) //virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag)
//{ //{
// static std::wstring fills[10] = {L"msofillSolid", L"msofillPattern", L"msofillTexture", L"msofillPicture", L"msofillShade", L"msofillShadeCenter", L"msofillShadeShape", L"msofillShadeScale", L"msofillShadeTitle", L"msofillBackground"}; // static std::wstring fills[10] = {L"msofillSolid", L"msofillPattern", L"msofillTexture", L"msofillPicture", L"msofillShade", L"msofillShadeCenter", L"msofillShadeShape", L"msofillShadeScale", L"msofillShadeTitle", L"msofillBackground"};
...@@ -101,275 +92,185 @@ public: ...@@ -101,275 +92,185 @@ public:
class pib : public OfficeArtFOPTE class pib : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(pib) BASE_STRUCTURE_DEFINE_CLASS_NAME(pib)
public:
}; };
class pictureId : public OfficeArtFOPTE class pictureId : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(pictureId) BASE_STRUCTURE_DEFINE_CLASS_NAME(pictureId)
public:
}; };
class pictureRecolor : public OfficeArtFOPTE class pictureRecolor : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(pictureRecolor) BASE_STRUCTURE_DEFINE_CLASS_NAME(pictureRecolor)
public:
}; };
class fillOpacity : public OfficeArtFOPTE class fillOpacity : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(fillOpacity) BASE_STRUCTURE_DEFINE_CLASS_NAME(fillOpacity)
public:
//virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag)
//{
// OSHARED::FixedPoint(op).toXML(own_tag, L"opacity");
//}
}; };
class fillBackColor : public OfficeArtFOPTE class fillBackColor : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(fillBackColor) BASE_STRUCTURE_DEFINE_CLASS_NAME(fillBackColor)
public:
//virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// OfficeArtCOLORREF(op).toXML(xml_tag);
//}
}; };
class fillBackOpacity : public OfficeArtFOPTE class fillBackOpacity : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(fillBackOpacity) BASE_STRUCTURE_DEFINE_CLASS_NAME(fillBackOpacity)
public:
//virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag)
//{
// OSHARED::FixedPoint(op).toXML(own_tag, L"opacity");
//}
}; };
class fillCrMod : public OfficeArtFOPTE class fillCrMod : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(fillCrMod) BASE_STRUCTURE_DEFINE_CLASS_NAME(fillCrMod)
public:
//virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr xml_tag)
//{
// OfficeArtCOLORREF(op).toXML(xml_tag);
//}
}; };
class fillWidth : public OfficeArtFOPTE class fillWidth : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(fillWidth) BASE_STRUCTURE_DEFINE_CLASS_NAME(fillWidth)
public:
//virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag)
//{
// own_tag->setAttribute(L"width", op);
//}
}; };
class fillShadeType : public OfficeArtFOPTE class fillShadeType : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(fillShadeType) BASE_STRUCTURE_DEFINE_CLASS_NAME(fillShadeType)
public:
}; };
class FillStyleBooleanProperties : public OfficeArtFOPTE class FillStyleBooleanProperties : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(FillStyleBooleanProperties) BASE_STRUCTURE_DEFINE_CLASS_NAME(FillStyleBooleanProperties)
public:
virtual void load(XLS::CFRecord& record);
bool fNoFillHitTest;
bool fillUseRect;
bool fillShape;
bool fHitTestFill;
bool fFilled ;
bool fUseShapeAnchor;
bool fRecolorFillAsPicture;
bool fUsefNoFillHitTest;
bool fUsefillUseRect;
bool fUsefillShape;
bool fUsefHitTestFill;
bool fUsefFilled;
bool fUsefUseShapeAnchor;
bool fUsefRecolorFillAsPicture;
}; };
class fillBlip : public OfficeArtFOPTE class fillBlip : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(fillBlip) BASE_STRUCTURE_DEFINE_CLASS_NAME(fillBlip)
public:
virtual void ReadComplexData(XLS::CFRecord& record); virtual void ReadComplexData(XLS::CFRecord& record);
private:
OfficeArtBlipPtr blip; OfficeArtBlipPtr blip;
}; };
class BlipBooleanProperties : public OfficeArtFOPTE
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(BlipBooleanProperties)
};
class ShapeBooleanProperties : public OfficeArtFOPTE
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(ShapeBooleanProperties)
};
class fillBlipName : public OfficeArtFOPTE class GroupShapeBooleanProperties : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(fillBlipName) BASE_STRUCTURE_DEFINE_CLASS_NAME(GroupShapeBooleanProperties)
public: };
class anyString : public OfficeArtFOPTE
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(anyString)
virtual void ReadComplexData(XLS::CFRecord& record); virtual void ReadComplexData(XLS::CFRecord& record);
private: std::wstring string_;
std::wstring name;
}; };
class fillBlipFlags : public OfficeArtFOPTE class fillBlipFlags : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(fillBlipFlags) BASE_STRUCTURE_DEFINE_CLASS_NAME(fillBlipFlags)
public: //enum MSOBLIPFLAGS
//{
//virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag); // msoblipflagComment = 0x00000000,
private: // msoblipflagFile = 0x00000001,
enum MSOBLIPFLAGS // msoblipflagURL = 0x00000002,
{ // msoblipflagDoNotSave = 0x00000004,
msoblipflagComment = 0x00000000, // msoblipflagLinkToFile = 0x00000008,
msoblipflagFile = 0x00000001, //};
msoblipflagURL = 0x00000002,
msoblipflagDoNotSave = 0x00000004,
msoblipflagLinkToFile = 0x00000008,
};
}; };
class fillHeight : public OfficeArtFOPTE class fillHeight : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(fillHeight) BASE_STRUCTURE_DEFINE_CLASS_NAME(fillHeight)
public:
//virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag)
//{
// own_tag->setAttribute(L"height", op);
//}
}; };
class fillAngle : public OfficeArtFOPTE class fillAngle : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(fillAngle) BASE_STRUCTURE_DEFINE_CLASS_NAME(fillAngle)
public:
//virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag)
//{
// OSHARED::FixedPoint(op).toXML(own_tag, L"angle");
//}
}; };
class fillFocus : public OfficeArtFOPTE class fillFocus : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(fillFocus) BASE_STRUCTURE_DEFINE_CLASS_NAME(fillFocus)
public:
//virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag)
//{
// own_tag->setAttribute(L"focus", op);
//}
}; };
class fillToLeft : public OfficeArtFOPTE class fillToLeft : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(fillToLeft) BASE_STRUCTURE_DEFINE_CLASS_NAME(fillToLeft)
public:
//virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag)
//{
// OSHARED::FixedPoint(op).toXML(own_tag, L"left");
//}
}; };
class fillToTop : public OfficeArtFOPTE class fillToTop : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(fillToTop) BASE_STRUCTURE_DEFINE_CLASS_NAME(fillToTop)
public:
//virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag)
//{
// OSHARED::FixedPoint(op).toXML(own_tag, L"top");
//}
}; };
class fillToRight : public OfficeArtFOPTE class fillToRight : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(fillToRight) BASE_STRUCTURE_DEFINE_CLASS_NAME(fillToRight)
public:
//virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag)
//{
// OSHARED::FixedPoint(op).toXML(own_tag, L"right");
//}
}; };
class fillToBottom : public OfficeArtFOPTE class fillToBottom : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(fillToBottom) BASE_STRUCTURE_DEFINE_CLASS_NAME(fillToBottom)
public:
//virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag)
//{
// OSHARED::FixedPoint(op).toXML(own_tag, L"bottom");
//}
}; };
class fillRectLeft : public OfficeArtFOPTE class fillRectLeft : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(fillRectLeft) BASE_STRUCTURE_DEFINE_CLASS_NAME(fillRectLeft)
public:
//virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag)
//{
// OSHARED::FixedPoint(op).toXML(own_tag, L"left");
//}
}; };
class fillRectTop : public OfficeArtFOPTE class fillRectTop : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(fillRectTop) BASE_STRUCTURE_DEFINE_CLASS_NAME(fillRectTop)
public:
//virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag)
//{
// OSHARED::FixedPoint(op).toXML(own_tag, L"top");
//}
}; };
class fillRectRight : public OfficeArtFOPTE class fillRectRight : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(fillRectRight) BASE_STRUCTURE_DEFINE_CLASS_NAME(fillRectRight)
public:
//virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag)
//{
// OSHARED::FixedPoint(op).toXML(own_tag, L"right");
//}
}; };
class fillRectBottom : public OfficeArtFOPTE class fillRectBottom : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(fillRectBottom) BASE_STRUCTURE_DEFINE_CLASS_NAME(fillRectBottom)
public:
//virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag)
//{
// OSHARED::FixedPoint(op).toXML(own_tag, L"bottom");
//}
}; };
class fillDztype : public OfficeArtFOPTE class fillDztype : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(fillDztype) BASE_STRUCTURE_DEFINE_CLASS_NAME(fillDztype)
public:
//virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag)
//{
// own_tag->setAttribute(L"type", op);
//}
}; };
class fillShadePreset : public OfficeArtFOPTE class fillShadePreset : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(fillShadePreset) BASE_STRUCTURE_DEFINE_CLASS_NAME(fillShadePreset)
public:
//virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag)
//{
// own_tag->setAttribute(L"preset", op);
//}
}; };
class fillShadeColors : public OfficeArtFOPTE class fillShadeColors : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(fillShadeColors) BASE_STRUCTURE_DEFINE_CLASS_NAME(fillShadeColors)
public:
//virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag);
virtual void ReadComplexData(XLS::CFRecord& record); virtual void ReadComplexData(XLS::CFRecord& record);
IMsoArray<MSOSHADECOLOR> fillShadeColors_complex; IMsoArray<MSOSHADECOLOR> fillShadeColors_complex;
...@@ -379,175 +280,174 @@ public: ...@@ -379,175 +280,174 @@ public:
class fillShapeOriginX : public OfficeArtFOPTE class fillShapeOriginX : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(fillShapeOriginX) BASE_STRUCTURE_DEFINE_CLASS_NAME(fillShapeOriginX)
public:
//virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag)
//{
// OSHARED::FixedPoint(op).toXML(own_tag, L"origin_x");
//}
}; };
class fillShapeOriginY : public OfficeArtFOPTE class fillShapeOriginY : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(fillShapeOriginY) BASE_STRUCTURE_DEFINE_CLASS_NAME(fillShapeOriginY)
public:
//virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag)
//{
// OSHARED::FixedPoint(op).toXML(own_tag, L"origin_y");
//}
}; };
class fillOriginX : public OfficeArtFOPTE class fillOriginX : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(fillOriginX) BASE_STRUCTURE_DEFINE_CLASS_NAME(fillOriginX)
public:
//virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag)
//{
// OSHARED::FixedPoint(op).toXML(own_tag, L"origin_x");
//}
}; };
class fillOriginY : public OfficeArtFOPTE class fillOriginY : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(fillOriginY) BASE_STRUCTURE_DEFINE_CLASS_NAME(fillOriginY)
public:
//virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag)
//{
// OSHARED::FixedPoint(op).toXML(own_tag, L"origin_y");
//}
}; };
class fillColorExt : public OfficeArtFOPTE class fillColorExt : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(fillColorExt) BASE_STRUCTURE_DEFINE_CLASS_NAME(fillColorExt)
public:
//virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag)
//{
// OfficeArtCOLORREF(op).toXML(own_tag);
//}
}; };
class reserved415 : public OfficeArtFOPTE class reserved415 : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(reserved415) BASE_STRUCTURE_DEFINE_CLASS_NAME(reserved415)
public:
}; };
class reserved417 : public OfficeArtFOPTE class reserved417 : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(reserved417) BASE_STRUCTURE_DEFINE_CLASS_NAME(reserved417)
public:
}; };
class reserved419 : public OfficeArtFOPTE class reserved419 : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(reserved419) BASE_STRUCTURE_DEFINE_CLASS_NAME(reserved419)
public:
}; };
class reserved421 : public OfficeArtFOPTE class reserved421 : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(reserved421) BASE_STRUCTURE_DEFINE_CLASS_NAME(reserved421)
public:
}; };
class reserved422 : public OfficeArtFOPTE class reserved422 : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(reserved422) BASE_STRUCTURE_DEFINE_CLASS_NAME(reserved422)
public:
}; };
class reserved423 : public OfficeArtFOPTE class reserved423 : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(reserved423) BASE_STRUCTURE_DEFINE_CLASS_NAME(reserved423)
public:
}; };
class fillBackColorExt : public OfficeArtFOPTE class fillBackColorExt : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(fillBackColorExt) BASE_STRUCTURE_DEFINE_CLASS_NAME(fillBackColorExt)
public:
//virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag)
//{
// OfficeArtCOLORREF(op).toXML(own_tag);
//}
}; };
class fillColorExtMod : public OfficeArtFOPTE class fillColorExtMod : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(fillColorExtMod) BASE_STRUCTURE_DEFINE_CLASS_NAME(fillColorExtMod)
public:
//virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag)
//{
// own_tag->setAttribute(L"mode", op);
//}
}; };
class fillBackColorExtMod : public OfficeArtFOPTE class fillBackColorExtMod : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(fillBackColorExtMod) BASE_STRUCTURE_DEFINE_CLASS_NAME(fillBackColorExtMod)
public:
//virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag)
//{
// own_tag->setAttribute(L"mode", op);
//}
}; };
class ProtectionBooleanProperties : public OfficeArtFOPTE class ProtectionBooleanProperties : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(ProtectionBooleanProperties) BASE_STRUCTURE_DEFINE_CLASS_NAME(ProtectionBooleanProperties)
public:
virtual void load(XLS::CFRecord& record);
bool fLockAgainstGrouping ;
bool fLockAdjustHandles ;
bool fLockText ;
bool fLockVertices ;
bool fLockCropping ;
bool fLockAgainstSelect ;
bool fLockPosition ;
bool fLockAspectRatio ;
bool fLockRotation ;
bool fLockAgainstUngrouping ;
bool fUsefLockAgainstGrouping ;
bool fUsefLockAdjustHandles ;
bool fUsefLockText ;
bool fUsefLockVertices ;
bool fUsefLockCropping ;
bool fUsefLockAgainstSelect;
bool fUsefLockPosition ;
bool fUsefLockAspectRatio;
bool fUsefLockRotation ;
bool fUsefLockAgainstUngrouping;
}; };
class LineStyleBooleanProperties : public OfficeArtFOPTE class LineStyleBooleanProperties : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(LineStyleBooleanProperties) BASE_STRUCTURE_DEFINE_CLASS_NAME(LineStyleBooleanProperties)
public:
virtual void load(XLS::CFRecord& record);
bool fNoLineDrawDash;
bool fLineFillShape;
bool fHitTestLine ;
bool fLine ;
bool fArrowheadsOK;
bool fInsetPenOK ;
bool fInsetPen ;
bool fLineOpaqueBackColor;
bool fUsefNoLineDrawDash;
bool fUsefLineFillShape ;
bool fUsefHitTestLine ;
bool fUsefLine;
bool fUsefArrowheadsOK ;
bool fUsefInsetPenOK;
bool fUsefInsetPen;
bool fUsefLineOpaqueBackColor ;
}; };
class ShadowStyleBooleanProperties : public OfficeArtFOPTE class ShadowStyleBooleanProperties : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(ShadowStyleBooleanProperties) BASE_STRUCTURE_DEFINE_CLASS_NAME(ShadowStyleBooleanProperties)
public:
virtual void load(XLS::CFRecord& record);
bool fshadowObscured ;
bool fShadow ;
bool fUsefshadowObscured ;
bool fUsefShadow ;
}; };
class lineWidth : public OfficeArtFOPTE class lineWidth : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(lineWidth) BASE_STRUCTURE_DEFINE_CLASS_NAME(lineWidth)
public:
//virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag)
//{
// own_tag->setAttribute(L"width", op);
//}
}; };
class lineMiterLimit : public OfficeArtFOPTE class lineMiterLimit : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(lineMiterLimit) BASE_STRUCTURE_DEFINE_CLASS_NAME(lineMiterLimit)
public:
//virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag)
//{
// OSHARED::FixedPoint(op).toXML(own_tag, L"limit");
//}
}; };
class lineDashing : public OfficeArtFOPTE class lineDashing : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(lineDashing) BASE_STRUCTURE_DEFINE_CLASS_NAME(lineDashing)
public:
//virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag)
//{
// own_tag->setAttribute(L"dashing", MSOLINEDASHING::ToString(op));
//}
}; };
class lineStyle : public OfficeArtFOPTE class lineStyle : public OfficeArtFOPTE
{ {
BASE_STRUCTURE_DEFINE_CLASS_NAME(lineStyle) BASE_STRUCTURE_DEFINE_CLASS_NAME(lineStyle)
public: };
//virtual void setXMLAttributes(MSXML2::IXMLDOMElementPtr own_tag)
//{ class cropFromBottom : public OfficeArtFOPTE
// own_tag->setAttribute(L"style", MSOLINESTYLE::ToString(op)); {
//} BASE_STRUCTURE_DEFINE_CLASS_NAME(cropFromBottom)
};
class cropFromTop : public OfficeArtFOPTE
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(cropFromTop)
};
class cropFromLeft : public OfficeArtFOPTE
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(cropFromLeft)
};
class cropFromRight : public OfficeArtFOPTE
{
BASE_STRUCTURE_DEFINE_CLASS_NAME(cropFromRight)
}; };
class IHlink; class IHlink;
......
...@@ -25,6 +25,8 @@ void OfficeArtRecord::store(XLS::CFRecord& record) ...@@ -25,6 +25,8 @@ void OfficeArtRecord::store(XLS::CFRecord& record)
void OfficeArtRecord::load(XLS::CFRecord& record) void OfficeArtRecord::load(XLS::CFRecord& record)
{ {
m_pGlobalWorkbookInfoPtr = record.getGlobalWorkbookInfo();
record >> rh_own; record >> rh_own;
loadFields(record); loadFields(record);
} }
......
...@@ -6,6 +6,9 @@ ...@@ -6,6 +6,9 @@
namespace XLS namespace XLS
{ {
class CFRecord; class CFRecord;
class GlobalWorkbookInfo;
typedef boost::shared_ptr<GlobalWorkbookInfo> GlobalWorkbookInfoPtr;
} }
...@@ -81,6 +84,8 @@ public: ...@@ -81,6 +84,8 @@ public:
CA_Chart, CA_Chart,
CA_HF CA_HF
}; };
XLS::GlobalWorkbookInfoPtr m_pGlobalWorkbookInfoPtr;
}; };
typedef boost::shared_ptr<OfficeArtRecord> OfficeArtRecordPtr; typedef boost::shared_ptr<OfficeArtRecord> OfficeArtRecordPtr;
......
...@@ -56,7 +56,7 @@ BiffStructurePtr XLUnicodeRichExtendedString::clone() ...@@ -56,7 +56,7 @@ BiffStructurePtr XLUnicodeRichExtendedString::clone()
int XLUnicodeRichExtendedString::serialize (std::wostream & _stream) int XLUnicodeRichExtendedString::serialize (std::wostream & _stream)
{ {
int start_string = 0; int start_string = 0;
int Fmt = 0; int Fmt = 0; // !!! .. - .
CP_XML_WRITER(_stream) CP_XML_WRITER(_stream)
{ {
......
...@@ -74,59 +74,140 @@ int CELL_GROUP::serialize(std::wostream & stream) ...@@ -74,59 +74,140 @@ int CELL_GROUP::serialize(std::wostream & stream)
{ {
CP_XML_WRITER(stream) CP_XML_WRITER(stream)
{ {
std::list<XLS::BaseObjectPtr>::iterator current_cell_start = elements_.begin(); std::list<XLS::BaseObjectPtr>::iterator current_cell_start = elements_.begin();
std::list<XLS::BaseObjectPtr>::iterator current_row = m_rows.begin();
int current_row = 0;
int current_row_number = 0;
for (std::list<XLS::BaseObjectPtr>::iterator it_row = m_rows.begin(); it_row != m_rows.end(); it_row++)
//for (std::list<XLS::BaseObjectPtr>::iterator it_row = m_rows.begin(); it_row != m_rows.end(); it_row++)
//{
// Row * row = dynamic_cast<Row *>(it_row->get());
//
// if (row == NULL) continue;
// CP_XML_NODE(L"row")
// {
// current_row = *row->rw.value();
//
// CP_XML_ATTR(L"r", current_row + 1);
//
// bool xf_set = true;
// if ((row->fGhostDirty.value()) && ( *row->fGhostDirty.value()== false)) xf_set = false;
//
// if (row->ixfe_val.value() && xf_set)
// {
// CP_XML_ATTR(L"s", row->ixfe_val - cellStyleXfs_count);
// CP_XML_ATTR(L"customFormat", true);
// }
// if (row->miyRw.value())
// {
// CP_XML_ATTR(L"ht", row->miyRw / 20.);
// CP_XML_ATTR(L"customHeight", true);
// }
// if ((row->iOutLevel.value()) && (row->iOutLevel > 0))
// {
// CP_XML_ATTR(L"outlineLevel", row->iOutLevel);
// }
// if ((row->fCollapsed.value()) && (row->fCollapsed))
// {
// CP_XML_ATTR(L"collapsed", row->fCollapsed);
// }
// std::list<XLS::BaseObjectPtr>::iterator it_cell = current_cell_start;
// while(true)
// {
// if (it_cell == elements_.end())
// {
// current_cell_start = it_cell;
// break;
// }
// CELL * cell = dynamic_cast<CELL *>(it_cell->get());
// if (cell == NULL) continue;
// if (cell->RowNumber >current_row)
// {
// current_cell_start = it_cell;
// break;
// }
// cell->serialize(CP_XML_STREAM());
// it_cell++;
// }
// }
//}
while(current_row_number == 0)
{ {
Row * row = dynamic_cast<Row *>(it_row->get());
if (row == NULL) continue;
CP_XML_NODE(L"row") CP_XML_NODE(L"row")
{ {
current_row = *row->rw.value();
CP_XML_ATTR(L"r", current_row + 1);
bool xf_set = true;
if ((row->fGhostDirty.value()) && ( *row->fGhostDirty.value()== false)) xf_set = false;
if (row->ixfe_val.value() && xf_set)
{
CP_XML_ATTR(L"s", row->ixfe_val - cellStyleXfs_count);
CP_XML_ATTR(L"customFormat", true);
}
if (row->miyRw.value())
{
CP_XML_ATTR(L"ht", row->miyRw / 20.);
CP_XML_ATTR(L"customHeight", true);
}
if ((row->iOutLevel.value()) && (row->iOutLevel > 0))
{
CP_XML_ATTR(L"outlineLevel", row->iOutLevel);
}
if ((row->fCollapsed.value()) && (row->fCollapsed))
{
CP_XML_ATTR(L"collapsed", row->fCollapsed);
}
std::list<XLS::BaseObjectPtr>::iterator it_cell = current_cell_start; std::list<XLS::BaseObjectPtr>::iterator it_cell = current_cell_start;
while(true) while(true)
{ {
if (it_cell == elements_.end()) if (it_cell == elements_.end())
{ {
current_cell_start = it_cell; current_cell_start = it_cell;
current_row_number = -1;
break; break;
} }
CELL * cell = dynamic_cast<CELL *>(it_cell->get()); CELL * cell = dynamic_cast<CELL *>(it_cell->get());
if (cell == NULL) continue; if (cell == NULL) continue;
if (cell->RowNumber >current_row) if (current_row_number < 1) //
{
current_row_number = cell->RowNumber + 1; //
bool skip_cells = false;
if (current_row != m_rows.end())
{
Row * row = dynamic_cast<Row *>(current_row->get());
if (row->rw + 1 < current_row_number)
{
current_row_number = row->rw + 1;
skip_cells = true;
}
CP_XML_ATTR(L"r", current_row_number);
if (row->rw + 1 == current_row_number)
{
bool xf_set = true;
if ((row->fGhostDirty.value()) && ( *row->fGhostDirty.value()== false)) xf_set = false;
if (row->ixfe_val.value() && xf_set)
{
CP_XML_ATTR(L"s", row->ixfe_val - cellStyleXfs_count);
CP_XML_ATTR(L"customFormat", true);
}
if (row->miyRw.value())
{
CP_XML_ATTR(L"ht", row->miyRw / 20.);
CP_XML_ATTR(L"customHeight", true);
}
if ((row->iOutLevel.value()) && (row->iOutLevel > 0))
{
CP_XML_ATTR(L"outlineLevel", row->iOutLevel);
}
if ((row->fCollapsed.value()) && (row->fCollapsed))
{
CP_XML_ATTR(L"collapsed", row->fCollapsed);
}
}
current_row ++;
}
else
{
CP_XML_ATTR(L"r", current_row_number);
}
if (skip_cells)
{
current_row = 0;
break;
}
}
if (cell->RowNumber + 1 > current_row_number)
{ {
current_cell_start = it_cell; current_cell_start = it_cell;
current_row_number = 0;
break; break;
} }
cell->serialize(CP_XML_STREAM()); cell->serialize(CP_XML_STREAM());
...@@ -134,40 +215,41 @@ int CELL_GROUP::serialize(std::wostream & stream) ...@@ -134,40 +215,41 @@ int CELL_GROUP::serialize(std::wostream & stream)
} }
} }
} }
if ( current_row != m_rows.end())
if (current_row < 1 )//order_history.xls - Row,
{ {
while(current_row ==0) for (std::list<XLS::BaseObjectPtr>::iterator it_row = current_row; it_row != m_rows.end(); it_row++)
{ {
Row * row = dynamic_cast<Row *>(it_row->get());
if (row == NULL) continue;
CP_XML_NODE(L"row") CP_XML_NODE(L"row")
{ {
std::list<XLS::BaseObjectPtr>::iterator it_cell = current_cell_start; current_row_number = row->rw + 1;
while(true)
CP_XML_ATTR(L"r", current_row_number);
bool xf_set = true;
if ((row->fGhostDirty.value()) && ( *row->fGhostDirty.value()== false)) xf_set = false;
if (row->ixfe_val.value() && xf_set)
{ {
if (it_cell == elements_.end()) CP_XML_ATTR(L"s", row->ixfe_val - cellStyleXfs_count);
{ CP_XML_ATTR(L"customFormat", true);
current_cell_start = it_cell; }
current_row = -1;
break;
}
CELL * cell = dynamic_cast<CELL *>(it_cell->get());
if (cell == NULL) continue;
if (current_row < 1)
{
current_row = cell->RowNumber + 1;
CP_XML_ATTR(L"r", current_row);
}
if (cell->RowNumber > current_row - 1) if (row->miyRw.value())
{ {
current_cell_start = it_cell; CP_XML_ATTR(L"ht", row->miyRw / 20.);
current_row = 0; CP_XML_ATTR(L"customHeight", true);
break; }
} if ((row->iOutLevel.value()) && (row->iOutLevel > 0))
cell->serialize(CP_XML_STREAM()); {
it_cell++; CP_XML_ATTR(L"outlineLevel", row->iOutLevel);
}
if ((row->fCollapsed.value()) && (row->fCollapsed))
{
CP_XML_ATTR(L"collapsed", row->fCollapsed);
} }
} }
} }
......
...@@ -29,6 +29,8 @@ BaseObjectPtr COLUMNS::clone() ...@@ -29,6 +29,8 @@ BaseObjectPtr COLUMNS::clone()
// COLUMNS = DefColWidth *255ColInfo // COLUMNS = DefColWidth *255ColInfo
const bool COLUMNS::loadContent(BinProcessor& proc) const bool COLUMNS::loadContent(BinProcessor& proc)
{ {
GlobalWorkbookInfoPtr global_info = proc.getGlobalWorkbookInfo();
bool def_ok = proc.optional<DefColWidth>(); bool def_ok = proc.optional<DefColWidth>();
// OpenOffice Calc stored files workaround (DefColWidth is mandatory according to [MS-XLS]) // OpenOffice Calc stored files workaround (DefColWidth is mandatory according to [MS-XLS])
...@@ -40,6 +42,30 @@ const bool COLUMNS::loadContent(BinProcessor& proc) ...@@ -40,6 +42,30 @@ const bool COLUMNS::loadContent(BinProcessor& proc)
bool col_ok = proc.repeated<ColInfo>(0, 255); bool col_ok = proc.repeated<ColInfo>(0, 255);
int last_add = 0;
for (std::list<XLS::BaseObjectPtr>::iterator it = elements_.begin(); it != elements_.end(); it++)
{
ColInfo* column_info = dynamic_cast<ColInfo*>(it->get());
for (int i = last_add ; i < column_info->colFirst; i++)
{
global_info->customColumnsWidth.push_back(global_info->defaultColumnWidth);
}
for (int i = column_info->colFirst; i <= column_info->colLast; i++)
{
if (column_info->coldx.value())
{
global_info->customColumnsWidth.push_back(column_info->coldx / 256.);
}
else
{
global_info->customColumnsWidth.push_back(global_info->defaultColumnWidth);
}
}
}
return def_ok || col_ok; return def_ok || col_ok;
} }
......
...@@ -9,7 +9,6 @@ ...@@ -9,7 +9,6 @@
#include <Logic/Biff_records/ClrtClient.h> #include <Logic/Biff_records/ClrtClient.h>
#include <Logic/Biff_records/TableStyles.h> #include <Logic/Biff_records/TableStyles.h>
#include <Logic/Biff_unions/TABLESTYLES.h> #include <Logic/Biff_unions/TABLESTYLES.h>
#include <Logic/Biff_unions/TABLESTYLES.h>
#include <simple_xml_writer.h> #include <simple_xml_writer.h>
...@@ -69,7 +68,8 @@ const bool FORMATTING::loadContent(BinProcessor& proc) ...@@ -69,7 +68,8 @@ const bool FORMATTING::loadContent(BinProcessor& proc)
elements_.pop_back(); elements_.pop_back();
} }
proc.repeated<DXF>(0, 0); proc.repeated<DXF>(0, 0);
//----------------------------------------------------------------------------------------------------
//----------------------------------------------------------------------------------------------------
if (proc.optional<STYLES>()) if (proc.optional<STYLES>())
{ {
m_Styles = elements_.back(); m_Styles = elements_.back();
......
...@@ -48,9 +48,9 @@ BaseObjectPtr STYLES::clone() ...@@ -48,9 +48,9 @@ BaseObjectPtr STYLES::clone()
// STYLES = 1*(Style [StyleExt]) // STYLES = 1*(Style [StyleExt])
const bool STYLES::loadContent(BinProcessor& proc) const bool STYLES::loadContent(BinProcessor& proc)
{ {
styles_count = proc.repeated<Parenthesis_STYLES_1>(1, 0); styles_count = proc.repeated<Parenthesis_STYLES_1>(0, 0);
return styles_count > 0 ? true : false; return true;
} }
int STYLES::serialize(std::wostream & stream) int STYLES::serialize(std::wostream & stream)
...@@ -59,59 +59,71 @@ int STYLES::serialize(std::wostream & stream) ...@@ -59,59 +59,71 @@ int STYLES::serialize(std::wostream & stream)
{ {
CP_XML_NODE(L"cellStyles") CP_XML_NODE(L"cellStyles")
{ {
CP_XML_ATTR(L"count", styles_count); if (styles_count > 0)
for (std::list<XLS::BaseObjectPtr>::iterator it = elements_.begin(); it != elements_.end(); it++)
{ {
Parenthesis_STYLES_1 * style_1 = dynamic_cast<Parenthesis_STYLES_1*>(it->get()); CP_XML_ATTR(L"count", styles_count);
if (style_1) for (std::list<XLS::BaseObjectPtr>::iterator it = elements_.begin(); it != elements_.end(); it++)
{ {
CP_XML_NODE(L"cellStyle") Parenthesis_STYLES_1 * style_1 = dynamic_cast<Parenthesis_STYLES_1*>(it->get());
if (style_1)
{ {
XLS::Style * style = dynamic_cast<Style*> (style_1->m_Style.get()); CP_XML_NODE(L"cellStyle")
XLS::StyleExt * styleExt = dynamic_cast<StyleExt*>(style_1->m_StyleEx.get());
if (styleExt)
{ {
CP_XML_ATTR(L"name", styleExt->stName.value()); XLS::Style * style = dynamic_cast<Style*> (style_1->m_Style.get());
XLS::StyleExt * styleExt = dynamic_cast<StyleExt*>(style_1->m_StyleEx.get());
if ((styleExt->fBuiltIn.value()) && (*styleExt->fBuiltIn.value()))
if (styleExt)
{ {
CP_XML_ATTR(L"builtinId", styleExt->builtInData.istyBuiltIn); CP_XML_ATTR(L"name", styleExt->stName.value());
if (styleExt->builtInData.iLevel > 0 && styleExt->builtInData.iLevel < 255)
if ((styleExt->fBuiltIn.value()) && (*styleExt->fBuiltIn.value()))
{ {
CP_XML_ATTR(L"iLevel", styleExt->builtInData.iLevel); CP_XML_ATTR(L"builtinId", styleExt->builtInData.istyBuiltIn);
if (styleExt->builtInData.iLevel > 0 && styleExt->builtInData.iLevel < 255)
{
CP_XML_ATTR(L"iLevel", styleExt->builtInData.iLevel);
}
} }
}
for (long i = 0; i < styleExt->xfProps.xfPropArray.size(); i++) for (long i = 0; i < styleExt->xfProps.xfPropArray.size(); i++)
{ {
}
} }
} else
else
{
CP_XML_ATTR(L"name", style->user.value());
if ((style->fBuiltIn.value()) && (*style->fBuiltIn.value()))
{ {
CP_XML_ATTR(L"builtinId", style->builtInData.istyBuiltIn); CP_XML_ATTR(L"name", style->user.value());
if (style->builtInData.iLevel > 0 && style->builtInData.iLevel < 255)
if ((style->fBuiltIn.value()) && (*style->fBuiltIn.value()))
{ {
CP_XML_ATTR(L"iLevel", style->builtInData.iLevel); CP_XML_ATTR(L"builtinId", style->builtInData.istyBuiltIn);
if (style->builtInData.iLevel > 0 && style->builtInData.iLevel < 255)
{
CP_XML_ATTR(L"iLevel", style->builtInData.iLevel);
}
} }
} }
}
if (style->ixfe.value()) if (style->ixfe.value())
{ {
int xfId = *style->ixfe.value() - 1; int xfId = *style->ixfe.value() - 1;
if (xfId < 0) xfId = 0; if (xfId < 0) xfId = 0;
CP_XML_ATTR(L"xfId", xfId); CP_XML_ATTR(L"xfId", xfId);
}
} }
} }
}
}
else
{
CP_XML_ATTR(L"count",1);
CP_XML_NODE(L"cellStyle")
{
CP_XML_ATTR(L"xfId", 0);
CP_XML_ATTR(L"builtinId", 0);
CP_XML_ATTR(L"name", L"");
} }
} }
} }
......
...@@ -10,10 +10,12 @@ GlobalWorkbookInfo::GlobalWorkbookInfo(const unsigned short code_page) ...@@ -10,10 +10,12 @@ GlobalWorkbookInfo::GlobalWorkbookInfo(const unsigned short code_page)
fill_x_ids[FillInfo(0, 0, 0)] = 0; fill_x_ids[FillInfo(0, 0, 0)] = 0;
fill_x_ids[FillInfo(17, 64, 65)] = 1; fill_x_ids[FillInfo(17, 64, 65)] = 1;
last_AXES_id = initial_AXES_id; last_AXES_id = initial_AXES_id;
defaultColumnWidth = 8;
defaultRowHeight = 14.4;
Version = 0x0600; // xls Version = 0x0600; // xls
} }
......
...@@ -42,6 +42,11 @@ public: ...@@ -42,6 +42,11 @@ public:
std::vector<std::pair<boost::shared_array<char>, size_t> > bin_data; std::vector<std::pair<boost::shared_array<char>, size_t> > bin_data;
std::vector<double> customColumnsWidth;
std::vector<double> customRowHeight;
double defaultColumnWidth;
double defaultRowHeight;
int Version; int Version;
......
...@@ -71,6 +71,8 @@ WORKSHEET = BOF WORKSHEETCONTENT ...@@ -71,6 +71,8 @@ WORKSHEET = BOF WORKSHEETCONTENT
*/ */
const bool WorksheetSubstream::loadContent(BinProcessor& proc) const bool WorksheetSubstream::loadContent(BinProcessor& proc)
{ {
GlobalWorkbookInfoPtr global_info = proc.getGlobalWorkbookInfo();
int count = 0; int count = 0;
if(!proc.mandatory<BOF>()) if(!proc.mandatory<BOF>())
...@@ -195,6 +197,8 @@ const bool WorksheetSubstream::loadContent(BinProcessor& proc) ...@@ -195,6 +197,8 @@ const bool WorksheetSubstream::loadContent(BinProcessor& proc)
proc.mandatory<EOF_T>(); proc.mandatory<EOF_T>();
global_info->customColumnsWidth.clear();
return true; return true;
} }
......
...@@ -43,6 +43,8 @@ ...@@ -43,6 +43,8 @@
#include <boost/lexical_cast.hpp> #include <boost/lexical_cast.hpp>
#include "../../../DesktopEditor/common/File.h" #include "../../../DesktopEditor/common/File.h"
#include "../../../DesktopEditor/raster/BgraFrame.h"
XlsConverter::XlsConverter(const std::wstring & xls_file, const std::wstring & _xlsx_path, const ProgressCallback* CallBack) XlsConverter::XlsConverter(const std::wstring & xls_file, const std::wstring & _xlsx_path, const ProgressCallback* CallBack)
{ {
...@@ -392,18 +394,41 @@ void XlsConverter::convert(ODRAW::OfficeArtBStoreContainer* art_bstore) ...@@ -392,18 +394,41 @@ void XlsConverter::convert(ODRAW::OfficeArtBStoreContainer* art_bstore)
for (long i =0 ; i < art_bstore->rgfb.size(); i++) for (long i =0 ; i < art_bstore->rgfb.size(); i++)
{ {
int bin_id = i + 1; int bin_id = i + 1;
if (art_bstore->rgfb[i]->data_size > 0) if (art_bstore->rgfb[i]->data_size > 0 && art_bstore->rgfb[i]->pict_data)
{ {
std::wstring file_name = L"image" + boost::lexical_cast<std::wstring>(bin_id) + art_bstore->rgfb[i]->pict_type; bool res = false;
std::wstring file_name = L"image" + boost::lexical_cast<std::wstring>(bin_id);
if (art_bstore->rgfb[i]->pict_type == L"dib_data")
{
file_name += std::wstring(L".png");
BITMAPINFOHEADER * header = (BITMAPINFOHEADER *)art_bstore->rgfb[i]->pict_data;
NSFile::CFileBinary file; CBgraFrame frame;
if (file.CreateFileW(xl_path + FILE_SEPARATOR_STR + L"media" + FILE_SEPARATOR_STR + file_name)) frame.put_Data((BYTE*)art_bstore->rgfb[i]->pict_data + header->biSize);
frame.put_Height(header->biHeight);
frame.put_Width (header->biWidth);
frame.put_Stride(-header->biBitCount / 8 * header->biWidth);
res = frame.SaveFile(xl_path + FILE_SEPARATOR_STR + L"media" + FILE_SEPARATOR_STR + file_name, 4);
frame.put_Data(NULL);
}
else
{ {
file.WriteFile((BYTE*)art_bstore->rgfb[i]->pict_data, art_bstore->rgfb[i]->data_size); file_name += art_bstore->rgfb[i]->pict_type;
file.CloseFile();
NSFile::CFileBinary file;
if (file.CreateFileW(xl_path + FILE_SEPARATOR_STR + L"media" + FILE_SEPARATOR_STR + file_name))
{
file.WriteFile((BYTE*)art_bstore->rgfb[i]->pict_data, art_bstore->rgfb[i]->data_size);
file.CloseFile();
res = true;
}
} }
xlsx_context->get_mediaitems().add_image(L"media/" + file_name, bin_id); if (res)
xlsx_context->get_mediaitems().add_image(L"media/" + file_name, bin_id);
} }
else else
{ {
...@@ -532,6 +557,22 @@ void XlsConverter::convert(ODRAW::OfficeArtFOPT * fort) ...@@ -532,6 +557,22 @@ void XlsConverter::convert(ODRAW::OfficeArtFOPT * fort)
{ {
switch(fort->fopt.rgfopte[i]->opid) switch(fort->fopt.rgfopte[i]->opid)
{ {
case 0x100:
{
xlsx_context->get_drawing_context().set_crop_top(fort->fopt.rgfopte[i]->op);
}break;
case 0x101:
{
xlsx_context->get_drawing_context().set_crop_bottom(fort->fopt.rgfopte[i]->op);
}break;
case 0x102:
{
xlsx_context->get_drawing_context().set_crop_left(fort->fopt.rgfopte[i]->op);
}break;
case 0x103:
{
xlsx_context->get_drawing_context().set_crop_right(fort->fopt.rgfopte[i]->op);
}break;
case 0x104: case 0x104:
{ {
bool isIternal = false; bool isIternal = false;
...@@ -539,6 +580,17 @@ void XlsConverter::convert(ODRAW::OfficeArtFOPT * fort) ...@@ -539,6 +580,17 @@ void XlsConverter::convert(ODRAW::OfficeArtFOPT * fort)
std::wstring rId = xlsx_context->get_mediaitems().find_image(fort->fopt.rgfopte[i]->op , target, isIternal); std::wstring rId = xlsx_context->get_mediaitems().find_image(fort->fopt.rgfopte[i]->op , target, isIternal);
xlsx_context->get_drawing_context().set_image(target); xlsx_context->get_drawing_context().set_image(target);
}break; }break;
case 0x105://
case 0x380:
{
ODRAW::anyString *str = dynamic_cast<ODRAW::anyString*>(fort->fopt.rgfopte[i].get());
xlsx_context->get_drawing_context().set_name(str->string_);
}break;
case 0x381:
{
ODRAW::anyString *str = dynamic_cast<ODRAW::anyString*>(fort->fopt.rgfopte[i].get());
xlsx_context->get_drawing_context().set_description(str->string_);
}break;
case 0x0382: case 0x0382:
{ {
ODRAW::pihlShape *pihlShape = dynamic_cast<ODRAW::pihlShape*>(fort->fopt.rgfopte[i].get()); ODRAW::pihlShape *pihlShape = dynamic_cast<ODRAW::pihlShape*>(fort->fopt.rgfopte[i].get());
......
...@@ -130,7 +130,7 @@ void xlsx_drawing_context::start_shape(int type) ...@@ -130,7 +130,7 @@ void xlsx_drawing_context::start_shape(int type)
count_object++; count_object++;
} }
void xlsx_drawing_context::set_id(int id) void xlsx_drawing_context::set_id(long id)
{ {
if (drawing_state.size() < 1 )return; if (drawing_state.size() < 1 )return;
drawing_state.back().id = id; drawing_state.back().id = id;
...@@ -187,8 +187,14 @@ void xlsx_drawing_context::serialize_pic(std::wstring rId) ...@@ -187,8 +187,14 @@ void xlsx_drawing_context::serialize_pic(std::wstring rId)
{ {
CP_XML_NODE(L"xdr:cNvPr") CP_XML_NODE(L"xdr:cNvPr")
{ {
if (drawing_state.back().id >= 0) CP_XML_ATTR(L"id", drawing_state.back().id); if (drawing_state.back().id >= 0) CP_XML_ATTR(L"id", drawing_state.back().id);
CP_XML_ATTR(L"name", L"Picture_" + rId.substr(5)); if (drawing_state.back().name.empty()) drawing_state.back().name = L"Picture_" + rId.substr(5);
CP_XML_ATTR(L"name", drawing_state.back().name);
if (!drawing_state.back().description.empty())
{
CP_XML_ATTR(L"desc", drawing_state.back().description);
}
if (!drawing_state.back().hyperlink.empty()) if (!drawing_state.back().hyperlink.empty())
{ {
...@@ -205,7 +211,6 @@ void xlsx_drawing_context::serialize_pic(std::wstring rId) ...@@ -205,7 +211,6 @@ void xlsx_drawing_context::serialize_pic(std::wstring rId)
{ {
CP_XML_NODE(L"a:picLocks") CP_XML_NODE(L"a:picLocks")
{ {
CP_XML_ATTR(L"noChangeArrowheads", 1);
CP_XML_ATTR(L"noChangeAspect", 1); CP_XML_ATTR(L"noChangeAspect", 1);
} }
} }
...@@ -217,8 +222,17 @@ void xlsx_drawing_context::serialize_pic(std::wstring rId) ...@@ -217,8 +222,17 @@ void xlsx_drawing_context::serialize_pic(std::wstring rId)
CP_XML_ATTR(L"xmlns:r", L"http://schemas.openxmlformats.org/officeDocument/2006/relationships"); CP_XML_ATTR(L"xmlns:r", L"http://schemas.openxmlformats.org/officeDocument/2006/relationships");
CP_XML_ATTR(L"r:embed", rId); CP_XML_ATTR(L"r:embed", rId);
} }
CP_XML_NODE(L"a:srcRect");
CP_XML_NODE(L"a:srcRect")
{
if (drawing_state.back().image_crop_enabled)
{
CP_XML_ATTR(L"l", static_cast<size_t>(drawing_state.back().image_crop[0]));
CP_XML_ATTR(L"t", static_cast<size_t>(drawing_state.back().image_crop[1]));
CP_XML_ATTR(L"r", static_cast<size_t>(drawing_state.back().image_crop[2]));
CP_XML_ATTR(L"b", static_cast<size_t>(drawing_state.back().image_crop[3]));
}
}
CP_XML_NODE(L"a:stretch") CP_XML_NODE(L"a:stretch")
{ {
CP_XML_NODE(L"a:fillRect"); CP_XML_NODE(L"a:fillRect");
...@@ -258,7 +272,7 @@ void xlsx_drawing_context::serialize(std::wostream & stream) ...@@ -258,7 +272,7 @@ void xlsx_drawing_context::serialize(std::wostream & stream)
{ {
CP_XML_NODE(L"xdr:twoCellAnchor") CP_XML_NODE(L"xdr:twoCellAnchor")
{ {
CP_XML_ATTR(L"editAs", L"oneCell"); //CP_XML_ATTR(L"editAs", L"oneCell");
CP_XML_STREAM() << drawing_state.back().anchor; CP_XML_STREAM() << drawing_state.back().anchor;
CP_XML_STREAM() << drawing_state.back().shape; CP_XML_STREAM() << drawing_state.back().shape;
...@@ -267,7 +281,16 @@ void xlsx_drawing_context::serialize(std::wostream & stream) ...@@ -267,7 +281,16 @@ void xlsx_drawing_context::serialize(std::wostream & stream)
} }
} }
} }
void xlsx_drawing_context::set_name(std::wstring & str)
{
if (drawing_state.size() < 1 )return;
drawing_state.back().name = str;
}
void xlsx_drawing_context::set_description(std::wstring & str)
{
if (drawing_state.size() < 1 )return;
drawing_state.back().description = str;
}
void xlsx_drawing_context::set_anchor(std::wstring & str) void xlsx_drawing_context::set_anchor(std::wstring & str)
{ {
if (drawing_state.size() < 1 )return; if (drawing_state.size() < 1 )return;
...@@ -279,6 +302,26 @@ void xlsx_drawing_context::set_image(std::wstring & str) ...@@ -279,6 +302,26 @@ void xlsx_drawing_context::set_image(std::wstring & str)
drawing_state.back().image_target = str; drawing_state.back().image_target = str;
} }
void xlsx_drawing_context::set_crop_top (long val)
{
if (drawing_state.size() < 1 )return;
drawing_state.back().image_crop[1] = val;
}
void xlsx_drawing_context::set_crop_bottom(long val)
{
if (drawing_state.size() < 1 )return;
drawing_state.back().image_crop[3] = val;
}
void xlsx_drawing_context::set_crop_left (long val)
{
if (drawing_state.size() < 1 )return;
drawing_state.back().image_crop[0]= val;
}
void xlsx_drawing_context::set_crop_right (long val)
{
if (drawing_state.size() < 1 )return;
drawing_state.back().image_crop[2] = val;
}
void xlsx_drawing_context::set_hyperlink(std::wstring & str) void xlsx_drawing_context::set_hyperlink(std::wstring & str)
{ {
if (drawing_state.size() < 1 )return; if (drawing_state.size() < 1 )return;
......
...@@ -27,16 +27,27 @@ private: ...@@ -27,16 +27,27 @@ private:
class _drawing_state class _drawing_state
{ {
public: public:
_drawing_state() {isInternal = false; id = shape_id = -1; flipV = flipH = false;} _drawing_state()
{
isInternal = false; id = shape_id = -1;
flipV = flipH = false;
memset(image_crop, 0, 4 * sizeof(int));
}
external_items::Type type; external_items::Type type;
std::wstring name;
std::wstring description;
std::wstring anchor; std::wstring anchor;
std::wstring shape; std::wstring shape;
std::wstring image_target; std::wstring image_target;
int image_crop[4];
bool image_crop_enabled;
int id; int id;
int shape_id; int shape_id;
bool flipV; bool flipV;
bool flipH; bool flipH;
std::wstring hyperlink; std::wstring hyperlink;
...@@ -52,8 +63,6 @@ struct _hlink_desc ...@@ -52,8 +63,6 @@ struct _hlink_desc
class xlsx_drawing_context class xlsx_drawing_context
{ {
public: public:
xlsx_drawing_context(xlsx_drawing_context_handle & h); xlsx_drawing_context(xlsx_drawing_context_handle & h);
~xlsx_drawing_context(){} ~xlsx_drawing_context(){}
...@@ -64,16 +73,23 @@ public: ...@@ -64,16 +73,23 @@ public:
void start_image(); void start_image();
void start_shape(int type); void start_shape(int type);
void set_id ( int id); void set_id (long id);
void set_FlipH(); void set_FlipH ();
void set_FlipV(); void set_FlipV ();
void set_shape_id(int id); void set_shape_id (int id);
void set_name (std::wstring & str);
void set_image(std::wstring & str); void set_description(std::wstring & str);
void set_anchor(std::wstring & str);
void set_properties(std::wstring & str); void set_crop_top (long val);
void set_hyperlink(std::wstring & str); void set_crop_bottom(long val);
void set_crop_left (long val);
void set_crop_right (long val);
void set_image (std::wstring & str);
void set_anchor (std::wstring & str);
void set_properties (std::wstring & str);
void set_hyperlink (std::wstring & str);
void serialize(std::wostream & stream); void serialize(std::wostream & stream);
......
...@@ -23,6 +23,45 @@ EndProject ...@@ -23,6 +23,45 @@ EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ASCOfficeUtilsLib", "..\..\ASCOfficeUtils\ASCOfficeUtilsLib\Win\ASCOfficeUtilsLib.vcproj", "{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ASCOfficeUtilsLib", "..\..\ASCOfficeUtils\ASCOfficeUtilsLib\Win\ASCOfficeUtilsLib.vcproj", "{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}"
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "graphics", "..\..\DesktopEditor\graphics\graphics_vs2005.vcproj", "{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "graphics", "..\..\DesktopEditor\graphics\graphics_vs2005.vcproj", "{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}"
ProjectSection(ProjectDependencies) = postProject
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540} = {9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "raster", "..\..\DesktopEditor\raster\raster_vs2005.vcproj", "{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}"
ProjectSection(ProjectDependencies) = postProject
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1} = {EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}
{BC52A07C-A797-423D-8C4F-8678805BBB36} = {BC52A07C-A797-423D-8C4F-8678805BBB36}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cximage", "..\..\DesktopEditor\cximage\CxImage\cximage_vs2005.vcproj", "{BC52A07C-A797-423D-8C4F-8678805BBB36}"
ProjectSection(ProjectDependencies) = postProject
{818753F2-DBB9-4D3B-898A-A604309BE470} = {818753F2-DBB9-4D3B-898A-A604309BE470}
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D} = {FFDA5DA1-BB65-4695-B678-BE59B4A1355D}
{9A037A69-D1DF-4505-AB2A-6CB3641C476E} = {9A037A69-D1DF-4505-AB2A-6CB3641C476E}
{40A69F40-063E-43FD-8543-455495D8733E} = {40A69F40-063E-43FD-8543-455495D8733E}
{0588563C-F05C-428C-B21A-DD74756628B3} = {0588563C-F05C-428C-B21A-DD74756628B3}
{DF861D33-9BC1-418C-82B1-581F590FE169} = {DF861D33-9BC1-418C-82B1-581F590FE169}
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239} = {764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7} = {43A0E60E-5C4A-4C09-A29B-7683F503BBD7}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tiff", "..\..\DesktopEditor\cximage\tiff\Tiff_vs2005.vcproj", "{0588563C-F05C-428C-B21A-DD74756628B3}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libdcr", "..\..\DesktopEditor\cximage\raw\libdcr_vs2005.vcproj", "{DF861D33-9BC1-418C-82B1-581F590FE169}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "png", "..\..\DesktopEditor\cximage\png\png_vs2005.vcproj", "{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mng", "..\..\DesktopEditor\cximage\mng\mng_vs2005.vcproj", "{40A69F40-063E-43FD-8543-455495D8733E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libpsd", "..\..\DesktopEditor\cximage\libpsd\libpsd_vs2005.vcproj", "{9A037A69-D1DF-4505-AB2A-6CB3641C476E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jpeg", "..\..\DesktopEditor\cximage\jpeg\Jpeg_vs2005.vcproj", "{818753F2-DBB9-4D3B-898A-A604309BE470}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jasper", "..\..\DesktopEditor\cximage\jasper\jasper_vs2005.vcproj", "{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jbig", "..\..\DesktopEditor\cximage\jbig\jbig_vs2005.vcproj", "{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jbig2", "..\..\DesktopEditor\raster\JBig2\win32\jbig2.vcproj", "{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
...@@ -30,6 +69,10 @@ Global ...@@ -30,6 +69,10 @@ Global
Debug|x64 = Debug|x64 Debug|x64 = Debug|x64
Release|Win32 = Release|Win32 Release|Win32 = Release|Win32
Release|x64 = Release|x64 Release|x64 = Release|x64
Unicode Debug|Win32 = Unicode Debug|Win32
Unicode Debug|x64 = Unicode Debug|x64
Unicode Release|Win32 = Unicode Release|Win32
Unicode Release|x64 = Unicode Release|x64
EndGlobalSection EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution GlobalSection(ProjectConfigurationPlatforms) = postSolution
{4260FEDF-E1DA-447F-991B-62F17DF5533E}.Debug|Win32.ActiveCfg = Debug|Win32 {4260FEDF-E1DA-447F-991B-62F17DF5533E}.Debug|Win32.ActiveCfg = Debug|Win32
...@@ -40,6 +83,14 @@ Global ...@@ -40,6 +83,14 @@ Global
{4260FEDF-E1DA-447F-991B-62F17DF5533E}.Release|Win32.Build.0 = Release|Win32 {4260FEDF-E1DA-447F-991B-62F17DF5533E}.Release|Win32.Build.0 = Release|Win32
{4260FEDF-E1DA-447F-991B-62F17DF5533E}.Release|x64.ActiveCfg = Release|x64 {4260FEDF-E1DA-447F-991B-62F17DF5533E}.Release|x64.ActiveCfg = Release|x64
{4260FEDF-E1DA-447F-991B-62F17DF5533E}.Release|x64.Build.0 = Release|x64 {4260FEDF-E1DA-447F-991B-62F17DF5533E}.Release|x64.Build.0 = Release|x64
{4260FEDF-E1DA-447F-991B-62F17DF5533E}.Unicode Debug|Win32.ActiveCfg = Debug|Win32
{4260FEDF-E1DA-447F-991B-62F17DF5533E}.Unicode Debug|Win32.Build.0 = Debug|Win32
{4260FEDF-E1DA-447F-991B-62F17DF5533E}.Unicode Debug|x64.ActiveCfg = Debug|x64
{4260FEDF-E1DA-447F-991B-62F17DF5533E}.Unicode Debug|x64.Build.0 = Debug|x64
{4260FEDF-E1DA-447F-991B-62F17DF5533E}.Unicode Release|Win32.ActiveCfg = Release|Win32
{4260FEDF-E1DA-447F-991B-62F17DF5533E}.Unicode Release|Win32.Build.0 = Release|Win32
{4260FEDF-E1DA-447F-991B-62F17DF5533E}.Unicode Release|x64.ActiveCfg = Release|x64
{4260FEDF-E1DA-447F-991B-62F17DF5533E}.Unicode Release|x64.Build.0 = Release|x64
{77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}.Debug|Win32.ActiveCfg = Debug|Win32 {77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}.Debug|Win32.ActiveCfg = Debug|Win32
{77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}.Debug|Win32.Build.0 = Debug|Win32 {77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}.Debug|Win32.Build.0 = Debug|Win32
{77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}.Debug|x64.ActiveCfg = Debug|x64 {77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}.Debug|x64.ActiveCfg = Debug|x64
...@@ -48,6 +99,14 @@ Global ...@@ -48,6 +99,14 @@ Global
{77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}.Release|Win32.Build.0 = Release|Win32 {77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}.Release|Win32.Build.0 = Release|Win32
{77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}.Release|x64.ActiveCfg = Release|x64 {77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}.Release|x64.ActiveCfg = Release|x64
{77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}.Release|x64.Build.0 = Release|x64 {77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}.Release|x64.Build.0 = Release|x64
{77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}.Unicode Debug|Win32.ActiveCfg = Debug|Win32
{77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}.Unicode Debug|Win32.Build.0 = Debug|Win32
{77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}.Unicode Debug|x64.ActiveCfg = Debug|x64
{77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}.Unicode Debug|x64.Build.0 = Debug|x64
{77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}.Unicode Release|Win32.ActiveCfg = Release|Win32
{77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}.Unicode Release|Win32.Build.0 = Release|Win32
{77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}.Unicode Release|x64.ActiveCfg = Release|x64
{77DDC8D7-5B12-4FF2-9629-26AEBCA8436D}.Unicode Release|x64.Build.0 = Release|x64
{CBEDD0D1-10A8-45C1-AF81-8492F40964CA}.Debug|Win32.ActiveCfg = Debug|Win32 {CBEDD0D1-10A8-45C1-AF81-8492F40964CA}.Debug|Win32.ActiveCfg = Debug|Win32
{CBEDD0D1-10A8-45C1-AF81-8492F40964CA}.Debug|Win32.Build.0 = Debug|Win32 {CBEDD0D1-10A8-45C1-AF81-8492F40964CA}.Debug|Win32.Build.0 = Debug|Win32
{CBEDD0D1-10A8-45C1-AF81-8492F40964CA}.Debug|x64.ActiveCfg = Debug|x64 {CBEDD0D1-10A8-45C1-AF81-8492F40964CA}.Debug|x64.ActiveCfg = Debug|x64
...@@ -56,6 +115,14 @@ Global ...@@ -56,6 +115,14 @@ Global
{CBEDD0D1-10A8-45C1-AF81-8492F40964CA}.Release|Win32.Build.0 = Release|Win32 {CBEDD0D1-10A8-45C1-AF81-8492F40964CA}.Release|Win32.Build.0 = Release|Win32
{CBEDD0D1-10A8-45C1-AF81-8492F40964CA}.Release|x64.ActiveCfg = Release|x64 {CBEDD0D1-10A8-45C1-AF81-8492F40964CA}.Release|x64.ActiveCfg = Release|x64
{CBEDD0D1-10A8-45C1-AF81-8492F40964CA}.Release|x64.Build.0 = Release|x64 {CBEDD0D1-10A8-45C1-AF81-8492F40964CA}.Release|x64.Build.0 = Release|x64
{CBEDD0D1-10A8-45C1-AF81-8492F40964CA}.Unicode Debug|Win32.ActiveCfg = Debug|Win32
{CBEDD0D1-10A8-45C1-AF81-8492F40964CA}.Unicode Debug|Win32.Build.0 = Debug|Win32
{CBEDD0D1-10A8-45C1-AF81-8492F40964CA}.Unicode Debug|x64.ActiveCfg = Debug|x64
{CBEDD0D1-10A8-45C1-AF81-8492F40964CA}.Unicode Debug|x64.Build.0 = Debug|x64
{CBEDD0D1-10A8-45C1-AF81-8492F40964CA}.Unicode Release|Win32.ActiveCfg = Release|Win32
{CBEDD0D1-10A8-45C1-AF81-8492F40964CA}.Unicode Release|Win32.Build.0 = Release|Win32
{CBEDD0D1-10A8-45C1-AF81-8492F40964CA}.Unicode Release|x64.ActiveCfg = Release|x64
{CBEDD0D1-10A8-45C1-AF81-8492F40964CA}.Unicode Release|x64.Build.0 = Release|x64
{C2882DDD-07E6-4314-AD4B-48F43F38D722}.Debug|Win32.ActiveCfg = Debug|Win32 {C2882DDD-07E6-4314-AD4B-48F43F38D722}.Debug|Win32.ActiveCfg = Debug|Win32
{C2882DDD-07E6-4314-AD4B-48F43F38D722}.Debug|Win32.Build.0 = Debug|Win32 {C2882DDD-07E6-4314-AD4B-48F43F38D722}.Debug|Win32.Build.0 = Debug|Win32
{C2882DDD-07E6-4314-AD4B-48F43F38D722}.Debug|x64.ActiveCfg = Debug|x64 {C2882DDD-07E6-4314-AD4B-48F43F38D722}.Debug|x64.ActiveCfg = Debug|x64
...@@ -64,6 +131,14 @@ Global ...@@ -64,6 +131,14 @@ Global
{C2882DDD-07E6-4314-AD4B-48F43F38D722}.Release|Win32.Build.0 = Release|Win32 {C2882DDD-07E6-4314-AD4B-48F43F38D722}.Release|Win32.Build.0 = Release|Win32
{C2882DDD-07E6-4314-AD4B-48F43F38D722}.Release|x64.ActiveCfg = Release|x64 {C2882DDD-07E6-4314-AD4B-48F43F38D722}.Release|x64.ActiveCfg = Release|x64
{C2882DDD-07E6-4314-AD4B-48F43F38D722}.Release|x64.Build.0 = Release|x64 {C2882DDD-07E6-4314-AD4B-48F43F38D722}.Release|x64.Build.0 = Release|x64
{C2882DDD-07E6-4314-AD4B-48F43F38D722}.Unicode Debug|Win32.ActiveCfg = Debug|Win32
{C2882DDD-07E6-4314-AD4B-48F43F38D722}.Unicode Debug|Win32.Build.0 = Debug|Win32
{C2882DDD-07E6-4314-AD4B-48F43F38D722}.Unicode Debug|x64.ActiveCfg = Debug|x64
{C2882DDD-07E6-4314-AD4B-48F43F38D722}.Unicode Debug|x64.Build.0 = Debug|x64
{C2882DDD-07E6-4314-AD4B-48F43F38D722}.Unicode Release|Win32.ActiveCfg = Release|Win32
{C2882DDD-07E6-4314-AD4B-48F43F38D722}.Unicode Release|Win32.Build.0 = Release|Win32
{C2882DDD-07E6-4314-AD4B-48F43F38D722}.Unicode Release|x64.ActiveCfg = Release|x64
{C2882DDD-07E6-4314-AD4B-48F43F38D722}.Unicode Release|x64.Build.0 = Release|x64
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Debug|Win32.ActiveCfg = Debug|Win32 {3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Debug|Win32.ActiveCfg = Debug|Win32
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Debug|Win32.Build.0 = Debug|Win32 {3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Debug|Win32.Build.0 = Debug|Win32
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Debug|x64.ActiveCfg = Debug|x64 {3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Debug|x64.ActiveCfg = Debug|x64
...@@ -72,6 +147,14 @@ Global ...@@ -72,6 +147,14 @@ Global
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Release|Win32.Build.0 = Release|Win32 {3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Release|Win32.Build.0 = Release|Win32
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Release|x64.ActiveCfg = Release|x64 {3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Release|x64.ActiveCfg = Release|x64
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Release|x64.Build.0 = Release|x64 {3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Release|x64.Build.0 = Release|x64
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Unicode Debug|Win32.ActiveCfg = Debug|Win32
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Unicode Debug|Win32.Build.0 = Debug|Win32
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Unicode Debug|x64.ActiveCfg = Debug|x64
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Unicode Debug|x64.Build.0 = Debug|x64
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Unicode Release|Win32.ActiveCfg = Release|Win32
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Unicode Release|Win32.Build.0 = Release|Win32
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Unicode Release|x64.ActiveCfg = Release|x64
{3F3CB5A1-BB01-49C1-9342-4A69E30F9EF6}.Unicode Release|x64.Build.0 = Release|x64
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Debug|Win32.ActiveCfg = Debug|Win32 {37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Debug|Win32.ActiveCfg = Debug|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Debug|Win32.Build.0 = Debug|Win32 {37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Debug|Win32.Build.0 = Debug|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Debug|x64.ActiveCfg = Debug|x64 {37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Debug|x64.ActiveCfg = Debug|x64
...@@ -80,6 +163,190 @@ Global ...@@ -80,6 +163,190 @@ Global
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Release|Win32.Build.0 = Release|Win32 {37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Release|Win32.Build.0 = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Release|x64.ActiveCfg = Release|x64 {37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Release|x64.ActiveCfg = Release|x64
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Release|x64.Build.0 = Release|x64 {37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Release|x64.Build.0 = Release|x64
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Unicode Debug|Win32.ActiveCfg = Debug|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Unicode Debug|Win32.Build.0 = Debug|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Unicode Debug|x64.ActiveCfg = Debug|x64
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Unicode Debug|x64.Build.0 = Debug|x64
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Unicode Release|Win32.ActiveCfg = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Unicode Release|Win32.Build.0 = Release|Win32
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Unicode Release|x64.ActiveCfg = Release|x64
{37CA072A-5BDE-498B-B3A7-5E404F5F9BF2}.Unicode Release|x64.Build.0 = Release|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Debug|Win32.ActiveCfg = Debug|Win32
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Debug|Win32.Build.0 = Debug|Win32
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Debug|x64.ActiveCfg = Debug|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Debug|x64.Build.0 = Debug|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Release|Win32.ActiveCfg = Release|Win32
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Release|Win32.Build.0 = Release|Win32
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Release|x64.ActiveCfg = Release|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Release|x64.Build.0 = Release|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Unicode Debug|x64.ActiveCfg = Unicode Debug|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Unicode Debug|x64.Build.0 = Unicode Debug|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Unicode Release|x64.ActiveCfg = Unicode Release|x64
{9CAA294E-58C3-4CEB-ABA0-CB9786CA5540}.Unicode Release|x64.Build.0 = Unicode Release|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Debug|Win32.ActiveCfg = Debug|Win32
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Debug|Win32.Build.0 = Debug|Win32
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Debug|x64.ActiveCfg = Debug|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Debug|x64.Build.0 = Debug|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Release|Win32.ActiveCfg = Release|Win32
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Release|Win32.Build.0 = Release|Win32
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Release|x64.ActiveCfg = Release|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Release|x64.Build.0 = Release|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Unicode Debug|x64.ActiveCfg = Unicode Debug|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Unicode Debug|x64.Build.0 = Unicode Debug|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Unicode Release|x64.ActiveCfg = Unicode Release|x64
{BC52A07C-A797-423D-8C4F-8678805BBB36}.Unicode Release|x64.Build.0 = Unicode Release|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Debug|Win32.ActiveCfg = Debug|Win32
{0588563C-F05C-428C-B21A-DD74756628B3}.Debug|Win32.Build.0 = Debug|Win32
{0588563C-F05C-428C-B21A-DD74756628B3}.Debug|x64.ActiveCfg = Debug|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Debug|x64.Build.0 = Debug|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Release|Win32.ActiveCfg = Release|Win32
{0588563C-F05C-428C-B21A-DD74756628B3}.Release|Win32.Build.0 = Release|Win32
{0588563C-F05C-428C-B21A-DD74756628B3}.Release|x64.ActiveCfg = Release|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Release|x64.Build.0 = Release|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
{0588563C-F05C-428C-B21A-DD74756628B3}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
{0588563C-F05C-428C-B21A-DD74756628B3}.Unicode Debug|x64.ActiveCfg = Unicode Debug|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Unicode Debug|x64.Build.0 = Unicode Debug|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
{0588563C-F05C-428C-B21A-DD74756628B3}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
{0588563C-F05C-428C-B21A-DD74756628B3}.Unicode Release|x64.ActiveCfg = Unicode Release|x64
{0588563C-F05C-428C-B21A-DD74756628B3}.Unicode Release|x64.Build.0 = Unicode Release|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Debug|Win32.ActiveCfg = Debug|Win32
{DF861D33-9BC1-418C-82B1-581F590FE169}.Debug|Win32.Build.0 = Debug|Win32
{DF861D33-9BC1-418C-82B1-581F590FE169}.Debug|x64.ActiveCfg = Debug|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Debug|x64.Build.0 = Debug|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Release|Win32.ActiveCfg = Release|Win32
{DF861D33-9BC1-418C-82B1-581F590FE169}.Release|Win32.Build.0 = Release|Win32
{DF861D33-9BC1-418C-82B1-581F590FE169}.Release|x64.ActiveCfg = Release|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Release|x64.Build.0 = Release|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
{DF861D33-9BC1-418C-82B1-581F590FE169}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
{DF861D33-9BC1-418C-82B1-581F590FE169}.Unicode Debug|x64.ActiveCfg = Unicode Debug|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Unicode Debug|x64.Build.0 = Unicode Debug|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
{DF861D33-9BC1-418C-82B1-581F590FE169}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
{DF861D33-9BC1-418C-82B1-581F590FE169}.Unicode Release|x64.ActiveCfg = Unicode Release|x64
{DF861D33-9BC1-418C-82B1-581F590FE169}.Unicode Release|x64.Build.0 = Unicode Release|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Debug|Win32.ActiveCfg = Debug|Win32
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Debug|Win32.Build.0 = Debug|Win32
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Debug|x64.ActiveCfg = Debug|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Debug|x64.Build.0 = Debug|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Release|Win32.ActiveCfg = Release|Win32
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Release|Win32.Build.0 = Release|Win32
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Release|x64.ActiveCfg = Release|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Release|x64.Build.0 = Release|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Unicode Debug|x64.ActiveCfg = Unicode Debug|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Unicode Debug|x64.Build.0 = Unicode Debug|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Unicode Release|x64.ActiveCfg = Unicode Release|x64
{43A0E60E-5C4A-4C09-A29B-7683F503BBD7}.Unicode Release|x64.Build.0 = Unicode Release|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Debug|Win32.ActiveCfg = Debug|Win32
{40A69F40-063E-43FD-8543-455495D8733E}.Debug|Win32.Build.0 = Debug|Win32
{40A69F40-063E-43FD-8543-455495D8733E}.Debug|x64.ActiveCfg = Debug|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Debug|x64.Build.0 = Debug|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Release|Win32.ActiveCfg = Release|Win32
{40A69F40-063E-43FD-8543-455495D8733E}.Release|Win32.Build.0 = Release|Win32
{40A69F40-063E-43FD-8543-455495D8733E}.Release|x64.ActiveCfg = Release|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Release|x64.Build.0 = Release|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
{40A69F40-063E-43FD-8543-455495D8733E}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
{40A69F40-063E-43FD-8543-455495D8733E}.Unicode Debug|x64.ActiveCfg = Unicode Debug|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Unicode Debug|x64.Build.0 = Unicode Debug|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
{40A69F40-063E-43FD-8543-455495D8733E}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
{40A69F40-063E-43FD-8543-455495D8733E}.Unicode Release|x64.ActiveCfg = Unicode Release|x64
{40A69F40-063E-43FD-8543-455495D8733E}.Unicode Release|x64.Build.0 = Unicode Release|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Debug|Win32.ActiveCfg = Debug|Win32
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Debug|Win32.Build.0 = Debug|Win32
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Debug|x64.ActiveCfg = Debug|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Debug|x64.Build.0 = Debug|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Release|Win32.ActiveCfg = Release|Win32
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Release|Win32.Build.0 = Release|Win32
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Release|x64.ActiveCfg = Release|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Release|x64.Build.0 = Release|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Unicode Debug|x64.ActiveCfg = Unicode Debug|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Unicode Debug|x64.Build.0 = Unicode Debug|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Unicode Release|x64.ActiveCfg = Unicode Release|x64
{9A037A69-D1DF-4505-AB2A-6CB3641C476E}.Unicode Release|x64.Build.0 = Unicode Release|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Debug|Win32.ActiveCfg = Debug|Win32
{818753F2-DBB9-4D3B-898A-A604309BE470}.Debug|Win32.Build.0 = Debug|Win32
{818753F2-DBB9-4D3B-898A-A604309BE470}.Debug|x64.ActiveCfg = Debug|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Debug|x64.Build.0 = Debug|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Release|Win32.ActiveCfg = Release|Win32
{818753F2-DBB9-4D3B-898A-A604309BE470}.Release|Win32.Build.0 = Release|Win32
{818753F2-DBB9-4D3B-898A-A604309BE470}.Release|x64.ActiveCfg = Release|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Release|x64.Build.0 = Release|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
{818753F2-DBB9-4D3B-898A-A604309BE470}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
{818753F2-DBB9-4D3B-898A-A604309BE470}.Unicode Debug|x64.ActiveCfg = Unicode Debug|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Unicode Debug|x64.Build.0 = Unicode Debug|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
{818753F2-DBB9-4D3B-898A-A604309BE470}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
{818753F2-DBB9-4D3B-898A-A604309BE470}.Unicode Release|x64.ActiveCfg = Unicode Release|x64
{818753F2-DBB9-4D3B-898A-A604309BE470}.Unicode Release|x64.Build.0 = Unicode Release|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Debug|Win32.ActiveCfg = Debug|Win32
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Debug|Win32.Build.0 = Debug|Win32
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Debug|x64.ActiveCfg = Debug|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Debug|x64.Build.0 = Debug|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Release|Win32.ActiveCfg = Release|Win32
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Release|Win32.Build.0 = Release|Win32
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Release|x64.ActiveCfg = Release|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Release|x64.Build.0 = Release|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Unicode Debug|x64.ActiveCfg = Unicode Debug|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Unicode Debug|x64.Build.0 = Unicode Debug|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Unicode Release|x64.ActiveCfg = Unicode Release|x64
{FFDA5DA1-BB65-4695-B678-BE59B4A1355D}.Unicode Release|x64.Build.0 = Unicode Release|x64
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Debug|Win32.ActiveCfg = Debug|Win32
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Debug|Win32.Build.0 = Debug|Win32
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Debug|x64.ActiveCfg = Debug|x64
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Debug|x64.Build.0 = Debug|x64
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Release|Win32.ActiveCfg = Release|Win32
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Release|Win32.Build.0 = Release|Win32
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Release|x64.ActiveCfg = Release|x64
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Release|x64.Build.0 = Release|x64
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Unicode Debug|Win32.ActiveCfg = Unicode Debug|Win32
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Unicode Debug|Win32.Build.0 = Unicode Debug|Win32
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Unicode Debug|x64.ActiveCfg = Unicode Debug|x64
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Unicode Debug|x64.Build.0 = Unicode Debug|x64
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Unicode Release|Win32.ActiveCfg = Unicode Release|Win32
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Unicode Release|Win32.Build.0 = Unicode Release|Win32
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Unicode Release|x64.ActiveCfg = Unicode Release|x64
{764C3A2D-FB0F-428E-B1C7-62D1DD2CE239}.Unicode Release|x64.Build.0 = Unicode Release|x64
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Debug|Win32.ActiveCfg = Debug|Win32
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Debug|Win32.Build.0 = Debug|Win32
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Debug|x64.ActiveCfg = Debug|x64
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Debug|x64.Build.0 = Debug|x64
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Release|Win32.ActiveCfg = Release|Win32
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Release|Win32.Build.0 = Release|Win32
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Release|x64.ActiveCfg = Release|x64
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Release|x64.Build.0 = Release|x64
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Unicode Debug|Win32.ActiveCfg = Debug|Win32
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Unicode Debug|Win32.Build.0 = Debug|Win32
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Unicode Debug|x64.ActiveCfg = Debug|x64
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Unicode Debug|x64.Build.0 = Debug|x64
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Unicode Release|Win32.ActiveCfg = Release|Win32
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Unicode Release|Win32.Build.0 = Release|Win32
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Unicode Release|x64.ActiveCfg = Release|x64
{EE1B576A-07C5-4ACC-920F-81C41DD0C8C1}.Unicode Release|x64.Build.0 = Release|x64
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
......
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