1ecfe53c5SAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3ecfe53c5SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4ecfe53c5SAndrew Rist * or more contributor license agreements. See the NOTICE file 5ecfe53c5SAndrew Rist * distributed with this work for additional information 6ecfe53c5SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7ecfe53c5SAndrew Rist * to you under the Apache License, Version 2.0 (the 8ecfe53c5SAndrew Rist * "License"); you may not use this file except in compliance 9ecfe53c5SAndrew Rist * with the License. You may obtain a copy of the License at 10ecfe53c5SAndrew Rist * 11ecfe53c5SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12ecfe53c5SAndrew Rist * 13ecfe53c5SAndrew Rist * Unless required by applicable law or agreed to in writing, 14ecfe53c5SAndrew Rist * software distributed under the License is distributed on an 15ecfe53c5SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16ecfe53c5SAndrew Rist * KIND, either express or implied. See the License for the 17ecfe53c5SAndrew Rist * specific language governing permissions and limitations 18ecfe53c5SAndrew Rist * under the License. 19ecfe53c5SAndrew Rist * 20ecfe53c5SAndrew Rist *************************************************************/ 21ecfe53c5SAndrew Rist 22ecfe53c5SAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir #ifndef _XMLOFF_FORMS_EVENTIMPORT_HXX_ 25cdf0e10cSrcweir #define _XMLOFF_FORMS_EVENTIMPORT_HXX_ 26cdf0e10cSrcweir 27cdf0e10cSrcweir #include <xmloff/XMLEventsImportContext.hxx> 28cdf0e10cSrcweir #include "callbacks.hxx" 29cdf0e10cSrcweir #include "ifacecompare.hxx" 30cdf0e10cSrcweir #include <com/sun/star/container/XIndexAccess.hpp> 31cdf0e10cSrcweir 32cdf0e10cSrcweir class SvXMLImport; 33cdf0e10cSrcweir //......................................................................... 34cdf0e10cSrcweir namespace xmloff 35cdf0e10cSrcweir { 36cdf0e10cSrcweir //......................................................................... 37cdf0e10cSrcweir 38cdf0e10cSrcweir //===================================================================== 39cdf0e10cSrcweir //= OFormEventsImportContext 40cdf0e10cSrcweir //===================================================================== 41cdf0e10cSrcweir class OFormEventsImportContext : public XMLEventsImportContext 42cdf0e10cSrcweir { 43cdf0e10cSrcweir protected: 44cdf0e10cSrcweir IEventAttacher& m_rEventAttacher; 45cdf0e10cSrcweir 46cdf0e10cSrcweir public: 47cdf0e10cSrcweir OFormEventsImportContext(SvXMLImport& _rImport, sal_uInt16 _nPrefix, const ::rtl::OUString& _rLocalName, 48cdf0e10cSrcweir IEventAttacher& _rEventAttacher); 49cdf0e10cSrcweir 50cdf0e10cSrcweir protected: 51cdf0e10cSrcweir virtual void EndElement(); 52cdf0e10cSrcweir }; 53cdf0e10cSrcweir 54cdf0e10cSrcweir //===================================================================== 55cdf0e10cSrcweir //= ODefaultEventAttacherManager 56cdf0e10cSrcweir //===================================================================== 57cdf0e10cSrcweir class ODefaultEventAttacherManager : public IEventAttacherManager 58cdf0e10cSrcweir { 59cdf0e10cSrcweir protected: 60cdf0e10cSrcweir DECLARE_STL_MAP( 61cdf0e10cSrcweir ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >, // map from 62cdf0e10cSrcweir ::com::sun::star::uno::Sequence< ::com::sun::star::script::ScriptEventDescriptor >, // map to 63cdf0e10cSrcweir OPropertySetCompare, // compare method 64cdf0e10cSrcweir MapPropertySet2ScriptSequence); // class name 65cdf0e10cSrcweir // usually an event attacher manager will need to collect all script events registered, 'cause 66*86e1cf34SPedro Giffuni // the _real_ XEventAttacherManager handles it's events by index, but out indices are not fixed 67cdf0e10cSrcweir // until _all_ controls have been inserted. 68cdf0e10cSrcweir 69cdf0e10cSrcweir MapPropertySet2ScriptSequence m_aEvents; 70cdf0e10cSrcweir 71cdf0e10cSrcweir public: 72cdf0e10cSrcweir // IEventAttacherManager 73cdf0e10cSrcweir virtual void registerEvents( 74cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxElement, 75cdf0e10cSrcweir const ::com::sun::star::uno::Sequence< ::com::sun::star::script::ScriptEventDescriptor >& _rEvents 76cdf0e10cSrcweir ); 77cdf0e10cSrcweir 78cdf0e10cSrcweir protected: 79cdf0e10cSrcweir void setEvents( 80cdf0e10cSrcweir const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess >& _rxContainer 81cdf0e10cSrcweir ); 82cdf0e10cSrcweir 83cdf0e10cSrcweir virtual ~ODefaultEventAttacherManager(); 84cdf0e10cSrcweir }; 85cdf0e10cSrcweir 86cdf0e10cSrcweir //......................................................................... 87cdf0e10cSrcweir } // namespace xmloff 88cdf0e10cSrcweir //......................................................................... 89cdf0e10cSrcweir 90cdf0e10cSrcweir #endif // _XMLOFF_FORMS_EVENTIMPORT_HXX_ 91cdf0e10cSrcweir 92