Commit 18f3cf18 authored by Sergey.Konovalov's avatar Sergey.Konovalov Committed by Alexander Trofimov

x2t:убраны заглушки на открытие/сохранение процентов

git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@68890 954022d7-b5bf-4e40-9824-e11837661b57
parent 31d969e7
......@@ -1855,7 +1855,7 @@ namespace BinDocxRW
void WriteW(int nType, const ComplexTypes::Word::CTblWidth& tableW, bool bWrite2 = false)
{
int nCurPos = 0;
if(tableW.m_oW.IsInit() && tableW.m_oType.IsInit() && SimpleTypes::tblwidthPct != tableW.m_oType->GetValue())
if(tableW.m_oW.IsInit() && tableW.m_oType.IsInit())
{
if(nType >= 0)
{
......@@ -1895,7 +1895,7 @@ namespace BinDocxRW
{
m_oBcw.m_oStream.WriteBYTE(c_oSerWidthType::WDocx);
m_oBcw.m_oStream.WriteBYTE(c_oSerPropLenType::Long);
m_oBcw.m_oStream.WriteLONG(tableW.m_oW->GetValue());
m_oBcw.m_oStream.WriteLONG(tableW.m_oW->GetValueIntegerPercent());
}
if(nType >= 0)
m_oBcw.WriteItemEnd(nCurPos);
......
......@@ -1938,6 +1938,7 @@ namespace SimpleTypes
virtual double FromString(CString &sValue)
{
//todo странно что если пришло значение от 0 до 1, то m_dValue от 0 до 1. В других случаях от 0 до 100
int nPos = sValue.Find( '%' );
int nLen = sValue.GetLength();
if ( -1 == nPos || nPos != sValue.GetLength() - 1 || nLen <= 0 )
......
......@@ -1184,6 +1184,18 @@ namespace SimpleTypes
return m_dValue;
}
int GetValueIntegerPercent() const
{
if(m_bTrailingPercentSign)
{
return (int)((m_dValue / 2) * 100);
}
else
{
return (int)m_dValue;
}
}
void SetValue(double &dValue)
{
m_dValue = dValue;
......
#pragma once
#pragma once
#ifndef OOX_LOGIC_DRAWING_INCLUDE_H_
#define OOX_LOGIC_DRAWING_INCLUDE_H_
......@@ -40,7 +40,7 @@ namespace OOX
virtual void fromXML(XmlUtils::CXmlNode& oNode)
{
// TO DO:
// TO DO: Реализовать
}
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{
......@@ -133,7 +133,7 @@ namespace OOX
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{
//
// Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("l"), m_oL )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("t"), m_oT )
......@@ -168,7 +168,7 @@ namespace OOX
virtual void fromXML(XmlUtils::CXmlNode& oNode)
{
// TO DO:
// TO DO: Реализовать
}
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{
......@@ -228,7 +228,7 @@ namespace OOX
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{
//
// Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_ReadSingle( oReader, _T("relativeFrom"), m_oRelativeFrom )
WritingElement_ReadAttributes_End( oReader )
......@@ -247,7 +247,7 @@ namespace OOX
public:
bool m_bAlign; // Align (PosOffset PctOffset)
bool m_bAlign; // используем Align или (PosOffset или PctOffset)
// Attributes
nullable<SimpleTypes::CRelFromH<> > m_oRelativeFrom;
......@@ -275,7 +275,7 @@ namespace OOX
virtual void fromXML(XmlUtils::CXmlNode& oNode)
{
// TO DO:
// TO DO: Реализовать
}
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{
......@@ -334,7 +334,7 @@ namespace OOX
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{
//
// Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_ReadSingle( oReader, _T("relativeFrom"), m_oRelativeFrom )
WritingElement_ReadAttributes_End( oReader )
......@@ -353,7 +353,7 @@ namespace OOX
public:
bool m_bAlign; // Align PosOffset
bool m_bAlign; // используем Align или PosOffset
// Attributes
nullable<SimpleTypes::CRelFromV<> > m_oRelativeFrom;
......@@ -412,7 +412,7 @@ namespace OOX
virtual void fromXML(XmlUtils::CXmlNode& oNode)
{
// TO DO:
// TO DO: Реализовать
}
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{
......@@ -456,7 +456,7 @@ namespace OOX
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{
//
// Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("distB"), m_oDistB )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("distL"), m_oDistL )
......@@ -502,7 +502,7 @@ namespace OOX
virtual void fromXML(XmlUtils::CXmlNode& oNode)
{
// TO DO:
// TO DO: Реализовать
}
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{
......@@ -555,7 +555,7 @@ namespace OOX
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{
//
// Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_ReadSingle( oReader, _T("edited"), m_oEdited )
WritingElement_ReadAttributes_End( oReader )
......@@ -588,7 +588,7 @@ namespace OOX
virtual void fromXML(XmlUtils::CXmlNode& oNode)
{
// TO DO:
// TO DO: Реализовать
}
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{
......@@ -629,7 +629,7 @@ namespace OOX
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{
//
// Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("distL"), m_oDistL )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("distR"), m_oDistR )
......@@ -665,7 +665,7 @@ namespace OOX
virtual void fromXML(XmlUtils::CXmlNode& oNode)
{
// TO DO:
// TO DO: Реализовать
}
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{
......@@ -706,7 +706,7 @@ namespace OOX
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{
//
// Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("distL"), m_oDistL )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("distR"), m_oDistR )
......@@ -742,7 +742,7 @@ namespace OOX
virtual void fromXML(XmlUtils::CXmlNode& oNode)
{
// TO DO:
// TO DO: Реализовать
}
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{
......@@ -784,7 +784,7 @@ namespace OOX
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{
//
// Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("distB"), m_oDistB )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("distT"), m_oDistT )
......@@ -830,7 +830,7 @@ namespace OOX
{
m_eWrapType = anchorwrapUnknown;
// TO DO:
// TO DO: Реализовать
}
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{
......@@ -860,15 +860,15 @@ namespace OOX
else if ( _T("wp:simplePos") == sName )
m_oSimplePos = oReader;
else if ( _T("mc:AlternateContent") == sName )
// .docx
// - ...
//todooo fallback, (w14, ..)
//ПРИВЛЕЧЕНИЕ СРЕДСТВ ИЗ МЕСТНЫХ ИСТОЧНИКОВ.docx
//вариативность на разные версии офиса части параметров - кстати ... это может встретиться в ЛЮБОМ месте
//todooo сделать чтение не обязательно fallback, по выбору версии нужной нам (w14, ..)
{
nCurDepth++;
while( oReader.ReadNextSiblingNode( nCurDepth ) )
{
CString sName = oReader.GetName();
if ( _T("mc:Fallback") == sName )
if ( _T("mc:Fallback") == sName || _T("mc:Choice") == sName )
{
CString strXml = _T("<root xmlns:wpc=\"http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas\" xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\" xmlns:o=\"urn:schemas-microsoft-com:office:office\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" xmlns:m=\"http://schemas.openxmlformats.org/officeDocument/2006/math\" xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:wp14=\"http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing\" xmlns:wp=\"http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing\" xmlns:w10=\"urn:schemas-microsoft-com:office:word\" xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\" xmlns:w14=\"http://schemas.microsoft.com/office/word/2010/wordml\" xmlns:wpg=\"http://schemas.microsoft.com/office/word/2010/wordprocessingGroup\" xmlns:wpi=\"http://schemas.microsoft.com/office/word/2010/wordprocessingInk\" xmlns:wne=\"http://schemas.microsoft.com/office/word/2006/wordml\" xmlns:wps=\"http://schemas.microsoft.com/office/word/2010/wordprocessingShape\">");
strXml.Append(oReader.GetOuterXml());
......@@ -881,7 +881,8 @@ namespace OOX
oSubReader.ReadNextNode();//root
oSubReader.ReadNextNode();//fallback
fromXML(oSubReader);
fromXML(oSubReader);
//break чтобы не читать сразу оба Choice и Fallback
break;
}
}
......@@ -1040,7 +1041,7 @@ namespace OOX
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{
//
// Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("allowOverlap"), m_oAllowOverlap )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("behindDoc"), m_oBehindDoc )
......@@ -1107,7 +1108,7 @@ namespace OOX
virtual void fromXML(XmlUtils::CXmlNode& oNode)
{
// TO DO:
// TO DO: Реализовать
}
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{
......@@ -1171,7 +1172,7 @@ namespace OOX
void ReadAttributes(XmlUtils::CXmlLiteReader& oReader)
{
//
// Читаем атрибуты
WritingElement_ReadAttributes_Start( oReader )
WritingElement_ReadAttributes_Read_if ( oReader, _T("distB"), m_oDistB )
WritingElement_ReadAttributes_Read_else_if( oReader, _T("distL"), m_oDistL )
......@@ -1234,8 +1235,8 @@ namespace OOX
// if ( !m_oInline->m_oEffectExtent.Init() ) return;
// int nNewH, nNewW, nDpi = 96;
// double dHeightPage = 25.7; //
// double dWidthPage = 16.5; //
// double dHeightPage = 25.7; // в сантиметрах
// double dWidthPage = 16.5; // в сантиметрах
// double dMaximum = max( lWidth / ( dWidthPage / 2.54 * nDpi ), lHeight / ( dHeightPage / 2.54 * nDpi ) );
// if ( dMaximum < 1 )
......@@ -1372,7 +1373,7 @@ namespace OOX
virtual void fromXML(XmlUtils::CXmlNode& oNode)
{
// TO DO:
// TO DO: Реализовать
}
virtual void fromXML(XmlUtils::CXmlLiteReader& oReader)
{
......@@ -1456,7 +1457,7 @@ namespace OOX
public:
bool m_bAnchor; // Anchor Inline
bool m_bAnchor; // используем Anchor или Inline
nullable<CString> m_sXml;
// Childs
......
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