scaddins/AllLangResTarget_analysis.mk              |    4 
 scaddins/source/analysis/analysis.cxx              |   12 
 scaddins/source/analysis/analysis.hrc              |  104 --
 scaddins/source/analysis/analysis_deffuncnames.src |  931 ---------------------
 scaddins/source/analysis/analysishelper.cxx        |  627 +++++++++++++-
 scaddins/source/analysis/analysishelper.hxx        |    6 
 6 files changed, 618 insertions(+), 1066 deletions(-)

New commits:
commit 11aef9734973dfcacc124205c51e14923c5579fb
Author: Caolán McNamara <caol...@redhat.com>
Date:   Thu Apr 27 14:01:55 2017 +0100

    can move these nonlocalized strings into source
    
    if u8 is suported everywhere
    
    Change-Id: I0448db49e6f2e5c6cd6806b8da072ba672b6d95a
    Reviewed-on: https://gerrit.libreoffice.org/37029
    Reviewed-by: Caolán McNamara <caol...@redhat.com>
    Tested-by: Caolán McNamara <caol...@redhat.com>

diff --git a/scaddins/AllLangResTarget_analysis.mk 
b/scaddins/AllLangResTarget_analysis.mk
index eb5ea75c7dfc..874e96fdad7a 100644
--- a/scaddins/AllLangResTarget_analysis.mk
+++ b/scaddins/AllLangResTarget_analysis.mk
@@ -35,8 +35,4 @@ $(eval $(call gb_SrsTarget_add_files,scaddins/analysis,\
     scaddins/source/analysis/analysis_funcnames.src \
 ))
 
-$(eval $(call gb_SrsTarget_add_nonlocalizable_files,scaddins/analysis,\
-    scaddins/source/analysis/analysis_deffuncnames.src \
-))
-
 # vim: set noet sw=4 ts=4:
diff --git a/scaddins/source/analysis/analysis.cxx 
b/scaddins/source/analysis/analysis.cxx
index 8c41ba1f7f01..f038be52597a 100644
--- a/scaddins/source/analysis/analysis.cxx
+++ b/scaddins/source/analysis/analysis.cxx
@@ -92,16 +92,8 @@ void AnalysisAddIn::InitData()
     pResMgr = ResMgr::CreateResMgr("analysis", LanguageTag(aFuncLoc));
 
     delete pFD;
-
-    if( pResMgr )
-    {
-        pFD = new FuncDataList;
-        InitFuncDataList( *pFD, *pResMgr );
-    }
-    else
-    {
-        pFD = nullptr;
-    }
+    pFD = new FuncDataList;
+    InitFuncDataList(*pFD);
 
     delete pDefLocales;
     pDefLocales = nullptr;
diff --git a/scaddins/source/analysis/analysis.hrc 
b/scaddins/source/analysis/analysis.hrc
index ac29f830d931..75d4bfe28363 100644
--- a/scaddins/source/analysis/analysis.hrc
+++ b/scaddins/source/analysis/analysis.hrc
@@ -229,110 +229,6 @@
 #define ANALYSIS_FUNCNAME_Imsech            (ANALYSIS_FUNCNAME_START+99)
 #define ANALYSIS_FUNCNAME_Imcsch            (ANALYSIS_FUNCNAME_START+100)
 
