/* -*- 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 .
*/
// Parameter information struct SbxParamInfo
{ const OUString aName; // Name of the parameter
SbxDataType eType; // Data type
SbxFlagBits nFlags; // Flag-Bits
sal_uInt32 nUserData; // IDs etc.
SbxParamInfo( OUString s, SbxDataType t, SbxFlagBits n )
: aName(std::move( s )), eType( t ), nFlags( n ), nUserData( 0 ) {}
};
class BASIC_DLLPUBLIC SbxHint final : public SfxHint
{
SbxVariable* pVar; public:
SbxHint( SfxHintId n, SbxVariable* v ) : SfxHint( n ), pVar( v ) {}
~SbxHint() override;
SbxVariable* GetVar() const { return pVar; }
};
// SbxArray is an unidimensional, dynamic Array // The variables convert from SbxVariablen. Put()/Insert() into the // declared datatype, if they are not SbxVARIANT.
struct SbxVarEntry;
class BASIC_DLLPUBLIC SbxArray : public SbxBase
{ // #100883 Method to set method directly to parameter array friendclass SbMethod; friendclass SbClassModuleObject; friend SbxObjectRef cloneTypeObjectImpl( const SbxObject& rTypeObj );
BASIC_DLLPRIVATE void PutDirect( SbxVariable* pVar, sal_uInt32 nIdx );
std::vector<SbxVarEntry> mVarEntries; // The variables
SbxDataType eType; // Data type of the array
// SbxDimArray is an array that can dimensioned using BASIC conventions. struct SbxDim { // an array-dimension:
sal_Int32 nLbound, nUbound; // Limitations
sal_Int32 nSize; // Number of elements
};
class BASIC_DLLPUBLIC SbxDimArray final : public SbxArray
{
std::vector<SbxDim> m_vDimensions; // Dimension table
BASIC_DLLPRIVATE void AddDimImpl(sal_Int32, sal_Int32, bool bAllowSize0); bool mbHasFixedSize;
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 ist noch experimentell.