Kaydet (Commit) 02799da3 authored tarafından Daniel Rentz's avatar Daniel Rentz

mib16: contributed bugfixes and various new symbols in VBA compatibility implementation

üst 5ed103d2
;*************************************************************************
;
; DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
;
; Copyright 2000, 2010 Oracle and/or its affiliates.
;
; OpenOffice.org - a multi-platform office productivity suite
;
; This file is part of OpenOffice.org.
;
; OpenOffice.org is free software: you can redistribute it and/or modify
; it under the terms of the GNU Lesser General Public License version 3
; only, as published by the Free Software Foundation.
;
; OpenOffice.org is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU Lesser General Public License version 3 for more details
; (a copy is included in the LICENSE file that accompanied this code).
;
; You should have received a copy of the GNU Lesser General Public License
; version 3 along with OpenOffice.org. If not, see
; <http://www.openoffice.org/license.html>
; for a copy of the LGPLv3 License.
;
;*************************************************************************
; Anmerkungen
; Direktaufruf von C- und PASCAL-Routinen, OS/2
;
; Inhalt:
; type = CallXXX (far *proc, char *stack, short nstack)
;
; Kopie des Basic-Stacks (nstack Bytes) auf den C-Stack
; und Aufruf der Prozedur.
.386
.MODEL FLAT
.CODE
PUBLIC CallINT
PUBLIC CallLNG
PUBLIC CallSNG
PUBLIC CallDBL
PUBLIC CallSTR
PUBLIC CallFIX
PUBLIC _CallINT
PUBLIC _CallLNG
PUBLIC _CallSNG
PUBLIC _CallDBL
PUBLIC _CallSTR
PUBLIC _CallFIX
_CallINT LABEL byte
_CallLNG LABEL byte
_CallSNG LABEL byte
_CallDBL LABEL byte
_CallSTR LABEL byte
_CallFIX LABEL byte
CallINT LABEL byte
CallLNG LABEL byte
CallSNG LABEL byte
CallDBL LABEL byte
CallSTR LABEL byte
CallFIX PROC
p EQU [EBP+8]
stk EQU [EBP+12]
n EQU [EBP+16]
PUSH EBP
MOV EBP,ESP
PUSH ESI
PUSH EDI
MOV DX,DS
MOVZX ECX,word ptr [n]
SUB ESP,ECX
MOV EDI,ESP
MOV AX,SS
MOV ES,AX
MOV ESI,[stk]
SHR ECX,1
CLD
JCXZ $1
REP MOVSW ; Stack uebernehmen
$1: MOV DS,DX
CALL LARGE [p] ; 32-bit
MOV ECX,EBP
SUB ECX,8 ; wegen gepushter Register
MOV ESP,ECX
POP EDI
POP ESI
POP EBP
; Bei Borland C++ Calling Convention:
; RET 12
; CSet System-Calling Convention
RET
CallFIX ENDP
END
;*************************************************************************
;
; DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
;
; Copyright 2000, 2010 Oracle and/or its affiliates.
;
; OpenOffice.org - a multi-platform office productivity suite
;
; This file is part of OpenOffice.org.
;
; OpenOffice.org is free software: you can redistribute it and/or modify
; it under the terms of the GNU Lesser General Public License version 3
; only, as published by the Free Software Foundation.
;
; OpenOffice.org is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; GNU Lesser General Public License version 3 for more details
; (a copy is included in the LICENSE file that accompanied this code).
;
; You should have received a copy of the GNU Lesser General Public License
; version 3 along with OpenOffice.org. If not, see
; <http://www.openoffice.org/license.html>
; for a copy of the LGPLv3 License.
;
;*************************************************************************
; Anmerkungen
; Direktaufruf von C- und PASCAL-Routinen, Windows und OS/2
;
; Inhalt:
; type = CallXXX (far *proc, char *stack, short nstack)
;
; Kopie des Basic-Stacks (nstack Bytes) auf den C-Stack
; und Aufruf der Prozedur.
.MODEL LARGE,C
.CODE
PUBLIC CallINT
PUBLIC CallLNG
PUBLIC CallSNG
PUBLIC CallDBL
PUBLIC CallSTR
PUBLIC CallFIX
CallINT LABEL byte
CallLNG LABEL byte
CallSNG LABEL byte
CallDBL LABEL byte
CallSTR LABEL byte
CallFIX PROC p:PTR,stk:PTR,n:WORD
PUSH SI
PUSH DI
MOV DX,DS
SUB SP,[n]
MOV DI,SP
MOV AX,SS
MOV ES,AX
LDS SI,[stk]
MOV CX,[n]
SHR CX,1
CLD
JCXZ $1
REP MOVSW ; Stack uebernehmen
$1: MOV DS,DX
CALL [p] ; Aufruf der Prozedur
CLI
MOV SP,BP
SUB SP,4 ; wegen gepushter Register
STI
POP DI
POP SI
RET
CallFIX ENDP
END
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2008 by Sun Microsystems, Inc.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: XWorkbook.idl,v $
* $Revision: 1.4 $
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice.org. If not, see
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 License.
*
************************************************************************/
#ifndef __ooo_vba_appservice_idl__
#define __ooo_vba_appservice_idl__
#ifndef __com_sun_star_uno_XInterface_idl__
#include <com/sun/star/uno/XInterface.idl>
#endif
#ifndef __com_sun_star_uno_XComponentContext_idl__
#include <com/sun/star/uno/XComponentContext.idl>
#endif
#ifndef __com_sun_star_frame_XModel_idl__
#include <com/sun/star/frame/XModel.idl>
#endif
#ifndef __com_sun_star_script_XLibraryContainer_idl__
#include <com/sun/star/script/XLibraryContainer.idl>
#endif
//=============================================================================
module ooo { module vba {
//=============================================================================
interface XHelperInterface;
interface XComponentContext;
interface XModel;
interface XVBAAppService
{
interface ::com::sun::star::uno::XInterface;
any getVBE([in] XHelperInterface xParent, [in] ::com::sun::star::uno::XComponentContext xContext, [in] ::com::sun::star::frame::XModel xModel);
any getVBProjects([in] XHelperInterface xParent, [in] ::com::sun::star::uno::XComponentContext xContext, [in] ::com::sun::star::frame::XModel xModel, [in] ::com::sun::star::script::XLibraryContainer xMacroLibraryContainer, [in] com::sun::star::script::XLibraryContainer xDialogLibraryContainer);
};
}; };
#endif
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2008 by Sun Microsystems, Inc.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: XVBADocService.idl,v $
* $Revision: 1.4 $
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice.org. If not, see
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 License.
*
************************************************************************/
#ifndef __ooo_vba_socservice_idl__
#define __ooo_vba_appservice_idl__
#ifndef __com_sun_star_uno_XInterface_idl__
#include <com/sun/star/uno/XInterface.idl>
#endif
#ifndef __com_sun_star_uno_XComponentContext_idl__
#include <com/sun/star/uno/XComponentContext.idl>
#endif
#ifndef __com_sun_star_frame_XModel_idl__
#include <com/sun/star/frame/XModel.idl>
#endif
#ifndef __com_sun_star_script_XLibraryContainer_idl__
#include <com/sun/star/script/XLibraryContainer.idl>
#endif
//=============================================================================
module ooo { module vba {
//=============================================================================
interface XHelperInterface;
interface XComponentContext;
interface XModel;
interface XVBADocService
{
interface ::com::sun::star::uno::XInterface;
any getVBProject([in] XHelperInterface xParent, [in] ::com::sun::star::uno::XComponentContext xContext, [in] ::com::sun::star::frame::XModel xModel, [in] ::com::sun::star::script::XLibraryContainer xMacroLibraryContainer, [in] com::sun::star::script::XLibraryContainer xDialogLibraryContainer);
};
}; };
#endif
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice.org. If not, see
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 License.
*
************************************************************************/
#ifndef __ooo_vba_excel_SheetObject_idl__
#define __ooo_vba_excel_SheetObject_idl__
#include <ooo/vba/excel/XCharacters.idl>
//=============================================================================
/* Note: This file collects all compatibility interfaces for drawing objects
and drawing controls embedded in sheets. All these symbols are deprecated
in VBA and kept for compatibility with old VBA scripts. */
//=============================================================================
module ooo { module vba { module excel {
//=============================================================================
/** Base interface for graphic objects and drawing controls in a single sheet.
<p>The objects supporting this interface are now deprecated in VBA in
favour of the Shapes and OLEObjects collections, but are kept for
compatibility with old VBA scripts. All form control objects do NOT belong
to ActiveX form controls but to the old-style drawing controls.</p>
*/
interface XSheetObject : ooo::vba::XHelperInterface
{
/** Left coordinate of the drawing object, in points. */
[attribute] double Left;
/** Top coordinate of the drawing object, in points. */
[attribute] double Top;
/** Width of the drawing object, in points. */
[attribute] double Width;
/** Height of the drawing object, in points. */
[attribute] double Height;
/** The name of the drawing object, used as collection key. */
[attribute] string Name;
/** Name of a macro that will be executed when the drawing object is clicked. */
[attribute] string OnAction;
/** Anchor mode of the object (fixed or variable position and size). Must
be a value from <type>ooo::vba::excel::XlPlacement</type>. */
[attribute] long Placement;
/** True = print object, false = skip object on printing. */
[attribute] boolean PrintObject;
};
//=============================================================================
/** Additional attributes for all drawing controls (this interface does not
belong to ActiveX form controls).
*/
interface XControlObject : com::sun::star::uno::XInterface
{
[attribute] boolean AutoSize;
};
//=============================================================================
/** Additional attributes for a push button drawing control (this interface
does not belong to ActiveX form controls).
*/
interface XButton : com::sun::star::uno::XInterface
{
/** Visible caption of the button. */
[attribute] string Caption;
/** Font settings for the entire caption text. */
[attribute] XFont Font;
/** Horizontal alignment of the caption. */
[attribute] long HorizontalAlignment;
/** Vertical alignment of the caption. */
[attribute] long VerticalAlignment;
/** Orientation (rotation) of the text. Must be a value from
<type>ooo::vba::excel::XlOrientation</type>. */
[attribute] long Orientation;
/** Access to text and text formatting of the button caption. */
XCharacters Characters( [in] any aStart, [in] any aLength );
};
//=============================================================================
/** Represents a drawing button control in a spreadsheet. */
service Button
{
interface XSheetObject;
interface XControlObject;
interface XButton;
};
//=============================================================================
}; }; };
#endif
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice.org. If not, see
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 License.
*
************************************************************************/
#ifndef __ooo_vba_excel_SheetObjects_idl__
#define __ooo_vba_excel_SheetObjects_idl__
#include <ooo/vba/XCollection.idl>
//=============================================================================
/* Note: This file collects all compatibility interfaces for collections of
drawing objects and drawing controls embedded in sheets. All these symbols
are deprecated in VBA and kept for compatibility with old VBA scripts. */
//=============================================================================
module ooo { module vba { module excel {
//=============================================================================
/** Collections that implement this interface provide access to a specific type
of drawing objects in a single sheet.
<p>The following sheet symbols represent collections of graphic objects,
and therefore implement this interface:</p>
<ul><li>Buttons: push button (command button) controls,</li>
<li>ChartObjects: chart objects embedded in the sheet,</li>
<li>CheckBoxes: check box controls,</li>
<li>DropDowns: drop-down listbox controls,</li>
<li>EditBoxes: text edit controls (dialog sheets only),</li>
<li>GroupBoxes: group frame controls,</li>
<li>GroupObjects: group objects containing other child objects,</li>
<li>Labels: fixed text controls,</li>
<li>ListBoxes: plain listbox controls,</li>
<li>OptionButtons: option button (radio button) controls,</li>
<li>Ovals: simple ovals and circles,</li>
<li>Pictures: picture objects,</li>
<li>Rectangles: simple rectangle objects,</li>
<li>ScrollBars: scrollbar controls,</li>
<li>Spinners: spinner (spin button) controls,</li>
<li>TextBoxes: rectangle objects with embedded text.</li></ul>
<p>These symbols are now deprecated in VBA but kept for compatibility with
old VBA scripts. All symbols representing collections of form controls do
NOT belong to ActiveX form controls but to the old-style drawing controls.
</p>
*/
interface XGraphicObjects : com::sun::star::uno::XInterface
{
/** Adds a new graphic object to the sheet this collection belongs to. The
type of the object is determined by the type of the collection.
@param fLeft Position of the left border in points (1/72 inch).
@param fTop Position of the top border in points (1/72 inch).
@param fWidth Width of the object in points (1/72 inch).
@param fHeight Height of the object in points (1/72 inch).
@return The created graphic object.
*/
any Add( [in] any fLeft, [in] any fTop, [in] any fWidth, [in] any fHeight );
};
//=============================================================================
/** Collections that implement this interface provide access to a specific type
of drawing objects in a single sheet.
<p>The following sheet symbols represent collections of line objects, and
therefore implement this interface:</p>
<ul><li>Arcs: arc objects, and</li>
<li>Lines: straight line ojects.</li></ul>
<p>These symbols are now deprecated in VBA but kept for compatibility with
old VBA scripts.</p>
*/
interface XLineObjects : com::sun::star::uno::XInterface
{
/** Adds a new line object to the sheet this collection belongs to. The
type of the object is determined by the type of the collection.
@param fX1 Position of the first X coordinate in points (1/72 inch).
@param fY1 Position of the first Y coordinate in points (1/72 inch).
@param fX2 Position of the last X coordinate in points (1/72 inch).
@param fY2 Position of the last Y coordinate in points (1/72 inch).
@return The created line object.
*/
any Add( [in] any fX1, [in] any fY1, [in] any fX2, [in] any fY2 );
};
//=============================================================================
/** A collection providing access to all polygon objects in a single sheet.
<p>This symbol is now deprecated in VBA but kept for compatibility with old
VBA scripts.</p>
*/
interface XDrawings : com::sun::star::uno::XInterface
{
/** Adds a new polygon object to the sheet this collection belongs to.
@param fX1 Position of the first X coordinate in points (1/72 inch).
@param fY1 Position of the first Y coordinate in points (1/72 inch).
@param fX2 Position of the last X coordinate in points (1/72 inch).
@param fY2 Position of the last Y coordinate in points (1/72 inch).
@param bClosed True = outline closed (last and first point connected).
@return The created polygon object.
*/
any Add( [in] any fX1, [in] any fY1, [in] any fX2, [in] any fY2, [in] any bClosed );
};
//=============================================================================
/** Represents the collection of drawing button controls in a spreadsheet. */
service Buttons
{
interface ooo::vba::XCollection;
interface XGraphicObjects;
};
//=============================================================================
}; }; };
#endif
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice.org. If not, see
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 License.
*
************************************************************************/
#ifndef __ooo_vba_excel_XHyperlinks_idl__
#define __ooo_vba_excel_XHyperlinks_idl__
#include <ooo/vba/XCollection.idl>
//=============================================================================
module ooo { module vba { module excel {
//=============================================================================
interface XHyperlink;
interface XHyperlinks
{
// ------------------------------------------------------------------------
interface ::ooo::vba::XCollection;
// ------------------------------------------------------------------------
XHyperlink Add(
[in] any aAnchor,
[in] any aAddress,
[in] any aSubAddress,
[in] any aScreenTip,
[in] any aTextToDisplay );
// ------------------------------------------------------------------------
void Delete();
// ------------------------------------------------------------------------
};
//=============================================================================
}; }; };
//=============================================================================
#endif
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* ( a copy is included in the LICENSE file that accompanied this code ).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice.org. If not, see
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 License.
*
************************************************************************/
#include "vbasystemaxcontrol.hxx"
using namespace com::sun::star;
using namespace ooo::vba;
//----------------------------------------------------------
VbaSystemAXControl::VbaSystemAXControl( const uno::Reference< ov::XHelperInterface >& xParent, const uno::Reference< uno::XComponentContext >& xContext, const uno::Reference< uno::XInterface >& xControl, const uno::Reference< frame::XModel >& xModel, AbstractGeometryAttributes* pGeomHelper )
: SystemAXControlImpl_BASE( xParent, xContext, xControl, xModel, pGeomHelper )
, m_xControlInvocation( xControl, uno::UNO_QUERY_THROW )
{
}
//----------------------------------------------------------
uno::Reference< beans::XIntrospectionAccess > SAL_CALL VbaSystemAXControl::getIntrospection()
throw ( uno::RuntimeException )
{
return m_xControlInvocation->getIntrospection();
}
//----------------------------------------------------------
uno::Any SAL_CALL VbaSystemAXControl::invoke( const ::rtl::OUString& aFunctionName, const uno::Sequence< uno::Any >& aParams, uno::Sequence< ::sal_Int16 >& aOutParamIndex, uno::Sequence< uno::Any >& aOutParam )
throw ( lang::IllegalArgumentException, script::CannotConvertException, reflection::InvocationTargetException, uno::RuntimeException )
{
return m_xControlInvocation->invoke( aFunctionName, aParams, aOutParamIndex, aOutParam );
}
//----------------------------------------------------------
void SAL_CALL VbaSystemAXControl::setValue( const ::rtl::OUString& aPropertyName, const uno::Any& aValue )
throw ( beans::UnknownPropertyException, script::CannotConvertException, reflection::InvocationTargetException, uno::RuntimeException )
{
m_xControlInvocation->setValue( aPropertyName, aValue );
}
//----------------------------------------------------------
uno::Any SAL_CALL VbaSystemAXControl::getValue( const ::rtl::OUString& aPropertyName )
throw ( beans::UnknownPropertyException, uno::RuntimeException )
{
return m_xControlInvocation->getValue( aPropertyName );
}
//----------------------------------------------------------
::sal_Bool SAL_CALL VbaSystemAXControl::hasMethod( const ::rtl::OUString& aName )
throw ( uno::RuntimeException )
{
return m_xControlInvocation->hasMethod( aName );
}
//----------------------------------------------------------
::sal_Bool SAL_CALL VbaSystemAXControl::hasProperty( const ::rtl::OUString& aName )
throw ( uno::RuntimeException )
{
return m_xControlInvocation->hasProperty( aName );
}
//----------------------------------------------------------
rtl::OUString&
VbaSystemAXControl::getServiceImplName()
{
static rtl::OUString sImplName( RTL_CONSTASCII_USTRINGPARAM( "VbaSystemAXControl" ) );
return sImplName;
}
//----------------------------------------------------------
uno::Sequence< rtl::OUString >
VbaSystemAXControl::getServiceNames()
{
static uno::Sequence< rtl::OUString > aServiceNames;
if ( aServiceNames.getLength() == 0 )
{
aServiceNames.realloc( 1 );
aServiceNames[ 0 ] = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ooo.vba.msforms.Frame" ) );
}
return aServiceNames;
}
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* ( a copy is included in the LICENSE file that accompanied this code ).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice.org. If not, see
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 License.
*
************************************************************************/
#ifndef VBA_SYSTEMAXCONTROL_HXX
#define VBA_SYSTEMAXCONTROL_HXX
#include <cppuhelper/implbase1.hxx>
#include <com/sun/star/script/XInvocation.hpp>
#include "vbacontrol.hxx"
#include <vbahelper/vbahelper.hxx>
typedef cppu::ImplInheritanceHelper1< ScVbaControl, css::script::XInvocation > SystemAXControlImpl_BASE;
class VbaSystemAXControl : public SystemAXControlImpl_BASE
{
css::uno::Reference< css::script::XInvocation > m_xControlInvocation;
public:
VbaSystemAXControl( const css::uno::Reference< ov::XHelperInterface >& xParent, const css::uno::Reference< css::uno::XComponentContext >& xContext, const css::uno::Reference< css::uno::XInterface >& xControl, const css::uno::Reference< css::frame::XModel >& xModel, ov::AbstractGeometryAttributes* pGeomHelper );
// XInvocation
virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XIntrospectionAccess > SAL_CALL getIntrospection( ) throw ( ::com::sun::star::uno::RuntimeException );
virtual ::com::sun::star::uno::Any SAL_CALL invoke( const ::rtl::OUString& aFunctionName, const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aParams, ::com::sun::star::uno::Sequence< ::sal_Int16 >& aOutParamIndex, ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aOutParam ) throw ( ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::script::CannotConvertException, ::com::sun::star::reflection::InvocationTargetException, ::com::sun::star::uno::RuntimeException );
virtual void SAL_CALL setValue( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Any& aValue ) throw ( ::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::script::CannotConvertException, ::com::sun::star::reflection::InvocationTargetException, ::com::sun::star::uno::RuntimeException );
virtual ::com::sun::star::uno::Any SAL_CALL getValue( const ::rtl::OUString& aPropertyName ) throw ( ::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException );
virtual ::sal_Bool SAL_CALL hasMethod( const ::rtl::OUString& aName ) throw ( ::com::sun::star::uno::RuntimeException );
virtual ::sal_Bool SAL_CALL hasProperty( const ::rtl::OUString& aName ) throw ( ::com::sun::star::uno::RuntimeException );
//XHelperInterface
virtual rtl::OUString& getServiceImplName();
virtual css::uno::Sequence<rtl::OUString> getServiceNames();
};
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment