cppcanvas/source/uno/uno_mtfrenderer.cxx | 3 cui/source/options/optasian.cxx | 3 dbaccess/source/ui/browser/exsrcbrw.cxx | 28 dbaccess/source/ui/browser/formadapter.cxx | 4 desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx | 15 extensions/source/bibliography/bibconfig.cxx | 3 extensions/source/bibliography/bibload.cxx | 7 extensions/source/bibliography/datman.cxx | 22 extensions/source/bibliography/general.cxx | 3 extensions/source/bibliography/toolbar.cxx | 17 filter/source/graphicfilter/icgm/actimpr.cxx | 9 filter/source/msfilter/escherex.cxx | 76 +- filter/source/msfilter/eschesdo.cxx | 17 filter/source/msfilter/eschesdo.hxx | 3 filter/source/xsltfilter/OleHandler.cxx | 2 forms/source/component/Button.cxx | 3 forms/source/component/FormComponent.cxx | 7 forms/source/component/FormattedField.cxx | 4 forms/source/component/Grid.cxx | 2 forms/source/component/ListBox.cxx | 5 forms/source/component/RadioButton.cxx | 4 framework/source/recording/dispatchrecorder.cxx | 14 oox/source/core/xmlfilterbase.cxx | 4 oox/source/export/drawingml.cxx | 159 ++-- sc/source/core/data/dptabsrc.cxx | 6 sc/source/ui/unoobj/docuno.cxx | 15 sc/source/ui/unoobj/miscuno.cxx | 15 sc/source/ui/vba/vbarange.cxx | 3 sc/source/ui/vba/vbaworkbook.cxx | 2 sd/source/filter/eppt/eppt.cxx | 61 - sd/source/filter/eppt/epptso.cxx | 30 sd/source/filter/eppt/pptx-epptbase.cxx | 7 sd/source/filter/eppt/pptx-epptooxml.cxx | 3 sd/source/filter/eppt/pptx-text.cxx | 162 ++-- sd/source/filter/xml/sdxmlwrp.cxx | 4 sd/source/ui/app/optsitem.cxx | 143 ++-- sfx2/source/appl/opengrf.cxx | 3 starmath/source/unomodel.cxx | 27 svx/source/dialog/rubydialog.cxx | 5 svx/source/items/customshapeitem.cxx | 63 - svx/source/table/cell.cxx | 8 svx/source/unodraw/XPropertyTable.cxx | 5 svx/source/unodraw/unoshap2.cxx | 25 svx/source/unodraw/unoshape.cxx | 9 svx/source/xoutdev/xattr.cxx | 25 sw/source/core/edit/edlingu.cxx | 5 sw/source/core/fields/authfld.cxx | 7 sw/source/core/fields/dbfld.cxx | 3 sw/source/core/fields/ddefld.cxx | 5 sw/source/core/fields/docufld.cxx | 24 sw/source/core/fields/expfld.cxx | 11 sw/source/core/fields/flddat.cxx | 7 sw/source/core/fields/scrptfld.cxx | 3 sw/source/core/fields/tblcalc.cxx | 6 sw/source/core/fields/usrfld.cxx | 10 sw/source/core/frmedt/fefly1.cxx | 3 sw/source/core/graphic/grfatr.cxx | 3 sw/source/core/layout/atrfrm.cxx | 35 - sw/source/core/para/paratr.cxx | 5 sw/source/core/txtnode/fmtatr2.cxx | 3 sw/source/core/unocore/swunohelper.cxx | 3 sw/source/core/unocore/unodraw.cxx | 73 +- sw/source/core/unocore/unofield.cxx | 11 sw/source/core/unocore/unoframe.cxx | 7 sw/source/core/unocore/unoobj.cxx | 22 sw/source/core/unocore/unosett.cxx | 33 sw/source/core/unocore/unosrch.cxx | 5 sw/source/core/unocore/unotbl.cxx | 15 sw/source/filter/html/htmlforw.cxx | 444 ++++++------- sw/source/filter/ww8/wrtw8esh.cxx | 9 sw/source/filter/xml/XMLRedlineImportHelper.cxx | 9 sw/source/filter/xml/swxml.cxx | 9 sw/source/filter/xml/wrtxml.cxx | 3 sw/source/filter/xml/xmlexp.cxx | 13 sw/source/filter/xml/xmlimp.cxx | 25 sw/source/filter/xml/xmltble.cxx | 3 sw/source/filter/xml/xmltexti.cxx | 5 sw/source/ui/dbui/dbinsdlg.cxx | 13 sw/source/ui/misc/glossary.cxx | 3 sw/source/uibase/config/modcfg.cxx | 31 sw/source/uibase/config/prtopt.cxx | 33 sw/source/uibase/config/usrpref.cxx | 9 sw/source/uibase/envelp/envimg.cxx | 5 sw/source/uibase/envelp/labimg.cxx | 11 sw/source/uibase/uiview/view.cxx | 3 sw/source/uibase/uiview/view2.cxx | 5 sw/source/uibase/uno/SwXDocumentSettings.cxx | 93 +- sw/source/uibase/uno/unomod.cxx | 98 +- sw/source/uibase/uno/unotxdoc.cxx | 27 sw/source/uibase/uno/unotxvw.cxx | 3 sw/source/uibase/utlui/navicfg.cxx | 5 vbahelper/source/vbahelper/vbahelper.cxx | 5 92 files changed, 1121 insertions(+), 1077 deletions(-)
New commits: commit fd8f328462fc20d9a3a03b5f8ceb78faedeaa602 Author: Stephan Bergmann <sberg...@redhat.com> Date: Fri Jun 10 18:55:53 2016 +0200 Clean up uses of Any::getValue() in cppcanvas Change-Id: I9a69b35ee7dc2da3912a72361e0e742bf480e6be diff --git a/cppcanvas/source/uno/uno_mtfrenderer.cxx b/cppcanvas/source/uno/uno_mtfrenderer.cxx index 6d2c311..503047f 100644 --- a/cppcanvas/source/uno/uno_mtfrenderer.cxx +++ b/cppcanvas/source/uno/uno_mtfrenderer.cxx @@ -11,6 +11,7 @@ #include <cppcanvas/vclfactory.hxx> #include <comphelper/servicedecl.hxx> #include <cppuhelper/factory.hxx> +#include <o3tl/any.hxx> using namespace ::com::sun::star; @@ -34,7 +35,7 @@ void MtfRenderer::draw (double fScaleX, double fScaleY) throw (uno::RuntimeExcep void MtfRenderer::setFastPropertyValue( sal_Int32 nHandle, const uno::Any& aAny) throw (uno::RuntimeException, std::exception) { if (nHandle == 0) { - mpMetafile = reinterpret_cast<GDIMetaFile*>( *static_cast<const sal_Int64*>(aAny.getValue()) ); + mpMetafile = reinterpret_cast<GDIMetaFile*>( *o3tl::doAccess<sal_Int64>(aAny) ); } } commit d453d74b09fc812118eba5a996ebbee28fe592cb Author: Stephan Bergmann <sberg...@redhat.com> Date: Fri Jun 10 18:55:47 2016 +0200 Clean up uses of Any::getValue() in cui Change-Id: I31da32c90a09cd0746f2d05ed2cbd7ffde3f81e4 diff --git a/cui/source/options/optasian.cxx b/cui/source/options/optasian.cxx index 8113013..ed4341a 100644 --- a/cui/source/options/optasian.cxx +++ b/cui/source/options/optasian.cxx @@ -21,6 +21,7 @@ #include <optasian.hxx> #include <editeng/langitem.hxx> #include <editeng/unolingu.hxx> +#include <o3tl/any.hxx> #include <dialmgr.hxx> #include <cuires.hrc> #include <i18nlangtag/mslangid.hxx> @@ -263,7 +264,7 @@ void SvxAsianLayoutPage::Reset( const SfxItemSet* ) if(pImpl->xPrSetInfo->hasPropertyByName(sPunct)) { Any aVal = pImpl->xPrSet->getPropertyValue(sPunct); - bKernWesternText = !*static_cast<sal_Bool const *>(aVal.getValue()); + bKernWesternText = !*o3tl::doAccess<bool>(aVal); } } else commit 0cb1c2fdc106281e1594c4e714f1c79f0ad0ec8d Author: Stephan Bergmann <sberg...@redhat.com> Date: Fri Jun 10 18:55:42 2016 +0200 Clean up uses of Any::getValue() in dbaccess Change-Id: Icaad71e51301e017a48ab3f87b151f5e0de26cd9 diff --git a/dbaccess/source/ui/browser/exsrcbrw.cxx b/dbaccess/source/ui/browser/exsrcbrw.cxx index 2773e27..69db7d2 100644 --- a/dbaccess/source/ui/browser/exsrcbrw.cxx +++ b/dbaccess/source/ui/browser/exsrcbrw.cxx @@ -28,6 +28,7 @@ #include <comphelper/processfactory.hxx> #include "dbustrings.hrc" #include "dbu_reghelper.hxx" +#include <o3tl/any.hxx> #include <tools/diagnose_ex.h> #include <rtl/strbuf.hxx> @@ -142,24 +143,25 @@ void SAL_CALL SbaExternalSourceBrowser::dispatch(const css::util::URL& aURL, con { if ( pArguments->Name == "ColumnType" ) { - bool bCorrectType = pArguments->Value.getValueType().equals(::cppu::UnoType<OUString>::get()); - OSL_ENSURE(bCorrectType, "invalid type for argument \"ColumnType\" !"); - if (bCorrectType) - sControlType = ::comphelper::getString(pArguments->Value); + auto s = o3tl::tryAccess<OUString>(pArguments->Value); + OSL_ENSURE(s, "invalid type for argument \"ColumnType\" !"); + if (s) + sControlType = *s; } else if ( pArguments->Name == "ColumnPosition" ) { - bool bCorrectType = pArguments->Value.getValueType().equals(::cppu::UnoType<sal_Int16>::get()); - OSL_ENSURE(bCorrectType, "invalid type for argument \"ColumnPosition\" !"); - if (bCorrectType) - nControlPos = ::comphelper::getINT16(pArguments->Value); + auto n = o3tl::tryAccess<sal_Int16>(pArguments->Value); + OSL_ENSURE(n, "invalid type for argument \"ColumnPosition\" !"); + if (n) + nControlPos = *n; } else if ( pArguments->Name == "ColumnProperties" ) { - bool bCorrectType = pArguments->Value.getValueType().equals(cppu::UnoType<Sequence< css::beans::PropertyValue>>::get()); - OSL_ENSURE(bCorrectType, "invalid type for argument \"ColumnProperties\" !"); - if (bCorrectType) - aControlProps = *static_cast<Sequence< css::beans::PropertyValue> const *>(pArguments->Value.getValue()); + auto s = o3tl::tryAccess<Sequence<css::beans::PropertyValue>>( + pArguments->Value); + OSL_ENSURE(s, "invalid type for argument \"ColumnProperties\" !"); + if (s) + aControlProps = *s; } else SAL_WARN("dbaccess.ui", "SbaExternalSourceBrowser::dispatch(AddGridColumn) : unknown argument (" << pArguments->Name << ") !"); @@ -221,7 +223,7 @@ void SAL_CALL SbaExternalSourceBrowser::dispatch(const css::util::URL& aURL, con { if ( (pArguments->Name == "MasterForm") && (pArguments->Value.getValueTypeClass() == TypeClass_INTERFACE) ) { - xMasterForm.set(*static_cast<Reference< XInterface > const *>(pArguments->Value.getValue()), UNO_QUERY); + xMasterForm.set(pArguments->Value, UNO_QUERY); break; } } diff --git a/dbaccess/source/ui/browser/formadapter.cxx b/dbaccess/source/ui/browser/formadapter.cxx index 2ba33e9..f66fb41 100644 --- a/dbaccess/source/ui/browser/formadapter.cxx +++ b/dbaccess/source/ui/browser/formadapter.cxx @@ -1375,7 +1375,7 @@ void SbaXFormAdapter::implInsert(const Any& aElement, sal_Int32 nIndex, const OU throw css::lang::IllegalArgumentException(); } - Reference< css::form::XFormComponent > xElement(*static_cast<Reference< XInterface > const *>(aElement.getValue()), UNO_QUERY); + Reference< css::form::XFormComponent > xElement(aElement, UNO_QUERY); if (!xElement.is()) { throw css::lang::IllegalArgumentException(); @@ -1544,7 +1544,7 @@ void SAL_CALL SbaXFormAdapter::replaceByIndex(sal_Int32 _rIndex, const Any& Elem throw css::lang::IllegalArgumentException(); } - Reference< css::form::XFormComponent > xElement(*static_cast<Reference< XInterface > const *>(Element.getValue()), UNO_QUERY); + Reference< css::form::XFormComponent > xElement(Element, UNO_QUERY); if (!xElement.is()) { throw css::lang::IllegalArgumentException(); commit e5ca1f73a08a05c957b73929cafa748ba82a033c Author: Stephan Bergmann <sberg...@redhat.com> Date: Fri Jun 10 18:55:35 2016 +0200 Clean up uses of Any::getValue() in desktop Change-Id: I20cc2dba64a07012c7d03ab5d2aca56dd8cfb042 diff --git a/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx b/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx index a440d9e..d3598f3 100644 --- a/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx +++ b/desktop/source/deployment/gui/dp_gui_extensioncmdqueue.cxx @@ -50,6 +50,7 @@ #include <com/sun/star/uno/Sequence.hxx> #include <com/sun/star/uno/XInterface.hpp> #include <com/sun/star/uno/TypeClass.hpp> +#include <o3tl/any.hxx> #include <osl/diagnose.h> #include <osl/mutex.hxx> #include <rtl/ref.hxx> @@ -562,8 +563,8 @@ void ProgressCmdEnv::update_( uno::Any const & rStatus ) OUString text; if ( rStatus.hasValue() && !( rStatus >>= text) ) { - if ( rStatus.getValueTypeClass() == uno::TypeClass_EXCEPTION ) - text = static_cast< uno::Exception const *>( rStatus.getValue() )->Message; + if ( auto e = o3tl::tryAccess<uno::Exception>(rStatus) ) + text = e->Message; if ( text.isEmpty() ) text = ::comphelper::anyToString( rStatus ); // fallback @@ -800,11 +801,13 @@ void ExtensionCmdQueue::Thread::execute() uno::Any exc( ::cppu::getCaughtException() ); OUString msg; deployment::DeploymentException dpExc; - if ((exc >>= dpExc) && - dpExc.Cause.getValueTypeClass() == uno::TypeClass_EXCEPTION) + if (exc >>= dpExc) { - // notify error cause only: - msg = static_cast< uno::Exception const * >( dpExc.Cause.getValue() )->Message; + if (auto e = o3tl::tryAccess<uno::Exception>(dpExc.Cause)) + { + // notify error cause only: + msg = e->Message; + } } if (msg.isEmpty()) // fallback for debugging purposes msg = ::comphelper::anyToString(exc); commit 177afb1ec39d3ac9c66c7dfdc51ef9ad22e7b752 Author: Stephan Bergmann <sberg...@redhat.com> Date: Fri Jun 10 18:55:25 2016 +0200 Clean up uses of Any::getValue() in extensions Change-Id: I67b9127d8aa67a702086ef5bc61372ae54c2142e diff --git a/extensions/source/bibliography/bibconfig.cxx b/extensions/source/bibliography/bibconfig.cxx index a5d9733..3661903 100644 --- a/extensions/source/bibliography/bibconfig.cxx +++ b/extensions/source/bibliography/bibconfig.cxx @@ -25,6 +25,7 @@ #include <com/sun/star/lang/XMultiServiceFactory.hpp> #include <com/sun/star/sdb/DatabaseContext.hpp> #include <comphelper/processfactory.hxx> +#include <o3tl/any.hxx> #include <o3tl/make_unique.hxx> using namespace ::com::sun::star::uno; @@ -116,7 +117,7 @@ BibConfig::BibConfig() case 5: pValues[nProp] >>= sQueryText ; break; case 6: pValues[nProp] >>= sQueryField; break; case 7: - bShowColumnAssignmentWarning = *static_cast<sal_Bool const *>(pValues[nProp].getValue()); + bShowColumnAssignmentWarning = *o3tl::doAccess<bool>(pValues[nProp]); break; } } diff --git a/extensions/source/bibliography/bibload.cxx b/extensions/source/bibliography/bibload.cxx index fb36a2f..3bff83b 100644 --- a/extensions/source/bibliography/bibload.cxx +++ b/extensions/source/bibliography/bibload.cxx @@ -401,8 +401,7 @@ Reference< sdb::XColumn > BibliographyLoader::GetIdentifierColumn() const Reference< sdb::XColumn > xReturn; if (xColumns.is() && xColumns->hasByName(sIdentifierColumnName)) { - xReturn.set(*static_cast<Reference< XInterface > const *>( - xColumns->getByName(sIdentifierColumnName).getValue()), UNO_QUERY); + xReturn.set(xColumns->getByName(sIdentifierColumnName), UNO_QUERY); } return xReturn; } @@ -435,7 +434,7 @@ static OUString lcl_AddProperty(const Reference< XNameAccess >& xColumns, OUString uRet; Reference< sdb::XColumn > xCol; if (xColumns->hasByName(uColumnName)) - xCol.set(*static_cast<Reference< XInterface > const *>(xColumns->getByName(uColumnName).getValue()), UNO_QUERY); + xCol.set(xColumns->getByName(uColumnName), UNO_QUERY); if (xCol.is()) uRet = xCol->getString(); return uRet; @@ -461,7 +460,7 @@ Any BibliographyLoader::getByName(const OUString& rName) throw const OUString sIdentifierMapping = pDatMan->GetIdentifierMapping(); Reference< sdb::XColumn > xColumn; if (xColumns->hasByName(sIdentifierMapping)) - xColumn.set(*static_cast<Reference< XInterface > const *>(xColumns->getByName(sIdentifierMapping).getValue()), UNO_QUERY); + xColumn.set(xColumns->getByName(sIdentifierMapping), UNO_QUERY); if (xColumn.is()) { do diff --git a/extensions/source/bibliography/datman.cxx b/extensions/source/bibliography/datman.cxx index d9ff7c9..e9541d2 100644 --- a/extensions/source/bibliography/datman.cxx +++ b/extensions/source/bibliography/datman.cxx @@ -17,6 +17,9 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ +#include <sal/config.h> + +#include <o3tl/any.hxx> #include <osl/mutex.hxx> #include <sal/log.hxx> #include <tools/diagnose_ex.h> @@ -134,7 +137,7 @@ Reference< XConnection > getConnection(const Reference< XInterface > & xRowSe if (!xFormProps.is()) return xConn; - xConn.set(*static_cast<Reference< XInterface > const *>(xFormProps->getPropertyValue("ActiveConnection").getValue()), UNO_QUERY); + xConn.set(xFormProps->getPropertyValue("ActiveConnection"), UNO_QUERY); if (!xConn.is()) { SAL_INFO("extensions.biblio", "no active connection"); @@ -166,14 +169,13 @@ Reference< XNameAccess > getColumns(const Reference< XForm > & _rxForm) { try { - DBG_ASSERT((*static_cast<sal_Int32 const *>(xFormProps->getPropertyValue("CommandType").getValue())) == CommandType::TABLE, + DBG_ASSERT(*o3tl::forceAccess<sal_Int32>(xFormProps->getPropertyValue("CommandType")) == CommandType::TABLE, "::getColumns : invalid form (has no table as data source) !"); OUString sTable; xFormProps->getPropertyValue("Command") >>= sTable; Reference< XNameAccess > xTables = xSupplyTables->getTables(); if (xTables.is() && xTables->hasByName(sTable)) - xSupplyCols.set( - *static_cast<Reference< XInterface > const *>(xTables->getByName(sTable).getValue()), UNO_QUERY); + xSupplyCols.set(xTables->getByName(sTable), UNO_QUERY); if (xSupplyCols.is()) xReturn = xSupplyCols->getColumns(); } @@ -1428,7 +1430,7 @@ void BibDataManager::propertyChange(const beans::PropertyChangeEvent& evt) throw if( evt.NewValue.getValueType() == cppu::UnoType<io::XInputStream>::get()) { Reference< io::XDataInputStream > xStream( - *static_cast<const Reference< io::XInputStream > *>(evt.NewValue.getValue()), UNO_QUERY ); + evt.NewValue, UNO_QUERY ); aUID <<= xStream->readUTF(); } else @@ -1472,13 +1474,12 @@ void BibDataManager::SetMeAsUidListener() if(!theFieldName.isEmpty()) { - Reference< XPropertySet > xPropSet; Any aElement; aElement = xFields->getByName(theFieldName); - xPropSet = *static_cast<Reference< XPropertySet > const *>(aElement.getValue()); + auto xPropSet = o3tl::doAccess<Reference<XPropertySet>>(aElement); - xPropSet->addPropertyChangeListener(FM_PROP_VALUE, this); + (*xPropSet)->addPropertyChangeListener(FM_PROP_VALUE, this); } } @@ -1516,13 +1517,12 @@ void BibDataManager::RemoveMeAsUidListener() if(!theFieldName.isEmpty()) { - Reference< XPropertySet > xPropSet; Any aElement; aElement = xFields->getByName(theFieldName); - xPropSet = *static_cast<Reference< XPropertySet > const *>(aElement.getValue()); + auto xPropSet = o3tl::doAccess<Reference<XPropertySet>>(aElement); - xPropSet->removePropertyChangeListener(FM_PROP_VALUE, this); + (*xPropSet)->removePropertyChangeListener(FM_PROP_VALUE, this); } } diff --git a/extensions/source/bibliography/general.cxx b/extensions/source/bibliography/general.cxx index 7758e4f..f58a7cb 100644 --- a/extensions/source/bibliography/general.cxx +++ b/extensions/source/bibliography/general.cxx @@ -129,8 +129,7 @@ void BibPosListener::cursorMoved(const lang::EventObject& /*aEvent*/) throw( uno if(xValueAcc.is() && xValueAcc->hasByName(uTypeMapping)) { uno::Any aVal = xValueAcc->getByName(uTypeMapping); - uno::Reference< uno::XInterface > xInt = *static_cast<uno::Reference< uno::XInterface > const *>(aVal.getValue()); - uno::Reference< sdb::XColumn > xCol(xInt, UNO_QUERY); + uno::Reference< sdb::XColumn > xCol(aVal, UNO_QUERY); DBG_ASSERT(xCol.is(), "BibPosListener::cursorMoved : invalid column (no sdb::XColumn) !"); if (xCol.is()) { diff --git a/extensions/source/bibliography/toolbar.cxx b/extensions/source/bibliography/toolbar.cxx index 521446c..3cf37e4 100644 --- a/extensions/source/bibliography/toolbar.cxx +++ b/extensions/source/bibliography/toolbar.cxx @@ -24,6 +24,7 @@ #include <com/sun/star/util/XURLTransformer.hpp> #include <com/sun/star/frame/FrameSearchFlag.hpp> #include <datman.hxx> +#include <o3tl/any.hxx> #include <svx/svxids.hrc> #include <svtools/miscopt.hxx> #include <svtools/imgdef.hxx> @@ -65,10 +66,9 @@ void BibToolBarListener::statusChanged(const css::frame::FeatureStateEvent& rEvt pToolBar->EnableItem(nIndex,rEvt.IsEnabled); css::uno::Any aState=rEvt.State; - if(aState.getValueType()==cppu::UnoType<bool>::get()) + if(auto bChecked = o3tl::tryAccess<bool>(aState)) { - bool bChecked= *static_cast<sal_Bool const *>(aState.getValue()); - pToolBar->CheckItem(nIndex, bChecked); + pToolBar->CheckItem(nIndex, *bChecked); } } @@ -92,12 +92,11 @@ void BibTBListBoxListener::statusChanged(const css::frame::FeatureStateEvent& rE pToolBar->EnableSourceList(rEvt.IsEnabled); Any aState = rEvt.State; - if(aState.getValueType() == cppu::UnoType<Sequence<OUString>>::get()) + if(auto pStringSeq = o3tl::tryAccess<Sequence<OUString>>(aState)) { pToolBar->UpdateSourceList(false); pToolBar->ClearSourceList(); - Sequence<OUString> const * pStringSeq = static_cast<Sequence<OUString> const *>(aState.getValue()); const OUString* pStringArray = pStringSeq->getConstArray(); sal_uInt32 nCount = pStringSeq->getLength(); @@ -131,11 +130,10 @@ void BibTBQueryMenuListener::statusChanged(const frame::FeatureStateEvent& rEvt) pToolBar->EnableSourceList(rEvt.IsEnabled); uno::Any aState=rEvt.State; - if(aState.getValueType()==cppu::UnoType<Sequence<OUString>>::get()) + if(auto pStringSeq = o3tl::tryAccess<Sequence<OUString>>(aState)) { pToolBar->ClearFilterMenu(); - Sequence<OUString> const * pStringSeq = static_cast<Sequence<OUString> const *>(aState.getValue()); const OUString* pStringArray = pStringSeq->getConstArray(); sal_uInt32 nCount = pStringSeq->getLength(); @@ -168,10 +166,9 @@ void BibTBEditListener::statusChanged(const frame::FeatureStateEvent& rEvt)throw pToolBar->EnableQuery(rEvt.IsEnabled); uno::Any aState=rEvt.State; - if(aState.getValueType()== ::cppu::UnoType<OUString>::get()) + if(auto aStr = o3tl::tryAccess<OUString>(aState)) { - OUString aStr = *static_cast<OUString const *>(aState.getValue()); - pToolBar->SetQueryString(aStr); + pToolBar->SetQueryString(*aStr); } } } commit e4eb0f6ecee2d82966c0da156185415e5886f60f Author: Stephan Bergmann <sberg...@redhat.com> Date: Fri Jun 10 18:55:19 2016 +0200 Clean up uses of Any::getValue() in filter Change-Id: I4cd1b554be56d4d43db4108925397a8498781491 diff --git a/filter/source/graphicfilter/icgm/actimpr.cxx b/filter/source/graphicfilter/icgm/actimpr.cxx index 2d364c48..c260568 100644 --- a/filter/source/graphicfilter/icgm/actimpr.cxx +++ b/filter/source/graphicfilter/icgm/actimpr.cxx @@ -17,6 +17,9 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ +#include <sal/config.h> + +#include <o3tl/any.hxx> #include <vcl/bitmapex.hxx> #include <com/sun/star/drawing/XDrawPagesSupplier.hpp> #include <com/sun/star/drawing/LineStyle.hpp> @@ -65,7 +68,7 @@ CGMImpressOutAct::CGMImpressOutAct( CGM& rCGM, const uno::Reference< frame::XMod maXMultiServiceFactory.set( rModel, uno::UNO_QUERY); if( maXMultiServiceFactory.is() ) { - maXDrawPage = *static_cast<uno::Reference< drawing::XDrawPage > const *>(maXDrawPages->getByIndex( 0 ).getValue()); + maXDrawPage = *o3tl::doAccess<uno::Reference<drawing::XDrawPage>>(maXDrawPages->getByIndex( 0 )); if ( ImplInitPage() ) bStatRet = true; } @@ -397,7 +400,7 @@ void CGMImpressOutAct::EndGroup() uno::Reference< drawing::XShapes > aXShapes = drawing::ShapeCollection::create(comphelper::getProcessComponentContext()); for ( sal_uInt32 i = nFirstIndex; i < nCurrentCount; i++ ) { - uno::Reference< drawing::XShape > aXShape = *static_cast<uno::Reference< drawing::XShape > const *>(maXShapes->getByIndex( i ).getValue()); + uno::Reference< drawing::XShape > aXShape = *o3tl::doAccess<uno::Reference<drawing::XShape>>(maXShapes->getByIndex( i )); if (aXShape.is() ) { aXShapes->add( aXShape ); @@ -840,7 +843,7 @@ void CGMImpressOutAct::AppendText( char* pString, sal_uInt32 /*nSize*/, FinalFla { if ( nFinalTextCount ) { - uno::Reference< drawing::XShape > aShape = *static_cast<uno::Reference< drawing::XShape > const *>(maXShapes->getByIndex( nFinalTextCount - 1 ).getValue()); + uno::Reference< drawing::XShape > aShape = *o3tl::doAccess<uno::Reference<drawing::XShape>>(maXShapes->getByIndex( nFinalTextCount - 1 )); if ( aShape.is() ) { uno::Reference< text::XText > xText; diff --git a/filter/source/msfilter/escherex.cxx b/filter/source/msfilter/escherex.cxx index a926899..e4d7c4b 100644 --- a/filter/source/msfilter/escherex.cxx +++ b/filter/source/msfilter/escherex.cxx @@ -18,6 +18,7 @@ */ #include "eschesdo.hxx" +#include <o3tl/any.hxx> #include <svx/svdxcgv.hxx> #include <svx/svdomedia.hxx> #include <svx/xflftrit.hxx> @@ -437,7 +438,7 @@ void EscherPropertyContainer::CreateGradientProperties( if (bTransparentGradient && EscherPropertyValueHelper::GetPropertyValue( aAny, rXPropSet, "FillTransparenceGradient" ) ) { - pGradient = static_cast<css::awt::Gradient const *>(aAny.getValue()); + pGradient = o3tl::doAccess<css::awt::Gradient>(aAny); css::uno::Any aAnyTemp; const rtl::OUString aPropName( "FillStyle" ); @@ -453,8 +454,8 @@ void EscherPropertyContainer::CreateGradientProperties( if ( EscherPropertyValueHelper::GetPropertyValue( aAnyTemp, rXPropSet, "FillColor" ) ) { - const_cast<css::awt::Gradient *>(pGradient)->StartColor = ImplGetColor( *static_cast<sal_uInt32 const *>(aAnyTemp.getValue()), false ); - const_cast<css::awt::Gradient *>(pGradient)->EndColor = ImplGetColor( *static_cast<sal_uInt32 const *>(aAnyTemp.getValue()), false ); + const_cast<css::awt::Gradient *>(pGradient)->StartColor = ImplGetColor( *o3tl::doAccess<sal_uInt32>(aAnyTemp), false ); + const_cast<css::awt::Gradient *>(pGradient)->EndColor = ImplGetColor( *o3tl::doAccess<sal_uInt32>(aAnyTemp), false ); } } // gradient and transparency. @@ -462,7 +463,7 @@ void EscherPropertyContainer::CreateGradientProperties( { if ( EscherPropertyValueHelper::GetPropertyValue( aAny, rXPropSet, "FillGradient" ) ) - pGradient = static_cast<css::awt::Gradient const *>(aAny.getValue()); + pGradient = o3tl::doAccess<css::awt::Gradient>(aAny); } } @@ -471,7 +472,7 @@ void EscherPropertyContainer::CreateGradientProperties( else if ( EscherPropertyValueHelper::GetPropertyValue( aAny, rXPropSet, "FillGradient" ) ) { - pGradient = static_cast<css::awt::Gradient const *>(aAny.getValue()); + pGradient = o3tl::doAccess<css::awt::Gradient>(aAny); } if ( pGradient ) @@ -540,7 +541,7 @@ void EscherPropertyContainer::CreateGradientProperties( if (bTransparentGradient && EscherPropertyValueHelper::GetPropertyValue( aAny, rXPropSet, "FillTransparenceGradient" ) ) { - pGradient = static_cast<css::awt::Gradient const *>(aAny.getValue()); + pGradient = o3tl::doAccess<css::awt::Gradient>(aAny); if ( pGradient ) { sal_uInt32 nBlue = GetGradientColor( pGradient, nFirstColor ) >> 16; @@ -622,7 +623,7 @@ void EscherPropertyContainer::CreateFillProperties( if ( EscherPropertyValueHelper::GetPropertyValue( aAny, rXPropSet, "FillColor" ) ) { - sal_uInt32 nFillColor = ImplGetColor( *static_cast<sal_uInt32 const *>(aAny.getValue()) ); + sal_uInt32 nFillColor = ImplGetColor( *o3tl::doAccess<sal_uInt32>(aAny) ); nFillBackColor = nFillColor ^ 0xffffff; AddOpt( ESCHER_Prop_fillColor, nFillColor ); } @@ -639,7 +640,7 @@ void EscherPropertyContainer::CreateFillProperties( { sal_uInt16 nTransparency = ( EscherPropertyValueHelper::GetPropertyValue( aAny, rXPropSet, "FillTransparence", true ) ) - ? *static_cast<sal_Int16 const *>(aAny.getValue()) : 0; + ? *o3tl::doAccess<sal_Int16>(aAny) : 0; if ( nTransparency ) AddOpt( ESCHER_Prop_fillOpacity, ( ( 100 - nTransparency ) << 16 ) / 100 ); } @@ -825,7 +826,7 @@ void EscherPropertyContainer::CreateTextProperties( { sal_uInt16 nAngle = EscherPropertyValueHelper::GetPropertyValue( aAny, rXPropSet, "RotateAngle", true ) ? - (sal_uInt16)( ( *static_cast<sal_Int32 const *>(aAny.getValue()) ) + 5 ) / 10 : 0; + (sal_uInt16)( ( *o3tl::doAccess<sal_Int32>(aAny) ) + 5 ) / 10 : 0; if (nAngle==900) { AddOpt( ESCHER_Prop_txflTextFlow, ESCHER_txflBtoT ); @@ -865,7 +866,7 @@ bool EscherPropertyContainer::GetLineArrow( const bool bLineStart, if ( EscherPropertyValueHelper::GetPropertyValue( aAny, rXPropSet, sLineName ) ) { - OUString aArrowStartName = *static_cast<OUString const *>(aAny.getValue()); + OUString aArrowStartName = *o3tl::doAccess<OUString>(aAny); sal_Int16 nWhich = bLineStart ? XATTR_LINESTART : XATTR_LINEEND; OUString aApiName = SvxUnogetApiNameForItem(nWhich, aArrowStartName); @@ -1018,7 +1019,7 @@ void EscherPropertyContainer::CreateLineProperties( if ( EscherPropertyValueHelper::GetPropertyValue( aAny, rXPropSet, "LineDash" ) ) { ESCHER_LineDashing eDash = ESCHER_LineSolid; - css::drawing::LineDash const * pLineDash = static_cast<css::drawing::LineDash const *>(aAny.getValue()); + auto pLineDash = o3tl::doAccess<css::drawing::LineDash>(aAny); sal_Int32 nDistance = pLineDash->Distance << 1; switch ( pLineDash->Style ) { @@ -1074,14 +1075,14 @@ void EscherPropertyContainer::CreateLineProperties( } if ( EscherPropertyValueHelper::GetPropertyValue( aAny, rXPropSet, "LineColor" ) ) { - sal_uInt32 nLineColor = ImplGetColor( *static_cast<sal_uInt32 const *>(aAny.getValue()) ); + sal_uInt32 nLineColor = ImplGetColor( *o3tl::doAccess<sal_uInt32>(aAny) ); AddOpt( ESCHER_Prop_lineColor, nLineColor ); AddOpt( ESCHER_Prop_lineBackColor, nLineColor ^ 0xffffff ); } } sal_uInt32 nLineSize = ( EscherPropertyValueHelper::GetPropertyValue( aAny, rXPropSet, "LineWidth" ) ) - ? *static_cast<sal_uInt32 const *>(aAny.getValue()) : 0; + ? *o3tl::doAccess<sal_uInt32>(aAny) : 0; if ( nLineSize > 1 ) AddOpt( ESCHER_Prop_lineWidth, nLineSize * 360 ); // 100TH MM -> PT , 1PT = 12700 EMU @@ -1441,8 +1442,8 @@ bool EscherPropertyContainer::CreateGraphicProperties( sal_uInt16 nAngle = 0; if ( rSource == "MetaFile" ) { - css::uno::Sequence<sal_Int8> aSeq = *static_cast<css::uno::Sequence<sal_Int8> const *>(aAny.getValue()); - const sal_Int8* pAry = aSeq.getArray(); + auto & aSeq = *o3tl::doAccess<css::uno::Sequence<sal_Int8>>(aAny); + const sal_Int8* pAry = aSeq.getConstArray(); sal_uInt32 nAryLen = aSeq.getLength(); // the metafile is already rotated @@ -1480,11 +1481,11 @@ bool EscherPropertyContainer::CreateGraphicProperties( } else if ( rSource == "FillBitmapURL" ) { - aGraphicUrl = *static_cast<OUString const *>(aAny.getValue()); + aGraphicUrl = *o3tl::doAccess<OUString>(aAny); } else if ( rSource == "GraphicURL" ) { - aGraphicUrl = *static_cast<OUString const *>(aAny.getValue()); + aGraphicUrl = *o3tl::doAccess<OUString>(aAny); bCreateFillStyles = true; } else if ( rSource == "FillHatch" ) @@ -1495,7 +1496,7 @@ bool EscherPropertyContainer::CreateGraphicProperties( Color aBackColor; if ( EscherPropertyValueHelper::GetPropertyValue( aAny, rXPropSet, "FillColor" ) ) { - aBackColor = ImplGetColor( *static_cast<sal_uInt32 const *>(aAny.getValue()), false ); + aBackColor = ImplGetColor( *o3tl::doAccess<sal_uInt32>(aAny), false ); } bool bFillBackground = false; if ( EscherPropertyValueHelper::GetPropertyValue( aAny, rXPropSet, "FillBackground", true ) ) @@ -1549,7 +1550,7 @@ bool EscherPropertyContainer::CreateGraphicProperties( else { nAngle = bRotate && EscherPropertyValueHelper::GetPropertyValue( aAny, rXPropSet, "RotateAngle", true ) - ? (sal_uInt16)( ( *static_cast<sal_Int32 const *>(aAny.getValue()) ) + 5 ) / 10 + ? (sal_uInt16)( ( *o3tl::doAccess<sal_Int32>(aAny) ) + 5 ) / 10 : 0; } @@ -1791,8 +1792,8 @@ tools::PolyPolygon EscherPropertyContainer::GetPolyPolygon( const css::uno::Any& if ( rAny.getValueType() == cppu::UnoType<css::drawing::PolyPolygonBezierCoords>::get()) { - css::drawing::PolyPolygonBezierCoords const * pSourcePolyPolygon - = static_cast<css::drawing::PolyPolygonBezierCoords const *>(rAny.getValue()); + auto pSourcePolyPolygon + = o3tl::doAccess<css::drawing::PolyPolygonBezierCoords>(rAny); sal_uInt16 nOuterSequenceCount = (sal_uInt16)pSourcePolyPolygon->Coordinates.getLength(); // get pointer of inner sequences @@ -1838,10 +1839,8 @@ tools::PolyPolygon EscherPropertyContainer::GetPolyPolygon( const css::uno::Any& } } } - else if ( rAny.getValueType() == cppu::UnoType<css::drawing::PointSequenceSequence>::get() ) + else if ( auto pSourcePolyPolygon = o3tl::tryAccess<css::drawing::PointSequenceSequence>(rAny) ) { - css::drawing::PointSequenceSequence const * pSourcePolyPolygon - = static_cast<css::drawing::PointSequenceSequence const *>(rAny.getValue()); sal_uInt16 nOuterSequenceCount = (sal_uInt16)pSourcePolyPolygon->getLength(); // get pointer to inner sequences @@ -1876,11 +1875,8 @@ tools::PolyPolygon EscherPropertyContainer::GetPolyPolygon( const css::uno::Any& } } } - else if ( rAny.getValueType() == cppu::UnoType<css::drawing::PointSequence>::get() ) + else if ( auto pInnerSequence = o3tl::tryAccess<css::drawing::PointSequence>(rAny) ) { - css::drawing::PointSequence const * pInnerSequence = - static_cast<css::drawing::PointSequence const *>(rAny.getValue()); - bNoError = pInnerSequence != nullptr; if ( bNoError ) { @@ -2232,10 +2228,10 @@ bool EscherPropertyContainer::CreateConnectorProperties( aAny >>= eCt; if ( EscherPropertyValueHelper::GetPropertyValue( aAny, aXPropSet, sEdgeStartPoint ) ) { - aStartPoint = *static_cast<css::awt::Point const *>(aAny.getValue()); + aStartPoint = *o3tl::doAccess<css::awt::Point>(aAny); if ( EscherPropertyValueHelper::GetPropertyValue( aAny, aXPropSet, sEdgeEndPoint ) ) { - aEndPoint = *static_cast<css::awt::Point const *>(aAny.getValue()); + aEndPoint = *o3tl::doAccess<css::awt::Point>(aAny); rShapeFlags = SHAPEFLAG_HAVEANCHOR | SHAPEFLAG_HAVESPT | SHAPEFLAG_CONNECTOR; rGeoRect = css::awt::Rectangle( aStartPoint.X, aStartPoint.Y, @@ -2348,13 +2344,13 @@ void EscherPropertyContainer::CreateShadowProperties( { nShadowFlags |= 2; if ( EscherPropertyValueHelper::GetPropertyValue( aAny, rXPropSet, "ShadowColor" ) ) - AddOpt( ESCHER_Prop_shadowColor, ImplGetColor( *static_cast<sal_uInt32 const *>(aAny.getValue()) ) ); + AddOpt( ESCHER_Prop_shadowColor, ImplGetColor( *o3tl::doAccess<sal_uInt32>(aAny) ) ); if ( EscherPropertyValueHelper::GetPropertyValue( aAny, rXPropSet, "ShadowXDistance" ) ) - AddOpt( ESCHER_Prop_shadowOffsetX, *static_cast<sal_Int32 const *>(aAny.getValue()) * 360 ); + AddOpt( ESCHER_Prop_shadowOffsetX, *o3tl::doAccess<sal_Int32>(aAny) * 360 ); if ( EscherPropertyValueHelper::GetPropertyValue( aAny, rXPropSet, "ShadowYDistance" ) ) - AddOpt( ESCHER_Prop_shadowOffsetY, *static_cast<sal_Int32 const *>(aAny.getValue()) * 360 ); + AddOpt( ESCHER_Prop_shadowOffsetY, *o3tl::doAccess<sal_Int32>(aAny) * 360 ); if ( EscherPropertyValueHelper::GetPropertyValue( aAny, rXPropSet, "ShadowTransparence" ) ) - AddOpt( ESCHER_Prop_shadowOpacity, 0x10000 - (((sal_uInt32)*static_cast<sal_uInt16 const *>(aAny.getValue())) * 655 ) ); + AddOpt( ESCHER_Prop_shadowOpacity, 0x10000 - (((sal_uInt32)*o3tl::doAccess<sal_uInt16>(aAny)) * 655 ) ); } } } @@ -2971,7 +2967,7 @@ void EscherPropertyContainer::CreateCustomShapeProperties( const MSO_SPT eShapeT uno::Any aFillColor2; if ( EscherPropertyValueHelper::GetPropertyValue( aFillColor2, aXPropSet, "FillColor2", true ) ) { - sal_uInt32 nFillColor = ImplGetColor( *static_cast<sal_uInt32 const *>(aFillColor2.getValue()) ); + sal_uInt32 nFillColor = ImplGetColor( *o3tl::doAccess<sal_uInt32>(aFillColor2) ); AddOpt( DFF_Prop_c3DExtrusionColor, nFillColor ); } } @@ -4529,8 +4525,8 @@ sal_uInt32 EscherConnectorListEntry::GetConnectorRule( bool bFirst ) { if ( EscherPropertyValueHelper::GetPropertyValue( aAny, aPropertySet, "PolyPolygon" ) ) { - css::drawing::PointSequenceSequence const * pSourcePolyPolygon = - static_cast<css::drawing::PointSequenceSequence const *>(aAny.getValue()); + auto pSourcePolyPolygon = + o3tl::doAccess<css::drawing::PointSequenceSequence>(aAny); sal_Int32 nOuterSequenceCount = pSourcePolyPolygon->getLength(); css::drawing::PointSequence const * pOuterSequence = pSourcePolyPolygon->getConstArray(); @@ -4571,8 +4567,8 @@ sal_uInt32 EscherConnectorListEntry::GetConnectorRule( bool bFirst ) { if ( EscherPropertyValueHelper::GetPropertyValue( aAny, aPropertySet2, "PolyPolygonBezier" ) ) { - css::drawing::PolyPolygonBezierCoords const * pSourcePolyPolygon = - static_cast<css::drawing::PolyPolygonBezierCoords const *>(aAny.getValue()); + auto pSourcePolyPolygon = + o3tl::doAccess<css::drawing::PolyPolygonBezierCoords>(aAny); sal_Int32 nOuterSequenceCount = pSourcePolyPolygon->Coordinates.getLength(); // Zeiger auf innere sequences holen @@ -4715,7 +4711,7 @@ sal_uInt32 EscherConnectorListEntry::GetConnectorRule( bool bFirst ) aPoly[ 3 ] = Point( aRect.Right(), aCenter.Y() ); sal_Int32 nAngle = ( EscherPropertyValueHelper::GetPropertyValue( aAny, aPropertySet, "RotateAngle", true ) ) - ? *static_cast<sal_Int32 const *>(aAny.getValue()) : 0; + ? *o3tl::doAccess<sal_Int32>(aAny) : 0; if ( nAngle ) aPoly.Rotate( aRect.TopLeft(), (sal_uInt16)( ( nAngle + 5 ) / 10 ) ); nRule = GetClosestPoint( aPoly, aRefPoint ); diff --git a/filter/source/msfilter/eschesdo.cxx b/filter/source/msfilter/eschesdo.cxx index 4d2a309..1cbb28a8 100644 --- a/filter/source/msfilter/eschesdo.cxx +++ b/filter/source/msfilter/eschesdo.cxx @@ -18,6 +18,7 @@ */ #include "eschesdo.hxx" +#include <o3tl/any.hxx> #include <svx/svdobj.hxx> #include <svx/unoapi.hxx> #include <svx/svdoashp.hxx> @@ -211,8 +212,8 @@ sal_uInt32 ImplEESdrWriter::ImplWriteShape( ImplEESdrObject& rObj, for( sal_uInt32 n = 0, nCnt = xXIndexAccess->getCount(); n < nCnt; ++n ) { - ImplEESdrObject aObj( *this, *static_cast<Reference< XShape > const *>( - xXIndexAccess->getByIndex( n ).getValue()) ); + ImplEESdrObject aObj( *this, *o3tl::doAccess<Reference<XShape>>( + xXIndexAccess->getByIndex( n )) ); if( aObj.IsValid() ) { aObj.SetOOXML(bOOxmlExport); @@ -332,7 +333,7 @@ sal_uInt32 ImplEESdrWriter::ImplWriteShape( ImplEESdrObject& rObj, PolyStyle ePolyKind = PolyStyle(); if ( rObj.ImplGetPropertyValue( OUString( "CircleKind" ) ) ) { - eCircleKind = *( static_cast<CircleKind const *>(rObj.GetUsrAny().getValue()) ); + eCircleKind = *o3tl::doAccess<CircleKind>(rObj.GetUsrAny()); switch ( eCircleKind ) { case CircleKind_SECTION : @@ -367,10 +368,10 @@ sal_uInt32 ImplEESdrWriter::ImplWriteShape( ImplEESdrObject& rObj, sal_Int32 nStartAngle, nEndAngle; if ( !rObj.ImplGetPropertyValue( OUString( "CircleStartAngle" ) ) ) break; - nStartAngle = *( static_cast<sal_Int32 const *>(rObj.GetUsrAny().getValue()) ); + nStartAngle = *o3tl::doAccess<sal_Int32>(rObj.GetUsrAny()); if( !rObj.ImplGetPropertyValue( OUString( "CircleEndAngle" ) ) ) break; - nEndAngle = *( static_cast<sal_Int32 const *>(rObj.GetUsrAny().getValue()) ); + nEndAngle = *o3tl::doAccess<sal_Int32>(rObj.GetUsrAny()); Point aStart, aEnd, aCenter; aStart.X() = (sal_Int32)( ( cos( (double)( nStartAngle * @@ -653,7 +654,7 @@ sal_uInt32 ImplEESdrWriter::ImplWriteShape( ImplEESdrObject& rObj, if( USHRT_MAX != mpEscherEx->GetHellLayerId() && rObj.ImplGetPropertyValue( OUString( "LayerID" ) ) && - (*static_cast<sal_uInt16 const *>(rObj.GetUsrAny().getValue()) ) == mpEscherEx->GetHellLayerId() ) + *o3tl::doAccess<sal_uInt16>(rObj.GetUsrAny()) == mpEscherEx->GetHellLayerId() ) { aPropOpt.AddOpt( ESCHER_Prop_fPrint, 0x200020 ); } @@ -838,8 +839,8 @@ void ImplEESdrWriter::ImplWritePage( mXStatusIndicator->setValue( nValue ); } - ImplEESdrObject aObj( *this, *static_cast<Reference< XShape > const *>( - mXShapes->getByIndex( n ).getValue()) ); + ImplEESdrObject aObj( *this, *o3tl::doAccess<Reference<XShape>>( + mXShapes->getByIndex( n )) ); if( aObj.IsValid() ) { ImplWriteShape( aObj, rSolverContainer ); diff --git a/filter/source/msfilter/eschesdo.hxx b/filter/source/msfilter/eschesdo.hxx index 448df68..13e37ed 100644 --- a/filter/source/msfilter/eschesdo.hxx +++ b/filter/source/msfilter/eschesdo.hxx @@ -19,6 +19,7 @@ #ifndef INCLUDED_FILTER_SOURCE_MSFILTER_ESCHESDO_HXX #define INCLUDED_FILTER_SOURCE_MSFILTER_ESCHESDO_HXX #include <filter/msfilter/escherex.hxx> +#include <o3tl/any.hxx> #include <svx/unopage.hxx> #include <vcl/mapmod.hxx> @@ -57,7 +58,7 @@ public: bool ImplGetPropertyValue( const OUString& rString ) { return ImplGetPropertyValue(rString.getStr()); } sal_Int32 ImplGetInt32PropertyValue( const sal_Unicode* pStr ) - { return ImplGetPropertyValue( pStr ) ? *static_cast<sal_Int32 const *>(mAny.getValue()) : 0; } + { return ImplGetPropertyValue( pStr ) ? *o3tl::doAccess<sal_Int32>(mAny) : 0; } sal_Int32 ImplGetInt32PropertyValue( const OUString& rStr ) { return ImplGetInt32PropertyValue(rStr.getStr()); } diff --git a/filter/source/xsltfilter/OleHandler.cxx b/filter/source/xsltfilter/OleHandler.cxx index d79cd01..6564d2e 100644 --- a/filter/source/xsltfilter/OleHandler.cxx +++ b/filter/source/xsltfilter/OleHandler.cxx @@ -102,7 +102,7 @@ namespace XSLT return "Not Found:";// + streamName; } ; - Reference<XInputStream> subStream(*static_cast<Reference< XInterface > const *>(m_storage->getByName(streamName).getValue()), UNO_QUERY); + Reference<XInputStream> subStream(m_storage->getByName(streamName), UNO_QUERY); if (!subStream.is()) { return "Not Found:";// + streamName; commit 9741e7a437da478ceb05a6122ee3e4a111d60d18 Author: Stephan Bergmann <sberg...@redhat.com> Date: Fri Jun 10 18:55:13 2016 +0200 Clean up uses of Any::getValue() in forms Change-Id: I335aabc92ecb5de107dad3ecdfa6e025ec0d1b0f diff --git a/forms/source/component/Button.cxx b/forms/source/component/Button.cxx index e49b950..603bf3a 100644 --- a/forms/source/component/Button.cxx +++ b/forms/source/component/Button.cxx @@ -25,6 +25,7 @@ #include <comphelper/streamsection.hxx> #include <comphelper/basicio.hxx> #include <comphelper/processfactory.hxx> +#include <o3tl/any.hxx> #include <tools/diagnose_ex.h> #include <tools/debug.hxx> #include <tools/urlobj.hxx> @@ -445,7 +446,7 @@ IMPL_LINK_NOARG_TYPED(OButtonControl, OnClick, void*, void) if (!xSet.is()) return; - if (FormButtonType_PUSH == *static_cast<FormButtonType const *>(xSet->getPropertyValue(PROPERTY_BUTTONTYPE).getValue())) + if (FormButtonType_PUSH == *o3tl::doAccess<FormButtonType>(xSet->getPropertyValue(PROPERTY_BUTTONTYPE))) { // notify the action listeners for a push button ::comphelper::OInterfaceIteratorHelper2 aIter(m_aActionListeners); diff --git a/forms/source/component/FormComponent.cxx b/forms/source/component/FormComponent.cxx index fd7b2c7..431501c 100644 --- a/forms/source/component/FormComponent.cxx +++ b/forms/source/component/FormComponent.cxx @@ -844,12 +844,7 @@ PropertyState OControlModel::getPropertyStateByHandle( sal_Int32 _nHandle ) Any aCurrentValue = getPropertyDefaultByHandle( _nHandle ); Any aDefaultValue; getFastPropertyValue( aDefaultValue, _nHandle ); - bool bEqual = uno_type_equalData( - const_cast< void* >( aCurrentValue.getValue() ), aCurrentValue.getValueType().getTypeLibType(), - const_cast< void* >( aDefaultValue.getValue() ), aDefaultValue.getValueType().getTypeLibType(), - reinterpret_cast< uno_QueryInterfaceFunc >(cpp_queryInterface), - reinterpret_cast< uno_ReleaseFunc >(cpp_release) - ); + bool bEqual = aCurrentValue == aDefaultValue; return bEqual ? PropertyState_DEFAULT_VALUE : PropertyState_DIRECT_VALUE; } diff --git a/forms/source/component/FormattedField.cxx b/forms/source/component/FormattedField.cxx index c027352..56cb7eb 100644 --- a/forms/source/component/FormattedField.cxx +++ b/forms/source/component/FormattedField.cxx @@ -27,6 +27,7 @@ #include <comphelper/numbers.hxx> #include <connectivity/dbtools.hxx> #include <connectivity/dbconversion.hxx> +#include <o3tl/any.hxx> #include <svl/zforlist.hxx> #include <svl/numuno.hxx> #include <vcl/svapp.hxx> @@ -683,9 +684,8 @@ void OFormattedModel::write(const Reference<XObjectOutputStream>& _rxOutStream) { Any aLocale = xFormat->getPropertyValue(s_aLocaleProp); DBG_ASSERT(aLocale.has<Locale>(), "OFormattedModel::write : invalid language property !"); - if (aLocale.has<Locale>()) + if (auto pLocale = o3tl::tryAccess<Locale>(aLocale)) { - Locale const * pLocale = static_cast<Locale const *>(aLocale.getValue()); eFormatLanguage = LanguageTag::convertToLanguageType( *pLocale, false); } } diff --git a/forms/source/component/Grid.cxx b/forms/source/component/Grid.cxx index 45b046b..9433424 100644 --- a/forms/source/component/Grid.cxx +++ b/forms/source/component/Grid.cxx @@ -521,7 +521,7 @@ sal_Bool OGridControlModel::convertFastPropertyValue( Any& rConvertedValue, Any& } rOldValue = m_aCursorColor; rConvertedValue = rValue; - bModified = (rOldValue.getValue() != rConvertedValue.getValue()); + bModified = rOldValue != rConvertedValue; } else bModified = tryPropertyValue(rConvertedValue, rOldValue, rValue, getINT32(m_aCursorColor)); diff --git a/forms/source/component/ListBox.cxx b/forms/source/component/ListBox.cxx index 6b3f1b4..006a2be 100644 --- a/forms/source/component/ListBox.cxx +++ b/forms/source/component/ListBox.cxx @@ -49,6 +49,7 @@ #include <connectivity/formattedcolumnvalue.hxx> #include <connectivity/dbconversion.hxx> #include <cppuhelper/queryinterface.hxx> +#include <o3tl/any.hxx> #include <tools/debug.hxx> #include <tools/diagnose_ex.h> #include <unotools/sharedunocomponent.hxx> @@ -1886,8 +1887,8 @@ namespace frm bool bModified(false); Any aValue = xSet->getPropertyValue(PROPERTY_SELECT_SEQ); - Sequence<sal_Int16> const & rSelection = *static_cast<Sequence<sal_Int16> const *>(aValue.getValue()); - Sequence<sal_Int16> const & rOldSelection = *static_cast<Sequence<sal_Int16> const *>(m_aCurrentSelection.getValue()); + Sequence<sal_Int16> const & rSelection = *o3tl::doAccess<Sequence<sal_Int16>>(aValue); + Sequence<sal_Int16> const & rOldSelection = *o3tl::doAccess<Sequence<sal_Int16>>(m_aCurrentSelection); sal_Int32 nLen = rSelection.getLength(); if (nLen != rOldSelection.getLength()) bModified = true; diff --git a/forms/source/component/RadioButton.cxx b/forms/source/component/RadioButton.cxx index 567eb5c..6192383 100644 --- a/forms/source/component/RadioButton.cxx +++ b/forms/source/component/RadioButton.cxx @@ -154,7 +154,7 @@ void ORadioButtonModel::SetSiblingPropsTo(const OUString& rPropName, const Any& sal_Int32 nNumSiblings = xIndexAccess->getCount(); for (sal_Int32 i=0; i<nNumSiblings; ++i) { - Reference<XPropertySet> xSiblingProperties(*static_cast<css::uno::Reference<css::uno::XInterface> const *>(xIndexAccess->getByIndex(i).getValue()), UNO_QUERY); + Reference<XPropertySet> xSiblingProperties(xIndexAccess->getByIndex(i), UNO_QUERY); if (!xSiblingProperties.is()) continue; if (xMyProps == xSiblingProperties) @@ -229,7 +229,7 @@ void ORadioButtonModel::setControlSource() static_cast<XWeak*>(this), css::uno::UNO_QUERY); for (sal_Int32 i=0; i<xIndexAccess->getCount(); ++i) { - Reference<XPropertySet> xSiblingProperties(*static_cast<css::uno::Reference<css::uno::XInterface> const *>(xIndexAccess->getByIndex(i).getValue()), UNO_QUERY); + Reference<XPropertySet> xSiblingProperties(xIndexAccess->getByIndex(i), UNO_QUERY); if (!xSiblingProperties.is()) continue; commit 7bf2f61ac786e969e33693647b1365aca3b2731c Author: Stephan Bergmann <sberg...@redhat.com> Date: Fri Jun 10 18:55:07 2016 +0200 Clean up uses of Any::getValue() in framework Change-Id: I55982944bf2ee3d9aa6899bcc59e94f9342b4036 diff --git a/framework/source/recording/dispatchrecorder.cxx b/framework/source/recording/dispatchrecorder.cxx index c1bf646..b4298ed 100644 --- a/framework/source/recording/dispatchrecorder.cxx +++ b/framework/source/recording/dispatchrecorder.cxx @@ -20,6 +20,7 @@ #include <recording/dispatchrecorder.hxx> #include <com/sun/star/frame/DispatchStatement.hpp> #include <com/sun/star/script/Converter.hpp> +#include <o3tl/any.hxx> #include <services.h> #include <vcl/svapp.hxx> #include <comphelper/processfactory.hxx> @@ -251,15 +252,14 @@ void SAL_CALL DispatchRecorder::AppendToBuffer( const css::uno::Any& aValue, OUS else aArgumentBuffer.append("\"\""); } - else if (aValue.getValueType() == cppu::UnoType<cppu::UnoCharType>::get()) + else if (auto nVal = o3tl::tryAccess<sal_Unicode>(aValue)) { // character variables are recorded as strings, back conversion must be handled in client code - sal_Unicode nVal = *static_cast<sal_Unicode const *>(aValue.getValue()); aArgumentBuffer.append("\""); - if ( (sal_Unicode(nVal) == '\"') ) + if ( (*nVal == '\"') ) // encode \" to \"\" - aArgumentBuffer.append((sal_Unicode)nVal); - aArgumentBuffer.append((sal_Unicode)nVal); + aArgumentBuffer.append(*nVal); + aArgumentBuffer.append(*nVal); aArgumentBuffer.append("\""); } else @@ -416,9 +416,7 @@ void SAL_CALL DispatchRecorder::replaceByIndex(sal_Int32 idx, const css::uno::An } - css::frame::DispatchStatement const *pStatement; - - pStatement = static_cast<css::frame::DispatchStatement const *>(element.getValue()); + auto pStatement = o3tl::doAccess<css::frame::DispatchStatement>(element); css::frame::DispatchStatement aStatement( pStatement->aCommand, commit 0def3a7dc4c0eacd95eeba71af71eface4f42260 Author: Stephan Bergmann <sberg...@redhat.com> Date: Fri Jun 10 18:55:01 2016 +0200 Clean up uses of Any::getValue() in oox Change-Id: I76d83ad472eb0cd44b593a86dac1f8c1ee8c3585 diff --git a/oox/source/core/xmlfilterbase.cxx b/oox/source/core/xmlfilterbase.cxx index d179616..99ce23f 100644 --- a/oox/source/core/xmlfilterbase.cxx +++ b/oox/source/core/xmlfilterbase.cxx @@ -30,6 +30,7 @@ #include <com/sun/star/xml/sax/XFastParser.hpp> #include <com/sun/star/xml/sax/XFastSAXSerializable.hpp> #include <com/sun/star/document/XDocumentProperties.hpp> +#include <o3tl/any.hxx> #include <unotools/mediadescriptor.hxx> #include <unotools/docinfohelper.hxx> #include <sax/fshelper.hxx> @@ -762,8 +763,7 @@ writeCustomProperties( XmlFilterBase& rSelf, const Reference< XDocumentPropertie break; case TypeClass_BOOLEAN: { - bool val ; - val = *static_cast<sal_Bool const *>(( aprop[n].Value ).getValue()); + bool val = *o3tl::forceAccess<bool>(aprop[n].Value); writeElement( pAppProps, FSNS( XML_vt, XML_bool ), val ? 1 : 0); } break; diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx index c9566bf..ec29c9e 100644 --- a/oox/source/export/drawingml.cxx +++ b/oox/source/export/drawingml.cxx @@ -67,6 +67,7 @@ #include <com/sun/star/text/XTextField.hpp> #include <com/sun/star/text/XTextRange.hpp> #include <com/sun/star/style/CaseMap.hpp> +#include <o3tl/any.hxx> #include <tools/stream.hxx> #include <unotools/fontdefs.hxx> #include <vcl/cvtgrf.hxx> @@ -350,7 +351,7 @@ void DrawingML::WriteGradientFill( const Reference< XPropertySet >& rXPropSet ) awt::Gradient aGradient; if( GETA( FillGradient ) ) { - aGradient = *static_cast< const awt::Gradient* >( mAny.getValue() ); + aGradient = *o3tl::doAccess<awt::Gradient>(mAny); // get InteropGrabBag and search the relevant attributes awt::Gradient aOriginalGradient; @@ -1220,10 +1221,10 @@ void DrawingML::WriteRunProperties( const Reference< XPropertySet >& rRun, bool sal_Int32 nCharKerning = 0; if( GETA( CharHeight ) ) - nSize = (sal_Int32) (100*(*static_cast<float const *>(mAny.getValue()))); + nSize = (sal_Int32) (100*(*o3tl::doAccess<float>(mAny))); if( GETA( CharKerning ) ) - nCharKerning = (sal_Int32)(*static_cast<short const *>(mAny.getValue())); + nCharKerning = (sal_Int32)(*o3tl::doAccess<sal_Int16>(mAny)); /** While setting values in propertymap, * CharKerning converted using GetTextSpacingPoint * i.e set @ http://opengrok.libreoffice.org/xref/core/oox/source/drawingml/textcharacterproperties.cxx#129 @@ -1234,12 +1235,12 @@ void DrawingML::WriteRunProperties( const Reference< XPropertySet >& rRun, bool if ( ( bComplex && GETA( CharWeightComplex ) ) || GETA( CharWeight ) ) { - if ( *static_cast<float const *>(mAny.getValue()) >= awt::FontWeight::SEMIBOLD ) + if ( *o3tl::doAccess<float>(mAny) >= awt::FontWeight::SEMIBOLD ) bold = "1"; } if ( ( bComplex && GETA( CharPostureComplex ) ) || GETA( CharPosture ) ) - switch ( *static_cast<awt::FontSlant const *>(mAny.getValue()) ) + switch ( *o3tl::doAccess<awt::FontSlant>(mAny) ) { case awt::FontSlant_OBLIQUE : case awt::FontSlant_ITALIC : @@ -1251,7 +1252,7 @@ void DrawingML::WriteRunProperties( const Reference< XPropertySet >& rRun, bool if ( CGETAD( CharUnderline ) ) { - switch ( *static_cast<sal_Int16 const *>(mAny.getValue()) ) + switch ( *o3tl::doAccess<sal_Int16>(mAny) ) { case awt::FontUnderline::SINGLE : underline = "sng"; @@ -1306,7 +1307,7 @@ void DrawingML::WriteRunProperties( const Reference< XPropertySet >& rRun, bool if ( CGETAD( CharStrikeout ) ) { - switch ( *static_cast<sal_Int16 const *>(mAny.getValue()) ) + switch ( *o3tl::doAccess<sal_Int16>(mAny) ) { case awt::FontStrikeout::NONE : strikeout = "noStrike"; @@ -1353,7 +1354,7 @@ void DrawingML::WriteRunProperties( const Reference< XPropertySet >& rRun, bool if( GETA( CharCaseMap ) ) { - switch ( *static_cast<sal_Int16 const *>(mAny.getValue()) ) + switch ( *o3tl::doAccess<sal_Int16>(mAny) ) { case CaseMap::UPPERCASE : cap = "all"; @@ -1380,7 +1381,7 @@ void DrawingML::WriteRunProperties( const Reference< XPropertySet >& rRun, bool // mso doesn't like text color to be placed after typeface if( CGETAD( CharColor ) ) { - sal_uInt32 color = *static_cast<sal_uInt32 const *>(mAny.getValue()); + sal_uInt32 color = *o3tl::doAccess<sal_uInt32>(mAny); SAL_INFO("oox.shape", "run color: " << color << " auto: " << COL_AUTO); if( color == COL_AUTO ) // nCharColor depends to the background color @@ -1396,7 +1397,7 @@ void DrawingML::WriteRunProperties( const Reference< XPropertySet >& rRun, bool if( CGETAD( CharUnderlineColor ) ) { - sal_uInt32 color = *static_cast<sal_uInt32 const *>(mAny.getValue()); + sal_uInt32 color = *o3tl::doAccess<sal_uInt32>(mAny); mpFS->startElementNS( XML_a, XML_uFill,FSEND); WriteSolidFill( color ); @@ -1470,7 +1471,7 @@ OUString DrawingML::GetFieldValue( const css::uno::Reference< css::text::XTextRa if( GETA( TextPortionType ) ) { - aFieldType = OUString( *static_cast<OUString const *>(mAny.getValue()) ); + aFieldType = *o3tl::doAccess<OUString>(mAny); SAL_INFO("oox.shape", "field type: " << aFieldType); } @@ -1719,73 +1720,68 @@ void DrawingML::WriteParagraphNumbering( const Reference< XPropertySet >& rXProp for ( sal_Int32 i = 0; i < nPropertyCount; i++ ) { - const void* pValue = pPropValue[ i ].Value.getValue(); - if ( pValue ) + OUString aPropName( pPropValue[ i ].Name ); + SAL_INFO("oox.shape", "pro name: " << aPropName); + if ( aPropName == "NumberingType" ) { - OUString aPropName( pPropValue[ i ].Name ); - SAL_INFO("oox.shape", "pro name: " << aPropName); - if ( aPropName == "NumberingType" ) - { - nNumberingType = *( static_cast<sal_Int16 const *>(pValue) ); - } - else if ( aPropName == "Prefix" ) - { - if( *static_cast<OUString const *>(pValue) == ")") - bPBoth = true; - } - else if ( aPropName == "Suffix" ) - { - if( *static_cast<OUString const *>(pValue) == ".") - bSDot = true; - else if( *static_cast<OUString const *>(pValue) == ")") - bPBehind = true; - } - else if(aPropName == "BulletColor") - { - nBulletColor = *static_cast<sal_uInt32 const *>(pValue); - bHasBulletColor = true; - } - else if ( aPropName == "BulletChar" ) - { - aBulletChar = OUString ( *( static_cast<OUString const *>(pValue) ) )[ 0 ]; - } - else if ( aPropName == "BulletFont" ) - { - aFontDesc = *static_cast<awt::FontDescriptor const *>(pValue); - bHasFontDesc = true; + nNumberingType = *o3tl::doAccess<sal_Int16>(pPropValue[i].Value); + } + else if ( aPropName == "Prefix" ) + { + if( *o3tl::doAccess<OUString>(pPropValue[i].Value) == ")") + bPBoth = true; + } + else if ( aPropName == "Suffix" ) + { + auto s = o3tl::doAccess<OUString>(pPropValue[i].Value); + if( *s == ".") + bSDot = true; + else if( *s == ")") + bPBehind = true; + } + else if(aPropName == "BulletColor") + { + nBulletColor = *o3tl::doAccess<sal_uInt32>(pPropValue[i].Value); + bHasBulletColor = true; + } + else if ( aPropName == "BulletChar" ) + { + aBulletChar = (*o3tl::doAccess<OUString>(pPropValue[i].Value))[ 0 ]; + } + else if ( aPropName == "BulletFont" ) + { + aFontDesc = *o3tl::doAccess<awt::FontDescriptor>(pPropValue[i].Value); + bHasFontDesc = true; - // Our numbullet dialog has set the wrong textencoding for our "StarSymbol" font, - // instead of a Unicode encoding the encoding RTL_TEXTENCODING_SYMBOL was used. - // Because there might exist a lot of damaged documemts I added this two lines - // which fixes the bullet problem for the export. - if ( aFontDesc.Name.equalsIgnoreAsciiCase("StarSymbol") ) - aFontDesc.CharSet = RTL_TEXTENCODING_MS_1252; + // Our numbullet dialog has set the wrong textencoding for our "StarSymbol" font, + // instead of a Unicode encoding the encoding RTL_TEXTENCODING_SYMBOL was used. + // Because there might exist a lot of damaged documemts I added this two lines + // which fixes the bullet problem for the export. + if ( aFontDesc.Name.equalsIgnoreAsciiCase("StarSymbol") ) + aFontDesc.CharSet = RTL_TEXTENCODING_MS_1252; - } - else if ( aPropName == "BulletRelSize" ) - { - nBulletRelSize = *static_cast<sal_Int16 const *>(pValue); - } - else if ( aPropName == "StartWith" ) - { - nStartWith = *static_cast<sal_Int16 const *>(pValue); - } - else if ( aPropName == "GraphicURL" ) - { - aGraphicURL = *static_cast<OUString const *>(pValue); - SAL_INFO("oox.shape", "graphic url: " << aGraphicURL); - } - else if ( aPropName == "GraphicSize" ) + } + else if ( aPropName == "BulletRelSize" ) + { + nBulletRelSize = *o3tl::doAccess<sal_Int16>(pPropValue[i].Value); + } + else if ( aPropName == "StartWith" ) + { + nStartWith = *o3tl::doAccess<sal_Int16>(pPropValue[i].Value); + } + else if ( aPropName == "GraphicURL" ) + { + aGraphicURL = *o3tl::doAccess<OUString>(pPropValue[i].Value); + SAL_INFO("oox.shape", "graphic url: " << aGraphicURL); + } + else if ( aPropName == "GraphicSize" ) + { + if (auto aSize = o3tl::tryAccess<awt::Size>(pPropValue[i].Value)) { - if ( pPropValue[ i ].Value.getValueType() == cppu::UnoType<awt::Size>::get()) - { - // don't cast awt::Size to Size as on 64-bits they are not the same. - css::awt::Size aSize; - pPropValue[ i ].Value >>= aSize; - //aBuGraSize.nA = aSize.Width; - //aBuGraSize.nB = aSize.Height; - SAL_INFO("oox.shape", "graphic size: " << aSize.Width << "x" << aSize.Height); - } + // don't cast awt::Size to Size as on 64-bits they are not the same. + //aBuGraSize.nA = aSize.Width; + //aBuGraSize.nB = aSize.Height; + SAL_INFO("oox.shape", "graphic size: " << aSize->Width << "x" << aSize->Height); } } } @@ -1867,14 +1863,10 @@ sal_Int32 DrawingML::getBulletMarginIndentation (const Reference< XPropertySet > for ( sal_Int32 i = 0; i < nPropertyCount; i++ ) { - const void* pValue = pPropValue[ i ].Value.getValue(); - if ( pValue ) - { - OUString aPropName( pPropValue[ i ].Name ); - SAL_INFO("oox.shape", "pro name: " << aPropName); - if ( aPropName == propName ) - return *( static_cast<sal_Int32 const *>(pValue) ); - } + OUString aPropName( pPropValue[ i ].Name ); + SAL_INFO("oox.shape", "pro name: " << aPropName); + if ( aPropName == propName ) + return *o3tl::doAccess<sal_Int32>(pPropValue[i].Value); } return 0; @@ -2298,8 +2290,7 @@ void DrawingML::WriteCustomGeometry( const Reference< XShape >& rXShape ) } - uno::Sequence< beans::PropertyValue > const * pGeometrySeq = - static_cast<uno::Sequence< beans::PropertyValue > const *>(aAny.getValue()); + auto pGeometrySeq = o3tl::tryAccess<uno::Sequence<beans::PropertyValue>>(aAny); if ( pGeometrySeq ) { commit c97c898f65196292e7084bcad696c666adb9149f Author: Stephan Bergmann <sberg...@redhat.com> Date: Fri Jun 10 18:54:57 2016 +0200 Clean up uses of Any::getValue() in sc Change-Id: Ic272f616533021ee2148adaf28eed68301aa4602 diff --git a/sc/source/core/data/dptabsrc.cxx b/sc/source/core/data/dptabsrc.cxx index eb6052c..498c11c 100644 --- a/sc/source/core/data/dptabsrc.cxx +++ b/sc/source/core/data/dptabsrc.cxx @@ -24,6 +24,7 @@ #include <unordered_set> #include <vector> +#include <o3tl/any.hxx> #include <rtl/math.hxx> #include <svl/itemprop.hxx> #include <svl/intitem.hxx> @@ -85,9 +86,8 @@ SC_SIMPLE_SERVICE_INFO( ScDPMember, "ScDPMember", "com.sun.star.sheet. //TODO: move to a header? static bool lcl_GetBoolFromAny( const uno::Any& aAny ) { - if ( aAny.getValueTypeClass() == uno::TypeClass_BOOLEAN ) - return *static_cast<sal_Bool const *>(aAny.getValue()); - return false; + auto b = o3tl::tryAccess<bool>(aAny); + return b && *b; } ScDPSource::ScDPSource( ScDPTableData* pD ) : diff --git a/sc/source/ui/unoobj/docuno.cxx b/sc/source/ui/unoobj/docuno.cxx index 1d9d462..912a4fd 100644 --- a/sc/source/ui/unoobj/docuno.cxx +++ b/sc/source/ui/unoobj/docuno.cxx @@ -22,6 +22,7 @@ #include "scitems.hxx" #include <editeng/editview.hxx> #include <editeng/outliner.hxx> +#include <o3tl/any.hxx> #include <svx/fmdpage.hxx> #include <svx/fmview.hxx> #include <svx/svditer.hxx> @@ -1035,11 +1036,10 @@ uno::Sequence<uno::Type> SAL_CALL ScModelObj::getTypes() throw(uno::RuntimeExcep { const uno::Type& rProvType = cppu::UnoType<lang::XTypeProvider>::get(); uno::Any aNumProv(xNumberAgg->queryAggregation(rProvType)); - if(aNumProv.getValueType() == rProvType) + if(auto xNumProv + = o3tl::tryAccess<uno::Reference<lang::XTypeProvider>>(aNumProv)) { - uno::Reference<lang::XTypeProvider> xNumProv( - *static_cast<uno::Reference<lang::XTypeProvider> const *>(aNumProv.getValue())); - aAggTypes = xNumProv->getTypes(); + aAggTypes = (*xNumProv)->getTypes(); } } long nAggLen = aAggTypes.getLength(); @@ -2626,11 +2626,10 @@ sal_Int64 SAL_CALL ScModelObj::getSomething( { const uno::Type& rTunnelType = cppu::UnoType<lang::XUnoTunnel>::get(); uno::Any aNumTunnel(xNumberAgg->queryAggregation(rTunnelType)); - if(aNumTunnel.getValueType() == rTunnelType) + if(auto xTunnelAgg = o3tl::tryAccess<uno::Reference<lang::XUnoTunnel>>( + aNumTunnel)) { - uno::Reference<lang::XUnoTunnel> xTunnelAgg( - *static_cast<uno::Reference<lang::XUnoTunnel> const *>(aNumTunnel.getValue())); - return xTunnelAgg->getSomething( rId ); + return (*xTunnelAgg)->getSomething( rId ); } } diff --git a/sc/source/ui/unoobj/miscuno.cxx b/sc/source/ui/unoobj/miscuno.cxx index a6256fcf..fb870d5 100644 --- a/sc/source/ui/unoobj/miscuno.cxx +++ b/sc/source/ui/unoobj/miscuno.cxx @@ -18,6 +18,7 @@ */ #include <cppuhelper/supportsservice.hxx> +#include <o3tl/any.hxx> #include <vcl/svapp.hxx> #include "miscuno.hxx" @@ -45,14 +46,7 @@ bool ScUnoHelpFunctions::GetBoolProperty( const uno::Reference<beans::XPropertyS { try { - uno::Any aAny(xProp->getPropertyValue( rName )); - //! type conversion??? - // operator >>= shouldn't be used for bool (?) - if ( aAny.getValueTypeClass() == uno::TypeClass_BOOLEAN ) - { - //! safe way to get bool value from any??? - bRet = *static_cast<sal_Bool const *>(aAny.getValue()); - } + xProp->getPropertyValue( rName ) >>= bRet; } catch(uno::Exception&) { @@ -131,9 +125,8 @@ OUString ScUnoHelpFunctions::GetStringProperty( bool ScUnoHelpFunctions::GetBoolFromAny( const uno::Any& aAny ) { - if ( aAny.getValueTypeClass() == uno::TypeClass_BOOLEAN ) - return *static_cast<sal_Bool const *>(aAny.getValue()); - return false; + auto b = o3tl::tryAccess<bool>(aAny); + return b && *b; } sal_Int16 ScUnoHelpFunctions::GetInt16FromAny( const uno::Any& aAny ) diff --git a/sc/source/ui/vba/vbarange.cxx b/sc/source/ui/vba/vbarange.cxx index c7ad992..40921ee 100644 --- a/sc/source/ui/vba/vbarange.cxx +++ b/sc/source/ui/vba/vbarange.cxx @@ -23,6 +23,7 @@ #include <comphelper/unwrapargs.hxx> #include <comphelper/processfactory.hxx> +#include <o3tl/any.hxx> #include <sfx2/objsh.hxx> #include <com/sun/star/script/ArrayWrapper.hpp> @@ -950,7 +951,7 @@ protected: ValueGetter& mValueGetter; void processValue( sal_Int32 x, sal_Int32 y, const uno::Any& aValue ) { - uno::Sequence< uno::Sequence< uno::Any > >& aMatrix = *const_cast<css::uno::Sequence<css::uno::Sequence<css::uno::Any>> *>(static_cast<uno::Sequence< uno::Sequence< uno::Any > > const *>(maValue.getValue())); + uno::Sequence< uno::Sequence< uno::Any > >& aMatrix = const_cast<css::uno::Sequence<css::uno::Sequence<css::uno::Any>> &>(*o3tl::doAccess<uno::Sequence<uno::Sequence<uno::Any>>>(maValue)); aMatrix[x][y] = aValue; } diff --git a/sc/source/ui/vba/vbaworkbook.cxx b/sc/source/ui/vba/vbaworkbook.cxx index ba6c992..6b97d3b 100644 --- a/sc/source/ui/vba/vbaworkbook.cxx +++ b/sc/source/ui/vba/vbaworkbook.cxx @@ -82,7 +82,7 @@ ScVbaWorkbook::ResetColors( ) throw (::script::BasicErrorException, ::uno::Runt ScVbaWorkbook::Colors( const ::uno::Any& Index ) throw (::script::BasicErrorException, ::uno::RuntimeException, std::exception) { uno::Any aRet; - if ( Index.getValue() ) + if ( Index.hasValue() ) { sal_Int32 nIndex = 0; Index >>= nIndex; commit a7ce813f4898d99084f2b2929823acc9a2747ad4 Author: Stephan Bergmann <sberg...@redhat.com> Date: Fri Jun 10 18:54:49 2016 +0200 Clean up uses of Any::getValue() in sd Change-Id: Ie4f165efd14d7cdfc99d600f3ddc000d438e0c6a diff --git a/sd/source/filter/eppt/eppt.cxx b/sd/source/filter/eppt/eppt.cxx index 3ac5cfc..27184fd 100644 --- a/sd/source/filter/eppt/eppt.cxx +++ b/sd/source/filter/eppt/eppt.cxx @@ -19,6 +19,7 @@ #include <eppt.hxx> #include "epptdef.hxx" +#include <o3tl/any.hxx> #include <tools/globname.hxx> #include <tools/poly.hxx> #include <vcl/graph.hxx> @@ -194,7 +195,7 @@ void PPTWriter::ImplWriteSlide( sal_uInt32 nPageNum, sal_uInt32 nMasterNum, sal_ aAny >>= bVisible; if ( GetPropertyValue( aAny, mXPagePropSet, "Change" ) ) { - switch ( *static_cast<sal_Int32 const *>(aAny.getValue()) ) + switch ( *o3tl::doAccess<sal_Int32>(aAny) ) { case 1 : // automatic mnDiaMode++; @@ -272,7 +273,7 @@ void PPTWriter::ImplWriteSlide( sal_uInt32 nPageNum, sal_uInt32 nMasterNum, sal_ nBuildFlags |= 256; if ( GetPropertyValue( aAny, mXPagePropSet, "Duration" ) )// duration of this slide - nSlideTime = *static_cast<sal_Int32 const *>(aAny.getValue()) << 10; // in ticks + nSlideTime = *o3tl::doAccess<sal_Int32>(aAny) << 10; // in ticks mpPptEscherEx->AddAtom( 16, EPP_SSSlideInfoAtom ); mpStrm->WriteInt32( nSlideTime ) // standtime in ticks @@ -532,8 +533,7 @@ bool PPTWriter::ImplCreateDocumentSummaryInformation() uno::Sequence<sal_Int8> aThumbSeq; if ( GetPageByIndex( 0, NORMAL ) && ImplGetPropertyValue( mXPagePropSet, "PreviewBitmap" ) ) { - aThumbSeq = - *static_cast<const uno::Sequence<sal_Int8>*>(mAny.getValue()); + aThumbSeq = *o3tl::doAccess<uno::Sequence<sal_Int8>>(mAny); } sfx2::SaveOlePropertySet( xDocProps, mrStg, &aThumbSeq, &aGuidSeq, &aHyperSeq); @@ -621,7 +621,7 @@ void PPTWriter::ImplCreateHeaderFooters( css::uno::Reference< css::beans::XPrope } if ( PropValue::GetPropertyValue( aAny, rXPagePropSet, "DateTimeFormat", true ) ) { - sal_Int32 nFormat = *static_cast<sal_Int32 const *>(aAny.getValue()); + sal_Int32 nFormat = *o3tl::doAccess<sal_Int32>(aAny); SvxDateFormat eDateFormat = (SvxDateFormat)( nFormat & 0xf ); SvxTimeFormat eTimeFormat = (SvxTimeFormat)( ( nFormat >> 4 ) & 0xf ); switch( eDateFormat ) @@ -782,7 +782,7 @@ bool PPTWriter::ImplCreateDocument() if ( ImplGetPropertyValue( "CustomShow" ) ) { - aCustomShow = *static_cast<OUString const *>(mAny.getValue()); + aCustomShow = *o3tl::doAccess<OUString>(mAny); if ( !aCustomShow.isEmpty() ) { nFlags |= 8; @@ -792,10 +792,10 @@ bool PPTWriter::ImplCreateDocument() { if ( ImplGetPropertyValue( "FirstPage" ) ) { - OUString aSlideName( *static_cast<OUString const *>(mAny.getValue()) ); + auto aSlideName = o3tl::doAccess<OUString>(mAny); std::vector<OUString>::const_iterator pIter = std::find( - maSlideNameList.begin(),maSlideNameList.end(),aSlideName); + maSlideNameList.begin(),maSlideNameList.end(), *aSlideName); if (pIter != maSlideNameList.end()) { @@ -872,41 +872,34 @@ bool PPTWriter::ImplCreateDocument() const sal_Unicode* pCustomShowName = pUString[ i ].getStr(); for ( sal_uInt32 k = 0; k < nNamedShowLen; mpStrm->WriteUInt16( pCustomShowName[ k++ ] ) ) ; mAny = aXCont->getByName( pUString[ i ] ); - if ( mAny.getValue() ) + css::uno::Reference< css::container::XIndexContainer > aXIC; + if ( mAny >>= aXIC ) { + mpPptEscherEx->BeginAtom(); - css::uno::Reference< css::container::XIndexContainer > aXIC; - if ( mAny >>= aXIC ) + sal_Int32 nSlideCount = aXIC->getCount(); + for ( sal_Int32 j = 0; j < nSlideCount; j++ ) // number of slides { - mpPptEscherEx->BeginAtom(); - - sal_Int32 nSlideCount = aXIC->getCount(); - for ( sal_Int32 j = 0; j < nSlideCount; j++ ) // number of slides + mAny = aXIC->getByIndex( j ); + css::uno::Reference< css::drawing::XDrawPage > aXDrawPage; + if ( mAny >>= aXDrawPage ) { - mAny = aXIC->getByIndex( j ); - if ( mAny.getValue() ) + css::uno::Reference< css::container::XNamed > aXName( aXDrawPage, css::uno::UNO_QUERY ); + if ( aXName.is() ) { - css::uno::Reference< css::drawing::XDrawPage > aXDrawPage; - if ( mAny >>= aXDrawPage ) + OUString aSlideName( aXName->getName() ); + std::vector<OUString>::const_iterator pIter = std::find( + maSlideNameList.begin(),maSlideNameList.end(),aSlideName); + + if (pIter != maSlideNameList.end()) { - css::uno::Reference< css::container::XNamed > aXName( aXDrawPage, css::uno::UNO_QUERY ); - if ( aXName.is() ) - { - OUString aSlideName( aXName->getName() ); - std::vector<OUString>::const_iterator pIter = std::find( - maSlideNameList.begin(),maSlideNameList.end(),aSlideName); - - if (pIter != maSlideNameList.end()) - { - sal_uInt32 nPageNumber = pIter - maSlideNameList.begin(); - mpStrm->WriteUInt32( nPageNumber + 0x100 ); // unique slide id - } - } + sal_uInt32 nPageNumber = pIter - maSlideNameList.begin(); + mpStrm->WriteUInt32( nPageNumber + 0x100 ); // unique slide id } } } - mpPptEscherEx->EndAtom( EPP_NamedShowSlides ); } + mpPptEscherEx->EndAtom( EPP_NamedShowSlides ); } mpPptEscherEx->CloseContainer(); // EPP_NamedShow } @@ -1214,7 +1207,7 @@ void PPTWriter::ImplWriteBackground( css::uno::Reference< css::beans::XPropertyS { if ( ImplGetPropertyValue( rXPropSet, "FillColor" ) ) { - nFillColor = EscherEx::GetColor( *static_cast<sal_uInt32 const *>(mAny.getValue()) ); + nFillColor = EscherEx::GetColor( *o3tl::doAccess<sal_uInt32>(mAny) ); nFillBackColor = nFillColor ^ 0xffffff; } SAL_FALLTHROUGH; diff --git a/sd/source/filter/eppt/epptso.cxx b/sd/source/filter/eppt/epptso.cxx index b397775..478d89a 100644 --- a/sd/source/filter/eppt/epptso.cxx +++ b/sd/source/filter/eppt/epptso.cxx @@ -843,7 +843,7 @@ void PPTWriter::ImplWritePortions( SvStream& rOut, TextObj& rTextObj ) case css::drawing::FillStyle_SOLID : { if ( PropValue::GetPropertyValue( aAny, mXPropSet, "FillColor" ) ) - nBackgroundColor = EscherEx::GetColor( *static_cast<sal_uInt32 const *>(aAny.getValue()) ); + nBackgroundColor = EscherEx::GetColor( *o3tl::doAccess<sal_uInt32>(aAny) ); } break; case css::drawing::FillStyle_NONE : @@ -866,7 +866,7 @@ void PPTWriter::ImplWritePortions( SvStream& rOut, TextObj& rTextObj ) case css::drawing::FillStyle_SOLID : { if ( PropValue::GetPropertyValue( aAny, mXBackgroundPropSet, "FillColor" ) ) - nBackgroundColor = EscherEx::GetColor( *static_cast<sal_uInt32 const *>(aAny.getValue()) ); + nBackgroundColor = EscherEx::GetColor( *o3tl::doAccess<sal_uInt32>(aAny) ); } break; default: @@ -901,7 +901,7 @@ void PPTWriter::ImplWritePortions( SvStream& rOut, TextObj& rTextObj ) if ( PropValue::GetPropertyValue( aAny, aPropSetOfNextShape, "FillColor", true ) ) { - if ( nCharColor == EscherEx::GetColor( *static_cast<sal_uInt32 const *>(aAny.getValue()) ) ) + if ( nCharColor == EscherEx::GetColor( *o3tl::doAccess<sal_uInt32>(aAny) ) ) { nCharAttr |= 0x200; } @@ -1870,7 +1870,7 @@ void PPTWriter::ImplWriteObjectEffect( SvStream& rSt, { if ( ImplGetPropertyValue( "Sound" ) ) { - nSoundRef = maSoundCollection.GetId( *static_cast<OUString const *>(mAny.getValue()) ); + nSoundRef = maSoundCollection.GetId( *o3tl::doAccess<OUString>(mAny) ); if ( nSoundRef ) nFlags |= 0x10; } @@ -1887,7 +1887,7 @@ void PPTWriter::ImplWriteObjectEffect( SvStream& rSt, if ( bDimHide ) nAfterEffect |= 2; if ( ImplGetPropertyValue( "DimColor" ) ) - nDimColor = EscherEx::GetColor( *static_cast<sal_uInt32 const *>(mAny.getValue()) ) | 0xfe000000; + nDimColor = EscherEx::GetColor( *o3tl::doAccess<sal_uInt32>(mAny) ) | 0xfe000000; rSt.WriteUInt32( nDimColor ).WriteUInt32( nFlags ).WriteUInt32( nSoundRef ).WriteUInt32( nDelayTime ) .WriteUInt16( basegfx::clamp<sal_Int32>(nOrder, 0, SAL_MAX_UINT16) ) // order of build ( 1.. ) @@ -1956,14 +1956,14 @@ void PPTWriter::ImplWriteClickAction( SvStream& rSt, css::presentation::ClickAct case css::presentation::ClickAction_SOUND : { if ( ImplGetPropertyValue( "Bookmark" ) ) - nSoundRef = maSoundCollection.GetId( *static_cast<OUString const *>(mAny.getValue()) ); + nSoundRef = maSoundCollection.GetId( *o3tl::doAccess<OUString>(mAny) ); } break; case css::presentation::ClickAction_PROGRAM : { if ( ImplGetPropertyValue( "Bookmark" ) ) { - INetURLObject aUrl( *static_cast<OUString const *>(mAny.getValue()) ); + INetURLObject aUrl( *o3tl::doAccess<OUString>(mAny) ); if ( INetProtocol::File == aUrl.GetProtocol() ) { aFile = aUrl.PathToFileName(); @@ -1977,7 +1977,7 @@ void PPTWriter::ImplWriteClickAction( SvStream& rSt, css::presentation::ClickAct { if ( ImplGetPropertyValue( "Bookmark" ) ) { - OUString aBookmark( *static_cast<OUString const *>(mAny.getValue()) ); + OUString aBookmark( *o3tl::doAccess<OUString>(mAny) ); sal_uInt32 nIndex = 0; std::vector<OUString>::const_iterator pIter; for ( pIter = maSlideNameList.begin(); pIter != maSlideNameList.end(); ++pIter, nIndex++ ) @@ -2004,7 +2004,7 @@ void PPTWriter::ImplWriteClickAction( SvStream& rSt, css::presentation::ClickAct { if ( ImplGetPropertyValue( "Bookmark" ) ) { - OUString aBookmark( *static_cast<OUString const *>(mAny.getValue()) ); + OUString aBookmark( *o3tl::doAccess<OUString>(mAny) ); if ( !aBookmark.isEmpty() ) { nAction = 4; @@ -2266,9 +2266,9 @@ void PPTWriter::ImplWritePage( const PHLayout& rLayout, EscherSolverContainer& a { if ( ImplGetPropertyValue( "BoundRect" ) ) { - css::awt::Rectangle aRect( *static_cast<css::awt::Rectangle const *>(mAny.getValue()) ); - maPosition = MapPoint( css::awt::Point( aRect.X, aRect.Y ) ); - maSize = MapSize( css::awt::Size( aRect.Width, aRect.Height ) ); + auto aRect = o3tl::doAccess<css::awt::Rectangle>(mAny); + maPosition = MapPoint( css::awt::Point( aRect->X, aRect->Y ) ); + maSize = MapSize( css::awt::Size( aRect->Width, aRect->Height ) ); maRect = Rectangle( Point( maPosition.X, maPosition.Y ), Size( maSize.Width, maSize.Height ) ); } mType = "drawing.dontknow"; @@ -2387,10 +2387,10 @@ void PPTWriter::ImplWritePage( const PHLayout& rLayout, EscherSolverContainer& a sal_Int32 nStartAngle, nEndAngle; if ( !ImplGetPropertyValue( "CircleStartAngle" ) ) continue; - nStartAngle = *static_cast<sal_Int32 const *>(mAny.getValue()); + nStartAngle = *o3tl::doAccess<sal_Int32>(mAny); if( !ImplGetPropertyValue( "CircleEndAngle" ) ) continue; - nEndAngle = *static_cast<sal_Int32 const *>(mAny.getValue()); + nEndAngle = *o3tl::doAccess<sal_Int32>(mAny); css::awt::Point aPoint( mXShape->getPosition() ); css::awt::Size aSize( mXShape->getSize() ); css::awt::Point aStart, aEnd, aCenter; @@ -3409,7 +3409,7 @@ void PPTWriter::ImplWritePage( const PHLayout& rLayout, EscherSolverContainer& a EscherPropertyContainer aPropOpt; mnAngle = ( PropValue::GetPropertyValue( aAny, mXPropSet, "RotateAngle", true ) ) - ? *static_cast<sal_Int32 const *>(aAny.getValue()) + ? *o3tl::doAccess<sal_Int32>(aAny) : 0; aPropOpt.AddOpt( ESCHER_Prop_fNoLineDrawDash, 0x90000 ); diff --git a/sd/source/filter/eppt/pptx-epptbase.cxx b/sd/source/filter/eppt/pptx-epptbase.cxx index 85db3a1..d228d60 100644 --- a/sd/source/filter/eppt/pptx-epptbase.cxx +++ b/sd/source/filter/eppt/pptx-epptbase.cxx @@ -20,6 +20,7 @@ #include "eppt.hxx" #include "epptdef.hxx" +#include <o3tl/any.hxx> #include <tools/globname.hxx> #include <tools/datetime.hxx> #include <tools/poly.hxx> @@ -483,7 +484,7 @@ sal_uInt32 PPTWriterBase::GetMasterIndex( PageType ePageType ) if ( aXPropertySet.is() ) { if ( ImplGetPropertyValue( aXPropertySet, "Number" ) ) - nRetValue |= *static_cast<sal_Int16 const *>(mAny.getValue()); + nRetValue |= *o3tl::doAccess<sal_Int16>(mAny); if ( nRetValue & 0xffff ) // avoid overflow nRetValue--; } @@ -522,7 +523,7 @@ bool PPTWriterBase::GetStyleSheets() aXPropSet( mXModel, UNO_QUERY ); sal_uInt16 nDefaultTab = ( aXPropSet.is() && ImplGetPropertyValue( aXPropSet, "TabStop" ) ) - ? (sal_uInt16)( *static_cast<sal_Int32 const *>(mAny.getValue()) / 4.40972 ) + ? (sal_uInt16)( *o3tl::doAccess<sal_Int32>(mAny) / 4.40972 ) : 1250; maStyleSheetList.push_back( new PPTExStyleSheet( nDefaultTab, dynamic_cast<PPTExBulletProvider*>(this) ) ); @@ -733,7 +734,7 @@ bool PPTWriterBase::GetShapeByIndex( sal_uInt32 nIndex, bool bGroup ) mnAngle = ( PropValue::GetPropertyValue( aAny, mXPropSet, "RotateAngle", true ) ) - ? *static_cast<sal_Int32 const *>(aAny.getValue()) + ? *o3tl::doAccess<sal_Int32>(aAny) : 0; return true; diff --git a/sd/source/filter/eppt/pptx-epptooxml.cxx b/sd/source/filter/eppt/pptx-epptooxml.cxx index 3f39af3..3589abf 100644 --- a/sd/source/filter/eppt/pptx-epptooxml.cxx +++ b/sd/source/filter/eppt/pptx-epptooxml.cxx @@ -18,6 +18,7 @@ */ #include <stdio.h> +#include <o3tl/any.hxx> #include <oox/drawingml/chart/chartconverter.hxx> #include <oox/token/tokens.hxx> #include <oox/ole/vbaproject.hxx> @@ -800,7 +801,7 @@ void PowerPointExport::WriteAnimationProperty( const FSHelperPtr& pFS, const Any switch( rAny.getValueType().getTypeClass() ) { case TypeClass_STRING: pFS->singleElementNS( XML_p, XML_strVal, - XML_val, USS( *static_cast< const OUString* >( rAny.getValue() ) ), + XML_val, USS( *o3tl::doAccess<OUString>(rAny) ), FSEND ); break; default: diff --git a/sd/source/filter/eppt/pptx-text.cxx b/sd/source/filter/eppt/pptx-text.cxx index 49c1add..4664a8a 100644 --- a/sd/source/filter/eppt/pptx-text.cxx +++ b/sd/source/filter/eppt/pptx-text.cxx @@ -41,6 +41,7 @@ #include <editeng/frmdir.hxx> #include <filter/msfilter/util.hxx> #include <i18nutil/scripttypedetector.hxx> +#include <o3tl/any.hxx> #include <sfx2/app.hxx> #include <svl/languageoptions.hxx> #include <oox/export/drawingml.hxx> @@ -231,7 +232,7 @@ void PortionObj::ImplGetPortionValues( FontCollection& rFontCollection, bool bGe meFontName = ePropState; if ( bOk ) { - FontCollectionEntry aFontDesc( *static_cast<OUString const *>(mAny.getValue()) ); + FontCollectionEntry aFontDesc( *o3tl::doAccess<OUString>(mAny) ); sal_uInt32 nCount = rFontCollection.GetCount(); mnFont = (sal_uInt16)rFontCollection.GetId( aFontDesc ); if ( mnFont == nCount ) @@ -258,7 +259,7 @@ void PortionObj::ImplGetPortionValues( FontCollection& rFontCollection, bool bGe meAsianOrComplexFont = ePropState; if ( bOk ) { - FontCollectionEntry aFontDesc( *static_cast<OUString const *>(mAny.getValue()) ); + FontCollectionEntry aFontDesc( *o3tl::doAccess<OUString>(mAny) ); sal_uInt32 nCount = rFontCollection.GetCount(); mnAsianOrComplexFont = (sal_uInt16)rFontCollection.GetId( aFontDesc ); if ( mnAsianOrComplexFont == nCount ) @@ -279,7 +280,7 @@ void PortionObj::ImplGetPortionValues( FontCollection& rFontCollection, bool bGe meAsianOrComplexFont = ePropState; if ( bOk ) { - FontCollectionEntry aFontDesc( *static_cast<OUString const *>(mAny.getValue()) ); + FontCollectionEntry aFontDesc( *o3tl::doAccess<OUString>(mAny) ); sal_uInt32 nCount = rFontCollection.GetCount(); mnAsianOrComplexFont = (sal_uInt16)rFontCollection.GetId( aFontDesc ); if ( mnAsianOrComplexFont == nCount ) @@ -407,7 +408,7 @@ void PortionObj::ImplGetPortionValues( FontCollection& rFontCollection, bool bGe if ( ImplGetPropertyValue( "CharColor", bGetPropStateValue ) ) { - sal_uInt32 nSOColor = *( static_cast<sal_uInt32 const *>(mAny.getValue()) ); + sal_uInt32 nSOColor = *( o3tl::doAccess<sal_uInt32>(mAny) ); mnCharColor = nSOColor & 0xff00ff00; // green and hibyte mnCharColor |= (sal_uInt8)( nSOColor ) << 16; // red and blue is switched mnCharColor |= (sal_uInt8)( nSOColor >> 16 ); @@ -495,10 +496,10 @@ sal_uInt32 PortionObj::ImplGetTextField( css::uno::Reference< css::text::XTextRa css::uno::Any aAny; if ( GetPropertyValue( aAny, rXPropSet, "TextPortionType", true ) ) { - OUString aTextFieldType( *static_cast<OUString const *>(aAny.getValue()) ); - if ( aTextFieldType == "TextField" ) + auto aTextFieldType = o3tl::doAccess<OUString>(aAny); + if ( *aTextFieldType == "TextField" ) { - if ( GetPropertyValue( aAny, rXPropSet, aTextFieldType, true ) ) + if ( GetPropertyValue( aAny, rXPropSet, *aTextFieldType, true ) ) { css::uno::Reference< css::text::XTextField > aXTextField; if ( aAny >>= aXTextField ) @@ -519,7 +520,7 @@ sal_uInt32 PortionObj::ImplGetTextField( css::uno::Reference< css::text::XTextRa { if ( GetPropertyValue( aAny, xFieldPropSet, "Format", true ) ) { - nFormat = *static_cast<sal_Int32 const *>(aAny.getValue()); + nFormat = *o3tl::doAccess<sal_Int32>(aAny); switch ( nFormat ) { default: @@ -540,7 +541,7 @@ sal_uInt32 PortionObj::ImplGetTextField( css::uno::Reference< css::text::XTextRa else if ( aFieldKind == "URL" ) { if ( GetPropertyValue( aAny, xFieldPropSet, "URL", true ) ) - rURL = *static_cast<OUString const *>(aAny.getValue()); + rURL = *o3tl::doAccess<OUString>(aAny); nRetValue = 4 << 28; } else if ( aFieldKind == "Page" ) @@ -561,7 +562,7 @@ sal_uInt32 PortionObj::ImplGetTextField( css::uno::Reference< css::text::XTextRa { if ( GetPropertyValue( aAny, xFieldPropSet, "IsFix", true ) ) { - nFormat = *static_cast<sal_Int32 const *>(aAny.getValue()); + nFormat = *o3tl::doAccess<sal_Int32>(aAny); nRetValue |= ( ( ( 2 << 4 ) | nFormat ) << 24 ) | 0x800000; } } @@ -585,7 +586,7 @@ sal_uInt32 PortionObj::ImplGetTextField( css::uno::Reference< css::text::XTextRa { if ( GetPropertyValue( aAny, xFieldPropSet, "Format", true ) ) { - nFormat = *static_cast<sal_Int32 const *>(aAny.getValue()); + nFormat = *o3tl::doAccess<sal_Int32>(aAny); switch ( nFormat ) { default: @@ -799,12 +800,11 @@ void ParagraphObj::ImplGetNumberingLevel( PPTExBulletProvider* pBuProv, sal_Int1 if ( ( mAny >>= aXIndexReplace ) && nNumberingDepth < aXIndexReplace->getCount() ) { mAny <<= aXIndexReplace->getByIndex( nNumberingDepth ); - css::uno::Sequence< css::beans::PropertyValue> - aPropertySequence( *static_cast<css::uno::Sequence< css::beans::PropertyValue> const *>(mAny.getValue()) ); + auto aPropertySequence = o3tl::doAccess<css::uno::Sequence<css::beans::PropertyValue>>(mAny); - const css::beans::PropertyValue* pPropValue = aPropertySequence.getArray(); + const css::beans::PropertyValue* pPropValue = aPropertySequence->getConstArray(); - sal_Int32 nPropertyCount = aPropertySequence.getLength(); + sal_Int32 nPropertyCount = aPropertySequence->getLength(); if ( nPropertyCount ) { bExtendedParameters = true; @@ -814,77 +814,71 @@ void ParagraphObj::ImplGetNumberingLevel( PPTExBulletProvider* pBuProv, sal_Int1 OUString aGraphicURL; for ( sal_Int32 i = 0; i < nPropertyCount; i++ ) { - const void* pValue = pPropValue[ i ].Value.getValue(); - if ( pValue ) + OUString aPropName( pPropValue[ i ].Name ); + if ( aPropName == "NumberingType" ) + nNumberingType = *o3tl::doAccess<sal_Int16>(pPropValue[i].Value); + else if ( aPropName == "Adjust" ) + nHorzAdjust = *o3tl::doAccess<sal_Int16>(pPropValue[i].Value); + else if ( aPropName == "BulletChar" ) { - OUString aPropName( pPropValue[ i ].Name ); - if ( aPropName == "NumberingType" ) - nNumberingType = *( static_cast<sal_Int16 const *>(pValue) ); - else if ( aPropName == "Adjust" ) - nHorzAdjust = *( static_cast<sal_Int16 const *>(pValue) ); - else if ( aPropName == "BulletChar" ) - { - OUString aString( *( static_cast<OUString const *>(pValue) ) ); - if ( !aString.isEmpty() ) - cBulletId = aString[ 0 ]; - } - else if ( aPropName == "BulletFont" ) - { - aFontDesc = *static_cast<css::awt::FontDescriptor const *>(pValue); + OUString aString( *o3tl::doAccess<OUString>(pPropValue[i].Value) ); + if ( !aString.isEmpty() ) + cBulletId = aString[ 0 ]; + } + else if ( aPropName == "BulletFont" ) + { + aFontDesc = *o3tl::doAccess<css::awt::FontDescriptor>(pPropValue[i].Value); - // Our numbullet dialog has set the wrong textencoding for our "StarSymbol" font, - // instead of a Unicode encoding the encoding RTL_TEXTENCODING_SYMBOL was used. - // Because there might exist a lot of damaged documemts I added this two lines - // which fixes the bullet problem for the export. - if ( aFontDesc.Name.equalsIgnoreAsciiCase("StarSymbol") ) - aFontDesc.CharSet = RTL_TEXTENCODING_MS_1252; + // Our numbullet dialog has set the wrong textencoding for our "StarSymbol" font, + // instead of a Unicode encoding the encoding RTL_TEXTENCODING_SYMBOL was used. + // Because there might exist a lot of damaged documemts I added this two lines + // which fixes the bullet problem for the export. + if ( aFontDesc.Name.equalsIgnoreAsciiCase("StarSymbol") ) + aFontDesc.CharSet = RTL_TEXTENCODING_MS_1252; - } - else if ( aPropName == "GraphicURL" ) - aGraphicURL = *static_cast<OUString const *>(pValue); - else if ( aPropName == "GraphicSize" ) - { - if ( pPropValue[ i ].Value.getValueType() == cppu::UnoType<css::awt::Size>::get()) - { - // don't cast awt::Size to Size as on 64-bits they are not the same. - css::awt::Size aSize; ... etc. - the rest is truncated _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits