summaryrefslogtreecommitdiff
path: root/sfx2/source/config
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2012-01-28 20:55:39 +0100
committerMichael Stahl <mstahl@redhat.com>2012-01-28 20:55:39 +0100
commit371976860088a3c5c3df9840dcdfd632d9d6f1f5 (patch)
tree9e9f67205cd5b72f1031721273e1534a3a1e5b0f /sfx2/source/config
parent651568afad1a585c485384ab6d7b65780fb02256 (diff)
replace obsolete "master" branch with README that points at new repoHEADmaster-deletedmaster
Diffstat (limited to 'sfx2/source/config')
-rw-r--r--sfx2/source/config/evntconf.cxx288
1 files changed, 0 insertions, 288 deletions
diff --git a/sfx2/source/config/evntconf.cxx b/sfx2/source/config/evntconf.cxx
deleted file mode 100644
index 5855c52f97..0000000000
--- a/sfx2/source/config/evntconf.cxx
+++ /dev/null
@@ -1,288 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_sfx2.hxx"
-
-#include <boost/scoped_ptr.hpp>
-
-#include <vcl/msgbox.hxx>
-#include <tools/resary.hxx>
-#include <svl/lstner.hxx>
-#include <basic/basmgr.hxx>
-#include <basic/sbmod.hxx>
-#include <tools/urlobj.hxx>
-#include <basic/sbx.hxx>
-#include <sot/storage.hxx>
-#include <unotools/securityoptions.hxx>
-
-#include <rtl/ustring.h>
-#include <com/sun/star/uno/Any.hxx>
-#include <framework/eventsconfiguration.hxx>
-#include <comphelper/processfactory.hxx>
-#include <sfx2/evntconf.hxx>
-
-#include <sfx2/docfile.hxx>
-#include <sfx2/app.hxx>
-#include <sfx2/objsh.hxx>
-#include <sfx2/dispatch.hxx>
-#include "sfx2/sfxresid.hxx"
-#include "eventsupplier.hxx"
-
-#include <com/sun/star/beans/PropertyValue.hpp>
-#include <com/sun/star/container/XNameReplace.hpp>
-#include <com/sun/star/document/XEventsSupplier.hpp>
-#include <com/sun/star/uno/Sequence.hxx>
-#include <com/sun/star/uno/Reference.hxx>
-
-// -----------------------------------------------------------------------
-TYPEINIT1(SfxEventHint, SfxHint);
-TYPEINIT1(SfxEventNamesItem, SfxPoolItem);
-TYPEINIT1(SfxViewEventHint, SfxEventHint);
-
-using namespace com::sun::star;
-
-SfxEventNamesList& SfxEventNamesList::operator=( const SfxEventNamesList& rTbl )
-{
- DelDtor();
- for ( size_t i = 0, n = rTbl.size(); i < n; ++i )
- {
- SfxEventName* pTmp = rTbl.at( i );
- SfxEventName* pNew = new SfxEventName( *pTmp );
- aEventNamesList.push_back( pNew );
- }
- return *this;
-}
-
-void SfxEventNamesList::DelDtor()
-{
- for ( size_t i = 0, n = aEventNamesList.size(); i < n; ++i )
- delete aEventNamesList[ i ];
- aEventNamesList.clear();
-}
-
-int SfxEventNamesItem::operator==( const SfxPoolItem& rAttr ) const
-{
- DBG_ASSERT( SfxPoolItem::operator==(rAttr), "unequal types" );
-
- const SfxEventNamesList& rOwn = aEventsList;
- const SfxEventNamesList& rOther = ( (SfxEventNamesItem&) rAttr ).aEventsList;
-
- if ( rOwn.size() != rOther.size() )
- return sal_False;
-
- for ( size_t nNo = 0, nCnt = rOwn.size(); nNo < nCnt; ++nNo )
- {
- const SfxEventName *pOwn = rOwn.at( nNo );
- const SfxEventName *pOther = rOther.at( nNo );
- if ( pOwn->mnId != pOther->mnId ||
- pOwn->maEventName != pOther->maEventName ||
- pOwn->maUIName != pOther->maUIName )
- return sal_False;
- }
-
- return sal_True;
-
-}
-
-SfxItemPresentation SfxEventNamesItem::GetPresentation( SfxItemPresentation,
- SfxMapUnit,
- SfxMapUnit,
- XubString &rText,
- const IntlWrapper* ) const
-{
- rText.Erase();
- return SFX_ITEM_PRESENTATION_NONE;
-}
-
-SfxPoolItem* SfxEventNamesItem::Clone( SfxItemPool *) const
-{
- return new SfxEventNamesItem(*this);
-}
-
-SfxPoolItem* SfxEventNamesItem::Create(SvStream &, sal_uInt16) const
-{
- OSL_FAIL("not streamable!");
- return new SfxEventNamesItem(Which());
-}
-
-SvStream& SfxEventNamesItem::Store(SvStream &rStream, sal_uInt16 ) const
-{
- OSL_FAIL("not streamable!");
- return rStream;
-}
-
-sal_uInt16 SfxEventNamesItem::GetVersion( sal_uInt16 ) const
-{
- OSL_FAIL("not streamable!");
- return 0;
-}
-
-void SfxEventNamesItem::AddEvent( const String& rName, const String& rUIName, sal_uInt16 nID )
-{
- aEventsList.push_back( new SfxEventName( nID, rName, rUIName.Len() ? rUIName : rName ) );
-}
-
-
-//==========================================================================
-
-//--------------------------------------------------------------------------
-uno::Any CreateEventData_Impl( const SvxMacro *pMacro )
-{
-/*
- This function converts a SvxMacro into an Any containing three
- properties. These properties are EventType and Script. Possible
- values for EventType ar StarBasic, JavaScript, ...
- The Script property should contain the URL to the macro and looks
- like "macro://./standard.module1.main()"
-
- If pMacro is NULL, we return an empty property sequence, so PropagateEvent_Impl
- can delete an event binding.
-*/
- uno::Any aEventData;
-
- if ( pMacro )
- {
- if ( pMacro->GetScriptType() == STARBASIC )
- {
- uno::Sequence < beans::PropertyValue > aProperties(3);
- beans::PropertyValue *pValues = aProperties.getArray();
-
- ::rtl::OUString aType(RTL_CONSTASCII_USTRINGPARAM( STAR_BASIC ));
- ::rtl::OUString aLib = pMacro->GetLibName();
- ::rtl::OUString aMacro = pMacro->GetMacName();
-
- pValues[ 0 ].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( PROP_EVENT_TYPE ));
- pValues[ 0 ].Value <<= aType;
-
- pValues[ 1 ].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( PROP_LIBRARY ));
- pValues[ 1 ].Value <<= aLib;
-
- pValues[ 2 ].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( PROP_MACRO_NAME ));
- pValues[ 2 ].Value <<= aMacro;
-
- aEventData <<= aProperties;
- }
- else if ( pMacro->GetScriptType() == EXTENDED_STYPE )
- {
- uno::Sequence < beans::PropertyValue > aProperties(2);
- beans::PropertyValue *pValues = aProperties.getArray();
-
- ::rtl::OUString aLib = pMacro->GetLibName();
- ::rtl::OUString aMacro = pMacro->GetMacName();
-
- pValues[ 0 ].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( PROP_EVENT_TYPE ));
- pValues[ 0 ].Value <<= aLib;
-
- pValues[ 1 ].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( PROP_SCRIPT ));
- pValues[ 1 ].Value <<= aMacro;
-
- aEventData <<= aProperties;
- }
- else if ( pMacro->GetScriptType() == JAVASCRIPT )
- {
- uno::Sequence < beans::PropertyValue > aProperties(2);
- beans::PropertyValue *pValues = aProperties.getArray();
-
- ::rtl::OUString aMacro = pMacro->GetMacName();
-
- pValues[ 0 ].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( PROP_EVENT_TYPE ));
- pValues[ 0 ].Value <<= ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SVX_MACRO_LANGUAGE_JAVASCRIPT));
-
- pValues[ 1 ].Name = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( PROP_MACRO_NAME ));
- pValues[ 1 ].Value <<= aMacro;
-
- aEventData <<= aProperties;
- }
- else
- {
- DBG_ERRORFILE( "CreateEventData_Impl(): ScriptType not supported!");
- }
- }
- else
- {
- uno::Sequence < beans::PropertyValue > aProperties;
- aEventData <<= aProperties;
- }
-
- return aEventData;
-}
-
-//--------------------------------------------------------------------------
-void PropagateEvent_Impl( SfxObjectShell *pDoc, rtl::OUString aEventName, const SvxMacro* pMacro )
-{
- uno::Reference < document::XEventsSupplier > xSupplier;
- if ( pDoc )
- {
- xSupplier = uno::Reference < document::XEventsSupplier >( pDoc->GetModel(), uno::UNO_QUERY );
- }
- else
- {
- xSupplier = uno::Reference < document::XEventsSupplier >
- ( ::comphelper::getProcessServiceFactory()->createInstance(
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.frame.GlobalEventBroadcaster"))), uno::UNO_QUERY );
- }
-
- if ( xSupplier.is() )
- {
- uno::Reference < container::XNameReplace > xEvents = xSupplier->getEvents();
- if ( aEventName.getLength() )
- {
- uno::Any aEventData = CreateEventData_Impl( pMacro );
-
- try
- {
- xEvents->replaceByName( aEventName, aEventData );
- }
- catch( const ::com::sun::star::lang::IllegalArgumentException& )
- { DBG_ERRORFILE( "PropagateEvents_Impl: caught IllegalArgumentException" ); }
- catch( const ::com::sun::star::container::NoSuchElementException& )
- { DBG_ERRORFILE( "PropagateEvents_Impl: caught NoSuchElementException" ); }
- }
- else {
- DBG_WARNING( "PropagateEvents_Impl: Got unkown event" );
- }
- }
-}
-
-//--------------------------------------------------------------------------------------------------------
-void SfxEventConfiguration::ConfigureEvent( rtl::OUString aName, const SvxMacro& rMacro, SfxObjectShell *pDoc )
-{
- boost::scoped_ptr<SvxMacro> pMacro;
- if ( rMacro.GetMacName().Len() )
- pMacro.reset( new SvxMacro( rMacro.GetMacName(), rMacro.GetLibName(), rMacro.GetScriptType() ) );
- PropagateEvent_Impl( pDoc ? pDoc : 0, aName, pMacro.get() );
-}
-
-// -------------------------------------------------------------------------------------------------------
-SvxMacro* SfxEventConfiguration::ConvertToMacro( const com::sun::star::uno::Any& rElement, SfxObjectShell* pDoc, sal_Bool bBlowUp )
-{
- return SfxEvents_Impl::ConvertToMacro( rElement, pDoc, bBlowUp );
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */