Author: damjan
Date: Wed Feb 24 02:00:13 2016
New Revision: 1732007
URL: http://svn.apache.org/viewvc?rev=1732007&view=rev
Log:
Merge r1409442 from branches/gbuild:
#i116880# take outline border into account for correcting left/right margin of
paragraphs
BUILDS
Updates by: me
Modified:
openoffice/branches/gbuild-reintegration/ (props changed)
openoffice/branches/gbuild-reintegration/main/writerfilter/source/dmapper/DomainMapper_Impl.cxx
openoffice/branches/gbuild-reintegration/main/writerfilter/source/dmapper/PropertyIds.cxx
openoffice/branches/gbuild-reintegration/main/writerfilter/source/dmapper/PropertyIds.hxx
Propchange: openoffice/branches/gbuild-reintegration/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Feb 24 02:00:13 2016
@@ -1,4 +1,4 @@
-/incubator/ooo/branches/gbuild:1409313-1409425,1409428,1409432-1409436,1409438,1409440,1409470
+/incubator/ooo/branches/gbuild:1409313-1409425,1409428,1409432-1409436,1409438,1409440,1409442,1409470
/openoffice/branches/AOO400:1503684
/openoffice/branches/AOO410:1572480,1573601,1583349,1583635,1583666
/openoffice/branches/alg_writerframes:1556289-1579189
Modified:
openoffice/branches/gbuild-reintegration/main/writerfilter/source/dmapper/DomainMapper_Impl.cxx
URL:
http://svn.apache.org/viewvc/openoffice/branches/gbuild-reintegration/main/writerfilter/source/dmapper/DomainMapper_Impl.cxx?rev=1732007&r1=1732006&r2=1732007&view=diff
==============================================================================
---
openoffice/branches/gbuild-reintegration/main/writerfilter/source/dmapper/DomainMapper_Impl.cxx
(original)
+++
openoffice/branches/gbuild-reintegration/main/writerfilter/source/dmapper/DomainMapper_Impl.cxx
Wed Feb 24 02:00:13 2016
@@ -603,11 +603,14 @@ void lcl_CorrectIndents(PropertySequence
{
try
{
- ::rtl::OUString str(RTL_CONSTASCII_USTRINGPARAM(__FUNCTION__));
-
uno::Any aAny;
sal_Int32 nLeftMargin = 0;
+
+#ifdef DEBUG
+ ::std::string aStr(aPropSeq.toString());
+#endif
+
aAny = aPropSeq.get(PROP_PARA_LEFT_MARGIN);
if (aAny.hasValue())
aAny >>= nLeftMargin;
@@ -618,9 +621,17 @@ void lcl_CorrectIndents(PropertySequence
{
sal_Int32 nLeftBorderDistance = 0;
aAny >>= nLeftBorderDistance;
-
nLeftMargin -= nLeftBorderDistance;
+ aPropSeq.set(PROP_PARA_LEFT_MARGIN, nLeftMargin);
+ }
+ aAny = aPropSeq.get(PROP_LEFT_BORDER);
+
+ if (aAny.hasValue())
+ {
+ table::BorderLine aBorderLine;
+ aAny >>= aBorderLine;
+ nLeftMargin -= aBorderLine.OuterLineWidth;
aPropSeq.set(PROP_PARA_LEFT_MARGIN, nLeftMargin);
}
@@ -635,9 +646,17 @@ void lcl_CorrectIndents(PropertySequence
{
sal_Int32 nRightBorderDistance = 0;
aAny >>= nRightBorderDistance;
-
nRightMargin -= nRightBorderDistance;
+ aPropSeq.set(PROP_PARA_RIGHT_MARGIN, nRightMargin);
+ }
+ aAny = aPropSeq.get(PROP_RIGHT_BORDER);
+
+ if (aAny.hasValue())
+ {
+ table::BorderLine aBorderLine;
+ aAny >>= aBorderLine;
+ nRightMargin -= aBorderLine.OuterLineWidth;
aPropSeq.set(PROP_PARA_RIGHT_MARGIN, nRightMargin);
}
}
@@ -995,6 +1014,10 @@ void DomainMapper_Impl::finishParagraph(
lcl_CorrectIndents(*pPropSeq);
+ ::std::string sTmp(pPropSeq->toString());
+
+ ::std::clog << sTmp << ::std::endl;
+
uno::Reference< text::XTextRange > xTextRange =
xTextAppend->finishParagraph( pPropSeq->getSequence() );
getTableManager( ).handle(xTextRange);
Modified:
openoffice/branches/gbuild-reintegration/main/writerfilter/source/dmapper/PropertyIds.cxx
URL:
http://svn.apache.org/viewvc/openoffice/branches/gbuild-reintegration/main/writerfilter/source/dmapper/PropertyIds.cxx?rev=1732007&r1=1732006&r2=1732007&view=diff
==============================================================================
---
openoffice/branches/gbuild-reintegration/main/writerfilter/source/dmapper/PropertyIds.cxx
(original)
+++
openoffice/branches/gbuild-reintegration/main/writerfilter/source/dmapper/PropertyIds.cxx
Wed Feb 24 02:00:13 2016
@@ -373,7 +373,7 @@ uno::Any PropertySequence::get(PropertyI
return uno::Any();
}
-void PropertySequence::set(PropertyIds aPropId, const uno::Any & rValue)
+int PropertySequence::getOrCreateIndex(PropertyIds aPropId)
{
Map_t::const_iterator aIt = m_indexMap.find(aPropId);
@@ -382,22 +382,29 @@ void PropertySequence::set(PropertyIds a
{
sal_uInt32 nCount = m_sequence.getLength() + 1;
m_sequence.realloc(nCount);
- m_indexMap[aPropId] = nCount;
nIndex = nCount - 1;
+ m_indexMap[aPropId] = nIndex;
}
else
{
nIndex = aIt->second;
}
-
+
+ return nIndex;
+}
+
+void PropertySequence::set(PropertyIds aPropId, const uno::Any & rValue)
+{
+ sal_Int32 nIndex = getOrCreateIndex(aPropId);
+
m_sequence[nIndex].Name = m_rPropNameSupplier.GetName(aPropId);
- m_sequence[nIndex].Value <<= rValue;
+ m_sequence[nIndex].Value = rValue;
}
void PropertySequence::set(PropertyIds aPropId, sal_uInt32 nValue)
{
uno::Any aAny;
-
+
aAny <<= nValue;
set(aPropId, aAny);
}
@@ -405,7 +412,7 @@ void PropertySequence::set(PropertyIds a
void PropertySequence::set(PropertyIds aPropId, sal_Int32 nValue)
{
uno::Any aAny;
-
+
aAny <<= nValue;
set(aPropId, aAny);
}
@@ -413,7 +420,7 @@ void PropertySequence::set(PropertyIds a
void PropertySequence::set(PropertyIds aPropId, sal_uInt16 nValue)
{
uno::Any aAny;
-
+
aAny <<= nValue;
set(aPropId, aAny);
}
@@ -421,7 +428,7 @@ void PropertySequence::set(PropertyIds a
void PropertySequence::set(PropertyIds aPropId, sal_Int16 nValue)
{
uno::Any aAny;
-
+
aAny <<= nValue;
set(aPropId, aAny);
}
@@ -431,7 +438,6 @@ uno::Sequence<beans::PropertyValue> & Pr
return m_sequence;
}
-#ifdef DEBUG
::std::string PropertySequence::toString() const
{
::std::string sResult = "";
@@ -446,11 +452,20 @@ uno::Sequence<beans::PropertyValue> & Pr
::std::string sTmp = ::rtl::OUStringToOString(m_sequence[n].Name,
RTL_TEXTENCODING_ASCII_US).getStr();
sResult += sTmp;
+
+ if (m_sequence[n].Value.hasValue())
+ {
+ sal_Int32 nValue = 0;
+ m_sequence[n].Value >>= nValue;
+
+ static char buffer[256];
+ snprintf(buffer, sizeof(buffer), " = %" SAL_PRIdINT32, nValue);
+ sResult += buffer;
+ }
}
return sResult;
}
-#endif
} //namespace dmapper
} //namespace writerfilter
Modified:
openoffice/branches/gbuild-reintegration/main/writerfilter/source/dmapper/PropertyIds.hxx
URL:
http://svn.apache.org/viewvc/openoffice/branches/gbuild-reintegration/main/writerfilter/source/dmapper/PropertyIds.hxx?rev=1732007&r1=1732006&r2=1732007&view=diff
==============================================================================
---
openoffice/branches/gbuild-reintegration/main/writerfilter/source/dmapper/PropertyIds.hxx
(original)
+++
openoffice/branches/gbuild-reintegration/main/writerfilter/source/dmapper/PropertyIds.hxx
Wed Feb 24 02:00:13 2016
@@ -319,6 +319,8 @@ class PropertySequence
uno::Sequence<beans::PropertyValue>m_sequence;
PropertyNameSupplier & m_rPropNameSupplier;
+ int getOrCreateIndex(PropertyIds aId);
+
public:
typedef boost::shared_ptr<PropertySequence> Pointer_t;
@@ -336,9 +338,7 @@ public:
uno::Sequence<beans::PropertyValue> & getSequence();
-#ifdef DEBUG
::std::string toString() const;
-#endif
};
} //namespace dmapper