summaryrefslogtreecommitdiffstats
path: root/sc/inc/addincol.hxx
diff options
context:
space:
mode:
authorIvo Hinkelmann <ihi@openoffice.org>2006-08-04 11:10:52 +0000
committerIvo Hinkelmann <ihi@openoffice.org>2006-08-04 11:10:52 +0000
commit40174908628ac91d7b887f3ae21e846f9a62894f (patch)
tree41d22ef8ecf47ebf5becd89602ccc825be68c326 /sc/inc/addincol.hxx
parentINTEGRATION: CWS addinconfig (1.1.2); FILE ADDED (diff)
downloadcore-40174908628ac91d7b887f3ae21e846f9a62894f.tar.gz
core-40174908628ac91d7b887f3ae21e846f9a62894f.zip
INTEGRATION: CWS addinconfig (1.8.94); FILE MERGED
2006/07/24 13:45:44 nn 1.8.94.1: #i67723# read add-in function information from configuration
Diffstat (limited to 'sc/inc/addincol.hxx')
-rw-r--r--sc/inc/addincol.hxx26
1 files changed, 23 insertions, 3 deletions
diff --git a/sc/inc/addincol.hxx b/sc/inc/addincol.hxx
index 728aa293a21f..cc395f0dcff1 100644
--- a/sc/inc/addincol.hxx
+++ b/sc/inc/addincol.hxx
@@ -4,9 +4,9 @@
*
* $RCSfile: addincol.hxx,v $
*
- * $Revision: 1.8 $
+ * $Revision: 1.9 $
*
- * last change: $Author: vg $ $Date: 2006-04-07 16:21:31 $
+ * last change: $Author: ihi $ $Date: 2006-08-04 12:10:52 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
@@ -117,6 +117,7 @@ enum ScAddInArgumentType
struct ScAddInArgDesc
{
+ String aInternalName; // used to match configuration and reflection information
String aName;
String aDescription;
ScAddInArgumentType eType;
@@ -167,6 +168,12 @@ public:
USHORT GetHelpId() const { return nHelpId; }
const com::sun::star::uno::Sequence< com::sun::star::sheet::LocalizedName>& GetCompNames() const;
+
+ void SetFunction( const com::sun::star::uno::Reference< com::sun::star::reflection::XIdlMethod>& rNewFunc,
+ const com::sun::star::uno::Any& rNewObj );
+ void SetArguments( long nNewCount, const ScAddInArgDesc* pNewDescs );
+ void SetCallerPos( long nNewPos );
+ void SetCompNames( const com::sun::star::uno::Sequence< com::sun::star::sheet::LocalizedName>& rNew );
};
//------------------------------------------------------------------------
@@ -182,8 +189,13 @@ private:
BOOL bInitialized;
void Initialize();
+ void ReadConfiguration();
void ReadFromAddIn( const com::sun::star::uno::Reference<
com::sun::star::uno::XInterface>& xInterface );
+ void UpdateFromAddIn( const com::sun::star::uno::Reference<
+ com::sun::star::uno::XInterface>& xInterface,
+ const String& rServiceName );
+ void LoadComponent( const ScUnoAddInFuncData& rFuncData );
public:
ScUnoAddInCollection();
@@ -191,13 +203,21 @@ public:
/// User enetered name. rUpperName MUST already be upper case!
String FindFunction( const String& rUpperName, BOOL bLocalFirst );
- const ScUnoAddInFuncData* GetFuncData( const String& rName ); // exact name
+
+ // rName is the exact Name.
+ // Only if bComplete is set, the function reference and argument types
+ // are initialized (component may have to be loaded).
+ const ScUnoAddInFuncData* GetFuncData( const String& rName, bool bComplete = false );
+
+ void Clear();
void LocalizeString( String& rName ); // modify rName - input: exact name
long GetFuncCount();
BOOL FillFunctionDesc( long nFunc, ScFuncDesc& rDesc );
+ static BOOL FillFunctionDescFromData( const ScUnoAddInFuncData& rFuncData, ScFuncDesc& rDesc );
+
BOOL GetExcelName( const String& rCalcName, LanguageType eDestLang, String& rRetExcelName );
BOOL GetCalcName( const String& rExcelName, String& rRetCalcName );
// both leave rRet... unchanged, if no matching name is found