21#include <com/sun/star/beans/PropertyAttribute.hpp>
22#include <com/sun/star/frame/DispatchHelper.hpp>
23#include <com/sun/star/frame/Desktop.hpp>
24#include <com/sun/star/frame/XDispatchProvider.hpp>
25#include <com/sun/star/script/browse/BrowseNodeTypes.hpp>
44#define BASPROV_PROPERTY_ID_URI 1
45#define BASPROV_PROPERTY_ID_EDITABLE 2
50#define BASPROV_DEFAULT_ATTRIBS() PropertyAttribute::BOUND | PropertyAttribute::TRANSIENT | PropertyAttribute::READONLY
61 OUString sScriptingContext,
SbMethod* pMethod,
bool isAppScript )
63 ,OPropertyContainer( GetBroadcastHelper() )
65 ,m_sScriptingContext(
std::move( sScriptingContext ))
67 ,m_bIsAppScript( isAppScript )
78 m_sURI =
"vnd.sun.star.script:";
84 m_sURI +=
"?language=Basic&location=";
122 OUString sMethodName;
132 return Sequence< Reference< browse::XBrowseNode > >();
144 return browse::BrowseNodeTypes::SCRIPT;
162 Sequence< Property > aProps;
164 return new ::cppu::OPropertyArrayHelper( aProps );
173 Reference< XPropertySetInfo > xInfo( createPropertySetInfo(
getInfoHelper() ) );
183 return Reference< XIntrospectionAccess >();
188 Sequence< sal_Int16 >&, Sequence< Any >& )
192 throw IllegalArgumentException(
193 "BasicMethodNodeImpl::invoke: function name not supported!",
194 Reference< XInterface >(), 1 );
197 OUString sDocURL, sLibName, sModName;
198 sal_uInt16 nLine1 = 0;
206 sDocURL =
xModel->getURL();
207 if ( sDocURL.isEmpty() )
209 const Sequence < PropertyValue > aProps =
xModel->getArgs();
211 const PropertyValue* pProp = std::find_if(aProps.begin(), aProps.end(),
212 [](
const PropertyValue& rProp) { return rProp.Name ==
"Title"; });
213 if (pProp != aProps.end())
214 pProp->Value >>= sDocURL;
235 Reference< frame::XDesktop2 > xDesktop = frame::Desktop::create(
m_xContext );
237 Reference < frame::XDispatchProvider > xProv( xDesktop->getCurrentFrame(), UNO_QUERY );
241 Reference< frame::XDispatchHelper > xHelper( frame::DispatchHelper::create(
m_xContext ) );
243 Sequence < PropertyValue > aArgs{
250 xHelper->executeDispatch( xProv,
".uno:BasicIDEAppear", OUString(), 0, aArgs );
261 throw UnknownPropertyException(
262 "BasicMethodNodeImpl::setValue: property name is unknown!" );
268 throw UnknownPropertyException(
269 "BasicMethodNodeImpl::getValue: property name is unknown!" );
275 bool bReturn =
false;
Reference< XComponentContext > m_xContext
#define BASPROV_DEFAULT_ATTRIBS()
constexpr OUStringLiteral BASPROV_PROPERTY_URI
#define BASPROV_PROPERTY_ID_URI
#define BASPROV_PROPERTY_ID_EDITABLE
constexpr OUStringLiteral BASPROV_PROPERTY_EDITABLE
void GetLineRange(sal_uInt16 &, sal_uInt16 &)
const SbxObject * GetParent() const
const OUString & GetName(SbxNameType=SbxNameType::NONE) const
virtual sal_Bool SAL_CALL hasProperty(const OUString &aName) override
virtual void SAL_CALL setValue(const OUString &aPropertyName, const css::uno::Any &aValue) override
virtual css::uno::Sequence< css::uno::Reference< css::script::browse::XBrowseNode > > SAL_CALL getChildNodes() override
virtual css::uno::Any SAL_CALL invoke(const OUString &aFunctionName, const css::uno::Sequence< css::uno::Any > &aParams, css::uno::Sequence< sal_Int16 > &aOutParamIndex, css::uno::Sequence< css::uno::Any > &aOutParam) override
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
BasicMethodNodeImpl(const css::uno::Reference< css::uno::XComponentContext > &rxContext, OUString sScriptingContext, SbMethod *pMethod, bool isAppScript)
virtual sal_Bool SAL_CALL hasMethod(const OUString &aName) override
virtual css::uno::Reference< css::beans::XIntrospectionAccess > SAL_CALL getIntrospection() override
css::uno::Reference< css::uno::XComponentContext > m_xContext
virtual sal_Int16 SAL_CALL getType() override
virtual css::uno::Any SAL_CALL getValue(const OUString &aPropertyName) override
virtual sal_Bool SAL_CALL hasChildNodes() override
virtual ~BasicMethodNodeImpl() override
virtual ::cppu::IPropertyArrayHelper * createArrayHelper() const override
virtual ::cppu::IPropertyArrayHelper &SAL_CALL getInfoHelper() override
OUString m_sScriptingContext
::cppu::IPropertyArrayHelper * getArrayHelper()
void describeProperties(css::uno::Sequence< css::beans::Property > &_rProps) const
void registerProperty(const OUString &_rName, sal_Int32 _nHandle, sal_Int32 _nAttributes, void *_pPointerToMember, const css::uno::Type &_rMemberType)
ContainerApprovalMethod m_pMethod
::cppu::WeakImplHelper< css::script::browse::XBrowseNode, css::script::XInvocation > BasicMethodNodeImpl_BASE
css::beans::PropertyValue makePropertyValue(const OUString &rName, T &&rValue)
IMPLEMENT_FORWARD_XTYPEPROVIDER2(ChildWindowPane, ChildWindowPaneInterfaceBase, Pane)
IMPLEMENT_FORWARD_XINTERFACE2(ChildWindowPane, ChildWindowPaneInterfaceBase, Pane)
Reference< XModel > xModel