24#include <com/sun/star/text/XWordCursor.hpp>
25#include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
40#include <unoprnms.hxx>
57 uno::Reference<text::XTextCursor>
CreateCursor()
override;
70 uno::Sequence<sal_Int8> SAL_CALL getImplementationId()
override;
73 uno::Reference<text::XTextCursor> SAL_CALL createTextCursor()
override;
74 uno::Reference<text::XTextCursor> SAL_CALL
75 createTextCursorByRange(
const uno::Reference<text::XTextRange>& xTextPosition)
override;
81 , m_rContentControl(rContentControl)
87 auto pParent =
dynamic_cast<SwXText*
>(m_rContentControl.GetParentText().get());
91void SwXContentControlText::PrepareForAttach(uno::Reference<text::XTextRange>& xRange,
95 xRange =
static_cast<text::XWordCursor*
>(
100uno::Reference<text::XTextCursor> SwXContentControlText::CreateCursor()
102 uno::Reference<text::XTextCursor> xRet;
106 sal_Int32 nContentControlStart;
107 sal_Int32 nContentControlEnd;
108 bool bSuccess = m_rContentControl.SetContentRange(pTextNode, nContentControlStart,
112 SwPosition aPos(*pTextNode, nContentControlStart);
113 xRet =
static_cast<text::XWordCursor*
>(
120uno::Sequence<sal_Int8> SAL_CALL SwXContentControlText::getImplementationId()
122 return css::uno::Sequence<sal_Int8>();
126uno::Reference<text::XTextCursor> SAL_CALL SwXContentControlText::createTextCursor()
128 return CreateCursor();
131uno::Reference<text::XTextCursor> SAL_CALL SwXContentControlText::createTextCursorByRange(
132 const uno::Reference<text::XTextRange>& xTextPosition)
134 const uno::Reference<text::XTextCursor> xCursor(CreateCursor());
135 xCursor->gotoRange(xTextPosition,
false);
187 uno::Reference<text::XText> xParentText, std::unique_ptr<const TextRangeList_t> pPortions)
192 ,
m_xText(new SwXContentControlText(rDoc, rThis))
226 m_pTextPortions.reset();
228 if (rHint.
GetId() != SfxHintId::Dying && rHint.
GetId() != SfxHintId::Deinitializing)
231 m_bIsDisposed =
true;
232 m_pContentControl =
nullptr;
233 m_xText->Invalidate();
234 uno::Reference<uno::XInterface> xThis(m_wThis);
240 lang::EventObject
aEvent(xThis);
241 std::unique_lock aGuard(m_Mutex);
242 m_EventListeners.disposeAndClear(aGuard,
aEvent);
251 const uno::Reference<text::XText>& xParentText,
252 std::unique_ptr<const TextRangeList_t> pPortions)
254 std::move(pPortions)))
268 xContentControl->m_pImpl->m_wThis = xContentControl.get();
269 return xContentControl;
274 const uno::Reference<text::XText>& xParent,
275 std::unique_ptr<const TextRangeList_t>&& pPortions)
279 if (xContentControl.is())
286 xContentControl->m_pImpl->m_pTextPortions = std::move(pPortions);
287 if (xContentControl->m_pImpl->m_xParentText.get() != xParent.get())
289 SAL_WARN(
"sw.uno",
"SwXContentControl with different parent");
290 xContentControl->m_pImpl->m_xParentText.set(xParent);
293 return xContentControl;
300 SAL_WARN(
"sw.uno",
"CreateXContentControl: no text node");
303 uno::Reference<text::XText> xParentText(xParent);
304 if (!xParentText.is())
309 SAL_WARN(
"sw.uno",
"CreateXContentControl: no text attr");
315 if (!xParentText.is())
320 std::move(pPortions));
322 xContentControl->m_pImpl->m_wThis = xContentControl.get();
323 return xContentControl;
327 sal_Int32& rEnd)
const
341 rEnd = *pTextAttr->
End() - 1;
359 return {
"com.sun.star.text.TextContent",
"com.sun.star.text.ContentControl" };
366 std::unique_lock aGuard(
m_pImpl->m_Mutex);
367 m_pImpl->m_EventListeners.addInterface(aGuard, xListener);
373 std::unique_lock aGuard(
m_pImpl->m_Mutex);
374 m_pImpl->m_EventListeners.removeInterface(aGuard, xListener);
383 m_pImpl->m_pTextPortions.reset();
385 std::unique_lock aGuard(
m_pImpl->m_Mutex);
388 m_pImpl->m_xText->Invalidate();
390 else if (!
m_pImpl->m_bIsDisposed)
393 sal_Int32 nContentControlStart;
394 sal_Int32 nContentControlEnd;
395 bool bSuccess =
SetContentRange(pTextNode, nContentControlStart, nContentControlEnd);
398 SAL_WARN(
"sw.core",
"SwXContentControl::dispose: no pam");
403 SwPaM aPam(*pTextNode, nContentControlStart - 1, *pTextNode, nContentControlEnd);
408 assert(
m_pImpl->m_bIsDisposed);
420 throw lang::DisposedException();
424 throw uno::RuntimeException(
"SwXContentControl::AttachImpl(): already attached",
429 OTextCursorHelper* pCursor
430 = pRange ? nullptr :
dynamic_cast<OTextCursorHelper*
>(xTextRange.get());
431 if (!pRange && !pCursor)
433 throw lang::IllegalArgumentException(
434 "SwXContentControl::AttachImpl(): argument not supported type",
438 SwDoc* pDoc = pRange ? &pRange->
GetDoc() : pCursor->GetDoc();
441 throw lang::IllegalArgumentException(
442 "SwXContentControl::AttachImpl(): argument has no SwDoc",
457 auto pContentControl = std::make_shared<SwContentControl>(
nullptr);
459 pContentControl->SetShowingPlaceHolder(
m_pImpl->m_bShowingPlaceHolder);
460 pContentControl->SetCheckbox(
m_pImpl->m_bCheckbox);
461 pContentControl->SetChecked(
m_pImpl->m_bChecked);
462 pContentControl->SetCheckedState(
m_pImpl->m_aCheckedState);
463 pContentControl->SetUncheckedState(
m_pImpl->m_aUncheckedState);
464 pContentControl->SetListItems(
m_pImpl->m_aListItems);
465 pContentControl->SetPicture(
m_pImpl->m_bPicture);
466 pContentControl->SetDate(
m_pImpl->m_bDate);
467 pContentControl->SetDateFormat(
m_pImpl->m_aDateFormat);
468 pContentControl->SetDateLanguage(
m_pImpl->m_aDateLanguage);
469 pContentControl->SetCurrentDate(
m_pImpl->m_aCurrentDate);
470 pContentControl->SetPlainText(
m_pImpl->m_bPlainText);
471 pContentControl->SetComboBox(
m_pImpl->m_bComboBox);
472 pContentControl->SetDropDown(
m_pImpl->m_bDropDown);
473 pContentControl->SetPlaceholderDocPart(
m_pImpl->m_aPlaceholderDocPart);
474 pContentControl->SetDataBindingPrefixMappings(
m_pImpl->m_aDataBindingPrefixMappings);
475 pContentControl->SetDataBindingXpath(
m_pImpl->m_aDataBindingXpath);
476 pContentControl->SetDataBindingStoreItemID(
m_pImpl->m_aDataBindingStoreItemID);
477 pContentControl->SetColor(
m_pImpl->m_aColor);
478 pContentControl->SetAppearance(
m_pImpl->m_aAppearance);
479 pContentControl->SetAlias(
m_pImpl->m_aAlias);
480 pContentControl->SetTag(
m_pImpl->m_aTag);
481 pContentControl->SetId(
m_pImpl->m_nId);
482 pContentControl->SetTabIndex(
m_pImpl->m_nTabIndex);
483 pContentControl->SetLock(
m_pImpl->m_aLock);
488 SwTextAttr* pTextAttr = pContentControl->GetTextAttr();
491 throw lang::IllegalArgumentException(
492 "SwXContentControl::AttachImpl(): cannot create content control: invalid range",
497 SAL_WARN(
"sw.core",
"content control inserted, but has no text attribute?");
498 throw uno::RuntimeException(
499 "SwXContentControl::AttachImpl(): cannot create content control",
504 m_pImpl->m_pContentControl = pContentControl.get();
505 m_pImpl->StartListening(pContentControl->GetNotifier());
506 pContentControl->SetXContentControl(
this);
510 m_pImpl->m_bIsDescriptor =
false;
525 throw lang::DisposedException();
529 throw uno::RuntimeException(
"SwXContentControl::getAnchor(): not inserted",
534 sal_Int32 nContentControlStart;
535 sal_Int32 nContentControlEnd;
536 bool bSuccess =
SetContentRange(pTextNode, nContentControlStart, nContentControlEnd);
540 throw lang::DisposedException(
"SwXContentControl::getAnchor(): not attached",
544 SwPosition aStart(*pTextNode, nContentControlStart - 1);
545 SwPosition aEnd(*pTextNode, nContentControlEnd);
555 return m_pImpl->m_xText->getStart();
561 return m_pImpl->m_xText->getEnd();
567 return m_pImpl->m_xText->getString();
573 return m_pImpl->m_xText->setString(rString);
580 return m_pImpl->m_xText->createTextCursor();
583uno::Reference<text::XTextCursor> SAL_CALL
587 return m_pImpl->m_xText->createTextCursorByRange(xTextPosition);
591 const OUString& rString,
sal_Bool bAbsorb)
594 return m_pImpl->m_xText->insertString(xRange, rString, bAbsorb);
598 const uno::Reference<text::XTextRange>& xRange, sal_Int16 nControlCharacter,
sal_Bool bAbsorb)
601 return m_pImpl->m_xText->insertControlCharacter(xRange, nControlCharacter, bAbsorb);
606 const uno::Reference<text::XTextRange>& xRange,
607 const uno::Reference<text::XTextContent>& xContent,
sal_Bool bAbsorb)
610 return m_pImpl->m_xText->insertTextContent(xRange, xContent, bAbsorb);
617 return m_pImpl->m_xText->removeTextContent(xContent);
625 static uno::Reference<beans::XPropertySetInfo> xRet
631 const css::uno::Any& rValue)
638 if (rValue >>= bValue)
642 m_pImpl->m_bShowingPlaceHolder = bValue;
646 m_pImpl->m_pContentControl->SetShowingPlaceHolder(bValue);
653 if (rValue >>= bValue)
661 m_pImpl->m_pContentControl->SetCheckbox(bValue);
668 if (rValue >>= bValue)
676 m_pImpl->m_pContentControl->SetChecked(bValue);
683 if (rValue >>= aValue)
687 m_pImpl->m_aCheckedState = aValue;
691 m_pImpl->m_pContentControl->SetCheckedState(aValue);
698 if (rValue >>= aValue)
702 m_pImpl->m_aUncheckedState = aValue;
706 m_pImpl->m_pContentControl->SetUncheckedState(aValue);
712 std::vector<SwContentControlListItem> aItems
716 m_pImpl->m_aListItems = aItems;
725 m_pImpl->m_pContentControl->SetListItems(aItems);
727 if (!
m_pImpl->m_pContentControl->GetComboBox()
728 && !
m_pImpl->m_pContentControl->GetDropDown())
730 m_pImpl->m_pContentControl->SetDropDown(
true);
737 if (rValue >>= bValue)
745 m_pImpl->m_pContentControl->SetPicture(bValue);
752 if (rValue >>= bValue)
760 m_pImpl->m_pContentControl->SetDate(bValue);
767 if (rValue >>= aValue)
771 m_pImpl->m_aDateFormat = aValue;
775 m_pImpl->m_pContentControl->SetDateFormat(aValue);
782 if (rValue >>= aValue)
786 m_pImpl->m_aDateLanguage = aValue;
790 m_pImpl->m_pContentControl->SetDateLanguage(aValue);
797 if (rValue >>= aValue)
801 m_pImpl->m_aCurrentDate = aValue;
805 m_pImpl->m_pContentControl->SetCurrentDate(aValue);
812 if (rValue >>= bValue)
816 m_pImpl->m_bPlainText = bValue;
820 m_pImpl->m_pContentControl->SetPlainText(bValue);
827 if (rValue >>= bValue)
835 m_pImpl->m_pContentControl->SetComboBox(bValue);
842 if (rValue >>= bValue)
850 m_pImpl->m_pContentControl->SetDropDown(bValue);
857 if (rValue >>= aValue)
861 m_pImpl->m_aPlaceholderDocPart = aValue;
865 m_pImpl->m_pContentControl->SetPlaceholderDocPart(aValue);
872 if (rValue >>= aValue)
876 m_pImpl->m_aDataBindingPrefixMappings = aValue;
880 m_pImpl->m_pContentControl->SetDataBindingPrefixMappings(aValue);
887 if (rValue >>= aValue)
891 m_pImpl->m_aDataBindingXpath = aValue;
895 m_pImpl->m_pContentControl->SetDataBindingXpath(aValue);
902 if (rValue >>= aValue)
906 m_pImpl->m_aDataBindingStoreItemID = aValue;
910 m_pImpl->m_pContentControl->SetDataBindingStoreItemID(aValue);
917 if (rValue >>= aValue)
925 m_pImpl->m_pContentControl->SetColor(aValue);
932 if (rValue >>= aValue)
936 m_pImpl->m_aAppearance = aValue;
940 m_pImpl->m_pContentControl->SetAppearance(aValue);
947 if (rValue >>= aValue)
955 m_pImpl->m_pContentControl->SetAlias(aValue);
962 if (rValue >>= aValue)
970 m_pImpl->m_pContentControl->SetTag(aValue);
1007 if (rValue >>= aValue)
1015 m_pImpl->m_pContentControl->SetLock(aValue);
1021 throw beans::UnknownPropertyException();
1034 aRet <<=
m_pImpl->m_bShowingPlaceHolder;
1038 aRet <<=
m_pImpl->m_pContentControl->GetShowingPlaceHolder();
1045 aRet <<=
m_pImpl->m_bCheckbox;
1049 aRet <<=
m_pImpl->m_pContentControl->GetCheckbox();
1060 aRet <<=
m_pImpl->m_pContentControl->GetChecked();
1067 aRet <<=
m_pImpl->m_aCheckedState;
1071 aRet <<=
m_pImpl->m_pContentControl->GetCheckedState();
1078 aRet <<=
m_pImpl->m_aUncheckedState;
1082 aRet <<=
m_pImpl->m_pContentControl->GetUncheckedState();
1087 std::vector<SwContentControlListItem> aItems;
1090 aItems =
m_pImpl->m_aListItems;
1094 aItems =
m_pImpl->m_pContentControl->GetListItems();
1106 aRet <<=
m_pImpl->m_pContentControl->GetPicture();
1117 aRet <<=
m_pImpl->m_pContentControl->GetDate();
1124 aRet <<=
m_pImpl->m_aDateFormat;
1128 aRet <<=
m_pImpl->m_pContentControl->GetDateFormat();
1135 aRet <<=
m_pImpl->m_aDateLanguage;
1139 aRet <<=
m_pImpl->m_pContentControl->GetDateLanguage();
1146 aRet <<=
m_pImpl->m_aCurrentDate;
1150 aRet <<=
m_pImpl->m_pContentControl->GetCurrentDate();
1157 aRet <<=
m_pImpl->m_bPlainText;
1161 aRet <<=
m_pImpl->m_pContentControl->GetPlainText();
1168 aRet <<=
m_pImpl->m_bComboBox;
1172 aRet <<=
m_pImpl->m_pContentControl->GetComboBox();
1179 aRet <<=
m_pImpl->m_bDropDown;
1183 aRet <<=
m_pImpl->m_pContentControl->GetDropDown();
1190 aRet <<=
m_pImpl->m_aPlaceholderDocPart;
1194 aRet <<=
m_pImpl->m_pContentControl->GetCurrentDate();
1201 aRet <<=
m_pImpl->m_aDataBindingPrefixMappings;
1205 aRet <<=
m_pImpl->m_pContentControl->GetDataBindingPrefixMappings();
1212 aRet <<=
m_pImpl->m_aDataBindingXpath;
1216 aRet <<=
m_pImpl->m_pContentControl->GetDataBindingXpath();
1223 aRet <<=
m_pImpl->m_aDataBindingStoreItemID;
1227 aRet <<=
m_pImpl->m_pContentControl->GetDataBindingStoreItemID();
1238 aRet <<=
m_pImpl->m_pContentControl->GetColor();
1245 aRet <<=
m_pImpl->m_aAppearance;
1249 aRet <<=
m_pImpl->m_pContentControl->GetAppearance();
1260 aRet <<=
m_pImpl->m_pContentControl->GetAlias();
1271 aRet <<=
m_pImpl->m_pContentControl->GetTag();
1276 if (!
m_pImpl->m_bIsDescriptor)
1278 aRet <<=
m_pImpl->m_pContentControl->GetDateString();
1289 aRet <<=
m_pImpl->m_pContentControl->GetId();
1296 aRet <<=
m_pImpl->m_nTabIndex;
1300 aRet <<=
m_pImpl->m_pContentControl->GetTabIndex();
1311 aRet <<=
m_pImpl->m_pContentControl->GetLock();
1316 throw beans::UnknownPropertyException();
1324 const uno::Reference<beans::XPropertyChangeListener>& )
1326 SAL_WARN(
"sw.uno",
"SwXContentControl::addPropertyChangeListener: not implemented");
1331 const uno::Reference<beans::XPropertyChangeListener>& )
1333 SAL_WARN(
"sw.uno",
"SwXContentControl::removePropertyChangeListener: not implemented");
1338 const uno::Reference<beans::XVetoableChangeListener>& )
1340 SAL_WARN(
"sw.uno",
"SwXContentControl::addVetoableChangeListener: not implemented");
1345 const uno::Reference<beans::XVetoableChangeListener>& )
1347 SAL_WARN(
"sw.uno",
"SwXContentControl::removeVetoableChangeListener: not implemented");
1359 return m_pImpl->m_pContentControl !=
nullptr;
1369 throw lang::DisposedException();
1373 throw uno::RuntimeException(
"createEnumeration(): not inserted",
1378 sal_Int32 nContentControlStart;
1379 sal_Int32 nContentControlEnd;
1380 bool bSuccess =
SetContentRange(pTextNode, nContentControlStart, nContentControlEnd);
1384 throw lang::DisposedException();
1387 SwPaM aPam(*pTextNode, nContentControlStart);
1389 if (!
m_pImpl->m_pTextPortions)
1392 nContentControlEnd);
1413 throw uno::RuntimeException();
1425 throw uno::RuntimeException();
1431 throw lang::IndexOutOfBoundsException();
1439 aRet <<= uno::Reference<text::XTextContent>(xContentControl);
1451 throw uno::RuntimeException();
virtual bool DeleteAndJoin(SwPaM &, SwDeleteFlags flags=SwDeleteFlags::Default)=0
complete delete of a given PaM
virtual bool InsertPoolItem(const SwPaM &rRg, const SfxPoolItem &, const SetAttrMode nFlags=SetAttrMode::DEFAULT, SwRootFrame const *pLayout=nullptr, SwTextAttr **ppNewTextAttr=nullptr)=0
Insert an attribute.
css::uno::Reference< css::beans::XPropertySetInfo > const & getPropertySetInfo() const
bool StartListening(SvtBroadcaster &rBroadcaster)
static std::vector< SwContentControlListItem > ItemsFromAny(const css::uno::Any &rVal)
static void ItemsToAny(const std::vector< SwContentControlListItem > &rItems, css::uno::Any &rVal)
Knows all the text content controls in the document.
SwTextContentControl * Get(size_t nIndex)
Stores the properties of a content control.
void SetXContentControl(const rtl::Reference< SwXContentControl > &xContentControl)
SwTextContentControl * GetTextAttr() const
const unotools::WeakReference< SwXContentControl > & GetXContentControl() const
SwTextNode * GetTextNode() const
IDocumentContentOperations const & getIDocumentContentOperations() const
::SwContentControlManager & GetContentControlManager()
SfxPoolItem subclass that wraps an SwContentControl.
const std::shared_ptr< SwContentControl > & GetContentControl() const
PaM is Point and Mark: a selection of the document model.
const SwPosition * GetMark() const
const SwPosition * GetPoint() const
bool HasMark() const
A PaM marks a selection if Point and Mark are distinct positions.
Starts a section of nodes in the document model.
A wrapper around SfxPoolItem to store the start position of (usually) a text portion,...
const sal_Int32 * End() const
sal_Int32 GetStart() const
const SwFormatContentControl & GetContentControl() const
SwTextAttr subclass that tracks the location of the wrapped SwFormatContentControl.
SwTextNode is a paragraph in the document model.
const SfxItemPropertySet * GetPropertySet(sal_uInt16 PropertyId)
The inner part SwXContentControl, which is deleted with a locked SolarMutex.
OUString m_aDataBindingXpath
unotools::WeakReference< SwXContentControl > m_wThis
uno::Reference< text::XText > m_xParentText
bool m_bShowingPlaceHolder
OUString m_aPlaceholderDocPart
Impl(SwXContentControl &rThis, SwDoc &rDoc, SwContentControl *pContentControl, uno::Reference< text::XText > xParentText, std::unique_ptr< const TextRangeList_t > pPortions)
std::unique_ptr< const TextRangeList_t > m_pTextPortions
::comphelper::OInterfaceContainerHelper4< css::lang::XEventListener > m_EventListeners
OUString m_aUncheckedState
const SwContentControl * GetContentControl() const
OUString m_aDataBindingStoreItemID
SwContentControl * m_pContentControl
void Notify(const SfxHint &rHint) override
rtl::Reference< SwXContentControlText > m_xText
std::vector< SwContentControlListItem > m_aListItems
OUString m_aDataBindingPrefixMappings
UNO API wrapper around an SwContentControl, exposed as the com.sun.star.text.ContentControl service.
void SAL_CALL setString(const OUString &rString) override
void SAL_CALL removeEventListener(const css::uno::Reference< css::lang::XEventListener > &xListener) override
void SAL_CALL insertControlCharacter(const css::uno::Reference< css::text::XTextRange > &xRange, sal_Int16 nControlCharacter, sal_Bool bAbsorb) override
void SAL_CALL addEventListener(const css::uno::Reference< css::lang::XEventListener > &xListener) override
css::uno::Reference< css::text::XTextCursor > SAL_CALL createTextCursorByRange(const css::uno::Reference< css::text::XTextRange > &xTextPosition) override
void SAL_CALL addVetoableChangeListener(const OUString &rPropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &xListener) override
void SAL_CALL dispose() override
css::uno::Reference< css::container::XEnumeration > SAL_CALL createEnumeration() override
css::uno::Any SAL_CALL getPropertyValue(const OUString &rPropertyName) override
static rtl::Reference< SwXContentControl > CreateXContentControl(SwContentControl &rContentControl, const css::uno::Reference< css::text::XText > &xParentText=nullptr, std::unique_ptr< const TextRangeList_t > &&pPortions=std::unique_ptr< const TextRangeList_t >())
void SAL_CALL setPropertyValue(const OUString &rPropertyName, const css::uno::Any &rValue) override
sal_Bool SAL_CALL hasElements() override
void SAL_CALL removePropertyChangeListener(const OUString &rPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &xListener) override
void SAL_CALL removeVetoableChangeListener(const OUString &rPropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &xListener) override
SwXContentControl(const SwXContentControl &)=delete
void SAL_CALL insertTextContent(const css::uno::Reference< css::text::XTextRange > &xRange, const css::uno::Reference< css::text::XTextContent > &xContent, sal_Bool bAbsorb) override
css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
OUString SAL_CALL getImplementationName() override
css::uno::Reference< css::text::XTextRange > SAL_CALL getAnchor() override
css::uno::Reference< css::text::XText > SAL_CALL getText() override
void SAL_CALL insertString(const css::uno::Reference< css::text::XTextRange > &xRange, const OUString &aString, sal_Bool bAbsorb) override
bool SetContentRange(SwTextNode *&rpNode, sal_Int32 &rStart, sal_Int32 &rEnd) const
Initializes params with position of the attribute content (without CH_TXTATR).
css::uno::Reference< css::text::XTextCursor > SAL_CALL createTextCursor() override
const css::uno::Reference< css::text::XText > & GetParentText() const
void SAL_CALL attach(const css::uno::Reference< css::text::XTextRange > &xTextRange) override
css::uno::Type SAL_CALL getElementType() override
void AttachImpl(const css::uno::Reference< css::text::XTextRange > &xTextRange, sal_uInt16 nWhich)
sal_Bool SAL_CALL supportsService(const OUString &rServiceName) override
css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
~SwXContentControl() override
sw::UnoImplPtr< Impl > m_pImpl
void SAL_CALL removeTextContent(const css::uno::Reference< css::text::XTextContent > &xContent) override
void SAL_CALL addPropertyChangeListener(const OUString &rPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &xListener) override
OUString SAL_CALL getString() override
css::uno::Reference< css::text::XTextRange > SAL_CALL getEnd() override
css::uno::Reference< css::text::XTextRange > SAL_CALL getStart() override
css::uno::Any SAL_CALL getByIndex(sal_Int32 nIndex) override
~SwXContentControls() override
sal_Bool SAL_CALL hasElements() override
SwXContentControls(SwDoc *pDoc)
css::uno::Type SAL_CALL getElementType() override
sal_Int32 SAL_CALL getCount() override
bool IsAtEndOfContentControl() const
virtual css::uno::Reference< css::text::XTextCursor > CreateCursor()
virtual const SwStartNode * GetStartNode() const
virtual void PrepareForAttach(css::uno::Reference< css::text::XTextRange > &xRange, SwPaM const &rPam)
virtual void SAL_CALL acquire() SAL_NOEXCEPT SAL_OVERRIDE
virtual void SAL_CALL release() SAL_NOEXCEPT SAL_OVERRIDE
css::uno::Type const & get()
static SwNode * GetStartNode(SwOutlineNodes const *pOutlNds, int nOutlineLevel, SwOutlineNodes::size_type *nOutl)
constexpr TypedWhichId< SwFormatContentControl > RES_TXTATR_CONTENTCONTROL(56)
#define SAL_WARN(area, stream)
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
constexpr std::enable_if_t< std::is_signed_v< T >, std::make_unsigned_t< T > > make_unsigned(T value)
uno::Reference< text::XText > CreateParentXText(SwDoc &rDoc, const SwPosition &rPos)
bool XTextRangeToSwPaM(SwUnoInternalPaM &rToFill, const uno::Reference< text::XTextRange > &xTextRange, ::sw::TextRangeMode const eMode)
Marks a position in the document model.
@ FORCEHINTEXPAND
Force hint expand (only matters for hints with CH_TXTATR).
SwUnoPropertyMapProvider aSwMapProvider
#define PROPERTY_MAP_CONTENTCONTROL
constexpr OUStringLiteral UNO_NAME_TAB_INDEX
constexpr OUStringLiteral UNO_NAME_TAG
constexpr OUStringLiteral UNO_NAME_SHOWING_PLACE_HOLDER
constexpr OUStringLiteral UNO_NAME_CHECKBOX
constexpr OUStringLiteral UNO_NAME_PICTURE
constexpr OUStringLiteral UNO_NAME_ALIAS
constexpr OUStringLiteral UNO_NAME_DATE_FORMAT
constexpr OUStringLiteral UNO_NAME_CHECKED_STATE
constexpr OUStringLiteral UNO_NAME_PLAIN_TEXT
constexpr OUStringLiteral UNO_NAME_ID
constexpr OUStringLiteral UNO_NAME_DROP_DOWN
constexpr OUStringLiteral UNO_NAME_LIST_ITEMS
constexpr OUStringLiteral UNO_NAME_CURRENT_DATE
constexpr OUStringLiteral UNO_NAME_CHECKED
constexpr OUStringLiteral UNO_NAME_DATA_BINDING_STORE_ITEM_ID
constexpr OUStringLiteral UNO_NAME_DATE_LANGUAGE
constexpr OUStringLiteral UNO_NAME_APPEARANCE
constexpr OUStringLiteral UNO_NAME_LOCK
constexpr OUStringLiteral UNO_NAME_COMBO_BOX
constexpr OUStringLiteral UNO_NAME_UNCHECKED_STATE
constexpr OUStringLiteral UNO_NAME_PLACEHOLDER_DOC_PART
constexpr OUStringLiteral UNO_NAME_DATA_BINDING_PREFIX_MAPPINGS
constexpr OUStringLiteral UNO_NAME_DATE_STRING
constexpr OUStringLiteral UNO_NAME_DATE
constexpr OUStringLiteral UNO_NAME_DATA_BINDING_XPATH
constexpr OUStringLiteral UNO_NAME_COLOR