20 #include <com/sun/star/table/TableSortField.hpp>
26 #include <osl/endian.h>
55 #include <unoprnms.hxx>
58 #include <unotext.hxx>
59 #include <com/sun/star/text/TextMarkupType.hpp>
65 #include <com/sun/star/beans/PropertyAttribute.hpp>
66 #include <com/sun/star/beans/NamedValue.hpp>
67 #include <com/sun/star/i18n/WordType.hpp>
80 SwPaM(rDoc.GetNodes())
94 const SwPaM* pTmp = &rPaM;
103 while(&rPaM != (pTmp = pTmp->
GetNext()))
137 aStream.
SetEndian( SvStreamEndian::BIG );
139 aStream.
SetEndian( SvStreamEndian::LITTLE );
148 xWrt->m_bASCII_NoLastLineEnd =
true;
149 xWrt->m_bExportParagraphNumbering =
false;
152 xWrt->SetAsciiOptions( aOpt );
153 xWrt->m_bUCS2_WithStartChar =
false;
155 const bool bOldShowProgress = xWrt->m_bShowProgress;
156 xWrt->m_bShowProgress =
false;
157 xWrt->m_bHideDeleteRedlines = pLayout && pLayout->
IsHideRedlines();
169 rtl_uString *pStr = rtl_uString_alloc(lUniLen);
171 rBuffer = OUString(pStr, SAL_NO_ACQUIRE);
174 xWrt->m_bShowProgress = bOldShowProgress;
188 if (!(rValue >>= uStyle))
190 throw lang::IllegalArgumentException();
199 throw lang::IllegalArgumentException();
211 if (!(rValue >>= uStyle))
213 throw lang::IllegalArgumentException();
215 std::shared_ptr<SfxItemSet> pStyle = bPara ?
220 throw lang::IllegalArgumentException();
246 throw lang::IllegalArgumentException();
252 SwPaM *pTmpCursor = &rPaM;
255 pTmpCursor = pTmpCursor->
GetNext();
256 }
while ( pTmpCursor != &rPaM );
265 if (!(rValue >>= uDescName))
269 std::unique_ptr<SwFormatPageDesc> pNewDesc;
281 if (!pNewDesc->GetPageDesc() ||
282 (pNewDesc->GetPageDesc()->GetName() != sDescName))
285 if (!sDescName.isEmpty())
290 throw lang::IllegalArgumentException();
292 pNewDesc->RegisterToPageDesc(*pPageDesc);
313 sal_uInt16 nStt = (nTmp < 0 ? USHRT_MAX : o3tl::narrowing<sal_uInt16>(nTmp));
317 if( rCursor.
GetNext() != &rCursor )
322 for(
size_t n = 0;
n < aRangeArr.
Count(); ++
n )
340 uno::Sequence<OUString> aCharStyles;
341 if (!(rValue >>= aCharStyles))
346 for (sal_Int32 nStyle = 0; nStyle < aCharStyles.getLength(); nStyle++)
350 aStyle <<= aCharStyles.getConstArray()[nStyle];
369 if (!(rValue >>= uStyle))
371 throw lang::IllegalArgumentException();
383 throw lang::IllegalArgumentException();
385 std::unique_ptr<SwFormatDrop> pDrop;
395 pDrop->SetCharFormat(xStyle->GetCharFormat());
396 rItemSet.
Put(*pDrop);
403 if (!(rValue >>= sTmp))
405 throw lang::IllegalArgumentException();
408 std::unique_ptr<SwFormatRuby> pRuby;
420 pRuby->SetCharFormatName(sStyle);
421 pRuby->SetCharFormatId(0);
422 if (!sStyle.isEmpty())
426 pRuby->SetCharFormatId(nId);
428 rItemSet.
Put(*pRuby);
436 if (!(rEntry.
nFlags & beans::PropertyAttribute::MAYBEVOID) &&
449 rValue, rItemSet,
false);
459 rValue, rItemSet,
true);
477 throw lang::IllegalArgumentException();
481 sal_Int16 nLevel = 0;
482 if (rValue >>= nLevel)
484 if (nLevel < 0 ||
MAXLEVEL <= nLevel)
486 throw lang::IllegalArgumentException(
487 "invalid NumberingLevel",
nullptr, 0);
496 if (rValue >>= sListId)
503 bool bIsNumber(
false);
504 if ((rValue >>= bIsNumber) && !bIsNumber)
511 uno::Sequence<beans::NamedValue>
props;
512 if (rValue >>= props)
523 for (beans::NamedValue
const & prop : std::as_const(props))
526 rMap.getByName(prop.Name);
529 if (prop.Name ==
"CharStyleName")
534 throw beans::UnknownPropertyException(
535 "Unknown property: " + prop.Name);
537 if (pEntry->
nFlags & beans::PropertyAttribute::READONLY)
539 throw beans::PropertyVetoException(
540 "Property is read-only: " + prop.Name);
542 rPropSet.setPropertyValue(*pEntry, prop.Value, items);
548 item.SetStyleHandle(std::make_shared<SfxItemSet>(items));
558 if (!(rValue >>= bVal))
560 throw lang::IllegalArgumentException();
597 rValue, rPam.
GetDoc(), rItemSet);
614 static const sal_uLong nMaxLookup = 1000;
617 SwPaM *pTmpCursor = &rPaM;
632 SwTextNode const*
const pNd = rNds[
n ]->GetTextNode();
641 else if( pFormat != pNdFormat )
649 pTmpCursor = pTmpCursor->
GetNext();
650 }
while ( pTmpCursor != &rPaM );
651 return bError ?
nullptr : pFormat;
671 uno::Reference< text::XText >
const& xParent,
677 , m_xParentText(xParent)
678 , m_pUnoCursor(rDoc.CreateUnoCursor(rPos))
691 , m_xParentText(xParent)
692 , m_pUnoCursor(rSourceCursor.GetDoc().CreateUnoCursor(*rSourceCursor.GetPoint()))
708 const bool bForceExpandHints)
715 SwDoc& rDoc = pUnoCursor->GetDoc();
717 const sal_Int32 nTextLen = rText.getLength();
719 auto pCurrent = pUnoCursor;
722 if (pCurrent->HasMark())
730 rDoc, *pCurrent, rText, bForceExpandHints ) );
731 OSL_ENSURE( bSuccess,
"Doc->Insert(Str) failed." );
734 pCurrent->Left(rText.getLength());
736 pCurrent = pCurrent->GetNext();
737 }
while (pCurrent != pUnoCursor);
749 uno::Reference<text::XText>
const & xParentText,
753 SwXMeta const *
const pXMeta( dynamic_cast<SwXMeta*>(xParentText.get()) );
754 OSL_ENSURE(pXMeta,
"no parent?");
756 throw uno::RuntimeException();
760 const bool bSuccess( pXMeta->
SetContentRange(pTextNode, nStart, nEnd) );
761 OSL_ENSURE(bSuccess,
"no pam?");
763 throw uno::RuntimeException();
769 case META_INIT_START:
775 case META_CHECK_BOTH:
776 if (*rCursor.
Start() < start)
778 *rCursor.
Start() = start;
781 if (*rCursor.
End() > end)
783 *rCursor.
End() = end;
798 OSL_ENSURE(pXMeta,
"no meta?");
799 if (pCursor && pXMeta)
806 OSL_ENSURE(bSuccess,
"no pam?");
810 if ( (*pCursor->GetPoint() == end)
811 || (*pCursor->GetMark() == end))
826 auto pXContentControl(
828 if (!pXContentControl)
830 SAL_WARN(
"sw.core",
"SwXTextCursor::IsAtEndOfContentControl: no content control");
832 if (pCursor && pXContentControl)
838 pXContentControl->SetContentRange(pTextNode, nStart, nEnd) );
841 SAL_WARN(
"sw.core",
"SwXTextCursor::IsAtEndOfContentControl: no pam");
846 if ( (*pCursor->GetPoint() == end)
847 || (*pCursor->GetMark() == end))
859 return "SwXTextCursor";
867 uno::Sequence< OUString > SAL_CALL
871 "com.sun.star.text.TextCursor",
872 "com.sun.star.style.CharacterProperties",
873 "com.sun.star.style.CharacterPropertiesAsian",
874 "com.sun.star.style.CharacterPropertiesComplex",
875 "com.sun.star.style.ParagraphProperties",
876 "com.sun.star.style.ParagraphPropertiesAsian",
877 "com.sun.star.style.ParagraphPropertiesComplex",
878 "com.sun.star.text.TextSortable"
885 return theSwXTextCursorUnoTunnelId.
getSeq();
891 const sal_Int64 nRet( comphelper::getSomethingImpl<SwXTextCursor>(rId,
this) );
933 if(pUnoCursor && pUnoCursor->GetMark())
935 bRet = (*pUnoCursor->GetPoint() == *pUnoCursor->GetMark());
948 bool bRet = rUnoCursor.
Left( nCount);
966 bool bRet = rUnoCursor.
Right(nCount);
1063 const uno::Reference< text::XTextRange > & xRange,
sal_Bool bExpand)
1069 throw uno::RuntimeException();
1074 uno::Reference<lang::XUnoTunnel> xRangeTunnel( xRange, uno::UNO_QUERY);
1075 SwXTextRange* pRange = comphelper::getFromUnoTunnel<SwXTextRange>(xRangeTunnel);
1076 OTextCursorHelper* pCursor = comphelper::getFromUnoTunnel<OTextCursorHelper>(xRangeTunnel);
1078 if (!pRange && !pCursor)
1080 throw uno::RuntimeException();
1084 const SwPaM * pPam(
nullptr);
1087 pPam = pCursor->GetPaM();
1099 throw uno::RuntimeException();
1118 while ( pOwnStartNode !=
nullptr
1126 while ( pTmp !=
nullptr
1134 if (!pOwnStartNode || !pTmp)
1136 throw uno::RuntimeException();
1141 throw uno::RuntimeException();
1146 if ( pOwnStartNode != pTmp )
1148 throw uno::RuntimeException();
1160 throw uno::RuntimeException(
1161 "gotoRange: parameter range not contained in nesting"
1162 " text content for which this cursor was created",
1163 static_cast<text::XWordCursor*>(
this));
1178 if (aOwnRight > rParamRight)
1179 *rOwnCursor.
GetPoint() = aOwnRight;
1181 *rOwnCursor.
GetPoint() = rParamRight;
1183 if (aOwnLeft < rParamLeft)
1184 *rOwnCursor.
GetMark() = aOwnLeft;
1186 *rOwnCursor.
GetMark() = rParamLeft;
1211 rUnoCursor.
IsStartWordWT( i18n::WordType::DICTIONARY_WORD );
1222 rUnoCursor.
IsEndWordWT( i18n::WordType::DICTIONARY_WORD );
1247 rUnoCursor.
Right(1);
1252 rUnoCursor.
GoNextWordWT( i18n::WordType::DICTIONARY_WORD );
1294 rUnoCursor.
GoPrevWordWT( i18n::WordType::DICTIONARY_WORD );
1325 const sal_Int16 nWordType = i18n::WordType::DICTIONARY_WORD;
1337 pPoint->
nNode = rOldNode;
1361 const sal_Int16 nWordType = i18n::WordType::DICTIONARY_WORD;
1373 pPoint->
nNode = rOldNode;
1397 if (!bRet && (!rUnoCursor.
HasMark() ||
1403 bRet = aOrigPos == *aCursor.GetPoint();
1421 if (!bRet && (!rUnoCursor.
HasMark() ||
1427 bRet = aOrigPos == *aCursor.GetPoint();
1450 if (!rUnoCursor.
IsStartWordWT(css::i18n::WordType::ANYWORD_IGNOREWHITESPACES))
1452 const bool bNextWord = rUnoCursor.
GoNextWordWT(i18n::WordType::ANYWORD_IGNOREWHITESPACES);
1453 if (bWasEOS && !bNextWord)
1530 bool bRet = !bAlreadyParaEnd
1585 OSL_ENSURE( bRet,
"gotoStartOfParagraph failed" );
1610 OSL_ENSURE( bRet,
"gotoEndOfParagraph failed" );
1646 uno::Reference< text::XText > SAL_CALL
1654 uno::Reference< text::XTextRange > SAL_CALL
1661 uno::Reference< text::XTextRange > xRet;
1663 const uno::Reference< text::XText > xParent =
getText();
1670 pXCursor->gotoStart(
false);
1671 xRet =
static_cast<text::XWordCursor*
>(pXCursor.get());
1680 uno::Reference< text::XTextRange > SAL_CALL
1687 uno::Reference< text::XTextRange > xRet;
1689 const uno::Reference< text::XText > xParent =
getText();
1696 pXCursor->gotoEnd(
false);
1697 xRet =
static_cast<text::XWordCursor*
>(pXCursor.get());
1726 .CheckForOwnMemberMeta(*
GetPaM(),
true) );
1732 std::u16string_view rPropertyName)
1740 throw beans::UnknownPropertyException(
1741 OUString::Concat(
"Unknown property: ") + rPropertyName,
1742 static_cast<cppu::OWeakObject *>(
nullptr));
1745 beans::PropertyState eTemp;
1747 *pEntry, rPaM, &aAny, eTemp );
1766 const OUString& rPropertyName,
1789 const uno::Sequence< beans::PropertyValue > &rPropertyValues,
1792 if (!rPropertyValues.hasElements())
1796 OUString aUnknownExMsg, aPropertyVetoExMsg;
1800 std::vector<std::pair<const SfxItemPropertyMapEntry*, const uno::Any&>>
aEntries;
1801 aEntries.reserve(rPropertyValues.getLength());
1802 for (
const auto& rPropVal : rPropertyValues)
1804 const OUString &rPropertyName = rPropVal.Name;
1812 aUnknownExMsg +=
"Unknown property: '" + rPropertyName +
"' ";
1815 else if (pEntry->
nFlags & beans::PropertyAttribute::READONLY)
1817 aPropertyVetoExMsg +=
"Property is read-only: '" + rPropertyName +
"' ";
1821 aEntries.emplace_back(pEntry, rPropVal.Value);
1824 if (!aEntries.empty())
1829 bool bPreviousPropertyCausesSideEffectsInNodes =
false;
1830 for (
size_t i = 0;
i < aEntries.size(); ++
i)
1833 bool bPropertyCausesSideEffectsInNodes =
1837 if (i == 0 || bPreviousPropertyCausesSideEffectsInNodes)
1839 aItemSet.ClearItem();
1843 const uno::Any &rValue = aEntries[
i].second;
1848 if (i + 1 == aEntries.size() || bPropertyCausesSideEffectsInNodes)
1851 bPreviousPropertyCausesSideEffectsInNodes = bPropertyCausesSideEffectsInNodes;
1855 if (!aUnknownExMsg.isEmpty())
1856 throw beans::UnknownPropertyException(aUnknownExMsg, static_cast<cppu::OWeakObject *>(
nullptr));
1857 if (!aPropertyVetoExMsg.isEmpty())
1858 throw beans::PropertyVetoException(aPropertyVetoExMsg, static_cast<cppu::OWeakObject *>(
nullptr));
1863 bool NotInRange(sal_uInt16 nWID, sal_uInt16 nStart, sal_uInt16 nEnd)
1865 return nWID < nStart || nWID > nEnd;
1869 uno::Sequence< beans::PropertyState >
1872 const uno::Sequence< OUString >& rPropertyNames,
1875 const OUString* pNames = rPropertyNames.getConstArray();
1876 uno::Sequence< beans::PropertyState > aRet(rPropertyNames.getLength());
1877 beans::PropertyState* pStates = aRet.getArray();
1879 std::optional<SfxItemSet> oSet;
1880 std::optional<SfxItemSet> oSetParent;
1882 for (sal_Int32 i = 0, nEnd = rPropertyNames.getLength();
i < nEnd;
i++)
1891 pStates[i] = beans::PropertyState_DEFAULT_VALUE;
1898 pStates[i] = beans::PropertyState::PropertyState_MAKE_FIXED_SIZE;
1903 throw beans::UnknownPropertyException(
1904 "Unknown property: " + pNames[i],
1905 static_cast<cppu::OWeakObject *>(
nullptr));
1913 pStates[i] = beans::PropertyState_DEFAULT_VALUE;
1921 *pEntry, rPaM,
nullptr, pStates[i] );
1932 svl::Items<RES_CHRATR_BEGIN, RES_TXTATR_END> );
1944 RES_UNKNOWNATR_CONTAINER>);
1950 pStates[i] = ( oSet->Count() )
1952 : beans::PropertyState_DEFAULT_VALUE;
1955 if( beans::PropertyState_DIRECT_VALUE == pStates[i] )
1959 oSetParent.emplace(oSet->CloneAsValue(
false ));
1962 rPaM, *oSetParent,
true,
false );
1965 pStates[i] = ( oSetParent->Count() )
1967 : beans::PropertyState_DEFAULT_VALUE;
1977 const OUString& rPropertyName)
1979 uno::Sequence< OUString > aStrings { rPropertyName };
1980 uno::Sequence< beans::PropertyState >
aSeq =
1999 *pTemp->GetPoint() = aEnd;
2010 std::u16string_view rPropertyName)
2017 throw beans::UnknownPropertyException(
2018 OUString::Concat(
"Unknown property: ") + rPropertyName,
2019 static_cast<cppu::OWeakObject *>(
nullptr));
2022 if (pEntry->
nFlags & beans::PropertyAttribute::READONLY)
2024 throw uno::RuntimeException(
2025 OUString::Concat(
"setPropertyToDefault: property is read-only: ")
2026 + rPropertyName,
nullptr);
2049 std::u16string_view rPropertyName)
2055 throw beans::UnknownPropertyException(
2056 OUString::Concat(
"Unknown property: ") + rPropertyName,
2057 static_cast<cppu::OWeakObject *>(
nullptr));
2071 uno::Reference< beans::XPropertySetInfo > SAL_CALL
2076 static uno::Reference< beans::XPropertySetInfo > xRef = [&]()
2082 {
u"", 0, css::uno::Type(), 0, 0 }
2084 const uno::Reference< beans::XPropertySetInfo > xInfo =
2087 const uno::Sequence<beans::Property> aPropSeq = xInfo->getProperties();
2097 const OUString& rPropertyName,
const uno::Any& rValue)
2106 if (!(rValue >>= bSet))
2108 throw lang::IllegalArgumentException();
2115 if (!(rValue >>= bSet))
2117 throw lang::IllegalArgumentException();
2166 const uno::Reference< beans::XPropertyChangeListener >& )
2168 OSL_FAIL(
"SwXTextCursor::addPropertyChangeListener(): not implemented");
2174 const uno::Reference< beans::XPropertyChangeListener >& )
2176 OSL_FAIL(
"SwXTextCursor::removePropertyChangeListener(): not implemented");
2182 const uno::Reference< beans::XVetoableChangeListener >& )
2184 OSL_FAIL(
"SwXTextCursor::addVetoableChangeListener(): not implemented");
2190 const uno::Reference< beans::XVetoableChangeListener >& )
2192 OSL_FAIL(
"SwXTextCursor::removeVetoableChangeListener(): not implemented");
2195 beans::PropertyState SAL_CALL
2207 uno::Sequence< beans::PropertyState > SAL_CALL
2209 const uno::Sequence< OUString >& rPropertyNames)
2223 uno::Sequence < OUString > aSequence ( &rPropertyName, 1 );
2231 const uno::Sequence < OUString > aSequence ( &rPropertyName, 1 );
2236 const uno::Sequence< OUString >& aPropertyNames,
2237 const uno::Sequence< uno::Any >& aValues )
2239 if( aValues.getLength() != aPropertyNames.getLength() )
2241 OSL_FAIL(
"mis-matched property value sequences" );
2242 throw lang::IllegalArgumentException();
2250 uno::Sequence< beans::PropertyValue >
aPropertyValues( aValues.getLength() );
2252 for ( sal_Int32 i = 0; i < aPropertyNames.getLength(); i++ )
2258 OSL_FAIL(
"invalid property name for batch setting");
2259 throw lang::IllegalArgumentException();
2261 aPropertyValuesRange[ i ].Name = aPropertyNames[ i ];
2262 aPropertyValuesRange[ i ].Value = aValues[ i ];
2268 catch (
const css::beans::UnknownPropertyException& e)
2271 throw lang::WrappedTargetException(
2272 "wrapped Exception " + e.Message,
2273 uno::Reference<uno::XInterface>(), a);
2277 uno::Sequence< uno::Any > SAL_CALL
2281 uno::Sequence< uno::Any > aValues( aPropertyNames.getLength() );
2282 std::transform(aPropertyNames.begin(), aPropertyNames.end(), aValues.getArray(),
2288 const uno::Sequence< OUString >& ,
2289 const uno::Reference< css::beans::XPropertiesChangeListener >& )
2291 OSL_FAIL(
"SwXTextCursor::addPropertiesChangeListener(): not implemented");
2294 const uno::Reference< css::beans::XPropertiesChangeListener >& )
2296 OSL_FAIL(
"SwXTextCursor::removePropertiesChangeListener(): not implemented");
2300 const uno::Sequence< OUString >& ,
2301 const uno::Reference< css::beans::XPropertiesChangeListener >& )
2303 OSL_FAIL(
"SwXTextCursor::firePropertiesChangeEvent(): not implemented");
2330 const sal_uInt16 nStart = *pIdRange++;
2331 const sal_uInt16 nEnd = *pIdRange++;
2332 for (sal_uInt16
nId = nStart + 1;
nId <= nEnd; ++
nId)
2350 if (!aParaWhichIds.
empty())
2355 if (!aWhichIds.
empty())
2363 const uno::Sequence< OUString >& rPropertyNames)
2369 if ( !rPropertyNames.hasElements() )
2375 for (
const OUString& rName : rPropertyNames)
2386 throw beans::UnknownPropertyException(
2387 "Unknown property: " + rName,
2388 static_cast<cppu::OWeakObject *>(
this));
2390 if (pEntry->
nFlags & beans::PropertyAttribute::READONLY)
2392 throw uno::RuntimeException(
2393 "setPropertiesToDefault: property is read-only: " + rName,
2394 static_cast<cppu::OWeakObject *>(
this));
2414 if (!aParaWhichIds.
empty())
2418 if (!aWhichIds.
empty())
2420 rDoc.
ResetAttrs(rUnoCursor,
true, aWhichIds);
2424 uno::Sequence< uno::Any > SAL_CALL
2426 const uno::Sequence< OUString >& rPropertyNames)
2432 const sal_Int32
nCount = rPropertyNames.getLength();
2433 uno::Sequence< uno::Any > aRet(nCount);
2437 const OUString *pNames = rPropertyNames.getConstArray();
2439 for (sal_Int32 i = 0; i < nCount; i++)
2450 throw beans::UnknownPropertyException(
2451 "Unknown property: " + pNames[i],
2452 static_cast<cppu::OWeakObject *>(
nullptr));
2475 if (txtNode ==
nullptr)
return;
2477 if ( text::TextMarkupType::SPELLCHECK == nType )
2482 else if( text::TextMarkupType::PROOFREADING == nType )
2487 else if ( text::TextMarkupType::SMARTTAG == nType )
2496 if (fmtColl ==
nullptr)
return;
2504 const OUString& rRedlineType,
2505 const uno::Sequence< beans::PropertyValue >& rRedlineProperties)
2515 const uno::Sequence< beans::PropertyValue >& rOptions)
2524 uno::Sequence< beans::PropertyValue >
2527 uno::Sequence< beans::PropertyValue > aRet(5);
2528 beans::PropertyValue* pArray = aRet.getArray();
2531 aVal <<= bFromTable;
2532 pArray[0] = beans::PropertyValue(
"IsSortInTable", -1, aVal,
2533 beans::PropertyState_DIRECT_VALUE);
2536 pArray[1] = beans::PropertyValue(
"Delimiter", -1, aVal,
2537 beans::PropertyState_DIRECT_VALUE);
2540 pArray[2] = beans::PropertyValue(
"IsSortColumns", -1, aVal,
2541 beans::PropertyState_DIRECT_VALUE);
2543 aVal <<= sal_Int32(3);
2544 pArray[3] = beans::PropertyValue(
"MaxSortFieldsCount", -1, aVal,
2545 beans::PropertyState_DIRECT_VALUE);
2549 uno::Sequence< OUString >
aSeq(
2551 const bool bHasElements = aSeq.hasElements();
2552 OSL_ENSURE( bHasElements,
"list of collator algorithms is empty!");
2556 aCollAlg = aSeq.getConstArray()[0];
2559 uno::Sequence< table::TableSortField > aFields
2562 { 1,
true,
false, table::TableSortFieldType_ALPHANUMERIC, aLang, aCollAlg },
2563 { 1,
true,
false, table::TableSortFieldType_ALPHANUMERIC, aLang, aCollAlg },
2564 { 1,
true,
false, table::TableSortFieldType_ALPHANUMERIC, aLang, aCollAlg }
2568 pArray[4] = beans::PropertyValue(
"SortFields", -1, aVal,
2569 beans::PropertyState_DIRECT_VALUE);
2574 uno::Sequence< beans::PropertyValue > SAL_CALL
2583 const uno::Sequence< beans::PropertyValue >& rDescriptor,
2589 rSortOpt.
cDeli =
' ';
2606 SwSortKey* aKeys[3] = {&aKey1, &aKey2, &aKey3};
2608 bool bOldSortdescriptor(
false);
2609 bool bNewSortdescriptor(
false);
2611 for (
const beans::PropertyValue& rProperty : rDescriptor)
2613 uno::Any aValue( rProperty.Value );
2614 const OUString& rPropName = rProperty.Name;
2617 if ( rPropName ==
"IsSortInTable" )
2628 else if ( rPropName ==
"Delimiter" )
2632 if (aValue >>= uChar)
2634 rSortOpt.
cDeli = uChar;
2636 else if (aValue >>= nChar)
2640 rSortOpt.
cDeli = nChar;
2648 else if ( rPropName ==
"SortColumns" )
2650 bOldSortdescriptor =
true;
2652 if (aValue >>= bTemp)
2661 else if ( rPropName ==
"IsCaseSensitive" )
2663 bOldSortdescriptor =
true;
2665 if (aValue >>= bTemp)
2674 else if ( rPropName ==
"CollatorLocale" )
2676 bOldSortdescriptor =
true;
2677 lang::Locale aLocale;
2678 if (aValue >>= aLocale)
2687 else if (rPropName.startsWith(
"CollatorAlgorithm") &&
2688 rPropName.getLength() == 18 &&
2689 (rPropName[17] >=
'0' && rPropName[17] <=
'9'))
2691 bOldSortdescriptor =
true;
2692 sal_uInt16
nIndex = rPropName[17];
2695 if ((aValue >>= aText) && nIndex < 3)
2704 else if (rPropName.startsWith(
"SortRowOrColumnNo") &&
2705 rPropName.getLength() == 18 &&
2706 (rPropName[17] >=
'0' && rPropName[17] <=
'9'))
2708 bOldSortdescriptor =
true;
2709 sal_uInt16 nIndex = rPropName[17];
2711 sal_Int16 nCol = -1;
2726 else if (rPropName.startsWith(
"IsSortNumeric") &&
2727 rPropName.getLength() == 14 &&
2728 (rPropName[13] >=
'0' && rPropName[13] <=
'9'))
2730 bOldSortdescriptor =
true;
2731 sal_uInt16 nIndex = rPropName[13];
2732 nIndex = nIndex -
'0';
2734 if (bTemp && nIndex < 3)
2743 else if (rPropName.startsWith(
"IsSortAscending") &&
2744 rPropName.getLength() == 16 &&
2745 (rPropName[15] >=
'0' && rPropName[15] <=
'9'))
2747 bOldSortdescriptor =
true;
2748 sal_uInt16 nIndex = rPropName[15];
2751 if (bTemp && nIndex < 3)
2762 else if ( rPropName ==
"IsSortColumns" )
2764 bNewSortdescriptor =
true;
2774 else if ( rPropName ==
"SortFields" )
2776 bNewSortdescriptor =
true;
2777 uno::Sequence < table::TableSortField > aFields;
2778 if (aValue >>= aFields)
2780 sal_Int32
nCount(aFields.getLength());
2783 table::TableSortField* pFields = aFields.getArray();
2784 for (sal_Int32 i = 0; i <
nCount; ++i)
2786 rSortOpt.
bIgnoreCase = !pFields[i].IsCaseSensitive;
2789 aKeys[i]->
sSortType = pFields[i].CollatorAlgorithm;
2791 o3tl::narrowing<sal_uInt16>(pFields[i].Field);
2792 aKeys[i]->
bIsNumeric = (pFields[i].FieldType ==
2793 table::TableSortFieldType_NUMERIC);
2794 aKeys[i]->
eSortOrder = (pFields[i].IsAscending)
2810 if (bNewSortdescriptor && bOldSortdescriptor)
2812 OSL_FAIL(
"someone tried to set the old deprecated and "
2813 "the new sortdescriptor");
2819 rSortOpt.
aKeys.push_back(aKey1);
2823 rSortOpt.
aKeys.push_back(aKey2);
2827 rSortOpt.
aKeys.push_back(aKey3);
2830 return bRet && !rSortOpt.
aKeys.empty();
2846 throw uno::RuntimeException(
"Bad sort properties");
2855 const sal_Int32 nCntStt = rStart.nContent.GetIndex();
2863 sal_Int32 nLen = pCNd->
Len();
2877 uno::Reference< container::XEnumeration > SAL_CALL
2881 if (rServiceName !=
"com.sun.star.text.TextContent")
2882 throw uno::RuntimeException();
2887 uno::Reference< container::XEnumeration > SAL_CALL
2895 OSL_ENSURE(pParentText,
"parent is not a SwXText");
2898 throw uno::RuntimeException();
2904 pNewCursor->SetMark();
2905 *pNewCursor->GetMark() = *rUnoCursor.
GetMark();
2923 uno::Sequence< OUString > SAL_CALL
2926 uno::Sequence<OUString> aRet {
"com.sun.star.text.TextContent" };
SwStartNode * FindSttNodeByType(SwStartNodeType eTyp)
virtual void SAL_CALL invalidateMarkings(::sal_Int32 nType) override
bool GoSentence(SentenceMoveType eMoveType, SwRootFrame const *pLayout=nullptr)
const SwEndNode * EndOfSectionNode() const
Starts a section of nodes in the document model.
bool MovePara(SwWhichPara, SwMoveFnCollection const &)
sw::UnoCursorPointer m_pUnoCursor
std::shared_ptr< SwUnoCursor > CreateUnoCursor(const SwPosition &rPos, bool bTableCursor=false)
virtual void SAL_CALL firePropertiesChangeEvent(const css::uno::Sequence< OUString > &aPropertyNames, const css::uno::Reference< css::beans::XPropertiesChangeListener > &xListener) override
virtual sal_Int32 Len() const
virtual bool IsSkipOverProtectSections() const override
constexpr TypedWhichId< SwFormatPageDesc > RES_PAGEDESC(93)
constexpr TypedWhichId< SvXMLAttrContainerItem > RES_UNKNOWNATR_CONTAINER(RES_UNKNOWNATR_BEGIN)
virtual sal_Bool SAL_CALL goLeft(sal_Int16 nCount, sal_Bool bExpand) override
virtual OUString SAL_CALL getImplementationName() override
SwMoveFnCollection const & fnParaEnd
SwUnoCursor * get() const
SwNode & GetNode(bool bPoint=true) const
virtual sal_Bool SAL_CALL gotoEndOfSentence(sal_Bool Expand) override
static bool propertyCausesSideEffectsInNodes(sal_uInt16 nWID)
static sal_uInt16 g_ParaResetableSetRange[]
Represents the style of a paragraph.
const T * GetItemIfSet(TypedWhichId< T > nWhich, bool bSrchInParent=true) const
Marks a position in the document model.
void setPropertyValue(const SfxItemPropertyMapEntry &rEntry, const css::uno::Any &aVal, SfxItemSet &rSet) const
bool IsSectionNode() const
virtual sal_Bool SAL_CALL gotoStartOfParagraph(sal_Bool Expand) override
::cppu::WeakImplHelper< css::lang::XServiceInfo, css::beans::XPropertySet, css::beans::XPropertyState, css::beans::XMultiPropertySet, css::beans::XMultiPropertyStates, css::container::XEnumerationAccess, css::container::XContentEnumerationAccess, css::util::XSortable, css::document::XDocumentInsertable, css::text::XSentenceCursor, css::text::XWordCursor, css::text::XParagraphCursor, css::text::XRedline, css::text::XMarkingAccess > SwXTextCursor_Base
constexpr OUStringLiteral FILTER_TEXT_DLG
text filter with encoding dialog
virtual css::uno::Type SAL_CALL getElementType() override
Pagedescriptor Client of SwPageDesc that is "described" by the attribute.
bool getCursorPropertyValue(const SfxItemPropertyMapEntry &rEntry, SwPaM &rPam, Any *pAny, PropertyState &eState, const SwTextNode *pNode)
#define PROPERTY_MAP_TEXT_CURSOR
SvStream & WriteUInt16(sal_uInt16 nUInt16)
SwSortDirection eDirection
bool GoEndWordWT(sal_Int16 nWordType, SwRootFrame const *pLayout=nullptr)
virtual sal_Bool SAL_CALL isStartOfParagraph() override
virtual void ResetError() override
virtual sal_Bool SAL_CALL goRight(sal_Int16 nCount, sal_Bool bExpand) override
static constexpr auto Items
bool MoveSection(SwWhichSection, SwMoveFnCollection const &)
SwDocShell * GetDocShell()
bool GoCurrPara(SwPaM &rPam, SwMoveFnCollection const &aPosPara)
virtual bool SetAttr(const SfxPoolItem &) override
overriding to handle change of certain paragraph attributes
static void lcl_EnumerateIds(sal_uInt16 const *pIdRange, o3tl::sorted_vector< sal_uInt16 > &rWhichIds)
static void FillUIName(const OUString &rName, OUString &rFillName, SwGetPoolIdFromName)
virtual sal_Bool SAL_CALL isEndOfWord() override
virtual const SwDoc * GetDoc() const override
static LanguageType convertToLanguageType(const css::lang::Locale &rLocale, bool bResolveSystem=true)
virtual ~SwUnoInternalPaM() override
css::beans::PropertyValue makePropertyValue(const OUString &rName, T &&rValue)
#define MID_RUBY_CHARSTYLE
const SwPosition * GetMark() const
bool IsEndWordWT(sal_Int16 nWordType, SwRootFrame const *pLayout=nullptr) const
virtual sal_Bool SAL_CALL gotoPreviousWord(sal_Bool bExpand) override
virtual SwUndoId EndUndo(SwUndoId const eUndoId, SwRewriter const *const pRewriter)=0
Closes undo block.
const SfxItemPropertySet * GetPropertySet(sal_uInt16 PropertyId)
bool Left(sal_uInt16 nCnt)
constexpr sal_uInt16 RES_FRMATR_END(133)
virtual sal_Int64 SAL_CALL getSomething(const css::uno::Sequence< sal_Int8 > &rIdentifier) override
SwMoveFnCollection const & fnParaStart
constexpr sal_uInt8 MAXLEVEL
virtual void SAL_CALL addVetoableChangeListener(const OUString &rPropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &xListener) override
constexpr TypedWhichId< SwFormatAutoFormat > RES_AUTO_STYLE(126)
void DeleteAndInsert(OUString const &rText, const bool bForceExpandHints)
sal_uInt64 Seek(sal_uInt64 nPos)
bool IsAtEndOfMeta() const
constexpr TypedWhichId< SvxFormatBreakItem > RES_BREAK(94)
void SetNumRuleStart(const SwPosition &rPos, bool bFlag=true)
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
ErrCode Write(WriterRef const &rxWriter, const OUString *=nullptr)
void SetPropertyValues(SwPaM &rPaM, const SfxItemPropertySet &rPropSet, const css::uno::Sequence< css::beans::PropertyValue > &rPropertyValues, const SetAttrMode nAttrMode=SetAttrMode::DEFAULT)
IDocumentUndoRedo & GetIDocumentUndoRedo()
void resetCursorPropertyValue(const SfxItemPropertyMapEntry &rEntry, SwPaM &rPam)
virtual css::uno::Reference< css::text::XText > SAL_CALL getText() override
virtual sal_Bool SAL_CALL gotoPreviousSentence(sal_Bool Expand) override
virtual css::uno::Reference< css::text::XTextRange > SAL_CALL getStart() override
css::uno::Any GetPropertyDefault(SwPaM const &rPaM, const SfxItemPropertySet &rPropSet, std::u16string_view rPropertyName)
bool ConvertSortProperties(const css::uno::Sequence< css::beans::PropertyValue > &rDescriptor, SwSortOptions &rSortOpt)
#define MID_PAGEDESC_PAGEDESCNAME
IDocumentContentOperations const & getIDocumentContentOperations() const
void SetGrammarCheckDirty(bool bNew) const
The root element of a Writer document layout.
static void lcl_setAutoStyle(IStyleAccess &rStyleAccess, const uno::Any &rValue, SfxItemSet &rSet, const bool bPara)
#define MID_DROPCAP_CHAR_STYLE_NAME
css::uno::Reference< css::beans::XPropertySetInfo > const & getPropertySetInfo() const
virtual sal_Bool SAL_CALL gotoNextWord(sal_Bool bExpand) override
const SfxItemPropertyMapEntry * getByName(std::u16string_view rName) const
SwUnoInternalPaM & operator=(const SwPaM &rPaM)
const SwSection & GetSection() const
SwContentNode * GetContentNode(bool bPoint=true) const
virtual void SAL_CALL setPropertyToDefault(const OUString &rPropertyName) override
virtual void SAL_CALL sort(const css::uno::Sequence< css::beans::PropertyValue > &xDescriptor) override
#define PROPERTY_MAP_CHAR_AUTO_STYLE
const SwCharFormat * GetDfltCharFormat() const
#define FN_UNO_PARA_NUM_AUTO_FORMAT
virtual sal_Bool SAL_CALL gotoStartOfSentence(sal_Bool Expand) override
constexpr sal_uInt16 RES_PARATR_BEGIN(RES_TXTATR_END)
static SwPageDesc * GetByName(SwDoc &rDoc, std::u16string_view rName)
static void lcl_setCharStyle(SwDoc &rDoc, const uno::Any &rValue, SfxItemSet &rSet)
virtual void SAL_CALL collapseToStart() override
void SetSkipOverHiddenSections(bool bFlag)
void GetCursorAttr(SwPaM &rPam, SfxItemSet &rSet, const bool bOnlyTextAttr=false, const bool bGetFromChrFormat=true)
static void lcl_SelectParaAndReset(SwPaM &rPaM, SwDoc &rDoc, o3tl::sorted_vector< sal_uInt16 > const &rWhichIds)
Any SAL_CALL getCaughtException()
virtual bool QueryValue(css::uno::Any &rVal, sal_uInt8 nMemberId=0) const
void ResetAttrs(const SwPaM &rRg, bool bTextAttr=true, const o3tl::sorted_vector< sal_uInt16 > &rAttrs=o3tl::sorted_vector< sal_uInt16 >(), const bool bSendDataChangedEvents=true, SwRootFrame const *pLayout=nullptr)
Reset attributes.
bool SetTextFormatColl(const SwPaM &rRg, SwTextFormatColl *pFormat, const bool bReset=true, const bool bResetListAttrs=false, SwRootFrame const *pLayout=nullptr)
Add 4th optional parameter .
virtual sal_Bool SAL_CALL gotoEndOfWord(sal_Bool bExpand) override
void GetWriter(std::u16string_view rFltName, const OUString &rBaseURL, WriterRef &xRet)
Return writer based on the name.
#define UNO_NAME_IS_SKIP_PROTECTED_TEXT
constexpr TypedWhichId< SwFormatDrop > RES_PARATR_DROP(70)
bool GoPrevWordWT(sal_Int16 nWordType, SwRootFrame const *pLayout=nullptr)
void getPropertyValue(const SfxItemPropertyMapEntry &rEntry, const SfxItemSet &rSet, css::uno::Any &rAny) const
virtual sal_Bool SAL_CALL isEndOfParagraph() override
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
static SW_DLLPUBLIC sal_uInt16 GetPoolIdFromUIName(const OUString &rName, SwGetPoolIdFromName)
SwUnoCursor & GetCursorOrThrow()
const SfxItemPropertySet & m_rPropSet
constexpr TypedWhichId< SwFormatRuby > RES_TXTATR_CJK_RUBY(53)
constexpr TypedWhichId< SwFormatCharFormat > RES_TXTATR_CHARFMT(52)
static sal_uInt16 g_ResetableSetRange[]
void GetTextFromPam(SwPaM &rPam, OUString &rBuffer, SwRootFrame const *pLayout=nullptr)
virtual css::uno::Reference< css::text::XTextRange > SAL_CALL getEnd() override
SwNodeOffset GetIndex() const
virtual css::uno::Sequence< OUString > SAL_CALL getAvailableServiceNames() override
void SetCountedInList(bool bCounted)
constexpr TypedWhichId< SwFormatAutoFormat > RES_TXTATR_AUTOFMT(50)
void SetWrongDirty(WrongState eNew) const
SwCharFormat * GetCharFormat()
SwXTextCursor(SwDoc &rDoc, css::uno::Reference< css::text::XText > const &xParent, const CursorType eType, SwPosition const &rPos, SwPosition const *const pMark=nullptr)
SwPaM & SetPam(size_t nArrPos, SwPaM &rPam)
constexpr TypedWhichId< SwFormatINetFormat > RES_TXTATR_INETFMT(51)
bool IsAtEndOfContentControl() const
void SelectPam(SwPaM &rPam, const bool bExpand)
virtual sal_Bool SAL_CALL hasElements() override
SwFormatColl & GetAnyFormatColl() const
const css::uno::Sequence< sal_Int8 > & getSeq() const
void SetSkipOverProtectSections(bool bFlag)
void SetPropertyToDefault(SwPaM &rPaM, const SfxItemPropertySet &rPropSet, std::u16string_view rPropertyName)
virtual void SAL_CALL setString(const OUString &rString) override
virtual sal_Bool SAL_CALL gotoNextSentence(sal_Bool Expand) override
void SetNodeNumStart(const SwPosition &rPos, sal_uInt16 nStt)
void SetListId(OUString const &rListId)
virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL createSortDescriptor() override
bool GoPrevPara(SwPaM &rPam, SwMoveFnCollection const &aPosPara)
bool SortText(const SwPaM &, const SwSortOptions &)
Sort Text in the Document.
void SetCharSet(rtl_TextEncoding nVal)
#define FN_UNO_PAGE_STYLE
virtual void SAL_CALL addPropertyChangeListener(const OUString &rPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &xListener) override
PaM is Point and Mark: a selection of the document model.
bool Move(SwMoveFnCollection const &fnMove=fnMoveForward, SwGoInDoc fnGo=GoInContent)
Movement of cursor.
static void lcl_setRubyCharstyle(SfxItemSet &rItemSet, uno::Any const &rValue)
SwPaM(SwPaM const &rPaM)=delete
bool IsEndOfPara(SwPaM &rUnoCursor)
sal_uInt16 ClearItem(sal_uInt16 nWhich=0)
std::vector< SwSortKey > aKeys
virtual void SAL_CALL setPropertiesToDefault(const css::uno::Sequence< OUString > &rPropertyNames) override
SwNodeIndex & Assign(SwNodes const &rNds, SwNodeOffset)
virtual OUString SAL_CALL getString() override
virtual SwUndoId StartUndo(SwUndoId const eUndoId, SwRewriter const *const pRewriter)=0
Opens undo block.
virtual css::beans::PropertyState SAL_CALL getPropertyState(const OUString &rPropertyName) override
void SetSmartTagDirty(bool bNew) const
const SwStartNode * StartOfSectionNode() const
const SwPosition * GetPoint() const
virtual ~SwXTextCursor() override
virtual const SwPaM * GetPaM() const override
constexpr sal_uInt16 RES_PARATR_LIST_END(88)
SwIndex & Assign(SwIndexReg *, sal_Int32)
bool GoNextWordWT(sal_Int16 nWordType, SwRootFrame const *pLayout=nullptr)
bool IsHiddenFlag() const
virtual void SAL_CALL gotoStart(sal_Bool bExpand) override
virtual sal_Bool SAL_CALL isCollapsed() override
bool HasMark() const
A PaM marks a selection if Point and Mark are distinct positions.
void SetTextFormatColl(const css::uno::Any &rAny, SwPaM &rPaM)
static bool lcl_ForceIntoMeta(SwPaM &rCursor, uno::Reference< text::XText > const &xParentText, const enum ForceIntoMetaMode eMode)
virtual SfxStyleSheetBasePool * GetStyleSheetPool() override
For Style PI.
constexpr std::enable_if_t< std::is_signed_v< T >, std::make_unsigned_t< T > > make_unsigned(T value)
bool IsStartOfPara(SwPaM &rUnoCursor)
const SfxItemPropertyMap & getPropertyMap() const
css::beans::PropertyState getPropertyState(const OUString &rName, const SfxItemSet &rSet) const
bool GoCurrSection(SwPaM &rPam, SwMoveFnCollection const &fnMove)
virtual sal_Bool SAL_CALL isStartOfSentence() override
Marks a node in the document model.
constexpr sal_uInt16 RES_UNKNOWNATR_END(154)
virtual void SAL_CALL gotoRange(const css::uno::Reference< css::text::XTextRange > &xRange, sal_Bool bExpand) override
css::uno::Type const & get()
static void lcl_setDropcapCharStyle(SwPaM const &rPam, SfxItemSet &rItemSet, uno::Any const &rValue)
bool GoInDoc(SwPaM &rPam, SwMoveFnCollection const &fnMove)
virtual void SAL_CALL makeRedline(const OUString &rRedlineType, const css::uno::Sequence< css::beans::PropertyValue > &RedlineProperties) override
#define FN_UNO_RANGE_BEGIN
PropertyValueVector_t aPropertyValues
virtual sal_Bool SAL_CALL gotoPreviousParagraph(sal_Bool Expand) override
virtual css::uno::Sequence< css::beans::PropertyState > SAL_CALL getPropertyStates(const css::uno::Sequence< OUString > &rPropertyNames) override
virtual bool IsSkipOverHiddenSections() const override
#define FN_UNO_NUM_START_VALUE
void InsertFile(SwUnoCursor *pUnoCursor, const OUString &rURL, const uno::Sequence< beans::PropertyValue > &rOptions)
virtual sal_Int64 SAL_CALL getSomething(const css::uno::Sequence< sal_Int8 > &aIdentifier) override
const SfxPoolItem & GetDefaultItem(sal_uInt16 nWhich) const
virtual css::uno::Sequence< css::uno::Any > SAL_CALL getPropertyValues(const css::uno::Sequence< OUString > &aPropertyNames) override
#define FN_SKIP_PROTECTED_TEXT
virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL createEnumeration() override
enumrange< T >::Iterator end(enumrange< T >)
const SwPosition * Start() const
SAL_WARN_UNUSED_RESULT WhichRangesContainer MergeRange(sal_uInt16 nFrom, sal_uInt16 nTo) const
#define IMPLEMENT_FORWARD_REFCOUNT(classname, refcountbase)
virtual css::uno::Any SAL_CALL queryInterface(css::uno::Type const &rType) SAL_OVERRIDE
std::size_t ReadBytes(void *pData, std::size_t nSize)
#define UNO_NAME_IS_SKIP_HIDDEN_TEXT
constexpr sal_uInt16 RES_UNKNOWNATR_BEGIN(RES_BOXATR_END)
virtual std::shared_ptr< SfxItemSet > getByName(const OUString &rName, SwAutoStyleFamily eFamily)=0
It's slow to iterate through a stylepool looking for a special name, but if the style has been insert...
const LanguageTag & getLocale()
#define UNO_NAME_RESET_PARAGRAPH_LIST_ATTRIBUTES
static bool lcl_setCharFormatSequence(SwPaM &rPam, uno::Any const &rValue)
css::uno::Any GetPropertyValue(SwPaM &rPaM, const SfxItemPropertySet &rPropSet, std::u16string_view rPropertyName)
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
SwTextNode is a paragraph in the document model.
void SetAttrListLevel(int nLevel)
Sets the list level of this text node.
SwUnoCursor & GetCursor()
SwUnoInternalPaM(const SwUnoInternalPaM &)=delete
constexpr sal_uInt16 RES_TXTATR_END(RES_TXTATR_NOEND_END)
SwTextFormatColl * GetCollection()
virtual sal_Bool SAL_CALL gotoStartOfWord(sal_Bool bExpand) override
constexpr sal_uInt16 RES_CHRATR_BEGIN(HINT_BEGIN)
#define FN_NUMBER_NEWSTART
virtual void SAL_CALL setPropertyValue(const OUString &rPropertyName, const css::uno::Any &rValue) override
virtual void SAL_CALL insertDocumentFromURL(const OUString &rURL, const css::uno::Sequence< css::beans::PropertyValue > &rOptions) override
void reset(std::shared_ptr< SwUnoCursor > pNew)
bool Right(sal_uInt16 nCnt)
#define FN_UNO_CHARFMT_SEQUENCE
virtual void SAL_CALL addPropertiesChangeListener(const css::uno::Sequence< OUString > &aPropertyNames, const css::uno::Reference< css::beans::XPropertiesChangeListener > &xListener) override
css::uno::Sequence< css::beans::PropertyState > GetPropertyStates(SwPaM &rPaM, const SfxItemPropertySet &rPropSet, const css::uno::Sequence< OUString > &rPropertyNames, const SwGetPropertyStatesCaller eCaller=SW_PROPERTY_STATE_CALLER_DEFAULT)
SwMoveFnCollection const & fnSectionEnd
SwMoveFnCollection const & fnMoveForward
SwPam::Move()/Find() default argument.
static const css::uno::Sequence< sal_Int8 > & getUnoTunnelId()
SwGetPropertyStatesCaller
void SetEndian(SvStreamEndian SvStreamEndian)
sal_Int32 GetIndex() const
virtual sal_Bool SAL_CALL gotoEndOfParagraph(sal_Bool Expand) override
virtual sal_Bool SAL_CALL isEndOfSentence() override
void SetPropertyValue(SwPaM &rPaM, const SfxItemPropertySet &rPropSet, const OUString &rPropertyName, const css::uno::Any &rValue, const SetAttrMode nAttrMode=SetAttrMode::DEFAULT)
virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL createContentEnumeration(const OUString &rServiceName) override
constexpr sal_uInt16 RES_PARATR_LIST_BEGIN(RES_PARATR_END)
const SwPosition * End() const
constexpr sal_uInt16 RES_PARATR_END(82)
bool GoNextPara(SwPaM &rPam, SwMoveFnCollection const &aPosPara)
SwUnoPropertyMapProvider aSwMapProvider
virtual void SAL_CALL collapseToEnd() override
static rtl::Reference< SwXParaFrameEnumeration > Create(const SwPaM &rPaM, const enum ParaFrameMode eParaFrameMode, SwFrameFormat *const pFormat=nullptr)
Sequence< sal_Int8 > aSeq
virtual void SAL_CALL setPropertyValues(const css::uno::Sequence< OUString > &aPropertyNames, const css::uno::Sequence< css::uno::Any > &aValues) override
void makeRedline(SwPaM const &rPaM, std::u16string_view rRedlineType, const uno::Sequence< beans::PropertyValue > &rRedlineProperties)
virtual void SAL_CALL setAllPropertiesToDefault() override
o3tl::strong_int< sal_Int32, struct Tag_SwNodeOffset > SwNodeOffset
virtual void SAL_CALL removePropertiesChangeListener(const css::uno::Reference< css::beans::XPropertiesChangeListener > &xListener) override
bool IsHideRedlines() const
Replacement for sw::DocumentRedlineManager::GetRedlineFlags() (this is layout-level redline hiding)...
virtual sal_Bool SAL_CALL gotoNextParagraph(sal_Bool Expand) override
SwMoveFnCollection const & fnSectionStart
constexpr sal_uInt16 RES_CHRATR_END(46)
virtual void CallSwClientNotify(const SfxHint &rHint) const override
SwMoveFnCollection const & fnMoveBackward
SwTableNode * FindTableNode()
Search table node, in which it is.
virtual void SAL_CALL removeVetoableChangeListener(const OUString &rPropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &xListener) override
SwFormatColl * GetCurTextFormatColl(SwPaM &rPam, const bool bConditional)
void SetCursorAttr(SwPaM &rPam, const SfxItemSet &rSet, const SetAttrMode nAttrMode, const bool bTableMode=false)
void setNumberingProperty(const Any &rValue, SwPaM &rPam)
const css::uno::Reference< css::text::XText > m_xParentText
virtual sal_Bool SAL_CALL supportsService(const OUString &rServiceName) override
ScXMLEditAttributeMap::Entry const aEntries[]
constexpr TypedWhichId< SwFormatAutoFormat > RES_PARATR_LIST_AUTOFMT(87)
SwContentNode * GoNextSection(SwNodeIndex *, bool bSkipHidden=true, bool bSkipProtect=true) const
Go to next content-node that is not protected or hidden (Both set FALSE ==> GoNext/GoPrevious!!!).
static void lcl_SetNodeNumStart(SwPaM &rCursor, uno::Any const &rValue)
#define SAL_WARN(area, stream)
bool SetPageDesc(const css::uno::Any &rValue, SwDoc &rDoc, SfxItemSet &rSet)
SwFormatColl * GetFormatColl() const
virtual css::uno::Any SAL_CALL getPropertyValue(const OUString &rPropertyName) override
bool DocInsertStringSplitCR(SwDoc &rDoc, const SwPaM &rNewCursor, const OUString &rText, const bool bForceExpandHints)
virtual void SAL_CALL removePropertyChangeListener(const OUString &rPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &xListener) override
detail::Optional< bool >::type tryAccess< bool >(css::uno::Any const &any)
const EnumerationType m_eType
virtual void SetMark()
Unless this is called, the getter method of Mark will return Point.
css::beans::PropertyState GetPropertyState(SwPaM &rPaM, const SfxItemPropertySet &rPropSet, const OUString &rPropertyName)
virtual sal_Bool SAL_CALL isStartOfWord() override
static rtl::Reference< SwXParagraphEnumeration > Create(css::uno::Reference< css::text::XText > const &xParent, const std::shared_ptr< SwUnoCursor > &pCursor, const CursorType eType, SwTableBox const *const pTableBox=nullptr)
bool SetCursorPropertyValue(SfxItemPropertyMapEntry const &rEntry, css::uno::Any const &rValue, SwPaM &rPam, SfxItemSet &rItemSet)
std::pair< const_iterator, bool > insert(Value &&x)
virtual bool ResetAttr(sal_uInt16 nWhich1, sal_uInt16 nWhich2=0) override
IStyleAccess & GetIStyleAccess()
#define FN_SKIP_HIDDEN_TEXT
virtual bool DeleteAndJoin(SwPaM &)=0
complete delete of a given PaM
virtual SfxStyleSheetBase * Find(const OUString &, SfxStyleFamily eFam, SfxStyleSearchBits n=SfxStyleSearchBits::All)
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual css::uno::Any SAL_CALL getPropertyDefault(const OUString &rPropertyName) override
virtual css::uno::Sequence< css::uno::Any > SAL_CALL getPropertyDefaults(const css::uno::Sequence< OUString > &rPropertyNames) override
constexpr sal_uInt16 RES_FRMATR_BEGIN(RES_PARATR_LIST_END)
virtual void SAL_CALL gotoEnd(sal_Bool bExpand) override
SwContentNode * GoNext(SwNodeIndex *) const
css::uno::Sequence< css::beans::PropertyValue > CreateSortDescriptor(const bool bFromTable)
css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType, Interface1 *p1)
#define FN_UNO_PARA_STYLE
bool IsStartWordWT(sal_Int16 nWordType, SwRootFrame const *pLayout=nullptr) const
constexpr TypedWhichId< SvXMLAttrContainerItem > RES_TXTATR_UNKNOWN_CONTAINER(54)
bool GoStartWordWT(sal_Int16 nWordType, SwRootFrame const *pLayout=nullptr)
const SwAttrPool & GetAttrPool() const
SwTextNode * GetTextNode()
Inline methods from Node.hxx.
CollatorWrapper & GetAppCollator()
Base class of the Writer document model elements.