parsing 1000s of line of code is hard enough without having to fight with weird indentation and irregular formatting. So as the review progress, in order to follow the code, cosmetic changes were made... In order to minimize the task of the reviewers and allow them to concentrate on what matter, an effort is made to collect these cosmetic changes into this separate commit. Change-Id: I3c9b04a0150d0d0a048c2e976fe24de4f2b6b98a
219 lines
7.0 KiB
C++
219 lines
7.0 KiB
C++
/* -*- 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 "errobject.hxx"
|
|
|
|
#include <cppuhelper/implbase2.hxx>
|
|
#include <com/sun/star/script/XDefaultProperty.hpp>
|
|
#include "sbintern.hxx"
|
|
#include "runtime.hxx"
|
|
|
|
using namespace ::com::sun::star;
|
|
using namespace ::ooo;
|
|
|
|
typedef ::cppu::WeakImplHelper2< vba::XErrObject, script::XDefaultProperty > ErrObjectImpl_BASE;
|
|
|
|
class ErrObject : public ErrObjectImpl_BASE
|
|
{
|
|
rtl::OUString m_sHelpFile;
|
|
rtl::OUString m_sSource;
|
|
rtl::OUString m_sDescription;
|
|
sal_Int32 m_nNumber;
|
|
sal_Int32 m_nHelpContext;
|
|
|
|
public:
|
|
ErrObject();
|
|
~ErrObject();
|
|
// Attributes
|
|
virtual ::sal_Int32 SAL_CALL getNumber() throw (uno::RuntimeException);
|
|
virtual void SAL_CALL setNumber( ::sal_Int32 _number ) throw (uno::RuntimeException);
|
|
virtual ::sal_Int32 SAL_CALL getHelpContext() throw (uno::RuntimeException);
|
|
virtual void SAL_CALL setHelpContext( ::sal_Int32 _helpcontext ) throw (uno::RuntimeException);
|
|
virtual ::rtl::OUString SAL_CALL getHelpFile() throw (uno::RuntimeException);
|
|
virtual void SAL_CALL setHelpFile( const ::rtl::OUString& _helpfile ) throw (uno::RuntimeException);
|
|
virtual ::rtl::OUString SAL_CALL getDescription() throw (uno::RuntimeException);
|
|
virtual void SAL_CALL setDescription( const ::rtl::OUString& _description ) throw (uno::RuntimeException);
|
|
virtual ::rtl::OUString SAL_CALL getSource() throw (uno::RuntimeException);
|
|
virtual void SAL_CALL setSource( const ::rtl::OUString& _source ) throw (uno::RuntimeException);
|
|
|
|
// Methods
|
|
virtual void SAL_CALL Clear( ) throw (uno::RuntimeException);
|
|
virtual void SAL_CALL Raise( const uno::Any& Number, const uno::Any& Source, const uno::Any& Description, const uno::Any& HelpFile, const uno::Any& HelpContext ) throw (uno::RuntimeException);
|
|
// XDefaultProperty
|
|
virtual ::rtl::OUString SAL_CALL getDefaultPropertyName( ) throw (uno::RuntimeException);
|
|
|
|
// Helper method
|
|
void setData( const uno::Any& Number, const uno::Any& Source, const uno::Any& Description,
|
|
const uno::Any& HelpFile, const uno::Any& HelpContext ) throw (uno::RuntimeException);
|
|
};
|
|
|
|
|
|
ErrObject::~ErrObject()
|
|
{
|
|
}
|
|
|
|
ErrObject::ErrObject() : m_nNumber(0), m_nHelpContext(0)
|
|
{
|
|
}
|
|
|
|
sal_Int32 SAL_CALL
|
|
ErrObject::getNumber() throw (uno::RuntimeException)
|
|
{
|
|
return m_nNumber;
|
|
}
|
|
|
|
void SAL_CALL
|
|
ErrObject::setNumber( ::sal_Int32 _number ) throw (uno::RuntimeException)
|
|
{
|
|
GetSbData()->pInst->setErrorVB( _number, String() );
|
|
::rtl::OUString _description = GetSbData()->pInst->GetErrorMsg();
|
|
setData( uno::makeAny( _number ), uno::Any(), uno::makeAny( _description ), uno::Any(), uno::Any() );
|
|
}
|
|
|
|
::sal_Int32 SAL_CALL
|
|
ErrObject::getHelpContext() throw (uno::RuntimeException)
|
|
{
|
|
return m_nHelpContext;
|
|
}
|
|
void SAL_CALL
|
|
ErrObject::setHelpContext( ::sal_Int32 _helpcontext ) throw (uno::RuntimeException)
|
|
{
|
|
m_nHelpContext = _helpcontext;
|
|
}
|
|
|
|
::rtl::OUString SAL_CALL
|
|
ErrObject::getHelpFile() throw (uno::RuntimeException)
|
|
{
|
|
return m_sHelpFile;
|
|
}
|
|
|
|
void SAL_CALL
|
|
ErrObject::setHelpFile( const ::rtl::OUString& _helpfile ) throw (uno::RuntimeException)
|
|
{
|
|
m_sHelpFile = _helpfile;
|
|
}
|
|
|
|
::rtl::OUString SAL_CALL
|
|
ErrObject::getDescription() throw (uno::RuntimeException)
|
|
{
|
|
return m_sDescription;
|
|
}
|
|
|
|
void SAL_CALL
|
|
ErrObject::setDescription( const ::rtl::OUString& _description ) throw (uno::RuntimeException)
|
|
{
|
|
m_sDescription = _description;
|
|
}
|
|
|
|
::rtl::OUString SAL_CALL
|
|
ErrObject::getSource() throw (uno::RuntimeException)
|
|
{
|
|
return m_sSource;
|
|
}
|
|
|
|
void SAL_CALL
|
|
ErrObject::setSource( const ::rtl::OUString& _source ) throw (uno::RuntimeException)
|
|
{
|
|
m_sSource = _source;
|
|
}
|
|
|
|
// Methods
|
|
void SAL_CALL
|
|
ErrObject::Clear( ) throw (uno::RuntimeException)
|
|
{
|
|
m_sHelpFile = rtl::OUString();
|
|
m_sSource = m_sHelpFile;
|
|
m_sDescription = m_sSource;
|
|
m_nNumber = 0;
|
|
m_nHelpContext = 0;
|
|
}
|
|
|
|
void SAL_CALL
|
|
ErrObject::Raise( const uno::Any& Number, const uno::Any& Source, const uno::Any& Description, const uno::Any& HelpFile, const uno::Any& HelpContext ) throw (uno::RuntimeException)
|
|
{
|
|
setData( Number, Source, Description, HelpFile, HelpContext );
|
|
if ( m_nNumber )
|
|
GetSbData()->pInst->ErrorVB( m_nNumber, m_sDescription );
|
|
}
|
|
|
|
// XDefaultProperty
|
|
::rtl::OUString SAL_CALL
|
|
ErrObject::getDefaultPropertyName( ) throw (uno::RuntimeException)
|
|
{
|
|
static rtl::OUString sDfltPropName( "Number" );
|
|
return sDfltPropName;
|
|
}
|
|
|
|
void ErrObject::setData( const uno::Any& Number, const uno::Any& Source, const uno::Any& Description, const uno::Any& HelpFile, const uno::Any& HelpContext )
|
|
throw (uno::RuntimeException)
|
|
{
|
|
if ( !Number.hasValue() )
|
|
throw uno::RuntimeException( rtl::OUString("Missing Required Paramater"), uno::Reference< uno::XInterface >() );
|
|
Number >>= m_nNumber;
|
|
Description >>= m_sDescription;
|
|
Source >>= m_sSource;
|
|
HelpFile >>= m_sHelpFile;
|
|
HelpContext >>= m_nHelpContext;
|
|
}
|
|
|
|
// SbxErrObject
|
|
SbxErrObject::SbxErrObject( const String& rName, const Any& rUnoObj )
|
|
: SbUnoObject( rName, rUnoObj )
|
|
, m_pErrObject( NULL )
|
|
{
|
|
OSL_TRACE("SbxErrObject::SbxErrObject ctor");
|
|
rUnoObj >>= m_xErr;
|
|
if ( m_xErr.is() )
|
|
{
|
|
SetDfltProperty( uno::Reference< script::XDefaultProperty >( m_xErr, uno::UNO_QUERY_THROW )->getDefaultPropertyName() ) ;
|
|
m_pErrObject = static_cast< ErrObject* >( m_xErr.get() );
|
|
}
|
|
}
|
|
|
|
SbxErrObject::~SbxErrObject()
|
|
{
|
|
OSL_TRACE("SbxErrObject::~SbxErrObject dtor");
|
|
}
|
|
|
|
uno::Reference< vba::XErrObject >
|
|
SbxErrObject::getUnoErrObject()
|
|
{
|
|
SbxVariable* pVar = getErrObject();
|
|
SbxErrObject* pGlobErr = static_cast< SbxErrObject* >( pVar );
|
|
return pGlobErr->m_xErr;
|
|
}
|
|
|
|
SbxVariableRef
|
|
SbxErrObject::getErrObject()
|
|
{
|
|
static SbxVariableRef pGlobErr = new SbxErrObject( String( RTL_CONSTASCII_USTRINGPARAM("Err")), uno::makeAny( uno::Reference< vba::XErrObject >( new ErrObject() ) ) );
|
|
return pGlobErr;
|
|
}
|
|
|
|
void SbxErrObject::setNumberAndDescription( ::sal_Int32 _number, const ::rtl::OUString& _description )
|
|
throw (uno::RuntimeException)
|
|
{
|
|
if( m_pErrObject != NULL )
|
|
{
|
|
m_pErrObject->setData( uno::makeAny( _number ), uno::Any(), uno::makeAny( _description ), uno::Any(), uno::Any() );
|
|
}
|
|
}
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|