-#define ANALYSIS_DEFFUNCNAME_START          (ANALYSIS_RESOURCE_START+3000)
-
-#define ANALYSIS_DEFFUNCNAME_Workday        (ANALYSIS_DEFFUNCNAME_START)
-#define ANALYSIS_DEFFUNCNAME_Yearfrac       (ANALYSIS_DEFFUNCNAME_START+1)
-#define ANALYSIS_DEFFUNCNAME_Edate          (ANALYSIS_DEFFUNCNAME_START+2)
-#define ANALYSIS_DEFFUNCNAME_Weeknum        (ANALYSIS_DEFFUNCNAME_START+3)
-#define ANALYSIS_DEFFUNCNAME_Eomonth        (ANALYSIS_DEFFUNCNAME_START+4)
-#define ANALYSIS_DEFFUNCNAME_Networkdays    (ANALYSIS_DEFFUNCNAME_START+5)
-#define ANALYSIS_DEFFUNCNAME_Iseven         (ANALYSIS_DEFFUNCNAME_START+6)
-#define ANALYSIS_DEFFUNCNAME_Isodd          (ANALYSIS_DEFFUNCNAME_START+7)
-#define ANALYSIS_DEFFUNCNAME_Multinomial    (ANALYSIS_DEFFUNCNAME_START+8)
-#define ANALYSIS_DEFFUNCNAME_Seriessum      (ANALYSIS_DEFFUNCNAME_START+9)
-#define ANALYSIS_DEFFUNCNAME_Quotient       (ANALYSIS_DEFFUNCNAME_START+10)
-#define ANALYSIS_DEFFUNCNAME_Mround         (ANALYSIS_DEFFUNCNAME_START+11)
-#define ANALYSIS_DEFFUNCNAME_Sqrtpi         (ANALYSIS_DEFFUNCNAME_START+12)
-#define ANALYSIS_DEFFUNCNAME_Randbetween    (ANALYSIS_DEFFUNCNAME_START+13)
-#define ANALYSIS_DEFFUNCNAME_Gcd            (ANALYSIS_DEFFUNCNAME_START+14)
-#define ANALYSIS_DEFFUNCNAME_Lcm            (ANALYSIS_DEFFUNCNAME_START+15)
-#define ANALYSIS_DEFFUNCNAME_Besseli        (ANALYSIS_DEFFUNCNAME_START+16)
-#define ANALYSIS_DEFFUNCNAME_Besselj        (ANALYSIS_DEFFUNCNAME_START+17)
-#define ANALYSIS_DEFFUNCNAME_Besselk        (ANALYSIS_DEFFUNCNAME_START+18)
-#define ANALYSIS_DEFFUNCNAME_Bessely        (ANALYSIS_DEFFUNCNAME_START+19)
-#define ANALYSIS_DEFFUNCNAME_Bin2Oct        (ANALYSIS_DEFFUNCNAME_START+20)
-#define ANALYSIS_DEFFUNCNAME_Bin2Dec        (ANALYSIS_DEFFUNCNAME_START+21)
-#define ANALYSIS_DEFFUNCNAME_Bin2Hex        (ANALYSIS_DEFFUNCNAME_START+22)
-#define ANALYSIS_DEFFUNCNAME_Oct2Bin        (ANALYSIS_DEFFUNCNAME_START+23)
-#define ANALYSIS_DEFFUNCNAME_Oct2Dec        (ANALYSIS_DEFFUNCNAME_START+24)
-#define ANALYSIS_DEFFUNCNAME_Oct2Hex        (ANALYSIS_DEFFUNCNAME_START+25)
-#define ANALYSIS_DEFFUNCNAME_Dec2Bin        (ANALYSIS_DEFFUNCNAME_START+26)
-#define ANALYSIS_DEFFUNCNAME_Dec2Hex        (ANALYSIS_DEFFUNCNAME_START+27)
-#define ANALYSIS_DEFFUNCNAME_Dec2Oct        (ANALYSIS_DEFFUNCNAME_START+28)
-#define ANALYSIS_DEFFUNCNAME_Hex2Bin        (ANALYSIS_DEFFUNCNAME_START+29)
-#define ANALYSIS_DEFFUNCNAME_Hex2Dec        (ANALYSIS_DEFFUNCNAME_START+30)
-#define ANALYSIS_DEFFUNCNAME_Hex2Oct        (ANALYSIS_DEFFUNCNAME_START+31)
-#define ANALYSIS_DEFFUNCNAME_Delta          (ANALYSIS_DEFFUNCNAME_START+32)
-#define ANALYSIS_DEFFUNCNAME_Erf            (ANALYSIS_DEFFUNCNAME_START+33)
-#define ANALYSIS_DEFFUNCNAME_Erfc           (ANALYSIS_DEFFUNCNAME_START+34)
-#define ANALYSIS_DEFFUNCNAME_Gestep         (ANALYSIS_DEFFUNCNAME_START+35)
-#define ANALYSIS_DEFFUNCNAME_Factdouble     (ANALYSIS_DEFFUNCNAME_START+36)
-#define ANALYSIS_DEFFUNCNAME_Imabs          (ANALYSIS_DEFFUNCNAME_START+37)
-#define ANALYSIS_DEFFUNCNAME_Imaginary      (ANALYSIS_DEFFUNCNAME_START+38)
-#define ANALYSIS_DEFFUNCNAME_Impower        (ANALYSIS_DEFFUNCNAME_START+39)
-#define ANALYSIS_DEFFUNCNAME_Imargument     (ANALYSIS_DEFFUNCNAME_START+40)
-#define ANALYSIS_DEFFUNCNAME_Imcos          (ANALYSIS_DEFFUNCNAME_START+41)
-#define ANALYSIS_DEFFUNCNAME_Imdiv          (ANALYSIS_DEFFUNCNAME_START+42)
-#define ANALYSIS_DEFFUNCNAME_Imexp          (ANALYSIS_DEFFUNCNAME_START+43)
-#define ANALYSIS_DEFFUNCNAME_Imconjugate    (ANALYSIS_DEFFUNCNAME_START+44)
-#define ANALYSIS_DEFFUNCNAME_Imln           (ANALYSIS_DEFFUNCNAME_START+45)
-#define ANALYSIS_DEFFUNCNAME_Imlog10        (ANALYSIS_DEFFUNCNAME_START+46)
-#define ANALYSIS_DEFFUNCNAME_Imlog2         (ANALYSIS_DEFFUNCNAME_START+47)
-#define ANALYSIS_DEFFUNCNAME_Improduct      (ANALYSIS_DEFFUNCNAME_START+48)
-#define ANALYSIS_DEFFUNCNAME_Imreal         (ANALYSIS_DEFFUNCNAME_START+49)
-#define ANALYSIS_DEFFUNCNAME_Imsin          (ANALYSIS_DEFFUNCNAME_START+50)
-#define ANALYSIS_DEFFUNCNAME_Imsub          (ANALYSIS_DEFFUNCNAME_START+51)
-#define ANALYSIS_DEFFUNCNAME_Imsqrt         (ANALYSIS_DEFFUNCNAME_START+52)
-#define ANALYSIS_DEFFUNCNAME_Imsum          (ANALYSIS_DEFFUNCNAME_START+53)
-#define ANALYSIS_DEFFUNCNAME_Complex        (ANALYSIS_DEFFUNCNAME_START+54)
-#define ANALYSIS_DEFFUNCNAME_Convert        (ANALYSIS_DEFFUNCNAME_START+55)
-#define ANALYSIS_DEFFUNCNAME_Amordegrc      (ANALYSIS_DEFFUNCNAME_START+56)
-#define ANALYSIS_DEFFUNCNAME_Amorlinc       (ANALYSIS_DEFFUNCNAME_START+57)
-#define ANALYSIS_DEFFUNCNAME_Accrint        (ANALYSIS_DEFFUNCNAME_START+58)
-#define ANALYSIS_DEFFUNCNAME_Accrintm       (ANALYSIS_DEFFUNCNAME_START+59)
-#define ANALYSIS_DEFFUNCNAME_Received       (ANALYSIS_DEFFUNCNAME_START+60)
-#define ANALYSIS_DEFFUNCNAME_Disc           (ANALYSIS_DEFFUNCNAME_START+61)
-#define ANALYSIS_DEFFUNCNAME_Duration       (ANALYSIS_DEFFUNCNAME_START+62)
-#define ANALYSIS_DEFFUNCNAME_Effect         (ANALYSIS_DEFFUNCNAME_START+63)
-#define ANALYSIS_DEFFUNCNAME_Cumprinc       (ANALYSIS_DEFFUNCNAME_START+64)
-#define ANALYSIS_DEFFUNCNAME_Cumipmt        (ANALYSIS_DEFFUNCNAME_START+65)
-#define ANALYSIS_DEFFUNCNAME_Price          (ANALYSIS_DEFFUNCNAME_START+66)
-#define ANALYSIS_DEFFUNCNAME_Pricedisc      (ANALYSIS_DEFFUNCNAME_START+67)
-#define ANALYSIS_DEFFUNCNAME_Pricemat       (ANALYSIS_DEFFUNCNAME_START+68)
-#define ANALYSIS_DEFFUNCNAME_Mduration      (ANALYSIS_DEFFUNCNAME_START+69)
-#define ANALYSIS_DEFFUNCNAME_Nominal        (ANALYSIS_DEFFUNCNAME_START+70)
-#define ANALYSIS_DEFFUNCNAME_Dollarfr       (ANALYSIS_DEFFUNCNAME_START+71)
-#define ANALYSIS_DEFFUNCNAME_Dollarde       (ANALYSIS_DEFFUNCNAME_START+72)
-#define ANALYSIS_DEFFUNCNAME_Yield          (ANALYSIS_DEFFUNCNAME_START+73)
-#define ANALYSIS_DEFFUNCNAME_Yielddisc      (ANALYSIS_DEFFUNCNAME_START+74)
-#define ANALYSIS_DEFFUNCNAME_Yieldmat       (ANALYSIS_DEFFUNCNAME_START+75)
-#define ANALYSIS_DEFFUNCNAME_Tbilleq        (ANALYSIS_DEFFUNCNAME_START+76)
-#define ANALYSIS_DEFFUNCNAME_Tbillprice     (ANALYSIS_DEFFUNCNAME_START+77)
-#define ANALYSIS_DEFFUNCNAME_Tbillyield     (ANALYSIS_DEFFUNCNAME_START+78)
-#define ANALYSIS_DEFFUNCNAME_Oddfprice      (ANALYSIS_DEFFUNCNAME_START+79)
-#define ANALYSIS_DEFFUNCNAME_Oddfyield      (ANALYSIS_DEFFUNCNAME_START+80)
-#define ANALYSIS_DEFFUNCNAME_Oddlprice      (ANALYSIS_DEFFUNCNAME_START+81)
-#define ANALYSIS_DEFFUNCNAME_Oddlyield      (ANALYSIS_DEFFUNCNAME_START+82)
-#define ANALYSIS_DEFFUNCNAME_Xirr           (ANALYSIS_DEFFUNCNAME_START+83)
-#define ANALYSIS_DEFFUNCNAME_Xnpv           (ANALYSIS_DEFFUNCNAME_START+84)
-#define ANALYSIS_DEFFUNCNAME_Intrate        (ANALYSIS_DEFFUNCNAME_START+85)
-#define ANALYSIS_DEFFUNCNAME_Coupncd        (ANALYSIS_DEFFUNCNAME_START+86)
-#define ANALYSIS_DEFFUNCNAME_Coupdays       (ANALYSIS_DEFFUNCNAME_START+87)
-#define ANALYSIS_DEFFUNCNAME_Coupdaysnc     (ANALYSIS_DEFFUNCNAME_START+88)
-#define ANALYSIS_DEFFUNCNAME_Coupdaybs      (ANALYSIS_DEFFUNCNAME_START+89)
-#define ANALYSIS_DEFFUNCNAME_Couppcd        (ANALYSIS_DEFFUNCNAME_START+90)
-#define ANALYSIS_DEFFUNCNAME_Coupnum        (ANALYSIS_DEFFUNCNAME_START+91)
-#define ANALYSIS_DEFFUNCNAME_Fvschedule     (ANALYSIS_DEFFUNCNAME_START+92)
-#define ANALYSIS_DEFFUNCNAME_Imtan          (ANALYSIS_DEFFUNCNAME_START+93)
-#define ANALYSIS_DEFFUNCNAME_Imsec          (ANALYSIS_DEFFUNCNAME_START+94)
-#define ANALYSIS_DEFFUNCNAME_Imcsc          (ANALYSIS_DEFFUNCNAME_START+95)
-#define ANALYSIS_DEFFUNCNAME_Imcot          (ANALYSIS_DEFFUNCNAME_START+96)
-#define ANALYSIS_DEFFUNCNAME_Imsinh         (ANALYSIS_DEFFUNCNAME_START+97)
-#define ANALYSIS_DEFFUNCNAME_Imcosh         (ANALYSIS_DEFFUNCNAME_START+98)
-#define ANALYSIS_DEFFUNCNAME_Imsech         (ANALYSIS_DEFFUNCNAME_START+99)
-#define ANALYSIS_DEFFUNCNAME_Imcsch         (ANALYSIS_DEFFUNCNAME_START+100)
-
 #endif
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/scaddins/source/analysis/analysis_deffuncnames.src 
b/scaddins/source/analysis/analysis_deffuncnames.src
deleted file mode 100644
index 152932e19740..000000000000
--- a/scaddins/source/analysis/analysis_deffuncnames.src
+++ /dev/null
@@ -1,931 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#include "analysis.hrc"
-
-StringArray ANALYSIS_DEFFUNCNAME_Workday
-{
-    ItemList =
-    {
-        < "ARBEITSTAG"; >;
-        < "WORKDAY"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Yearfrac
-{
-    ItemList =
-    {
-        < "BRTEILJAHRE"; >;
-        < "YEARFRAC"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Edate
-{
-    ItemList =
-    {
-        < "EDATUM"; >;
-        < "EDATE"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Weeknum
-{
-    ItemList =
-    {
-        < "KALENDERWOCHE"; >;
-        < "WEEKNUM"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Eomonth
-{
-    ItemList =
-    {
-        < "MONATSENDE"; >;
-        < "EOMONTH"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Networkdays
-{
-    ItemList =
-    {
-        < "NETTOARBEITSTAGE"; >;
-        < "NETWORKDAYS"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Amordegrc
-{
-    ItemList =
-    {
-        < "AMORDEGRK"; >;
-        < "AMORDEGRC"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Amorlinc
-{
-    ItemList =
-    {
-        < "AMORLINEARK"; >;
-        < "AMORLINC"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Accrint
-{
-    ItemList =
-    {
-        < "AUFGELZINS"; >;
-        < "ACCRINT"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Accrintm
-{
-    ItemList =
-    {
-        < "AUFGELZINSF"; >;
-        < "ACCRINTM"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Received
-{
-    ItemList =
-    {
-        < "AUSZAHLUNG"; >;
-        < "RECEIVED"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Disc
-{
-    ItemList =
-    {
-        < "DISAGIO"; >;
-        < "DISC"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Duration
-{
-    ItemList =
-    {
-        < "DURATION"; >;
-        < "DURATION"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Effect
-{
-    ItemList =
-    {
-        < "EFFEKTIV"; >;
-        < "EFFECT"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Cumprinc
-{
-    ItemList =
-    {
-        < "KUMKAPITAL"; >;
-        < "CUMPRINC"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Cumipmt
-{
-    ItemList =
-    {
-        < "KUMZINSZ"; >;
-        < "CUMIPMT"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Price
-{
-    ItemList =
-    {
-        < "KURS"; >;
-        < "PRICE"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Pricedisc
-{
-    ItemList =
-    {
-        < "KURSDISAGIO"; >;
-        < "PRICEDISC"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Pricemat
-{
-    ItemList =
-    {
-        < "KURSFÄLLIG"; >;
-        < "PRICEMAT"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Mduration
-{
-    ItemList =
-    {
-        < "MDURATION"; >;
-        < "MDURATION"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Nominal
-{
-    ItemList =
-    {
-        < "NOMINAL"; >;
-        < "NOMINAL"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Dollarfr
-{
-    ItemList =
-    {
-        < "NOTIERUNGBRU"; >;
-        < "DOLLARFR"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Dollarde
-{
-    ItemList =
-    {
-        < "NOTIERUNGDEZ"; >;
-        < "DOLLARDE"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Yield
-{
-    ItemList =
-    {
-        < "RENDITE"; >;
-        < "YIELD"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Yielddisc
-{
-    ItemList =
-    {
-        < "RENDITEDIS"; >;
-        < "YIELDDISC"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Yieldmat
-{
-    ItemList =
-    {
-        < "RENDITEFÄLL"; >;
-        < "YIELDMAT"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Tbilleq
-{
-    ItemList =
-    {
-        < "TBILLÄQUIV"; >;
-        < "TBILLEQ"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Tbillprice
-{
-    ItemList =
-    {
-        < "TBILLKURS"; >;
-        < "TBILLPRICE"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Tbillyield
-{
-    ItemList =
-    {
-        < "TBILLRENDITE"; >;
-        < "TBILLYIELD"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Oddfprice
-{
-    ItemList =
-    {
-        < "UNREGER.KURS"; >;
-        < "ODDFPRICE"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Oddfyield
-{
-    ItemList =
-    {
-        < "UNREGER.REND"; >;
-        < "ODDFYIELD"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Oddlprice
-{
-    ItemList =
-    {
-        < "UNREGLE.KURS"; >;
-        < "ODDLPRICE"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Oddlyield
-{
-    ItemList =
-    {
-        < "UNREGLE.REND"; >;
-        < "ODDLYIELD"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Xirr
-{
-    ItemList =
-    {
-        < "XINTZINSFUSS"; >;
-        < "XIRR"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Xnpv
-{
-    ItemList =
-    {
-        < "XKAPITALWERT"; >;
-        < "XNPV"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Intrate
-{
-    ItemList =
-    {
-        < "ZINSSATZ"; >;
-        < "INTRATE"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Coupncd
-{
-    ItemList =
-    {
-        < "ZINSTERMNZ"; >;
-        < "COUPNCD"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Coupdays
-{
-    ItemList =
-    {
-        < "ZINSTERMTAGE"; >;
-        < "COUPDAYS"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Coupdaysnc
-{
-    ItemList =
-    {
-        < "ZINSTERMTAGNZ"; >;
-        < "COUPDAYSNC"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Coupdaybs
-{
-    ItemList =
-    {
-        < "ZINSTERMTAGVA"; >;
-        < "COUPDAYBS"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Couppcd
-{
-    ItemList =
-    {
-        < "ZINSTERMVZ"; >;
-        < "COUPPCD"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Coupnum
-{
-    ItemList =
-    {
-        < "ZINSTERMZAHL"; >;
-        < "COUPNUM"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Fvschedule
-{
-    ItemList =
-    {
-        < "ZW2"; >;
-        < "FVSCHEDULE"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Iseven
-{
-    ItemList =
-    {
-        < "ISTGERADE"; >;
-        < "ISEVEN"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Isodd
-{
-    ItemList =
-    {
-        < "ISTUNGERADE"; >;
-        < "ISODD"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Gcd
-{
-    ItemList =
-    {
-        < "GGT"; >;
-        < "GCD"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Lcm
-{
-    ItemList =
-    {
-        < "KGV"; >;
-        < "LCM"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Multinomial
-{
-    ItemList =
-    {
-        < "POLYNOMIAL"; >;
-        < "MULTINOMIAL"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Seriessum
-{
-    ItemList =
-    {
-        < "POTENZREIHE"; >;
-        < "SERIESSUM"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Quotient
-{
-    ItemList =
-    {
-        < "QUOTIENT"; >;
-        < "QUOTIENT"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Mround
-{
-    ItemList =
-    {
-        < "VRUNDEN"; >;
-        < "MROUND"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Sqrtpi
-{
-    ItemList =
-    {
-        < "WURZELPI"; >;
-        < "SQRTPI"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Randbetween
-{
-    ItemList =
-    {
-        < "ZUFALLSBEREICH"; >;
-        < "RANDBETWEEN"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Besseli
-{
-    ItemList =
-    {
-        < "BESSELI"; >;
-        < "BESSELI"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Besselj
-{
-    ItemList =
-    {
-        < "BESSELJ"; >;
-        < "BESSELJ"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Besselk
-{
-    ItemList =
-    {
-        < "BESSELK"; >;
-        < "BESSELK"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Bessely
-{
-    ItemList =
-    {
-        < "BESSELY"; >;
-        < "BESSELY"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Bin2Dec
-{
-    ItemList =
-    {
-        < "BININDEZ"; >;
-        < "BIN2DEC"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Bin2Hex
-{
-    ItemList =
-    {
-        < "BININHEX"; >;
-        < "BIN2HEX"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Bin2Oct
-{
-    ItemList =
-    {
-        < "BININOKT"; >;
-        < "BIN2OCT"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Delta
-{
-    ItemList =
-    {
-        < "DELTA"; >;
-        < "DELTA"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Dec2Bin
-{
-    ItemList =
-    {
-        < "DEZINBIN"; >;
-        < "DEC2BIN"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Dec2Hex
-{
-    ItemList =
-    {
-        < "DEZINHEX"; >;
-        < "DEC2HEX"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Dec2Oct
-{
-    ItemList =
-    {
-        < "DEZINOKT"; >;
-        < "DEC2OCT"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Erf
-{
-    ItemList =
-    {
-        < "GAUSSFEHLER"; >;
-        < "ERF"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Erfc
-{
-    ItemList =
-    {
-        < "GAUSSFKOMPL"; >;
-        < "ERFC"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Gestep
-{
-    ItemList =
-    {
-        < "GGANZZAHL"; >;
-        < "GESTEP"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Hex2Bin
-{
-    ItemList =
-    {
-        < "HEXINBIN"; >;
-        < "HEX2BIN"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Hex2Dec
-{
-    ItemList =
-    {
-        < "HEXINDEZ"; >;
-        < "HEX2DEC"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Hex2Oct
-{
-    ItemList =
-    {
-        < "HEXINOKT"; >;
-        < "HEX2OCT"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Imabs
-{
-    ItemList =
-    {
-        < "IMABS"; >;
-        < "IMABS"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Imaginary
-{
-    ItemList =
-    {
-        < "IMAGINÄRTEIL"; >;
-        < "IMAGINARY"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Impower
-{
-    ItemList =
-    {
-        < "IMAPOTENZ"; >;
-        < "IMPOWER"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Imargument
-{
-    ItemList =
-    {
-        < "IMARGUMENT"; >;
-        < "IMARGUMENT"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Imcos
-{
-    ItemList =
-    {
-        < "IMCOS"; >;
-        < "IMCOS"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Imdiv
-{
-    ItemList =
-    {
-        < "IMDIV"; >;
-        < "IMDIV"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Imexp
-{
-    ItemList =
-    {
-        < "IMEXP"; >;
-        < "IMEXP"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Imconjugate
-{
-    ItemList =
-    {
-        < "IMKONJUGIERTE"; >;
-        < "IMCONJUGATE"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Imln
-{
-    ItemList =
-    {
-        < "IMLN"; >;
-        < "IMLN"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Imlog10
-{
-    ItemList =
-    {
-        < "IMLOG10"; >;
-        < "IMLOG10"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Imlog2
-{
-    ItemList =
-    {
-        < "IMLOG2"; >;
-        < "IMLOG2"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Improduct
-{
-    ItemList =
-    {
-        < "IMPRODUKT"; >;
-        < "IMPRODUCT"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Imreal
-{
-    ItemList =
-    {
-        < "IMREALTEIL"; >;
-        < "IMREAL"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Imsin
-{
-    ItemList =
-    {
-        < "IMSIN"; >;
-        < "IMSIN"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Imsub
-{
-    ItemList =
-    {
-        < "IMSUB"; >;
-        < "IMSUB"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Imsum
-{
-    ItemList =
-    {
-        < "IMSUMME"; >;
-        < "IMSUM"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Imsqrt
-{
-    ItemList =
-    {
-        < "IMWURZEL"; >;
-        < "IMSQRT"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Imtan
-{
-    ItemList =
-    {
-        < "IMTAN"; >;
-        < "IMTAN"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Imsec
-{
-    ItemList =
-    {
-        < "IMSEC"; >;
-        < "IMSEC"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Imcsc
-{
-    ItemList =
-    {
-        < "IMCSC"; >;
-        < "IMCSC"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Imcot
-{
-    ItemList =
-    {
-        < "IMCOT"; >;
-        < "IMCOT"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Imsinh
-{
-    ItemList =
-    {
-        < "IMSINH"; >;
-        < "IMSINH"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Imcosh
-{
-    ItemList =
-    {
-        < "IMCOSH"; >;
-        < "IMCOSH"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Imsech
-{
-    ItemList =
-    {
-        < "IMSECH"; >;
-        < "IMSECH"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Imcsch
-{
-    ItemList =
-    {
-        < "IMCSCH"; >;
-        < "IMCSCH"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Complex
-{
-    ItemList =
-    {
-        < "KOMPLEXE"; >;
-        < "COMPLEX"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Oct2Bin
-{
-    ItemList =
-    {
-        < "OKTINBIN"; >;
-        < "OCT2BIN"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Oct2Dec
-{
-    ItemList =
-    {
-        < "OKTINDEZ"; >;
-        < "OCT2DEC"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Oct2Hex
-{
-    ItemList =
-    {
-        < "OKTINHEX"; >;
-        < "OCT2HEX"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Convert
-{
-    ItemList =
-    {
-        < "UMWANDELN"; >;
-        < "CONVERT"; >;
-    };
-};
-
-StringArray ANALYSIS_DEFFUNCNAME_Factdouble
-{
-    ItemList =
-    {
-        < "ZWEIFAKULTÄT"; >;
-        < "FACTDOUBLE"; >;
-    };
-};
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/scaddins/source/analysis/analysishelper.cxx 
b/scaddins/source/analysis/analysishelper.cxx
index e49ca081e954..5891564e290e 100644
--- a/scaddins/source/analysis/analysishelper.cxx
+++ b/scaddins/source/analysis/analysishelper.cxx
@@ -46,6 +46,612 @@ using namespace sca::analysis;
 #define FUNCDATAS( FUNCNAME, DBL, OPT, NUMOFPAR, CAT, SUFFIX ) \
     { "get" #FUNCNAME, ANALYSIS_FUNCNAME_##FUNCNAME, ANALYSIS_##FUNCNAME, DBL, 
OPT, ANALYSIS_DEFFUNCNAME_##FUNCNAME, NUMOFPAR, CAT, SUFFIX }
 
+static const char* ANALYSIS_DEFFUNCNAME_Workday[2] =
+{
+    u8"ARBEITSTAG",
+    u8"WORKDAY"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Yearfrac[2] =
+{
+    u8"BRTEILJAHRE",
+    u8"YEARFRAC"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Edate[2] =
+{
+    u8"EDATUM",
+    u8"EDATE"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Weeknum[2] =
+{
+    u8"KALENDERWOCHE",
+    u8"WEEKNUM"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Eomonth[2] =
+{
+    u8"MONATSENDE",
+    u8"EOMONTH"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Networkdays[2] =
+{
+    u8"NETTOARBEITSTAGE",
+    u8"NETWORKDAYS"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Amordegrc[2] =
+{
+    u8"AMORDEGRK",
+    u8"AMORDEGRC"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Amorlinc[2] =
+{
+    u8"AMORLINEARK",
+    u8"AMORLINC"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Accrint[2] =
+{
+    u8"AUFGELZINS",
+    u8"ACCRINT"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Accrintm[2] =
+{
+    u8"AUFGELZINSF",
+    u8"ACCRINTM"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Received[2] =
+{
+    u8"AUSZAHLUNG",
+    u8"RECEIVED"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Disc[2] =
+{
+    u8"DISAGIO",
+    u8"DISC"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Duration[2] =
+{
+    u8"DURATION",
+    u8"DURATION"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Effect[2] =
+{
+    u8"EFFEKTIV",
+    u8"EFFECT"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Cumprinc[2] =
+{
+    u8"KUMKAPITAL",
+    u8"CUMPRINC"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Cumipmt[2] =
+{
+    u8"KUMZINSZ",
+    u8"CUMIPMT"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Price[2] =
+{
+    u8"KURS",
+    u8"PRICE"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Pricedisc[2] =
+{
+    u8"KURSDISAGIO",
+    u8"PRICEDISC"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Pricemat[2] =
+{
+    u8"KURSFÄLLIG",
+    u8"PRICEMAT"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Mduration[2] =
+{
+    u8"MDURATION",
+    u8"MDURATION"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Nominal[2] =
+{
+    u8"NOMINAL",
+    u8"NOMINAL"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Dollarfr[2] =
+{
+    u8"NOTIERUNGBRU",
+    u8"DOLLARFR"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Dollarde[2] =
+{
+    u8"NOTIERUNGDEZ",
+    u8"DOLLARDE"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Yield[2] =
+{
+    u8"RENDITE",
+    u8"YIELD"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Yielddisc[2] =
+{
+    u8"RENDITEDIS",
+    u8"YIELDDISC"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Yieldmat[2] =
+{
+    u8"RENDITEFÄLL",
+    u8"YIELDMAT"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Tbilleq[2] =
+{
+    u8"TBILLÄQUIV",
+    u8"TBILLEQ"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Tbillprice[2] =
+{
+    u8"TBILLKURS",
+    u8"TBILLPRICE"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Tbillyield[2] =
+{
+    u8"TBILLRENDITE",
+    u8"TBILLYIELD"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Oddfprice[2] =
+{
+    u8"UNREGER.KURS",
+    u8"ODDFPRICE"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Oddfyield[2] =
+{
+    u8"UNREGER.REND",
+    u8"ODDFYIELD"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Oddlprice[2] =
+{
+    u8"UNREGLE.KURS",
+    u8"ODDLPRICE"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Oddlyield[2] =
+{
+    u8"UNREGLE.REND",
+    u8"ODDLYIELD"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Xirr[2] =
+{
+    u8"XINTZINSFUSS",
+    u8"XIRR"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Xnpv[2] =
+{
+    u8"XKAPITALWERT",
+    u8"XNPV"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Intrate[2] =
+{
+    u8"ZINSSATZ",
+    u8"INTRATE"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Coupncd[2] =
+{
+    u8"ZINSTERMNZ",
+    u8"COUPNCD"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Coupdays[2] =
+{
+    u8"ZINSTERMTAGE",
+    u8"COUPDAYS"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Coupdaysnc[2] =
+{
+    u8"ZINSTERMTAGNZ",
+    u8"COUPDAYSNC"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Coupdaybs[2] =
+{
+    u8"ZINSTERMTAGVA",
+    u8"COUPDAYBS"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Couppcd[2] =
+{
+    u8"ZINSTERMVZ",
+    u8"COUPPCD"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Coupnum[2] =
+{
+    u8"ZINSTERMZAHL",
+    u8"COUPNUM"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Fvschedule[2] =
+{
+    u8"ZW2",
+    u8"FVSCHEDULE"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Iseven[2] =
+{
+    u8"ISTGERADE",
+    u8"ISEVEN"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Isodd[2] =
+{
+    u8"ISTUNGERADE",
+    u8"ISODD"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Gcd[2] =
+{
+    u8"GGT",
+    u8"GCD"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Lcm[2] =
+{
+    u8"KGV",
+    u8"LCM"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Multinomial[2] =
+{
+    u8"POLYNOMIAL",
+    u8"MULTINOMIAL"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Seriessum[2] =
+{
+    u8"POTENZREIHE",
+    u8"SERIESSUM"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Quotient[2] =
+{
+    u8"QUOTIENT",
+    u8"QUOTIENT"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Mround[2] =
+{
+    u8"VRUNDEN",
+    u8"MROUND"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Sqrtpi[2] =
+{
+    u8"WURZELPI",
+    u8"SQRTPI"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Randbetween[2] =
+{
+    u8"ZUFALLSBEREICH",
+    u8"RANDBETWEEN"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Besseli[2] =
+{
+    u8"BESSELI",
+    u8"BESSELI"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Besselj[2] =
+{
+    u8"BESSELJ",
+    u8"BESSELJ"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Besselk[2] =
+{
+    u8"BESSELK",
+    u8"BESSELK"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Bessely[2] =
+{
+    u8"BESSELY",
+    u8"BESSELY"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Bin2Dec[2] =
+{
+    u8"BININDEZ",
+    u8"BIN2DEC"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Bin2Hex[2] =
+{
+    u8"BININHEX",
+    u8"BIN2HEX"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Bin2Oct[2] =
+{
+    u8"BININOKT",
+    u8"BIN2OCT"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Delta[2] =
+{
+    u8"DELTA",
+    u8"DELTA"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Dec2Bin[2] =
+{
+    u8"DEZINBIN",
+    u8"DEC2BIN"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Dec2Hex[2] =
+{
+    u8"DEZINHEX",
+    u8"DEC2HEX"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Dec2Oct[2] =
+{
+    u8"DEZINOKT",
+    u8"DEC2OCT"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Erf[2] =
+{
+    u8"GAUSSFEHLER",
+    u8"ERF"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Erfc[2] =
+{
+    u8"GAUSSFKOMPL",
+    u8"ERFC"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Gestep[2] =
+{
+    u8"GGANZZAHL",
+    u8"GESTEP"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Hex2Bin[2] =
+{
+    u8"HEXINBIN",
+    u8"HEX2BIN"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Hex2Dec[2] =
+{
+    u8"HEXINDEZ",
+    u8"HEX2DEC"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Hex2Oct[2] =
+{
+    u8"HEXINOKT",
+    u8"HEX2OCT"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Imabs[2] =
+{
+    u8"IMABS",
+    u8"IMABS"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Imaginary[2] =
+{
+    u8"IMAGINÄRTEIL",
+    u8"IMAGINARY"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Impower[2] =
+{
+    u8"IMAPOTENZ",
+    u8"IMPOWER"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Imargument[2] =
+{
+    u8"IMARGUMENT",
+    u8"IMARGUMENT"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Imcos[2] =
+{
+    u8"IMCOS",
+    u8"IMCOS"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Imdiv[2] =
+{
+    u8"IMDIV",
+    u8"IMDIV"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Imexp[2] =
+{
+    u8"IMEXP",
+    u8"IMEXP"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Imconjugate[2] =
+{
+    u8"IMKONJUGIERTE",
+    u8"IMCONJUGATE"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Imln[2] =
+{
+    u8"IMLN",
+    u8"IMLN"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Imlog10[2] =
+{
+    u8"IMLOG10",
+    u8"IMLOG10"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Imlog2[2] =
+{
+    u8"IMLOG2",
+    u8"IMLOG2"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Improduct[2] =
+{
+    u8"IMPRODUKT",
+    u8"IMPRODUCT"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Imreal[2] =
+{
+    u8"IMREALTEIL",
+    u8"IMREAL"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Imsin[2] =
+{
+    u8"IMSIN",
+    u8"IMSIN"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Imsub[2] =
+{
+    u8"IMSUB",
+    u8"IMSUB"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Imsum[2] =
+{
+    u8"IMSUMME",
+    u8"IMSUM"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Imsqrt[2] =
+{
+    u8"IMWURZEL",
+    u8"IMSQRT"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Imtan[2] =
+{
+    u8"IMTAN",
+    u8"IMTAN"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Imsec[2] =
+{
+    u8"IMSEC",
+    u8"IMSEC"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Imcsc[2] =
+{
+    u8"IMCSC",
+    u8"IMCSC"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Imcot[2] =
+{
+    u8"IMCOT",
+    u8"IMCOT"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Imsinh[2] =
+{
+    u8"IMSINH",
+    u8"IMSINH"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Imcosh[2] =
+{
+    u8"IMCOSH",
+    u8"IMCOSH"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Imsech[2] =
+{
+    u8"IMSECH",
+    u8"IMSECH"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Imcsch[2] =
+{
+    u8"IMCSCH",
+    u8"IMCSCH"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Complex[2] =
+{
+    u8"KOMPLEXE",
+    u8"COMPLEX"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Oct2Bin[2] =
+{
+    u8"OKTINBIN",
+    u8"OCT2BIN"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Oct2Dec[2] =
+{
+    u8"OKTINDEZ",
+    u8"OCT2DEC"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Oct2Hex[2] =
+{
+    u8"OKTINHEX",
+    u8"OCT2HEX"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Convert[2] =
+{
+    u8"UMWANDELN",
+    u8"CONVERT"
+};
+
+static const char* ANALYSIS_DEFFUNCNAME_Factdouble[2] =
+{
+    u8"ZWEIFAKULTÄT",
+    u8"FACTDOUBLE"
+};
+
 const FuncDataBase pFuncDatas[] =
 {
     //                          UNIQUE or   INTPAR or
@@ -1372,7 +1978,7 @@ double GetCoupnum( sal_Int32 nNullDate, sal_Int32 
nSettle, sal_Int32 nMat, sal_I
     return static_cast< double >( nMonths * nFreq / 12 );
 }
 
-FuncData::FuncData( const FuncDataBase& r, ResMgr& rResMgr ) :
+FuncData::FuncData(const FuncDataBase& r) :
     aIntName( OUString::createFromAscii( r.pIntName ) ),
     nUINameID( r.nUINameID ),
     nDescrID( r.nDescrID ),
@@ -1382,15 +1988,11 @@ FuncData::FuncData( const FuncDataBase& r, ResMgr& 
rResMgr ) :
     eCat( r.eCat )
 {
     if (r.pSuffix)
-        aSuffix = OUString::createFromAscii( r.pSuffix);
-
-    ResStringArray aArr(AnalysisResId(r.nCompListID, rResMgr));
+        aSuffix = OUString::createFromAscii(r.pSuffix);
 
-    sal_uInt32 nCount = aArr.Count();
-
-    aCompList.resize(nCount);
-    for(sal_uInt32 n = 0 ; n < nCount; ++n)
-        aCompList[n] = aArr.GetString( n );
+    aCompList.resize(2);
+    aCompList[0] = OUString(r.pCompListID[0], strlen(r.pCompListID[0]), 
RTL_TEXTENCODING_UTF8);
+    aCompList[1] = OUString(r.pCompListID[1], strlen(r.pCompListID[1]), 
RTL_TEXTENCODING_UTF8);
 }
 
 FuncData::~FuncData()
@@ -1408,19 +2010,16 @@ sal_uInt16 FuncData::GetStrIndex( sal_uInt16 nParamNum 
) const
         return nParamNum * 2;
 }
 
-
-void InitFuncDataList( FuncDataList& rList, ResMgr& rResMgr )
+void InitFuncDataList(FuncDataList& rList)
 {
     for(const auto & rFuncData : pFuncDatas)
-        rList.push_back( FuncData( rFuncData, rResMgr ) );
+        rList.push_back(FuncData(rFuncData));
 }
 
-
 AnalysisResId::AnalysisResId( sal_uInt16 nId, ResMgr& rResMgr ) : ResId( nId, 
rResMgr )
 {
 }
 
-
 SortedIndividualInt32List::SortedIndividualInt32List()
 {
 }
diff --git a/scaddins/source/analysis/analysishelper.hxx 
b/scaddins/source/analysis/analysishelper.hxx
index b31316078bc3..24d3f24de657 100644
--- a/scaddins/source/analysis/analysishelper.hxx
+++ b/scaddins/source/analysis/analysishelper.hxx
@@ -206,7 +206,7 @@ struct FuncDataBase
     sal_uInt16              nDescrID;           // resource ID to description, 
parameter names and ~ description
     bool                    bDouble;            // name already exist in Calc
     bool                    bWithOpt;           // first parameter is internal
-    sal_uInt16              nCompListID;        // resource ID to list of 
valid names
+    const char**            pCompListID;        // list of valid names
     sal_uInt16              nNumOfParams;       // number of named / described 
parameters
     FDCategory              eCat;               // function category
     const char*             pSuffix;            // if bDouble, append a suffix 
other than "_ADD" for UI
@@ -228,7 +228,7 @@ private:
     OUString                aSuffix;            // if bDouble and not empty, 
append a suffix other than "_ADD" for UI
 
 public:
-                            FuncData( const FuncDataBase& rBaseData, ResMgr& );
+                            FuncData(const FuncDataBase& rBaseData);
                             ~FuncData();
 
     inline sal_uInt16       GetUINameID() const;
@@ -247,7 +247,7 @@ public:
 
 typedef std::vector< FuncData > FuncDataList;
 
-void InitFuncDataList ( FuncDataList& rList, ResMgr& rResMgr );
+void InitFuncDataList(FuncDataList& rList);
 
 // Predicate for use with std::find_if
 struct FindFuncData
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to