20#include <config_features.h>
31#include <rtl/ustrbuf.hxx>
36#include <com/sun/star/uno/XInterface.hpp>
50 m_aDeclareClassName( r.m_aDeclareClassName ),
51 m_xComListener( r.m_xComListener),
55#if HAVE_FEATURE_SCRIPTING
91#if HAVE_FEATURE_SCRIPTING
127 if( nHintId == SfxHintId::BasicDataWanted )
134 if( nHintId == SfxHintId::BasicDataChanged )
147 std::unique_ptr<SfxBroadcaster> pSave = std::move(
mpBroadcaster);
153 mpPar->GetRef(0) =
this;
155 pSave->Broadcast(
SbxHint( nHintId,
this ) );
201 static const char cSuffixes[] =
" %&!#@ $";
220 OUStringBuffer aTmp(
maName );
227 cType = cSuffixes[ et ];
236 for (SbxParams::const_iterator iter =
pInfo->m_Params.begin(); iter !=
pInfo->m_Params.end(); ++iter)
238 auto const&
i = *iter;
239 int nt =
i->eType & 0x0FFF;
240 if (iter !=
pInfo->m_Params.begin())
252 aTmp.append(
i->aName );
259 cType = cSuffixes[ nt ];
309#if HAVE_FEATURE_SCRIPTING
366 for (sal_uInt32 nIdx = 0; !bFound && nIdx < pChildren->
Count(); ++nIdx)
368 bFound = (
this == pChildren->
Get(nIdx));
372 !bFound,
"basic.sbx",
373 "dangling: [" <<
GetName() <<
"].SetParent([" <<
p->GetName()
396#if HAVE_FEATURE_SCRIPTING
420 RTL_TEXTENCODING_ASCII_US);
431 RTL_TEXTENCODING_ASCII_US);
457 rStrm, RTL_TEXTENCODING_ASCII_US);
465 aTmp.
nSingle =
static_cast<float>(
d);
473 RTL_TEXTENCODING_ASCII_US);
484 RTL_TEXTENCODING_ASCII_US);
491 SAL_WARN(
"basic.sbx",
"Loaded a non-supported data type" );
511 pInfo->LoadData(
rStrm,
static_cast<sal_uInt16
>(cMark) );
513 Broadcast( SfxHintId::BasicDataChanged );
523 if(
dynamic_cast<const SbxMethod *
>(
this) !=
nullptr )
530 pThis->SbxValue::Clear();
548 RTL_TEXTENCODING_ASCII_US);
568SbxInfo::SbxInfo( OUString a, sal_uInt32 n )
569 : aHelpFile(
std::move(
a )), nHelpId(
n )
static utl::TransliterationWrapper & GetTransliteration()
SbxVariable * Get(sal_uInt32)
void SetFlags(SbxFlagBits n)
bool IsSet(SbxFlagBits n) const
void SetFlag(SbxFlagBits n)
SbxFlagBits GetFlags() const
virtual void SetModified(bool)
virtual SbxDataType GetType() const
void ResetFlag(SbxFlagBits n)
virtual void SetParent(SbxObject *p) override
SbxEnsureParentVariable(const SbxVariable &r)
virtual std::pair< bool, sal_uInt32 > StoreData(SvStream &) const override
SbxValue & operator=(const SbxValue &)
virtual bool LoadData(SvStream &, sal_uInt16) override
const SbxValues & GetValues_Impl() const
bool Put(const SbxValues &)
SbxVariable & operator=(const SbxVariable &)
const SbxObject * GetParent() const
StarBASIC * m_pComListenerParentBasic
const OUString & GetDeclareClassName() const
virtual SbxClassType GetClass() const
virtual bool LoadData(SvStream &, sal_uInt16) override
SfxBroadcaster & GetBroadcaster()
void SetName(const OUString &)
virtual ~SbxVariable() override
virtual void Broadcast(SfxHintId nHintId) override
void SetParameters(SbxArray *p)
virtual SbxDataType GetType() const override
SbxArray * GetParameters() const
void Dump(SvStream &, bool bDumpAll)
const OUString & GetName(SbxNameType=SbxNameType::NONE) const
css::uno::Reference< css::uno::XInterface > m_xComListener
std::unique_ptr< SfxBroadcaster > mpBroadcaster
void SetDeclareClassName(const OUString &)
static constexpr sal_uInt16 MakeHashCode(std::u16string_view aName)
virtual std::pair< bool, sal_uInt32 > StoreData(SvStream &) const override
void SetComListener(const css::uno::Reference< css::uno::XInterface > &xComListener, StarBASIC *pParentBasic)
virtual SbxInfo * GetInfo()
static OUString NameToCaseInsensitiveName(const OUString &rName)
virtual void SetParent(SbxObject *)
OUString m_aDeclareClassName
virtual void SetModified(bool) override
SvStream & ReadInt16(sal_Int16 &rInt16)
SvStream & WriteUChar(unsigned char nChar)
SvStream & WriteOString(std::string_view rStr)
SvStream & WriteUInt32(sal_uInt32 nUInt32)
SvStream & ReadUInt32(sal_uInt32 &rUInt32)
SvStream & ReadInt32(sal_Int32 &rInt32)
sal_uInt64 SeekRel(sal_Int64 nPos)
SvStream & ReadUInt16(sal_uInt16 &rUInt16)
SvStream & ReadUChar(unsigned char &rChar)
OUString transliterate(const OUString &rStr, sal_Int32 nStart, sal_Int32 nLen) const
#define SAL_INFO_IF(condition, area, stream)
#define SAL_WARN(area, stream)
OString OUStringToOString(std::u16string_view str, ConnectionSettings const *settings)
bool LibreOffice6FloatingPointMode()
void removeDimAsNewRecoverItem(SbxVariable *pVar)
void registerComListenerVariableForBasic(SbxVariable *pVar, StarBASIC *pBasic)
ErrCode ImpScan(const OUString &rSrc, double &nVal, SbxDataType &rType, sal_uInt16 *pLen, bool bOnlyIntntl)
tools::SvRef< SbxObject > SbxObjectRef
OUString GetSbxRes(StringId nId)
OUString read_uInt16_lenPrefixed_uInt8s_ToOUString(SvStream &rStrm, rtl_TextEncoding eEnc)
TOOLS_DLLPUBLIC SvStream & endl(SvStream &rStr)
std::size_t write_uInt16_lenPrefixed_uInt8s_FromOUString(SvStream &rStrm, std::u16string_view rStr, rtl_TextEncoding eEnc)