20#include <com/sun/star/form/FormComponentType.hpp>
21#include <com/sun/star/awt/XControlModel.hpp>
22#include <com/sun/star/awt/XControl.hpp>
23#include <com/sun/star/awt/XActionListener.hpp>
24#include <com/sun/star/lang/XEventListener.hpp>
25#include <com/sun/star/lang/XMultiServiceFactory.hpp>
26#include <com/sun/star/lang/XServiceInfo.hpp>
27#include <com/sun/star/drawing/XShape.hpp>
28#include <com/sun/star/drawing/XControlShape.hpp>
29#include <com/sun/star/frame/XModel.hpp>
30#include <com/sun/star/view/XControlAccess.hpp>
31#include <com/sun/star/form/binding/XBindableValue.hpp>
32#include <com/sun/star/form/binding/XListEntrySink.hpp>
33#include <com/sun/star/table/CellAddress.hpp>
34#include <com/sun/star/table/CellRangeAddress.hpp>
35#include <com/sun/star/script/XScriptListener.hpp>
36#include <com/sun/star/document/XCodeNameQuery.hpp>
37#include <com/sun/star/form/XChangeListener.hpp>
38#include <ooo/vba/XControlProvider.hpp>
39#include <ooo/vba/msforms/fmMousePointer.hpp>
58#include <com/sun/star/drawing/XDrawPagesSupplier.hpp>
59#include <com/sun/star/form/XFormsSupplier.hpp>
68uno::Reference< css::awt::XVclWindowPeer >
71 uno::Reference< drawing::XControlShape > xControlShape(
m_xControl, uno::UNO_QUERY );
73 uno::Reference< awt::XControlModel > xControlModel;
74 uno::Reference< css::awt::XWindowPeer > xWinPeer;
75 if ( !xControlShape.is() )
78 uno::Reference< awt::XControl > xControl(
m_xControl, uno::UNO_QUERY_THROW );
79 xWinPeer = xControl->getPeer();
84 xControlModel.set( xControlShape->getControl(), uno::UNO_SET_THROW );
86 uno::Reference< view::XControlAccess > xControlAccess(
m_xModel->getCurrentController(), uno::UNO_QUERY_THROW );
89 uno::Reference< awt::XControl > xControl = xControlAccess->getControl( xControlModel );
90 xWinPeer = xControl->getPeer();
92 catch(
const uno::Exception&)
94 throw uno::RuntimeException(
"The Control does not exist" );
97 uno::Reference< css::awt::XVclWindowPeer > xVclWinPeer(xWinPeer, uno::UNO_QUERY);
98 assert(xVclWinPeer || !xWinPeer);
105class ScVbaControlListener:
public cppu::WeakImplHelper< lang::XEventListener >
110 explicit ScVbaControlListener(
ScVbaControl *pTmpControl );
112 virtual void SAL_CALL disposing(
const lang::EventObject& rEventObject )
override;
117ScVbaControlListener::ScVbaControlListener(
ScVbaControl *pTmpControl ): pControl( pTmpControl )
122ScVbaControlListener::disposing(
const lang::EventObject& )
126 pControl->removeResource();
133ScVbaControl::ScVbaControl(
const uno::Reference< XHelperInterface >& xParent,
const uno::Reference< uno::XComponentContext >& xContext, uno::Reference< ::uno::XInterface > xControl, css::uno::Reference< css::frame::XModel > xModel, std::unique_ptr<ov::AbstractGeometryAttributes> pGeomHelper )
139 uno::Reference< lang::XComponent > xComponent(
m_xControl, uno::UNO_QUERY_THROW );
143 uno::Reference< drawing::XControlShape > xControlShape(
m_xControl, uno::UNO_QUERY ) ;
144 uno::Reference< awt::XControl> xUserFormControl(
m_xControl, uno::UNO_QUERY ) ;
145 if ( xControlShape.is() )
147 m_xProps.set( xControlShape->getControl(), uno::UNO_QUERY_THROW );
148 OUString sDefaultControl;
149 m_xProps->getPropertyValue(
"DefaultControl" ) >>= sDefaultControl;
150 uno::Reference< lang::XMultiComponentFactory > xMFac(
mxContext->getServiceManager(), uno::UNO_SET_THROW );
153 else if ( xUserFormControl.is() )
155 m_xProps.set( xUserFormControl->getModel(), uno::UNO_QUERY_THROW );
163 uno::Reference< lang::XComponent > xComponent(
m_xControl, uno::UNO_QUERY_THROW );
176 uno::Reference< lang::XComponent > xComponent(
m_xControl, uno::UNO_QUERY_THROW );
194 m_xProps->setPropertyValue(
"Enabled" , aValue);
202 uno::Reference< drawing::XControlShape > xControlShape(
m_xControl, uno::UNO_QUERY );
203 if ( xControlShape.is() )
206 uno::Reference< beans::XPropertySet > xProps(
m_xControl, uno::UNO_QUERY_THROW );
207 xProps->getPropertyValue (
"Visible" ) >>=
bVisible;
218 m_xProps->setPropertyValue(
"EnableVisible" , aValue);
219 uno::Reference< drawing::XControlShape > xControlShape(
m_xControl, uno::UNO_QUERY );
220 if ( xControlShape.is() )
222 uno::Reference< beans::XPropertySet > xProps(
m_xControl, uno::UNO_QUERY_THROW );
223 xProps->setPropertyValue (
"Visible", aValue );
268uno::Reference< uno::XInterface > SAL_CALL
271 uno::Reference< msforms::XControl > xRet(
this );
277 uno::Reference< awt::XWindow > xWin(
m_xControl, uno::UNO_QUERY_THROW );
284 double nHeight = 0.0;
289 if (
Width >>= nWidth )
302 OUString sControlSource;
303 uno::Reference< form::binding::XBindableValue > xBindable(
m_xProps, uno::UNO_QUERY );
304 if ( xBindable.is() )
308 uno::Reference< lang::XMultiServiceFactory > xFac(
m_xModel, uno::UNO_QUERY_THROW );
309 uno::Reference< beans::XPropertySet > xConvertor( xFac->createInstance(
"com.sun.star.table.CellAddressConversion" ), uno::UNO_QUERY );
310 uno::Reference< beans::XPropertySet > xProps( xBindable->getValueBinding(), uno::UNO_QUERY_THROW );
311 table::CellAddress aAddress;
312 xProps->getPropertyValue(
"BoundCell" ) >>= aAddress;
313 xConvertor->setPropertyValue(
"Address" ,
uno::Any( aAddress ) );
314 xConvertor->getPropertyValue(
"XLA1Representation" ) >>= sControlSource;
316 catch(
const uno::Exception&)
320 return sControlSource;
329 uno::Reference< drawing::XDrawPagesSupplier > xSupplier(
m_xModel, uno::UNO_QUERY_THROW );
330 uno::Reference< container::XIndexAccess > xIndex( xSupplier->getDrawPages(), uno::UNO_QUERY_THROW );
331 sal_Int32 nLen = xIndex->getCount();
332 bool bMatched =
false;
333 sal_Int16 nRefTab = 0;
338 uno::Reference< form::XFormsSupplier > xFormSupplier( xIndex->getByIndex(
index ), uno::UNO_QUERY_THROW );
339 uno::Reference< container::XIndexAccess > xFormIndex( xFormSupplier->getForms(), uno::UNO_QUERY_THROW );
341 uno::Reference< container::XIndexAccess > xFormControls( xFormIndex->getByIndex(0), uno::UNO_QUERY_THROW );
342 sal_Int32 nCntrls = xFormControls->getCount();
343 for( sal_Int32 cIndex = 0; cIndex < nCntrls; ++cIndex )
345 uno::Reference< uno::XInterface > xControl( xFormControls->getByIndex( cIndex ), uno::UNO_QUERY_THROW );
346 bMatched = (
m_xProps == xControl );
354 catch( uno::Exception& ) {}
366 uno::Reference< form::binding::XListEntrySink > xListSink(
m_xProps, uno::UNO_QUERY );
367 if ( xListSink.is() )
371 uno::Reference< lang::XMultiServiceFactory > xFac(
m_xModel, uno::UNO_QUERY_THROW );
372 uno::Reference< beans::XPropertySet > xConvertor( xFac->createInstance(
"com.sun.star.table.CellRangeAddressConversion" ), uno::UNO_QUERY );
374 uno::Reference< beans::XPropertySet > xProps( xListSink->getListEntrySource(), uno::UNO_QUERY_THROW );
375 table::CellRangeAddress aAddress;
376 xProps->getPropertyValue(
"CellRange" ) >>= aAddress;
377 xConvertor->setPropertyValue(
"Address" ,
uno::Any( aAddress ) );
378 xConvertor->getPropertyValue(
"XLA1Representation" ) >>= sRowSource;
380 catch(
const uno::Exception&)
435 m_xProps->getPropertyValue(
"TextColor" ) >>= nForeColor;
452 { msforms::fmMousePointer::fmMousePointerDefault, PointerStyle::Arrow },
453 { msforms::fmMousePointer::fmMousePointerArrow, PointerStyle::Arrow },
454 { msforms::fmMousePointer::fmMousePointerCross, PointerStyle::Cross },
455 { msforms::fmMousePointer::fmMousePointerIBeam, PointerStyle::Text },
456 { msforms::fmMousePointer::fmMousePointerSizeNESW, PointerStyle::AutoScrollNSWE },
457 { msforms::fmMousePointer::fmMousePointerSizeNS, PointerStyle::AutoScrollNS },
458 { msforms::fmMousePointer::fmMousePointerSizeNWSE, PointerStyle::AutoScrollNSWE },
459 { msforms::fmMousePointer::fmMousePointerSizeWE, PointerStyle::AutoScrollWE },
460 { msforms::fmMousePointer::fmMousePointerUpArrow, PointerStyle::WindowNSize },
461 { msforms::fmMousePointer::fmMousePointerHourGlass, PointerStyle::Wait },
462 { msforms::fmMousePointer::fmMousePointerNoDrop, PointerStyle::NotAllowed },
463 { msforms::fmMousePointer::fmMousePointerAppStarting, PointerStyle::Wait },
464 { msforms::fmMousePointer::fmMousePointerHelp, PointerStyle::Help },
465 { msforms::fmMousePointer::fmMousePointerSizeAll, PointerStyle::Cross },
466 { msforms::fmMousePointer::fmMousePointerCustom, PointerStyle::Arrow },
472 tools::Long nRet = msforms::fmMousePointer::fmMousePointerDefault;
475 if (
i.loPointStyle ==
eType )
477 nRet =
i.msoPointerStyle;
489 if (
i.msoPointerStyle == msoPointerStyle )
491 aPointer =
i.loPointStyle;
512 script::ScriptEvent evt( rEvt );
513 uno::Reference<lang::XMultiComponentFactory > xServiceManager(
mxContext->getServiceManager(), uno::UNO_SET_THROW );
514 uno::Reference< script::XScriptListener > xScriptListener( xServiceManager->createInstanceWithContext(
"ooo.vba.EventListener" ,
mxContext ), uno::UNO_QUERY_THROW );
516 uno::Reference< beans::XPropertySet > xProps( xScriptListener, uno::UNO_QUERY_THROW );
520 uno::Reference< msforms::XControl > xThisControl(
this );
523 evt.Arguments.realloc( 1 );
524 lang::EventObject aEvt;
526 uno::Reference< drawing::XControlShape > xControlShape(
m_xControl, uno::UNO_QUERY ) ;
527 uno::Reference< awt::XControl > xControl(
m_xControl, uno::UNO_QUERY ) ;
529 if ( xControlShape.is() )
531 evt.Source = xControlShape;
534 uno::Reference< lang::XMultiServiceFactory > xDocFac(
m_xModel, uno::UNO_QUERY_THROW );
535 uno::Reference< document::XCodeNameQuery > xNameQuery( xDocFac->createInstance(
"ooo.vba.VBACodeNameProvider" ), uno::UNO_QUERY_THROW );
536 uno::Reference< uno::XInterface > xIf( xControlShape->getControl(), uno::UNO_QUERY_THROW );
537 evt.ScriptCode = xNameQuery->getCodeNameForObject( xIf );
539 if ( !rEvt.Arguments.hasElements() )
540 evt.Arguments.getArray()[ 0 ] <<= aEvt;
541 xScriptListener->firing( evt );
551 evt.Source = xThisControl;
552 aEvt.Source = xControl;
554 evt.Arguments.getArray()[ 0 ] <<= aEvt;
555 xScriptListener->firing( evt );
559 catch(
const uno::Exception&)
565 script::ScriptEvent evt;
566 evt.ScriptType =
"VBAInterop";
568 evt.MethodName =
"changed";
574 script::ScriptEvent evt;
575 evt.ScriptType =
"VBAInterop";
577 evt.MethodName =
"actionPerformed";
593 const uno::Reference< uno::XComponentContext >& xContext,
594 const uno::Reference< drawing::XControlShape >& xControlShape,
595 const uno::Reference< frame::XModel >& xModel )
597 uno::Reference< beans::XPropertySet > xProps( xControlShape->getControl(), uno::UNO_QUERY_THROW );
598 sal_Int32 nClassId = -1;
599 xProps->getPropertyValue(
"ClassId" ) >>= nClassId;
600 uno::Reference< XHelperInterface > xVbaParent;
601 uno::Reference< drawing::XShape > xShape( xControlShape, uno::UNO_QUERY_THROW );
605 case form::FormComponentType::COMBOBOX:
606 return new ScVbaComboBox( xVbaParent, xContext, xControlShape, xModel, std::move(xGeoHelper) );
607 case form::FormComponentType::COMMANDBUTTON:
609 bool bToggle =
false;
610 xProps->getPropertyValue(
"Toggle" ) >>= bToggle;
612 return new ScVbaToggleButton( xVbaParent, xContext, xControlShape, xModel, std::move(xGeoHelper) );
614 return new VbaButton( xVbaParent, xContext, xControlShape, xModel, std::move(xGeoHelper) );
616 case form::FormComponentType::FIXEDTEXT:
617 return new ScVbaLabel( xVbaParent, xContext, xControlShape, xModel, std::move(xGeoHelper) );
618 case form::FormComponentType::TEXTFIELD:
619 return new ScVbaTextBox( xVbaParent, xContext, xControlShape, xModel, std::move(xGeoHelper) );
620 case form::FormComponentType::CHECKBOX:
621 return new ScVbaCheckbox( xVbaParent, xContext, xControlShape, xModel, std::move(xGeoHelper) );
622 case form::FormComponentType::RADIOBUTTON:
623 return new ScVbaRadioButton( xVbaParent, xContext, xControlShape, xModel, std::move(xGeoHelper) );
624 case form::FormComponentType::LISTBOX:
625 return new ScVbaListBox( xVbaParent, xContext, xControlShape, xModel, std::move(xGeoHelper) );
626 case form::FormComponentType::SPINBUTTON:
627 return new ScVbaSpinButton( xVbaParent, xContext, xControlShape, xModel, std::move(xGeoHelper) );
628 case form::FormComponentType::IMAGECONTROL:
629 return new ScVbaImage( xVbaParent, xContext, xControlShape, xModel, std::move(xGeoHelper) );
630 case form::FormComponentType::SCROLLBAR:
631 return new ScVbaScrollBar( xVbaParent, xContext, xControlShape, xModel, std::move(xGeoHelper) );
633 throw uno::RuntimeException(
"Unsupported control." );
637 const uno::Reference< uno::XComponentContext >& xContext,
638 const uno::Reference< awt::XControl >& xControl,
639 const uno::Reference< awt::XControl >& xDialog,
640 const uno::Reference< frame::XModel >& xModel,
641 double fOffsetX,
double fOffsetY )
643 uno::Reference< beans::XPropertySet > xProps( xControl->getModel(), uno::UNO_QUERY_THROW );
644 uno::Reference< lang::XServiceInfo > xServiceInfo( xProps, uno::UNO_QUERY_THROW );
645 uno::Reference< msforms::XControl > xVBAControl;
646 uno::Reference< XHelperInterface > xVbaParent;
647 ::std::unique_ptr< UserFormGeometryHelper > xGeoHelper(
new UserFormGeometryHelper( xControl, fOffsetX, fOffsetY ) );
649 if ( xServiceInfo->supportsService(
"com.sun.star.awt.UnoControlCheckBoxModel" ) )
650 xVBAControl.set(
new ScVbaCheckbox( xVbaParent, xContext, xControl, xModel, std::move(xGeoHelper) ) );
651 else if ( xServiceInfo->supportsService(
"com.sun.star.awt.UnoControlRadioButtonModel" ) )
652 xVBAControl.set(
new ScVbaRadioButton( xVbaParent, xContext, xControl, xModel, std::move(xGeoHelper) ) );
653 else if ( xServiceInfo->supportsService(
"com.sun.star.awt.UnoControlEditModel" ) )
654 xVBAControl.set(
new ScVbaTextBox( xVbaParent, xContext, xControl, xModel, std::move(xGeoHelper),
true ) );
655 else if ( xServiceInfo->supportsService(
"com.sun.star.awt.UnoControlButtonModel" ) )
657 bool bToggle =
false;
658 xProps->getPropertyValue(
"Toggle" ) >>= bToggle;
660 xVBAControl.set(
new ScVbaToggleButton( xVbaParent, xContext, xControl, xModel, std::move(xGeoHelper) ) );
662 xVBAControl.set(
new VbaButton( xVbaParent, xContext, xControl, xModel, std::move(xGeoHelper) ) );
664 else if ( xServiceInfo->supportsService(
"com.sun.star.awt.UnoControlComboBoxModel" ) )
665 xVBAControl.set(
new ScVbaComboBox( xVbaParent, xContext, xControl, xModel, std::move(xGeoHelper) ) );
666 else if ( xServiceInfo->supportsService(
"com.sun.star.awt.UnoControlListBoxModel" ) )
667 xVBAControl.set(
new ScVbaListBox( xVbaParent, xContext, xControl, xModel, std::move(xGeoHelper) ) );
668 else if ( xServiceInfo->supportsService(
"com.sun.star.awt.UnoControlFixedTextModel" ) )
669 xVBAControl.set(
new ScVbaLabel( xVbaParent, xContext, xControl, xModel, std::move(xGeoHelper) ) );
670 else if ( xServiceInfo->supportsService(
"com.sun.star.awt.UnoControlImageControlModel" ) )
671 xVBAControl.set(
new ScVbaImage( xVbaParent, xContext, xControl, xModel, std::move(xGeoHelper) ) );
672 else if ( xServiceInfo->supportsService(
"com.sun.star.awt.UnoControlProgressBarModel" ) )
673 xVBAControl.set(
new ScVbaProgressBar( xVbaParent, xContext, xControl, xModel, std::move(xGeoHelper) ) );
674 else if ( xServiceInfo->supportsService(
"com.sun.star.awt.UnoControlGroupBoxModel" ) )
675 xVBAControl.set(
new ScVbaFrame( xVbaParent, xContext, xControl, xModel, std::move(xGeoHelper), xDialog ) );
676 else if ( xServiceInfo->supportsService(
"com.sun.star.awt.UnoControlScrollBarModel" ) )
677 xVBAControl.set(
new ScVbaScrollBar( xVbaParent, xContext, xControl, xModel, std::move(xGeoHelper) ) );
678 else if ( xServiceInfo->supportsService(
"com.sun.star.awt.UnoMultiPageModel" ) )
679 xVBAControl.set(
new ScVbaMultiPage( xVbaParent, xContext, xControl, xModel, std::move(xGeoHelper) ) );
680 else if ( xServiceInfo->supportsService(
"com.sun.star.awt.UnoControlSpinButtonModel" ) )
681 xVBAControl.set(
new ScVbaSpinButton( xVbaParent, xContext, xControl, xModel, std::move(xGeoHelper) ) );
682 else if ( xServiceInfo->supportsService(
"com.sun.star.custom.awt.UnoControlSystemAXContainerModel" ) )
683 xVBAControl.set(
new VbaSystemAXControl( xVbaParent, xContext, xControl, xModel, std::move(xGeoHelper) ) );
685 else if ( xServiceInfo->supportsService(
"com.sun.star.awt.UnoPageModel" ) )
686 xVBAControl.set(
new ScVbaControl( xVbaParent, xContext, xControl, xModel, std::move(xGeoHelper) ) );
687 else if ( xServiceInfo->supportsService(
"com.sun.star.awt.UnoFrameModel" ) )
688 xVBAControl.set(
new ScVbaFrame( xVbaParent, xContext, xControl, xModel, std::move(xGeoHelper), xDialog ) );
689 if( xVBAControl.is() )
691 throw uno::RuntimeException(
"Unsupported control." );
697 return "ScVbaControl";
700uno::Sequence< OUString >
703 return {
"ooo.vba.excel.Control" };
706sal_Int32
const nSysCols[] = { 0xC8D0D4, 0x0, 0x6A240A, 0x808080, 0xE4E4E4, 0xFFFFFF, 0x0, 0x0, 0x0, 0xFFFFFF, 0xE4E4E4, 0xE4E4E4, 0x808080, 0x6A240A, 0xFFFFFF, 0xE4E4E4, 0x808080, 0x808080, 0x0, 0xC8D0D4, 0xFFFFFF, 0x404040, 0xE4E4E4, 0x0, 0xE1FFFF };
710 sal_Int32 nBackColor = 0;
711 m_xProps->getPropertyValue(
"BackgroundColor" ) >>= nBackColor;
717 auto const col =
static_cast<sal_uInt32
>(nBackColor);
718 if ( (
col >= sal_uInt32(0x80000000) ) &&
728 bool bIsResizeEnabled =
false;
729 uno::Reference< uno::XInterface > xIf(
m_xControl, uno::UNO_SET_THROW );
733 return bIsResizeEnabled;
739 uno::Reference< uno::XInterface > xIf(
m_xControl, uno::UNO_SET_THROW );
748 m_xProps->getPropertyValue(
"ReadOnly" ) >>= bRes;
759class ControlProviderImpl :
public cppu::WeakImplHelper< XControlProvider, css::lang::XServiceInfo >
761 uno::Reference< uno::XComponentContext >
m_xCtx;
763 explicit ControlProviderImpl( uno::Reference< uno::XComponentContext > xCtx ) :
m_xCtx(
std::move( xCtx )) {}
764 virtual uno::Reference< msforms::XControl > SAL_CALL createControl(
const uno::Reference< drawing::XControlShape >& xControl,
const uno::Reference< frame::XModel >& xDocOwner )
override;
775sal_Bool ControlProviderImpl::supportsService(
const OUString& sServiceName)
779OUString ControlProviderImpl::getImplementationName()
781 return "ControlProviderImpl";
783css::uno::Sequence< OUString > ControlProviderImpl::getSupportedServiceNames()
785 return {
"ooo.vba.ControlProvider" };
788uno::Reference< msforms::XControl > SAL_CALL
789ControlProviderImpl::createControl(
const uno::Reference< drawing::XControlShape >& xControlShape,
const uno::Reference< frame::XModel >& xDocOwner )
791 uno::Reference< msforms::XControl > xControlToReturn;
792 if ( xControlShape.is() )
794 return xControlToReturn;
798extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface*
800 css::uno::XComponentContext* context , css::uno::Sequence<css::uno::Any>
const&)
802 return cppu::acquire(
new ControlProviderImpl(context));
Reference< XComponentContext > m_xCtx
css::uno::Reference< css::uno::XComponentContext > mxContext
virtual sal_Int32 SAL_CALL getTabIndex() override
virtual void SAL_CALL setTag(const OUString &aTag) override
virtual OUString getServiceImplName() override
virtual void SAL_CALL Move(double Left, double Top, const css::uno::Any &Width, const css::uno::Any &Height) override
virtual double SAL_CALL getHeight() override
virtual double SAL_CALL getTop() override
OUString m_sLibraryAndCodeName
virtual ::sal_Int32 SAL_CALL getForeColor()
virtual css::uno::Sequence< OUString > getServiceNames() override
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL getObject() override
void setGeometryHelper(std::unique_ptr< ov::AbstractGeometryAttributes > pHelper)
virtual double SAL_CALL getWidth() override
virtual void SAL_CALL setMousePointer(::sal_Int32 _mousepointer) override
virtual void SAL_CALL setControlTipText(const OUString &) override
virtual ::sal_Int32 SAL_CALL getMousePointer() override
virtual sal_Bool SAL_CALL getEnabled() override
virtual void SAL_CALL setWidth(double _width) override
virtual OUString SAL_CALL getRowSource() override
virtual void SAL_CALL setEnabled(sal_Bool _enabled) override
css::uno::Reference< css::beans::XPropertySet > m_xProps
css::uno::Reference< css::awt::XVclWindowPeer > getWindowPeer()
virtual ~ScVbaControl() override
css::uno::Reference< css::awt::XControl > m_xEmptyFormControl
virtual void SAL_CALL setHeight(double _height) override
virtual OUString SAL_CALL getName() override
virtual OUString SAL_CALL getControlTipText() override
virtual void SAL_CALL setTabIndex(sal_Int32 nTabIndex) override
void setAutoSize(bool bAutoSize)
virtual void SAL_CALL setRowSource(const OUString &_rowsource) override
virtual void SAL_CALL setLeft(double _left) override
virtual double SAL_CALL getLeft() override
virtual void SAL_CALL fireEvent(const css::script::ScriptEvent &evt) override
css::uno::Reference< css::frame::XModel > m_xModel
void setBackColor(sal_Int32 nBackColor)
css::uno::Reference< css::lang::XEventListener > m_xEventListener
std::unique_ptr< ov::AbstractGeometryAttributes > mpGeometryHelper
virtual void SAL_CALL setVisible(sal_Bool _visible) override
void setLocked(bool bAutoSize)
virtual void SAL_CALL SetFocus() override
css::uno::Reference< css::uno::XInterface > m_xControl
virtual OUString SAL_CALL getTag() override
virtual void SAL_CALL setName(const OUString &_name) override
virtual void SAL_CALL setControlSource(const OUString &_controlsource) override
ScVbaControl(const css::uno::Reference< ov::XHelperInterface > &xParent, const css::uno::Reference< css::uno::XComponentContext > &xContext, css::uno::Reference< css::uno::XInterface > xControl, css::uno::Reference< css::frame::XModel > xModel, std::unique_ptr< ov::AbstractGeometryAttributes > pHelper)
virtual sal_Bool SAL_CALL getVisible() override
virtual OUString SAL_CALL getControlSource() override
virtual void SAL_CALL setTop(double _top) override
static SdrObject * getSdrObjectFromXShape(const css::uno::Reference< css::uno::XInterface > &xInt)
bool IsResizeProtect() const
void SetResizeProtect(bool bProt)
::PointerStyle getMousePointer(const css::uno::Reference< css::awt::XWindowPeer > &rWindowPeer)
static void setMousePointer(const css::uno::Reference< css::awt::XWindowPeer > &rWindowPeer, ::PointerStyle mousepointer)
css::uno::Type const & get()
Reference< frame::XModel > m_xModel
#define SAL_N_ELEMENTS(arr)
RttiCompleteObjectLocator col
css::uno::Reference< ov::msforms::XControl > createShapeControl(const css::uno::Reference< css::uno::XComponentContext > &xContext, const css::uno::Reference< css::drawing::XControlShape > &xControlShape, const css::uno::Reference< css::frame::XModel > &xModel)
css::uno::Reference< ov::msforms::XControl > createUserformControl(const css::uno::Reference< css::uno::XComponentContext > &xContext, const css::uno::Reference< css::awt::XControl > &xControl, const css::uno::Reference< css::awt::XControl > &xDialog, const css::uno::Reference< css::frame::XModel > &xModel, double fOffsetX, double fOffsetY)
css::uno::Sequence< OUString > getSupportedServiceNames()
OUString getImplementationName()
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
sal_Int32 XLRGBToOORGB(sal_Int32 nCol)
sal_Int32 OORGBToXLRGB(sal_Int32 nCol)
SVT_DLLPUBLIC void ApplyListSourceAndBindableData(const css::uno::Reference< css::frame::XModel > &xModel, const css::uno::Reference< css::uno::XInterface > &rObj, const OUString &rsCtrlSource, const OUString &rsRowSource, sal_uInt16 nRefTab=0)
Reference< XModel > xModel
SAL_DLLPUBLIC_EXPORT css::uno::XInterface * ControlProviderImpl_get_implementation(css::uno::XComponentContext *context, css::uno::Sequence< css::uno::Any > const &)
static tools::Long lcl_loPointerToMsoPointer(PointerStyle eType)
sal_Int32 const nSysCols[]
PointerStyles const styles[]
static PointerStyle lcl_msoPointerToLOPointer(tools::Long msoPointerStyle)