LibreOffice Module svx (master) 1
unomod.cxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19
20#include <sal/config.h>
21
22#include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
23#include <com/sun/star/lang/ServiceNotRegisteredException.hpp>
24#include <com/sun/star/lang/NoSupportException.hpp>
25#include <com/sun/star/drawing/XShape.hpp>
26#include <vcl/svapp.hxx>
27#include <svl/itempool.hxx>
28#include <svtools/unoevent.hxx>
30#include <o3tl/string_view.hxx>
32
34#include <svx/unofill.hxx>
35#include <editeng/unonrule.hxx>
36#include <svtools/unoimap.hxx>
37#include <sfx2/event.hxx>
38#include <svx/fmdpage.hxx>
39#include <svx/fmmodel.hxx>
40#include <svx/fmpage.hxx>
41#include <svx/unoapi.hxx>
42
43#include <svx/svdmodel.hxx>
44#include <svx/unoprov.hxx>
45#include <svx/unopage.hxx>
46#include <editeng/unofield.hxx>
47#include <svx/unomod.hxx>
48#include <svx/unomodel.hxx>
49#include <svx/svdobj.hxx>
50#include <svx/svdpage.hxx>
52#include <svx/unoshape.hxx>
53#include <svx/xmlgrhlp.hxx>
54
55#include <com/sun/star/text/textfield/Type.hpp>
56
57//-
58
59using namespace ::com::sun::star;
60
61//-
62
63#define QUERYINT( xint ) \
64 if( rType == cppu::UnoType<xint>::get() ) \
65 aAny <<= uno::Reference< xint >(this)
66
67//-
68
69class SvxUnoDrawPagesAccess : public ::cppu::WeakImplHelper< css::drawing::XDrawPages, css::lang::XServiceInfo >
70{
71private:
73
74public:
75 explicit SvxUnoDrawPagesAccess( SvxUnoDrawingModel& rMyModel ) noexcept;
76
77 // XDrawPages
78 virtual css::uno::Reference< css::drawing::XDrawPage > SAL_CALL insertNewByIndex( sal_Int32 nIndex ) override;
79 virtual void SAL_CALL remove( const css::uno::Reference< css::drawing::XDrawPage >& xPage ) override;
80
81 // XIndexAccess
82 virtual sal_Int32 SAL_CALL getCount() override ;
83 virtual css::uno::Any SAL_CALL getByIndex( sal_Int32 Index ) override;
84
85 // XElementAccess
86 virtual css::uno::Type SAL_CALL getElementType() override;
87 virtual sal_Bool SAL_CALL hasElements() override;
88
89 // XServiceInfo
90 virtual OUString SAL_CALL getImplementationName( ) override;
91 virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) override;
92 virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames( ) override;
93};
94//-
95
97{
98 static const SvEventDescription aMacroDescriptionsImpl[] =
99 {
100 { SvMacroItemId::OnMouseOver, "OnMouseOver" },
101 { SvMacroItemId::OnMouseOut, "OnMouseOut" },
102 { SvMacroItemId::NONE, nullptr }
103 };
104
105 return aMacroDescriptionsImpl;
106}
107
108//-
109
115bool SvxUnoDrawMSFactory::createEvent( const SdrModel* pDoc, const SdrHint* pSdrHint, css::document::EventObject& aEvent )
116{
117 const SdrObject* pObj = nullptr;
118 const SdrPage* pPage = nullptr;
119
120 switch( pSdrHint->GetKind() )
121 {
122// case SdrHintKind::LayerChange: // layer definition changed
123// case SdrHintKind::LayerOrderChange: // layer order changed (Insert/Remove/ChangePos)
124// case HINT_LAYERSETCHG: // layer set changed
125// case HINT_LAYERSETORDERCHG: // layer set order changed (Insert/Remove/ChangePos)
126
127// case HINT_PAGECHG: // page changed
128// aEvent.EventName = "PageModified";
129// pPage = pSdrHint->GetPage();
130// break;
131 case SdrHintKind::PageOrderChange: // draw or master page order changed (Insert/Remove/ChangePos)
132 aEvent.EventName = "PageOrderModified";
133 pPage = pSdrHint->GetPage();
134 break;
135 case SdrHintKind::ObjectChange: // object changed
136 aEvent.EventName = "ShapeModified";
137 pObj = pSdrHint->GetObject();
138 break;
139 case SdrHintKind::ObjectInserted: // add new draw object
140 aEvent.EventName = "ShapeInserted";
141 pObj = pSdrHint->GetObject();
142 break;
143 case SdrHintKind::ObjectRemoved: // removed draw object from list
144 aEvent.EventName = "ShapeRemoved";
145 pObj = pSdrHint->GetObject();
146 break;
147// SdrHintKind::DefaultTabChange, // default tab width changed
148// SdrHintKind::SwitchToPage, // #94278# UNDO/REDO at an object evtl. on another page
149// HINT_OBJLISTCLEAR // Is called before an SdrObjList will be cleared
150 default:
151 return false;
152 }
153
154 if( pObj )
155 aEvent.Source = const_cast<SdrObject*>(pObj)->getUnoShape();
156 else if( pPage )
157 aEvent.Source = const_cast<SdrPage*>(pPage)->getUnoPage();
158 else
159 aEvent.Source = const_cast<SdrModel*>(pDoc)->getUnoModel();
160
161 return true;
162}
163
164namespace {
165
166css::uno::Reference<css::uno::XInterface> create(
167 OUString const & rServiceSpecifier, OUString const & referer)
168{
169 if( rServiceSpecifier.startsWith("com.sun.star.drawing.") )
170 {
171 std::optional<SdrObjKind> nType = UHashMap::getId( rServiceSpecifier );
172 if( nType )
173 {
175
176 return cppu::getXWeak(SvxDrawPage::CreateShapeByTypeAndInventor( *nType, nI, nullptr, nullptr, referer ).get());
177 }
178 }
179 else if (rServiceSpecifier == "com.sun.star.document.ImportGraphicStorageHandler")
180 {
181 return cppu::getXWeak( SvXMLGraphicHelper::Create( SvXMLGraphicHelperMode::Read ).get() );
182 }
183 else if (rServiceSpecifier == "com.sun.star.text.TextColumns")
184 {
186 }
187
188 uno::Reference< uno::XInterface > xRet( SvxUnoDrawMSFactory::createTextField( rServiceSpecifier ) );
189 if( !xRet.is() )
190 throw lang::ServiceNotRegisteredException("unknown service: " + rServiceSpecifier);
191
192 return xRet;
193}
194
195}
196
197uno::Reference< uno::XInterface > SAL_CALL SvxUnoDrawMSFactory::createInstance( const OUString& rServiceSpecifier )
198{
199 return create(rServiceSpecifier, "");
200}
201
202uno::Reference< uno::XInterface > SvxUnoDrawMSFactory::createTextField( std::u16string_view ServiceSpecifier )
203{
204 return SvxUnoTextCreateTextField( ServiceSpecifier );
205}
206
207uno::Reference< uno::XInterface > SAL_CALL SvxUnoDrawMSFactory::createInstanceWithArguments( const OUString& ServiceSpecifier, const uno::Sequence< css::uno::Any >& Arguments )
208{
209 OUString arg;
210 if ((ServiceSpecifier == "com.sun.star.drawing.GraphicObjectShape"
211 || ServiceSpecifier == "com.sun.star.drawing.MediaShape")
212 && Arguments.getLength() == 1 && (Arguments[0] >>= arg))
213 {
214 return create(ServiceSpecifier, arg);
215 }
216 throw lang::NoSupportException();
217}
218
219uno::Sequence< OUString > SAL_CALL SvxUnoDrawMSFactory::getAvailableServiceNames()
220{
222}
223
225{
226 OSL_ENSURE(mpDoc, "No SdrModel in UnoDrawingModel, should not happen");
227 return *mpDoc;
228}
229
231: SfxBaseModel(nullptr),
232 mpDoc(pDoc)
233{
234}
235
237{
238}
239
241{
242 uno::Any aAny;
243
244 QUERYINT(lang::XServiceInfo);
245 else QUERYINT(lang::XMultiServiceFactory);
246 else QUERYINT(drawing::XDrawPagesSupplier);
247 else QUERYINT(css::ucb::XAnyCompareFactory);
248 else
249 return SfxBaseModel::queryInterface( rType );
250
251 return aAny;
252}
253
254// XTypeProvider
255uno::Sequence< uno::Type > SAL_CALL SvxUnoDrawingModel::getTypes( )
256{
257 if( !maTypeSequence.hasElements() )
258 {
260 uno::Sequence {
265 }
266 return maTypeSequence;
267}
268
269uno::Sequence< sal_Int8 > SAL_CALL SvxUnoDrawingModel::getImplementationId( )
270{
271 return css::uno::Sequence<sal_Int8>();
272}
273
275{
276 if( mpDoc )
277 mpDoc->setLock(true);
278}
279
281{
282 if( mpDoc && mpDoc->isLocked() )
283 {
284 mpDoc->setLock(false);
285 }
286}
287
289{
290 return mpDoc && mpDoc->isLocked();
291}
292
293// XDrawPagesSupplier
294uno::Reference< drawing::XDrawPages > SAL_CALL SvxUnoDrawingModel::getDrawPages()
295{
296 ::SolarMutexGuard aGuard;
297
298 uno::Reference< drawing::XDrawPages > xDrawPages( mxDrawPagesAccess );
299
300 if( !xDrawPages.is() )
301 mxDrawPagesAccess = xDrawPages = new SvxUnoDrawPagesAccess(*this);
302
303 return xDrawPages;
304}
305
306// XMultiServiceFactory ( SvxFmMSFactory )
307uno::Reference< uno::XInterface > SAL_CALL SvxUnoDrawingModel::createInstance( const OUString& aServiceSpecifier )
308{
309 ::SolarMutexGuard aGuard;
310
311 if( aServiceSpecifier == "com.sun.star.drawing.DashTable" )
312 {
313 if( !mxDashTable.is() )
315 return mxDashTable;
316 }
317 if( aServiceSpecifier == "com.sun.star.drawing.GradientTable" )
318 {
319 if( !mxGradientTable.is() )
321 return mxGradientTable;
322 }
323 if( aServiceSpecifier == "com.sun.star.drawing.HatchTable" )
324 {
325 if( !mxHatchTable.is() )
327 return mxHatchTable;
328 }
329 if( aServiceSpecifier == "com.sun.star.drawing.BitmapTable" )
330 {
331 if( !mxBitmapTable.is() )
333 return mxBitmapTable;
334 }
335 if( aServiceSpecifier == "com.sun.star.drawing.TransparencyGradientTable" )
336 {
337 if( !mxTransGradientTable.is() )
340 }
341 if( aServiceSpecifier == "com.sun.star.drawing.MarkerTable" )
342 {
343 if( !mxMarkerTable.is() )
345 return mxMarkerTable;
346 }
347 if( aServiceSpecifier == "com.sun.star.text.NumberingRules" )
348 {
349 return uno::Reference< uno::XInterface >( SvxCreateNumRule( mpDoc ), uno::UNO_QUERY );
350 }
351
352 if ( aServiceSpecifier == "com.sun.star.image.ImageMapRectangleObject" )
353 {
355 }
356
357 if ( aServiceSpecifier == "com.sun.star.image.ImageMapCircleObject" )
358 {
360 }
361
362 if ( aServiceSpecifier == "com.sun.star.image.ImageMapPolygonObject" )
363 {
365 }
366
367 if( aServiceSpecifier == "com.sun.star.text.TextField.DateTime" )
368 {
369 return cppu::getXWeak(new SvxUnoTextField(text::textfield::Type::DATE));
370 }
371
372 uno::Reference< uno::XInterface > xRet;
373
374 static constexpr OUStringLiteral aPackagePrefix( u"com.sun.star.presentation." );
375 if( aServiceSpecifier.startsWith( aPackagePrefix ) )
376 {
377 SvxShape* pShape = nullptr;
378
380 std::u16string_view aTypeName = aServiceSpecifier.subView( aPackagePrefix.getLength() );
381 // create a shape wrapper
382 if( o3tl::starts_with(aTypeName, u"TitleTextShape") )
383 {
385 }
386 else if( o3tl::starts_with(aTypeName, u"OutlinerShape" ) )
387 {
389 }
390 else if( o3tl::starts_with(aTypeName, u"SubtitleShape" ) )
391 {
393 }
394 else if( o3tl::starts_with(aTypeName, u"GraphicObjectShape" ) )
395 {
397 }
398 else if( o3tl::starts_with(aTypeName, u"PageShape" ) )
399 {
401 }
402 else if( o3tl::starts_with(aTypeName, u"OLE2Shape" ) )
403 {
405 }
406 else if( o3tl::starts_with(aTypeName, u"ChartShape" ) )
407 {
409 }
410 else if( o3tl::starts_with(aTypeName, u"OrgChartShape" ) )
411 {
413 }
414 else if( o3tl::starts_with(aTypeName, u"NotesShape" ) )
415 {
417 }
418 else if( o3tl::starts_with(aTypeName, u"HandoutShape" ) )
419 {
421 }
422 else if( o3tl::starts_with(aTypeName, u"FooterShape" ) )
423 {
425 }
426 else if( o3tl::starts_with(aTypeName, u"HeaderShape" ) )
427 {
429 }
430 else if( o3tl::starts_with(aTypeName, u"SlideNumberShape" ) )
431 {
433 }
434 else if( o3tl::starts_with(aTypeName, u"DateTimeShape" ) )
435 {
437 }
438 else if( o3tl::starts_with(aTypeName, u"TableShape" ) )
439 {
441 }
442 else
443 {
444 throw lang::ServiceNotRegisteredException();
445 }
446
447 // create the API wrapper
449 pShape = xNewShape.get();
450
451 // set shape type
452 if( pShape )
453 pShape->SetShapeType(aServiceSpecifier);
454
455 xRet = cppu::getXWeak(pShape);
456 }
457 else
458 {
459 xRet = SvxFmMSFactory::createInstance( aServiceSpecifier );
460 }
461
462 return xRet;
463}
464
465uno::Sequence< OUString > SAL_CALL SvxUnoDrawingModel::getAvailableServiceNames()
466{
467 const uno::Sequence< OUString > aSNS_ORG( SvxFmMSFactory::getAvailableServiceNames() );
468
469 uno::Sequence< OUString > aSNS{
470 "com.sun.star.drawing.DashTable",
471 "com.sun.star.drawing.GradientTable",
472 "com.sun.star.drawing.HatchTable",
473 "com.sun.star.drawing.BitmapTable",
474 "com.sun.star.drawing.TransparencyGradientTable",
475 "com.sun.star.drawing.MarkerTable",
476 "com.sun.star.text.NumberingRules",
477 "com.sun.star.image.ImageMapRectangleObject",
478 "com.sun.star.image.ImageMapCircleObject",
479 "com.sun.star.image.ImageMapPolygonObject",
480
481 "com.sun.star.presentation.TitleTextShape",
482 "com.sun.star.presentation.OutlinerShape",
483 "com.sun.star.presentation.SubtitleShape",
484 "com.sun.star.presentation.GraphicObjectShape",
485 "com.sun.star.presentation.ChartShape",
486 "com.sun.star.presentation.PageShape",
487 "com.sun.star.presentation.OLE2Shape",
488 "com.sun.star.presentation.TableShape",
489 "com.sun.star.presentation.OrgChartShape",
490 "com.sun.star.presentation.NotesShape",
491 "com.sun.star.presentation.HandoutShape"
492 };
493
494 return comphelper::concatSequences( aSNS_ORG, aSNS );
495}
496
497// lang::XServiceInfo
499{
500 return "SvxUnoDrawingModel";
501}
502
503sal_Bool SAL_CALL SvxUnoDrawingModel::supportsService( const OUString& ServiceName )
504{
505 return cppu::supportsService( this, ServiceName );
506}
507
508uno::Sequence< OUString > SAL_CALL SvxUnoDrawingModel::getSupportedServiceNames()
509{
510 return { "com.sun.star.drawing.DrawingDocument" };
511}
512
513// XAnyCompareFactory
514uno::Reference< css::ucb::XAnyCompare > SAL_CALL SvxUnoDrawingModel::createAnyCompareByName( const OUString& )
515{
517}
518
520: mrModel(rMyModel)
521{
522}
523
524// XIndexAccess
526{
527 ::SolarMutexGuard aGuard;
528
529 sal_Int32 nCount = 0;
530
531 if( mrModel.mpDoc )
533
534 return nCount;
535}
536
538{
539 ::SolarMutexGuard aGuard;
540
541 uno::Any aAny;
542
543 if( mrModel.mpDoc )
544 {
545 if( (Index < 0) || (Index >= mrModel.mpDoc->GetPageCount() ) )
546 throw lang::IndexOutOfBoundsException();
547
548 SdrPage* pPage = mrModel.mpDoc->GetPage( static_cast<sal_uInt16>(Index) );
549 if( pPage )
550 {
551 uno::Reference< uno::XInterface > xPage( pPage->mxUnoPage );
552
553 if( !xPage.is() )
554 {
555 if( dynamic_cast<FmFormModel*>( mrModel.mpDoc ) )
556 xPage = static_cast<drawing::XDrawPage*>(new SvxFmDrawPage( pPage ));
557 else
558 xPage = static_cast<drawing::XDrawPage*>(new SvxDrawPage( pPage ));
559
560 pPage->mxUnoPage = xPage;
561 }
562
563 aAny <<= xPage;
564 }
565 }
566 return aAny;
567}
568
569// XElementAccess
571{
573}
574
576{
577 return getCount() > 0;
578}
579
580// XDrawPages
581
582// create a new page with model at given position
583// and return corresponding SdDrawPage
584uno::Reference< drawing::XDrawPage > SAL_CALL SvxUnoDrawPagesAccess::insertNewByIndex( sal_Int32 nIndex )
585{
586 ::SolarMutexGuard aGuard;
587
588 uno::Reference< drawing::XDrawPage > xDrawPage;
589
590 if( mrModel.mpDoc )
591 {
593
594 if( auto pFormModel = dynamic_cast<FmFormModel*>( mrModel.mpDoc ) )
595 pPage = new FmFormPage(*pFormModel);
596 else
597 pPage = new SdrPage(*mrModel.mpDoc);
598
599 mrModel.mpDoc->InsertPage( pPage.get(), static_cast<sal_uInt16>(nIndex) );
600 xDrawPage.set( pPage->getUnoPage(), uno::UNO_QUERY );
601 }
602
603 return xDrawPage;
604}
605
606void SAL_CALL SvxUnoDrawPagesAccess::remove( const uno::Reference< drawing::XDrawPage >& xPage )
607{
608 ::SolarMutexGuard aGuard;
609
610 sal_uInt16 nPageCount = mrModel.mpDoc->GetPageCount();
611 if( nPageCount <= 1 )
612 return;
613
614 // get pPage from xPage and get Id (nPos)
615 SvxDrawPage* pSvxPage = comphelper::getFromUnoTunnel<SvxDrawPage>( xPage );
616 if( pSvxPage )
617 {
618 SdrPage* pPage = pSvxPage->GetSdrPage();
619 if(pPage)
620 {
621 sal_uInt16 nPage = pPage->GetPageNum();
622 mrModel.mpDoc->DeletePage( nPage );
623 }
624 }
625}
626
627// XServiceInfo
628
630{
631 return "SvxUnoDrawPagesAccess";
632}
633
634sal_Bool SAL_CALL SvxUnoDrawPagesAccess::supportsService( const OUString& ServiceName )
635{
637}
638
639uno::Sequence< OUString > SAL_CALL SvxUnoDrawPagesAccess::getSupportedServiceNames( )
640{
641 return { "com.sun.star.drawing.DrawPages" };
642}
643
644css::uno::Reference< css::container::XIndexReplace > SvxCreateNumRule(SdrModel* pModel)
645{
646 const SvxNumRule* pDefaultRule = nullptr;
647 if( pModel )
648 {
650 if( pItem )
651 {
652 pDefaultRule = &pItem->GetNumRule();
653 }
654 }
655
656 if( pDefaultRule )
657 {
658 return SvxCreateNumRule( *pDefaultRule );
659 }
660 else
661 {
662 SvxNumRule aTempRule( SvxNumRuleFlags::NONE, 10, false );
663 return SvxCreateNumRule( aTempRule );
664 }
665}
666
667
668/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
struct _ADOIndex Index
ChartModel & mrModel
css::uno::Reference< css::uno::XInterface > SvxXTextColumns_createInstance() noexcept
AnyEventRef aEvent
const SdrPage * GetPage() const
Definition: svdmodel.hxx:131
SdrHintKind GetKind() const
Definition: svdmodel.hxx:133
const SdrObject * GetObject() const
Definition: svdmodel.hxx:132
virtual void InsertPage(SdrPage *pPage, sal_uInt16 nPos=0xFFFF)
Definition: svdmodel.cxx:1172
bool isLocked() const
Definition: svdmodel.hxx:555
void setLock(bool bLock)
Definition: svdmodel.cxx:1607
const SfxItemPool & GetItemPool() const
Definition: svdmodel.hxx:318
virtual void DeletePage(sal_uInt16 nPgNum)
Definition: svdmodel.cxx:1192
const SdrPage * GetPage(sal_uInt16 nPgNum) const
Definition: svdmodel.cxx:1860
sal_uInt16 GetPageCount() const
Definition: svdmodel.cxx:1870
Abstract DrawObject.
Definition: svdobj.hxx:260
A SdrPage contains exactly one SdrObjList and a description of the physical page dimensions (size / m...
Definition: svdpage.hxx:379
sal_uInt16 GetPageNum() const
Definition: svdpage.cxx:1603
css::uno::Reference< css::uno::XInterface > mxUnoPage
Definition: svdpage.hxx:429
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
SfxItemPool * GetSecondaryPool() const
const SfxPoolItem * GetPoolDefaultItem(sal_uInt16 nWhich) const
static rtl::Reference< SvXMLGraphicHelper > Create(const css::uno::Reference< css::embed::XStorage > &rXMLStorage, SvXMLGraphicHelperMode eCreateMode)
SdrPage * GetSdrPage() const
Definition: unopage.hxx:77
static rtl::Reference< SvxShape > CreateShapeByTypeAndInventor(SdrObjKind nType, SdrInventor nInventor, SdrObject *pObj, SvxDrawPage *pPage=nullptr, OUString const &referer=OUString())
Definition: unopage.cxx:613
virtual ::com::sun::star::uno::Reference<::com::sun::star::uno::XInterface > SAL_CALL createInstance(const OUString &ServiceSpecifier) override
Definition: fmdmod.cxx:34
virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getAvailableServiceNames() override
Definition: fmdmod.cxx:59
const SvxNumRule & GetNumRule() const
void SetShapeType(const OUString &ShapeType)
Definition: unoshape.hxx:175
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL createInstance(const OUString &aServiceSpecifier) override
Definition: unomod.cxx:197
static css::uno::Reference< css::uno::XInterface > createTextField(std::u16string_view aServiceSpecifier)
Definition: unomod.cxx:202
virtual css::uno::Sequence< OUString > SAL_CALL getAvailableServiceNames() override
Definition: unomod.cxx:219
static bool createEvent(const SdrModel *pDoc, const SdrHint *pSdrHint, css::document::EventObject &aEvent)
fills the given EventObject from the given SdrHint.
Definition: unomod.cxx:115
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL createInstanceWithArguments(const OUString &ServiceSpecifier, const css::uno::Sequence< css::uno::Any > &Arguments) override
Definition: unomod.cxx:207
virtual sal_Int32 SAL_CALL getCount() override
Definition: unomod.cxx:525
virtual sal_Bool SAL_CALL hasElements() override
Definition: unomod.cxx:575
virtual css::uno::Type SAL_CALL getElementType() override
Definition: unomod.cxx:570
virtual OUString SAL_CALL getImplementationName() override
Definition: unomod.cxx:629
SvxUnoDrawPagesAccess(SvxUnoDrawingModel &rMyModel) noexcept
Definition: unomod.cxx:519
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
Definition: unomod.cxx:634
virtual void SAL_CALL remove(const css::uno::Reference< css::drawing::XDrawPage > &xPage) override
Definition: unomod.cxx:606
virtual css::uno::Any SAL_CALL getByIndex(sal_Int32 Index) override
Definition: unomod.cxx:537
SvxUnoDrawingModel & mrModel
Definition: unomod.cxx:72
virtual css::uno::Reference< css::drawing::XDrawPage > SAL_CALL insertNewByIndex(sal_Int32 nIndex) override
Definition: unomod.cxx:584
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
Definition: unomod.cxx:639
css::uno::Reference< css::uno::XInterface > mxTransGradientTable
Definition: unomodel.hxx:53
virtual SdrModel & getSdrModelFromUnoModel() const override
abstract SdrModel provider
Definition: unomod.cxx:224
virtual OUString SAL_CALL getImplementationName() override
Definition: unomod.cxx:498
css::uno::Sequence< css::uno::Type > maTypeSequence
Definition: unomodel.hxx:56
virtual css::uno::Reference< css::drawing::XDrawPages > SAL_CALL getDrawPages() override
Definition: unomod.cxx:294
virtual sal_Bool SAL_CALL hasControllersLocked() override
Definition: unomod.cxx:288
css::uno::Reference< css::uno::XInterface > mxDashTable
Definition: unomodel.hxx:49
virtual ~SvxUnoDrawingModel() noexcept override
Definition: unomod.cxx:236
css::uno::Reference< css::uno::XInterface > mxHatchTable
Definition: unomodel.hxx:51
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
Definition: unomod.cxx:255
friend class SvxUnoDrawPagesAccess
Definition: unomodel.hxx:42
css::uno::Reference< css::uno::XInterface > mxMarkerTable
Definition: unomodel.hxx:54
virtual css::uno::Sequence< OUString > SAL_CALL getAvailableServiceNames() override
Definition: unomod.cxx:465
virtual void SAL_CALL lockControllers() override
Definition: unomod.cxx:274
SvxUnoDrawingModel(SdrModel *pDoc) noexcept
Definition: unomod.cxx:230
css::uno::WeakReference< css::drawing::XDrawPages > mxDrawPagesAccess
Definition: unomodel.hxx:47
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
Definition: unomod.cxx:503
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
Definition: unomod.cxx:269
SdrModel * mpDoc
Definition: unomodel.hxx:45
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL createInstance(const OUString &aServiceSpecifier) override
Definition: unomod.cxx:307
virtual void SAL_CALL unlockControllers() override
Definition: unomod.cxx:280
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
Definition: unomod.cxx:240
virtual css::uno::Reference< css::ucb::XAnyCompare > SAL_CALL createAnyCompareByName(const OUString &PropertyName) override
Definition: unomod.cxx:514
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
Definition: unomod.cxx:508
css::uno::Reference< css::uno::XInterface > mxGradientTable
Definition: unomodel.hxx:50
css::uno::Reference< css::uno::XInterface > mxBitmapTable
Definition: unomodel.hxx:52
static css::uno::Sequence< OUString > getServiceNames()
Definition: unoprov.cxx:853
static std::optional< SdrObjKind > getId(const OUString &rCompareString)
Definition: unoprov.cxx:858
css::uno::Type const & get()
int nCount
float u
constexpr TypedWhichId< SvxNumBulletItem > EE_PARA_NUMBULLET(EE_PARA_START+5)
sal_Int32 nIndex
css::uno::Sequence< T > concatSequences(const css::uno::Sequence< T > &rS1, const Ss &... rSn)
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
css::uno::Reference< css::deployment::XPackageRegistry > create(css::uno::Reference< css::deployment::XPackageRegistry > const &xRootRegistry, OUString const &context, OUString const &cachePath, css::uno::Reference< css::uno::XComponentContext > const &xComponentContext)
constexpr bool starts_with(std::basic_string_view< charT, traits > sv, std::basic_string_view< charT, traits > x) noexcept
css::uno::Reference< css::linguistic2::XProofreadingIterator > get(css::uno::Reference< css::uno::XComponentContext > const &context)
QPRO_FUNC_TYPE nType
SdrInventor
Definition: svdobj.hxx:98
constexpr bool IsInventorE3D(SdrObjKind e)
Definition: svdobjkind.hxx:148
SdrObjKind
Definition: svdobjkind.hxx:25
@ Page
Polyline represented by SdrPathObj.
@ Table
media shape
@ Text
closed free-hand line
@ OLE2
foreign graphic (StarView Graphic)
@ Graphic
OutlineText, special text object for StarDraw.
unsigned char sal_Bool
uno::Reference< uno::XInterface > SvxUnoBitmapTable_createInstance(SdrModel *pModel)
Create a bitmaptable.
Definition: unobtabl.cxx:97
uno::Reference< uno::XInterface > SvxUnoDashTable_createInstance(SdrModel *pModel)
Create a gradienttable.
Definition: unodtabl.cxx:78
uno::Reference< uno::XInterface > SvxUnoTextCreateTextField(std::u16string_view ServiceSpecifier)
uno::Reference< uno::XInterface > SvxUnoGradientTable_createInstance(SdrModel *pModel)
Create a gradienttable.
Definition: unogtabl.cxx:74
uno::Reference< uno::XInterface > SvxUnoHatchTable_createInstance(SdrModel *pModel)
Create a hatchtable.
Definition: unohtabl.cxx:80
SVT_DLLPUBLIC css::uno::Reference< css::uno::XInterface > SvUnoImageMapCircleObject_createInstance(const SvEventDescription *pSupportedMacroItems)
SVT_DLLPUBLIC css::uno::Reference< css::uno::XInterface > SvUnoImageMapPolygonObject_createInstance(const SvEventDescription *pSupportedMacroItems)
SVT_DLLPUBLIC css::uno::Reference< css::uno::XInterface > SvUnoImageMapRectangleObject_createInstance(const SvEventDescription *pSupportedMacroItems)
static const SvEventDescription * ImplGetSupportedMacroItems()
Definition: unomod.cxx:96
css::uno::Reference< css::container::XIndexReplace > SvxCreateNumRule(SdrModel *pModel)
Definition: unomod.cxx:644
#define QUERYINT(xint)
Definition: unomod.cxx:63
uno::Reference< uno::XInterface > SvxUnoMarkerTable_createInstance(SdrModel *pModel)
Create a hatchtable.
Definition: unomtabl.cxx:417
Reference< XAnyCompare > SvxCreateNumRuleCompare() noexcept
rtl::Reference< SvxShape > CreateSvxShapeByTypeAndInventor(SdrObjKind nType, SdrInventor nInventor, OUString const &referer)
Creates a StarOffice API wrapper with the given type and inventor Deprecated: This will be replaced w...
Definition: unopage.cxx:867
uno::Reference< uno::XInterface > SvxUnoTransGradientTable_createInstance(SdrModel *pModel)
Create a hatchtable.
Definition: unottabl.cxx:80