#define MAX_FUNCCAT 12/* maximum number of categories for functions */ #define LRU_MAX 10/* maximal number of last recently used functions */
/** Storesandgenerateshumanreadabledescriptionsforspreadsheet-functions, e.g.\functionsusedinformulasincalc
*/ class ScFuncDesc final : public formula::IFunctionDescription
{ public:
ScFuncDesc();
~ScFuncDesc();
std::optional<OUString> mxFuncName; /**< Function name */
std::optional<OUString> mxFuncDesc; /**< Description of function */
std::vector<OUString> maDefArgNames; /**< Parameter name(s) */
std::vector<OUString> maDefArgDescs; /**< Description(s) of parameter(s) */
ParameterFlags *pDefArgFlags; /**< Flags for each parameter */
sal_uInt16 nFIndex; /**< Unique function index */
sal_uInt16 nCategory; /**< Function category */
sal_uInt16 nArgCount; /**< All parameter count, suppressed and unsuppressed */
sal_uInt16 nVarArgsStart; /**< Start of variable arguments, for numbering */
sal_uInt16 nVarArgsLimit; /**< Limit maximum of (variable) arguments, for numbering */
OUString sHelpId; /**< HelpId of function */ bool bIncomplete :1; /**< Incomplete argument info (set for add-in info from configuration) */ bool mbHidden :1; /**< Whether function is hidden */
};
private:
::std::vector<const ScFuncDesc*> aFunctionList; /**< List of functions */
::std::vector<const ScFuncDesc*>::iterator aFunctionListIter; /**< position in function list */ bool mbEnglishFunctionNames;
};
/** Categoryofspreadsheetfunctions.
Containsthename,indexandfunctionmanagerofacategory, aswellasalistoffunctionsinthecategory
*/ class ScFunctionCategory final : public formula::IFunctionCategory
{ public:
ScFunctionCategory(const ::std::vector<const ScFuncDesc*>& _rCategory,sal_uInt32 _nCategory)
: m_rCategory(_rCategory),m_nCategory(_nCategory){}
private: const ::std::vector<const ScFuncDesc*>& m_rCategory; /**< list of functions in this category */ mutable OUString m_sName; /**< name of this category */
sal_uInt32 m_nCategory; /**< index number of this category */
};
#define SC_FUNCGROUP_COUNT ID_FUNCTION_GRP_ADDINS /** Storesspreadsheetfunctionsincategories,includingacumulative('All')categoryandmakesthemaccessible.
*/ class ScFunctionMgr final : public formula::IFunctionManager
{ public: /** Retrievesallcalcfunctions,generatescumulative('All')category,andthecategories.
private:
std::vector<const ScFuncDesc*> aCatLists[MAX_FUNCCAT]; /**< array of all categories, 0 is the cumulative ('All') category */ mutable std::map< sal_uInt32, std::shared_ptr<ScFunctionCategory> > m_aCategories; /**< map of category pos to IFunctionCategory */ mutable std::vector<const ScFuncDesc*>::const_iterator pCurCatListIter; /**< position in current category */ mutable std::vector<const ScFuncDesc*>::const_iterator pCurCatListEnd; /**< end of current category */
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.