24#include <com/sun/star/text/XWordCursor.hpp>
25#include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
39#include <unoprnms.hxx>
68 uno::Sequence<sal_Int8> SAL_CALL getImplementationId()
override;
73 const ::css::uno::Reference<::css::text::XTextRange>& aTextPosition)
override;
79 , m_rContentControl(rContentControl)
85 auto pParent =
dynamic_cast<SwXText*
>(m_rContentControl.GetParentText().get());
89void SwXContentControlText::PrepareForAttach(uno::Reference<text::XTextRange>& xRange,
93 xRange =
static_cast<text::XWordCursor*
>(
104 sal_Int32 nContentControlStart;
105 sal_Int32 nContentControlEnd;
106 bool bSuccess = m_rContentControl.SetContentRange(pTextNode, nContentControlStart,
110 SwPosition aPos(*pTextNode, nContentControlStart);
118uno::Sequence<sal_Int8> SAL_CALL SwXContentControlText::getImplementationId()
120 return css::uno::Sequence<sal_Int8>();
126 const uno::Reference<text::XTextRange>& xTextPosition)
129 xCursor->gotoRange(xTextPosition,
false);
181 uno::Reference<text::XText> xParentText, std::unique_ptr<const TextRangeList_t> pPortions)
186 ,
m_xText(new SwXContentControlText(rDoc, rThis))
220 m_pTextPortions.reset();
222 if (rHint.
GetId() != SfxHintId::Dying && rHint.
GetId() != SfxHintId::Deinitializing)
225 m_bIsDisposed =
true;
226 m_pContentControl =
nullptr;
227 m_xText->Invalidate();
228 uno::Reference<uno::XInterface> xThis(m_wThis);
234 lang::EventObject
aEvent(xThis);
235 std::unique_lock aGuard(m_Mutex);
236 m_EventListeners.disposeAndClear(aGuard,
aEvent);
245 const uno::Reference<text::XText>& xParentText,
246 std::unique_ptr<const TextRangeList_t> pPortions)
248 std::move(pPortions)))
262 xContentControl->m_pImpl->m_wThis = xContentControl.get();
263 return xContentControl;
268 const uno::Reference<text::XText>& xParent,
269 std::unique_ptr<const TextRangeList_t>&& pPortions)
273 if (xContentControl.is())
280 xContentControl->m_pImpl->m_pTextPortions = std::move(pPortions);
281 if (xContentControl->m_pImpl->m_xParentText.get() != xParent.get())
283 SAL_WARN(
"sw.uno",
"SwXContentControl with different parent");
284 xContentControl->m_pImpl->m_xParentText.set(xParent);
287 return xContentControl;
294 SAL_WARN(
"sw.uno",
"CreateXContentControl: no text node");
297 uno::Reference<text::XText> xParentText(xParent);
298 if (!xParentText.is())
303 SAL_WARN(
"sw.uno",
"CreateXContentControl: no text attr");
309 if (!xParentText.is())
314 std::move(pPortions));
316 xContentControl->m_pImpl->m_wThis = xContentControl.get();
317 return xContentControl;
321 sal_Int32& rEnd)
const
335 rEnd = *pTextAttr->
End() - 1;
353 return {
"com.sun.star.text.TextContent",
"com.sun.star.text.ContentControl" };
360 std::unique_lock aGuard(
m_pImpl->m_Mutex);
361 m_pImpl->m_EventListeners.addInterface(aGuard, xListener);
367 std::unique_lock aGuard(
m_pImpl->m_Mutex);
368 m_pImpl->m_EventListeners.removeInterface(aGuard, xListener);
377 m_pImpl->m_pTextPortions.reset();
379 std::unique_lock aGuard(
m_pImpl->m_Mutex);
382 m_pImpl->m_xText->Invalidate();
384 else if (!
m_pImpl->m_bIsDisposed)
387 sal_Int32 nContentControlStart;
388 sal_Int32 nContentControlEnd;
389 bool bSuccess =
SetContentRange(pTextNode, nContentControlStart, nContentControlEnd);
392 SAL_WARN(
"sw.core",
"SwXContentControl::dispose: no pam");
397 SwPaM aPam(*pTextNode, nContentControlStart - 1, *pTextNode, nContentControlEnd);
402 assert(
m_pImpl->m_bIsDisposed);
414 throw lang::DisposedException();
418 throw uno::RuntimeException(
"SwXContentControl::AttachImpl(): already attached",
423 OTextCursorHelper* pCursor
424 = pRange ? nullptr :
dynamic_cast<OTextCursorHelper*
>(xTextRange.get());
425 if (!pRange && !pCursor)
427 throw lang::IllegalArgumentException(
428 "SwXContentControl::AttachImpl(): argument not supported type",
432 SwDoc* pDoc = pRange ? &pRange->
GetDoc() : pCursor->GetDoc();
435 throw lang::IllegalArgumentException(
436 "SwXContentControl::AttachImpl(): argument has no SwDoc",
451 auto pContentControl = std::make_shared<SwContentControl>(
nullptr);
453 pContentControl->SetShowingPlaceHolder(
m_pImpl->m_bShowingPlaceHolder);
454 pContentControl->SetCheckbox(
m_pImpl->m_bCheckbox);
455 pContentControl->SetChecked(
m_pImpl->m_bChecked);
456 pContentControl->SetCheckedState(
m_pImpl->m_aCheckedState);
457 pContentControl->SetUncheckedState(
m_pImpl->m_aUncheckedState);
458 pContentControl->SetListItems(
m_pImpl->m_aListItems);
459 pContentControl->SetPicture(
m_pImpl->m_bPicture);
460 pContentControl->SetDate(
m_pImpl->m_bDate);
461 pContentControl->SetDateFormat(
m_pImpl->m_aDateFormat);
462 pContentControl->SetDateLanguage(
m_pImpl->m_aDateLanguage);
463 pContentControl->SetCurrentDate(
m_pImpl->m_aCurrentDate);
464 pContentControl->SetPlainText(
m_pImpl->m_bPlainText);
465 pContentControl->SetComboBox(
m_pImpl->m_bComboBox);
466 pContentControl->SetDropDown(
m_pImpl->m_bDropDown);
467 pContentControl->SetPlaceholderDocPart(
m_pImpl->m_aPlaceholderDocPart);
468 pContentControl->SetDataBindingPrefixMappings(
m_pImpl->m_aDataBindingPrefixMappings);
469 pContentControl->SetDataBindingXpath(
m_pImpl->m_aDataBindingXpath);
470 pContentControl->SetDataBindingStoreItemID(
m_pImpl->m_aDataBindingStoreItemID);
471 pContentControl->SetColor(
m_pImpl->m_aColor);
472 pContentControl->SetAppearance(
m_pImpl->m_aAppearance);
473 pContentControl->SetAlias(
m_pImpl->m_aAlias);
474 pContentControl->SetTag(
m_pImpl->m_aTag);
475 pContentControl->SetId(
m_pImpl->m_nId);
476 pContentControl->SetTabIndex(
m_pImpl->m_nTabIndex);
477 pContentControl->SetLock(
m_pImpl->m_aLock);
482 SwTextAttr* pTextAttr = pContentControl->GetTextAttr();
485 throw lang::IllegalArgumentException(
486 "SwXContentControl::AttachImpl(): cannot create content control: invalid range",
491 SAL_WARN(
"sw.core",
"content control inserted, but has no text attribute?");
492 throw uno::RuntimeException(
493 "SwXContentControl::AttachImpl(): cannot create content control",
498 m_pImpl->m_pContentControl = pContentControl.get();
499 m_pImpl->StartListening(pContentControl->GetNotifier());
500 pContentControl->SetXContentControl(
this);
504 m_pImpl->m_bIsDescriptor =
false;
519 throw lang::DisposedException();
523 throw uno::RuntimeException(
"SwXContentControl::getAnchor(): not inserted",
528 sal_Int32 nContentControlStart;
529 sal_Int32 nContentControlEnd;
530 bool bSuccess =
SetContentRange(pTextNode, nContentControlStart, nContentControlEnd);
534 throw lang::DisposedException(
"SwXContentControl::getAnchor(): not attached",
538 SwPosition aStart(*pTextNode, nContentControlStart - 1);
539 SwPosition aEnd(*pTextNode, nContentControlEnd);
549 return m_pImpl->m_xText->getStart();
555 return m_pImpl->m_xText->getEnd();
561 return m_pImpl->m_xText->getString();
567 return m_pImpl->m_xText->setString(rString);
574 return m_pImpl->m_xText->createTextCursor();
577uno::Reference<text::XTextCursor> SAL_CALL
581 return m_pImpl->m_xText->createTextCursorByRange(xTextPosition);
585 const OUString& rString,
sal_Bool bAbsorb)
588 return m_pImpl->m_xText->insertString(xRange, rString, bAbsorb);
592 const uno::Reference<text::XTextRange>& xRange, sal_Int16 nControlCharacter,
sal_Bool bAbsorb)
595 return m_pImpl->m_xText->insertControlCharacter(xRange, nControlCharacter, bAbsorb);
600 const uno::Reference<text::XTextRange>& xRange,
601 const uno::Reference<text::XTextContent>& xContent,
sal_Bool bAbsorb)
604 return m_pImpl->m_xText->insertTextContent(xRange, xContent, bAbsorb);
611 return m_pImpl->m_xText->removeTextContent(xContent);
619 static uno::Reference<beans::XPropertySetInfo> xRet
625 const css::uno::Any& rValue)
632 if (rValue >>= bValue)
636 m_pImpl->m_bShowingPlaceHolder = bValue;
640 m_pImpl->m_pContentControl->SetShowingPlaceHolder(bValue);
647 if (rValue >>= bValue)
655 m_pImpl->m_pContentControl->SetCheckbox(bValue);
662 if (rValue >>= bValue)
670 m_pImpl->m_pContentControl->SetChecked(bValue);
677 if (rValue >>= aValue)
681 m_pImpl->m_aCheckedState = aValue;
685 m_pImpl->m_pContentControl->SetCheckedState(aValue);
692 if (rValue >>= aValue)
696 m_pImpl->m_aUncheckedState = aValue;
700 m_pImpl->m_pContentControl->SetUncheckedState(aValue);
706 std::vector<SwContentControlListItem> aItems
710 m_pImpl->m_aListItems = aItems;
719 m_pImpl->m_pContentControl->SetListItems(aItems);
721 if (!
m_pImpl->m_pContentControl->GetComboBox()
722 && !
m_pImpl->m_pContentControl->GetDropDown())
724 m_pImpl->m_pContentControl->SetDropDown(
true);
731 if (rValue >>= bValue)
739 m_pImpl->m_pContentControl->SetPicture(bValue);
746 if (rValue >>= bValue)
754 m_pImpl->m_pContentControl->SetDate(bValue);
761 if (rValue >>= aValue)
765 m_pImpl->m_aDateFormat = aValue;
769 m_pImpl->m_pContentControl->SetDateFormat(aValue);
776 if (rValue >>= aValue)
780 m_pImpl->m_aDateLanguage = aValue;
784 m_pImpl->m_pContentControl->SetDateLanguage(aValue);
791 if (rValue >>= aValue)
795 m_pImpl->m_aCurrentDate = aValue;
799 m_pImpl->m_pContentControl->SetCurrentDate(aValue);
806 if (rValue >>= bValue)
810 m_pImpl->m_bPlainText = bValue;
814 m_pImpl->m_pContentControl->SetPlainText(bValue);
821 if (rValue >>= bValue)
829 m_pImpl->m_pContentControl->SetComboBox(bValue);
836 if (rValue >>= bValue)
844 m_pImpl->m_pContentControl->SetDropDown(bValue);
851 if (rValue >>= aValue)
855 m_pImpl->m_aPlaceholderDocPart = aValue;
859 m_pImpl->m_pContentControl->SetPlaceholderDocPart(aValue);
866 if (rValue >>= aValue)
870 m_pImpl->m_aDataBindingPrefixMappings = aValue;
874 m_pImpl->m_pContentControl->SetDataBindingPrefixMappings(aValue);
881 if (rValue >>= aValue)
885 m_pImpl->m_aDataBindingXpath = aValue;
889 m_pImpl->m_pContentControl->SetDataBindingXpath(aValue);
896 if (rValue >>= aValue)
900 m_pImpl->m_aDataBindingStoreItemID = aValue;
904 m_pImpl->m_pContentControl->SetDataBindingStoreItemID(aValue);
911 if (rValue >>= aValue)
919 m_pImpl->m_pContentControl->SetColor(aValue);
926 if (rValue >>= aValue)
930 m_pImpl->m_aAppearance = aValue;
934 m_pImpl->m_pContentControl->SetAppearance(aValue);
941 if (rValue >>= aValue)
949 m_pImpl->m_pContentControl->SetAlias(aValue);
956 if (rValue >>= aValue)
964 m_pImpl->m_pContentControl->SetTag(aValue);
1001 if (rValue >>= aValue)
1009 m_pImpl->m_pContentControl->SetLock(aValue);
1015 throw beans::UnknownPropertyException();
1028 aRet <<=
m_pImpl->m_bShowingPlaceHolder;
1032 aRet <<=
m_pImpl->m_pContentControl->GetShowingPlaceHolder();
1039 aRet <<=
m_pImpl->m_bCheckbox;
1043 aRet <<=
m_pImpl->m_pContentControl->GetCheckbox();
1054 aRet <<=
m_pImpl->m_pContentControl->GetChecked();
1061 aRet <<=
m_pImpl->m_aCheckedState;
1065 aRet <<=
m_pImpl->m_pContentControl->GetCheckedState();
1072 aRet <<=
m_pImpl->m_aUncheckedState;
1076 aRet <<=
m_pImpl->m_pContentControl->GetUncheckedState();
1081 std::vector<SwContentControlListItem> aItems;
1084 aItems =
m_pImpl->m_aListItems;
1088 aItems =
m_pImpl->m_pContentControl->GetListItems();
1100 aRet <<=
m_pImpl->m_pContentControl->GetPicture();
1111 aRet <<=
m_pImpl->m_pContentControl->GetDate();
1118 aRet <<=
m_pImpl->m_aDateFormat;
1122 aRet <<=
m_pImpl->m_pContentControl->GetDateFormat();
1129 aRet <<=
m_pImpl->m_aDateLanguage;
1133 aRet <<=
m_pImpl->m_pContentControl->GetDateLanguage();
1140 aRet <<=
m_pImpl->m_aCurrentDate;
1144 aRet <<=
m_pImpl->m_pContentControl->GetCurrentDate();
1151 aRet <<=
m_pImpl->m_bPlainText;
1155 aRet <<=
m_pImpl->m_pContentControl->GetPlainText();
1162 aRet <<=
m_pImpl->m_bComboBox;
1166 aRet <<=
m_pImpl->m_pContentControl->GetComboBox();
1173 aRet <<=
m_pImpl->m_bDropDown;
1177 aRet <<=
m_pImpl->m_pContentControl->GetDropDown();
1184 aRet <<=
m_pImpl->m_aPlaceholderDocPart;
1188 aRet <<=
m_pImpl->m_pContentControl->GetCurrentDate();
1195 aRet <<=
m_pImpl->m_aDataBindingPrefixMappings;
1199 aRet <<=
m_pImpl->m_pContentControl->GetDataBindingPrefixMappings();
1206 aRet <<=
m_pImpl->m_aDataBindingXpath;
1210 aRet <<=
m_pImpl->m_pContentControl->GetDataBindingXpath();
1217 aRet <<=
m_pImpl->m_aDataBindingStoreItemID;
1221 aRet <<=
m_pImpl->m_pContentControl->GetDataBindingStoreItemID();
1232 aRet <<=
m_pImpl->m_pContentControl->GetColor();
1239 aRet <<=
m_pImpl->m_aAppearance;
1243 aRet <<=
m_pImpl->m_pContentControl->GetAppearance();
1254 aRet <<=
m_pImpl->m_pContentControl->GetAlias();
1265 aRet <<=
m_pImpl->m_pContentControl->GetTag();
1270 if (!
m_pImpl->m_bIsDescriptor)
1272 aRet <<=
m_pImpl->m_pContentControl->GetDateString();
1283 aRet <<=
m_pImpl->m_pContentControl->GetId();
1290 aRet <<=
m_pImpl->m_nTabIndex;
1294 aRet <<=
m_pImpl->m_pContentControl->GetTabIndex();
1305 aRet <<=
m_pImpl->m_pContentControl->GetLock();
1310 throw beans::UnknownPropertyException();
1318 const uno::Reference<beans::XPropertyChangeListener>& )
1320 SAL_WARN(
"sw.uno",
"SwXContentControl::addPropertyChangeListener: not implemented");
1325 const uno::Reference<beans::XPropertyChangeListener>& )
1327 SAL_WARN(
"sw.uno",
"SwXContentControl::removePropertyChangeListener: not implemented");
1332 const uno::Reference<beans::XVetoableChangeListener>& )
1334 SAL_WARN(
"sw.uno",
"SwXContentControl::addVetoableChangeListener: not implemented");
1339 const uno::Reference<beans::XVetoableChangeListener>& )
1341 SAL_WARN(
"sw.uno",
"SwXContentControl::removeVetoableChangeListener: not implemented");
1353 return m_pImpl->m_pContentControl !=
nullptr;
1363 throw lang::DisposedException();
1367 throw uno::RuntimeException(
"createEnumeration(): not inserted",
1372 sal_Int32 nContentControlStart;
1373 sal_Int32 nContentControlEnd;
1374 bool bSuccess =
SetContentRange(pTextNode, nContentControlStart, nContentControlEnd);
1378 throw lang::DisposedException();
1381 SwPaM aPam(*pTextNode, nContentControlStart);
1383 if (!
m_pImpl->m_pTextPortions)
1386 nContentControlEnd);
1407 throw uno::RuntimeException();
1419 throw uno::RuntimeException();
1425 throw lang::IndexOutOfBoundsException();
1433 aRet <<= uno::Reference<text::XTextContent>(xContentControl);
1445 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 rtl::Reference< SwXTextCursor > createXTextCursorByRange(const ::css::uno::Reference< ::css::text::XTextRange > &aTextPosition)=0
virtual rtl::Reference< SwXTextCursor > createXTextCursor()=0
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