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

PPTFormat - маркированые списки

git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@65411 954022d7-b5bf-4e40-9824-e11837661b57
parent ae7b89cf
......@@ -2050,7 +2050,9 @@ protected:
if (0 <= nTextMasterType && nTextMasterType < 9)
{
if (pThemeWrapper->m_pStyles[nTextMasterType].is_init())
{
pTextSettings->m_oStyles = pThemeWrapper->m_pStyles[nTextMasterType].get();
}
}
}
break;
......@@ -2149,15 +2151,18 @@ protected:
pTextSettings->m_oStyles.ApplyAfter(pThemeWrapper->m_pStyles[nIndexType].get());
}
}
//if (eTypeOwn != NSOfficePPT::NoPresent && eTypeOwn != eTypePersist && eTypeOwn != eTypeMaster)
//{ !!! Antarctida.ppt 2
// int nIndexType = (int)eTypeOwn;
// if (0 <= nIndexType && nIndexType < 9 && pLayout)
// {
// if (pThemeWrapper->m_pStyles[nIndexType].IsInit())
// pTextSettings->m_oStyles.ApplyAfter(pThemeWrapper->m_pStyles[nIndexType].get());
// }
//}
if (eTypeOwn != NSOfficePPT::NoPresent && eTypeOwn != NSOfficePPT::Other && eTypeOwn != eTypePersist && eTypeOwn != eTypeMaster)
{
int nIndexType = (int)eTypeOwn;
if (0 <= nIndexType && nIndexType < 9 && pLayout)
{
if (pThemeWrapper->m_pStyles[nIndexType].IsInit())
{
pTextSettings->m_oStyles.ApplyAfter(pThemeWrapper->m_pStyles[nIndexType].get());
}
}
}
}
if ((_T("") != strText) && 0 == pTextSettings->m_arParagraphs.size())
......
......@@ -231,18 +231,37 @@ namespace NSPresentationEditor
for (size_t nIndexP = 0; nIndexP < nCountPFs; ++nIndexP)
{
LONG lLevel = m_arParagraphs[nIndexP].m_lTextLevel;
nullable_base<bool> hasBullet;
nullable_base<bool> hasBullet;
nullable_base<CColor> bulletColor;
nullable_base<WORD> bulletFontRef;
nullable_base<WORD> bulletSize;
nullable_base<WCHAR> bulletChar;
nullable_base<LONG> indent;
nullable_base<LONG> margin;
if (-1 != m_lTextType && pTheme->m_pStyles[m_lTextType].m_pLevels[lLevel].is_init())
{
if (pTheme->m_pStyles[m_lTextType].m_pLevels[lLevel]->m_oPFRun.hasBullet.is_init())
hasBullet = pTheme->m_pStyles[m_lTextType].m_pLevels[lLevel]->m_oPFRun.hasBullet;
if (pTheme->m_pStyles[m_lTextType].m_pLevels[lLevel]->m_oPFRun.bulletColor.is_init())
bulletColor = pTheme->m_pStyles[m_lTextType].m_pLevels[lLevel]->m_oPFRun.bulletColor;
if (pTheme->m_pStyles[m_lTextType].m_pLevels[lLevel]->m_oPFRun.bulletFontRef.is_init())
bulletFontRef = pTheme->m_pStyles[m_lTextType].m_pLevels[lLevel]->m_oPFRun.bulletFontRef;
if (pTheme->m_pStyles[m_lTextType].m_pLevels[lLevel]->m_oPFRun.bulletSize.is_init())
bulletSize = pTheme->m_pStyles[m_lTextType].m_pLevels[lLevel]->m_oPFRun.bulletSize;
if (pTheme->m_pStyles[m_lTextType].m_pLevels[lLevel]->m_oPFRun.bulletChar.is_init())
bulletChar = pTheme->m_pStyles[m_lTextType].m_pLevels[lLevel]->m_oPFRun.bulletChar;
if (pTheme->m_pStyles[m_lTextType].m_pLevels[lLevel]->m_oPFRun.leftMargin.is_init())
margin = pTheme->m_pStyles[m_lTextType].m_pLevels[lLevel]->m_oPFRun.leftMargin;
if (pTheme->m_pStyles[m_lTextType].m_pLevels[lLevel]->m_oPFRun.indent.is_init())
indent = pTheme->m_pStyles[m_lTextType].m_pLevels[lLevel]->m_oPFRun.indent;
}
......@@ -250,10 +269,22 @@ namespace NSPresentationEditor
{
if (m_oLayoutStyles.m_pLevels[lLevel]->m_oPFRun.hasBullet.is_init())
hasBullet = m_oLayoutStyles.m_pLevels[lLevel]->m_oPFRun.hasBullet;
if (m_oLayoutStyles.m_pLevels[lLevel]->m_oPFRun.bulletColor.is_init())
bulletColor = m_oLayoutStyles.m_pLevels[lLevel]->m_oPFRun.bulletColor;
if (m_oLayoutStyles.m_pLevels[lLevel]->m_oPFRun.bulletSize.is_init())
bulletSize = m_oLayoutStyles.m_pLevels[lLevel]->m_oPFRun.bulletSize;
if (m_oLayoutStyles.m_pLevels[lLevel]->m_oPFRun.bulletChar.is_init())
bulletChar = m_oLayoutStyles.m_pLevels[lLevel]->m_oPFRun.bulletChar;
if (m_oLayoutStyles.m_pLevels[lLevel]->m_oPFRun.bulletFontRef.is_init())
bulletFontRef = m_oLayoutStyles.m_pLevels[lLevel]->m_oPFRun.bulletFontRef;
if (m_oLayoutStyles.m_pLevels[lLevel]->m_oPFRun.leftMargin.is_init())
margin = m_oLayoutStyles.m_pLevels[lLevel]->m_oPFRun.leftMargin;
if (m_oLayoutStyles.m_pLevels[lLevel]->m_oPFRun.indent.is_init())
indent = m_oLayoutStyles.m_pLevels[lLevel]->m_oPFRun.indent;
}
......@@ -261,22 +292,57 @@ namespace NSPresentationEditor
{
if (m_oStyles.m_pLevels[lLevel]->m_oPFRun.hasBullet.is_init())
hasBullet = m_oStyles.m_pLevels[lLevel]->m_oPFRun.hasBullet;
if (m_oStyles.m_pLevels[lLevel]->m_oPFRun.bulletColor.is_init())
bulletColor = m_oStyles.m_pLevels[lLevel]->m_oPFRun.bulletColor;
if (m_oStyles.m_pLevels[lLevel]->m_oPFRun.bulletFontRef.is_init())
bulletFontRef = m_oStyles.m_pLevels[lLevel]->m_oPFRun.bulletFontRef;
if (m_oStyles.m_pLevels[lLevel]->m_oPFRun.bulletChar.is_init())
bulletChar = m_oStyles.m_pLevels[lLevel]->m_oPFRun.bulletChar;
if (m_oStyles.m_pLevels[lLevel]->m_oPFRun.bulletSize.is_init())
bulletSize = m_oStyles.m_pLevels[lLevel]->m_oPFRun.bulletSize;
if (m_oStyles.m_pLevels[lLevel]->m_oPFRun.leftMargin.is_init())
margin = m_oStyles.m_pLevels[lLevel]->m_oPFRun.leftMargin;
if (m_oStyles.m_pLevels[lLevel]->m_oPFRun.indent.is_init())
indent = m_oStyles.m_pLevels[lLevel]->m_oPFRun.indent;
}
if (!m_arParagraphs[nIndexP].m_oPFRun.hasBullet.is_init())
m_arParagraphs[nIndexP].m_oPFRun.hasBullet = hasBullet;
if (!m_arParagraphs[nIndexP].m_oPFRun.bulletColor.is_init())
m_arParagraphs[nIndexP].m_oPFRun.bulletColor = bulletColor;
if (!m_arParagraphs[nIndexP].m_oPFRun.bulletSize.is_init())
m_arParagraphs[nIndexP].m_oPFRun.bulletSize = bulletSize;
if (!m_arParagraphs[nIndexP].m_oPFRun.bulletChar.is_init())
m_arParagraphs[nIndexP].m_oPFRun.bulletChar = bulletChar;
if (!m_arParagraphs[nIndexP].m_oPFRun.bulletFontRef.is_init())
m_arParagraphs[nIndexP].m_oPFRun.bulletFontRef = bulletFontRef;
if (!m_arParagraphs[nIndexP].m_oPFRun.leftMargin.is_init())
m_arParagraphs[nIndexP].m_oPFRun.leftMargin = margin;
if (!m_arParagraphs[nIndexP].m_oPFRun.indent.is_init())
m_arParagraphs[nIndexP].m_oPFRun.indent = indent;
if (m_arParagraphs[nIndexP].m_oPFRun.bulletFontRef.is_init())
{
if (!m_arParagraphs[nIndexP].m_oPFRun.bulletFontProperties.is_init())
m_arParagraphs[nIndexP].m_oPFRun.bulletFontProperties = new CFontProperties();
int ref = m_arParagraphs[nIndexP].m_oPFRun.bulletFontRef.get();
m_arParagraphs[nIndexP].m_oPFRun.bulletFontProperties->SetFont(pTheme->m_arFonts[ref]);
}
}
}
......
......@@ -329,29 +329,30 @@ namespace NSPresentationEditor
{
public:
NSCommon::nullable_base<bool> hasBullet;
NSCommon::nullable_base<WORD> bulletFontRef;
NSCommon::nullable_base<WORD> bulletSize;
NSCommon::nullable_base<WCHAR> bulletChar;
NSCommon::nullable_base<CColor> bulletColor;
NSCommon::nullable_base<WORD> textAlignment;
NSCommon::nullable_base<LONG> lineSpacing;
NSCommon::nullable_base<LONG> spaceBefore;
NSCommon::nullable_base<LONG> spaceAfter;
NSCommon::nullable_base<LONG> leftMargin;
NSCommon::nullable_base<LONG> indent;
NSCommon::nullable_base<LONG> defaultTabSize;
std::vector<DWORD> tabStops;
NSCommon::nullable_base<bool> hasBullet;
NSCommon::nullable_base<WORD> bulletFontRef;
NSCommon::nullable_base<WORD> bulletSize;
NSCommon::nullable_base<WCHAR> bulletChar;
NSCommon::nullable_base<CColor> bulletColor;
NSCommon::nullable_base<CFontProperties> bulletFontProperties;
NSCommon::nullable_base<WORD> textAlignment;
NSCommon::nullable_base<LONG> lineSpacing;
NSCommon::nullable_base<LONG> spaceBefore;
NSCommon::nullable_base<LONG> spaceAfter;
NSCommon::nullable_base<LONG> leftMargin;
NSCommon::nullable_base<LONG> indent;
NSCommon::nullable_base<LONG> defaultTabSize;
std::vector<DWORD> tabStops;
bool bIsOneLine;
bool bIsOneLine;
NSCommon::nullable_base<WORD> fontAlign;
NSCommon::nullable_base<WORD> textDirection;
NSCommon::nullable_base<WORD> fontAlign;
NSCommon::nullable_base<WORD> textDirection;
NSCommon::nullable_base<WORD> wrapFlags;
NSCommon::nullable_base<WORD> wrapFlags;
CTextPFRun() : hasBullet(), bulletFontRef(), bulletSize(), bulletChar(), bulletColor(),
textAlignment(), lineSpacing(), spaceBefore(), spaceAfter(), leftMargin(), indent(),
......@@ -366,67 +367,54 @@ namespace NSPresentationEditor
CTextPFRun& operator =(const CTextPFRun& oSrc)
{
hasBullet = oSrc.hasBullet;
hasBullet = oSrc.hasBullet;
bulletFontRef = oSrc.bulletFontRef;
bulletSize = oSrc.bulletSize;
bulletChar = oSrc.bulletChar;
bulletColor = oSrc.bulletColor;
bulletFontRef = oSrc.bulletFontRef;
bulletSize = oSrc.bulletSize;
bulletChar = oSrc.bulletChar;
bulletColor = oSrc.bulletColor;
bulletFontProperties = oSrc.bulletFontProperties;
textAlignment = oSrc.textAlignment;
lineSpacing = oSrc.lineSpacing;
spaceBefore = oSrc.spaceBefore;
spaceAfter = oSrc.spaceAfter;
leftMargin = oSrc.leftMargin;
indent = oSrc.indent;
defaultTabSize = oSrc.defaultTabSize;
textAlignment = oSrc.textAlignment;
lineSpacing = oSrc.lineSpacing;
spaceBefore = oSrc.spaceBefore;
spaceAfter = oSrc.spaceAfter;
leftMargin = oSrc.leftMargin;
indent = oSrc.indent;
defaultTabSize = oSrc.defaultTabSize;
tabStops = oSrc.tabStops;
tabStops = oSrc.tabStops;
fontAlign = oSrc.fontAlign;
textDirection = oSrc.textDirection;
wrapFlags = oSrc.wrapFlags;
fontAlign = oSrc.fontAlign;
textDirection = oSrc.textDirection;
wrapFlags = oSrc.wrapFlags;
bIsOneLine = oSrc.bIsOneLine;
bIsOneLine = oSrc.bIsOneLine;
return *this;
}
void ApplyBefore(const CTextPFRun& oSrc)
{
if (!hasBullet.is_init())
hasBullet = oSrc.hasBullet;
if (!bulletFontRef.is_init())
bulletFontRef = oSrc.bulletFontRef;
if (!bulletSize.is_init())
bulletSize = oSrc.bulletSize;
if (!bulletChar.is_init())
bulletChar = oSrc.bulletChar;
if (!bulletColor.is_init())
bulletColor = oSrc.bulletColor;
if (!textAlignment.is_init())
textAlignment = oSrc.textAlignment;
if (!lineSpacing.is_init())
lineSpacing = oSrc.lineSpacing;
if (!spaceBefore.is_init())
spaceBefore = oSrc.spaceBefore;
if (!spaceAfter.is_init())
spaceAfter = oSrc.spaceAfter;
if (!leftMargin.is_init())
leftMargin = oSrc.leftMargin;
if (!indent.is_init())
indent = oSrc.indent;
if (!defaultTabSize.is_init())
defaultTabSize = oSrc.defaultTabSize;
if (!fontAlign.is_init())
fontAlign = oSrc.fontAlign;
if (!textDirection.is_init())
textDirection = oSrc.textDirection;
if (!wrapFlags.is_init())
wrapFlags = oSrc.wrapFlags;
if (!hasBullet.is_init()) hasBullet = oSrc.hasBullet;
if (!bulletFontRef.is_init()) bulletFontRef = oSrc.bulletFontRef;
if (!bulletSize.is_init()) bulletSize = oSrc.bulletSize;
if (!bulletChar.is_init()) bulletChar = oSrc.bulletChar;
if (!bulletColor.is_init()) bulletColor = oSrc.bulletColor;
if (!bulletFontProperties.is_init()) bulletFontProperties = oSrc.bulletFontProperties;
if (!textAlignment.is_init()) textAlignment = oSrc.textAlignment;
if (!lineSpacing.is_init()) lineSpacing = oSrc.lineSpacing;
if (!spaceBefore.is_init()) spaceBefore = oSrc.spaceBefore;
if (!spaceAfter.is_init()) spaceAfter = oSrc.spaceAfter;
if (!leftMargin.is_init()) leftMargin = oSrc.leftMargin;
if (!indent.is_init()) indent = oSrc.indent;
if (!defaultTabSize.is_init()) defaultTabSize = oSrc.defaultTabSize;
if (!fontAlign.is_init()) fontAlign = oSrc.fontAlign;
if (!textDirection.is_init()) textDirection = oSrc.textDirection;
if (!wrapFlags.is_init()) wrapFlags = oSrc.wrapFlags;
if ((0 == tabStops.size()) && (0 != oSrc.tabStops.size()))
{
......@@ -442,6 +430,7 @@ namespace NSPresentationEditor
if (oSrc.bulletSize.is_init()) bulletSize = oSrc.bulletSize;
if (oSrc.bulletChar.is_init()) bulletChar = oSrc.bulletChar;
if (oSrc.bulletColor.is_init()) bulletColor = oSrc.bulletColor;
if (oSrc.bulletFontProperties.is_init())bulletFontProperties = oSrc.bulletFontProperties;
if (oSrc.textAlignment.is_init()) textAlignment = oSrc.textAlignment;
if (oSrc.lineSpacing.is_init()) lineSpacing = oSrc.lineSpacing;
......
......@@ -532,7 +532,7 @@ void NSPresentationEditor::CShapeWriter::WriteTextInfo()
}
else if (val < 0 && val > -13200)
{
CString str = _T("");
CString str;
str.Format(_T("<a:spcAft><a:spcPct val=\"%d\"/></a:spcAft>"), -val * 1000);
m_oWriter.WriteString(str);
}
......@@ -548,7 +548,7 @@ void NSPresentationEditor::CShapeWriter::WriteTextInfo()
}
else if (val < 0 && val > -13200)
{
CString str = _T("");
CString str;
str.Format(_T("<a:spcBef><a:spcPct val=\"%d\"/></a:spcBef>"), -val * 1000);
m_oWriter.WriteString(str);
}
......@@ -556,8 +556,35 @@ void NSPresentationEditor::CShapeWriter::WriteTextInfo()
if (pPF->hasBullet.is_init())
{
if (pPF->hasBullet.get())
{
if (pPF->bulletColor.is_init())
{
m_oWriter.WriteString(std::wstring(L"<a:buClr>"));
m_oWriter.WriteString(ConvertColor(pPF->bulletColor.get(), 255));
m_oWriter.WriteString(std::wstring(L"</a:buClr>"));
}
if (pPF->bulletSize.is_init())
{
if (pPF->bulletSize.get() > 24 && pPF->bulletSize.get() < 401)
{
CString str;
str.Format(_T("<a:buSzPct val=\"%d\"/>"), pPF->bulletSize.get() * 1000 );
m_oWriter.WriteString(str);
}
if (pPF->bulletSize.get() < 0 && pPF->bulletSize.get() > -4001)
{
CString str;
str.Format(_T("<a:buSzPts val=\"%d\"/>"), - pPF->bulletSize.get() );
m_oWriter.WriteString(str);
}
}
if (pPF->bulletFontProperties.is_init())
{
m_oWriter.WriteString(std::wstring(L"<a:buFont typeface=\"") + pPF->bulletFontProperties->strFontName + _T("\"/>"));
}
wchar_t bu = 0x2022;
m_oWriter.WriteString(std::wstring(L"<a:buChar char=\""));
if (pPF->bulletChar.is_init())
......@@ -582,7 +609,6 @@ void NSPresentationEditor::CShapeWriter::WriteTextInfo()
// m_oWriter.WriteString(std::wstring(L"<a:fld id=\"{D038279B-FC19-497E-A7D1-5ADD9CAF016F}\" type=\"slidenum\">"));
// m_oWriter.WriteString(std::wstring(L"<a:rPr/><a:t>#</a:t></a:fld>"));
//}
//else
size_t nCountSpans = pParagraph->m_arSpans.size();
for (size_t nSpan = 0; nSpan < nCountSpans; ++nSpan)
......
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