/************************************************************** * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. * *************************************************************/ #include "common.hxx" #include "misc.hxx" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace css = ::com::sun::star; namespace xmlscript { // inline sal_Int32 toInt32( ::rtl::OUString const & rStr ) SAL_THROW( () ) { sal_Int32 nVal; if (rStr.getLength() > 2 && rStr[ 0 ] == '0' && rStr[ 1 ] == 'x') nVal = rStr.copy( 2 ).toInt32( 16 ); else nVal = rStr.toInt32(); return nVal; } inline bool getBoolAttr( sal_Bool * pRet, ::rtl::OUString const & rAttrName, css::uno::Reference< css::xml::input::XAttributes > const & xAttributes, sal_Int32 nUid ) { ::rtl::OUString aValue( xAttributes->getValueByUidName( nUid, rAttrName ) ); if (aValue.getLength()) { if (aValue.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("true") )) { *pRet = sal_True; return true; } else if (aValue.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("false") )) { *pRet = sal_False; return true; } else { throw css::xml::sax::SAXException( rAttrName + OUSTR(": no boolean value (true|false)!"), css::uno::Reference(), css::uno::Any() ); } } return false; } inline bool getStringAttr( ::rtl::OUString * pRet, ::rtl::OUString const & rAttrName, css::uno::Reference< css::xml::input::XAttributes > const & xAttributes, sal_Int32 nUid ) { *pRet = xAttributes->getValueByUidName( nUid, rAttrName ); return (pRet->getLength() > 0); } inline bool getLongAttr( sal_Int32 * pRet, ::rtl::OUString const & rAttrName, css::uno::Reference< css::xml::input::XAttributes > const & xAttributes, sal_Int32 nUid ) { ::rtl::OUString aValue( xAttributes->getValueByUidName( nUid, rAttrName ) ); if (aValue.getLength()) { *pRet = toInt32( aValue ); return true; } return false; } class ImportContext; //============================================================================== struct DialogImport : public ::cppu::WeakImplHelper1< css::xml::input::XRoot > { friend class ImportContext; css::uno::Reference< css::uno::XComponentContext > _xContext; css::uno::Reference< css::util::XNumberFormatsSupplier > _xSupplier; ::std::vector< ::rtl::OUString > _styleNames; ::std::vector< css::uno::Reference< css::xml::input::XElement > > _styles; css::uno::Reference< css::container::XNameContainer > _xDialogModel; css::uno::Reference< css::lang::XMultiServiceFactory > _xDialogModelFactory; sal_Int32 XMLNS_DIALOGS_UID, XMLNS_SCRIPT_UID; public: inline bool isEventElement( sal_Int32 nUid, ::rtl::OUString const & rLocalName ) { return ((XMLNS_SCRIPT_UID == nUid && (rLocalName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("event") ) || rLocalName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("listener-event") ))) || (XMLNS_DIALOGS_UID == nUid && rLocalName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("event") ))); } void addStyle( ::rtl::OUString const & rStyleId, css::uno::Reference< css::xml::input::XElement > const & xStyle ) SAL_THROW( () ); css::uno::Reference< css::xml::input::XElement > getStyle( ::rtl::OUString const & rStyleId ) const SAL_THROW( () ); inline css::uno::Reference< css::uno::XComponentContext > const & getComponentContext() SAL_THROW( () ) { return _xContext; } css::uno::Reference< css::util::XNumberFormatsSupplier > const & getNumberFormatsSupplier(); inline DialogImport( css::uno::Reference const & xContext, css::uno::Reference const & xDialogModel ) SAL_THROW( () ) : _xContext( xContext ) , _xDialogModel( xDialogModel ) , _xDialogModelFactory( xDialogModel, css::uno::UNO_QUERY_THROW ) { OSL_ASSERT( _xDialogModel.is() && _xDialogModelFactory.is() && _xContext.is() ); } virtual ~DialogImport() SAL_THROW( () ); // XRoot virtual void SAL_CALL startDocument( css::uno::Reference< css::xml::input::XNamespaceMapping > const & xNamespaceMapping ) throw (css::xml::sax::SAXException, css::uno::RuntimeException); virtual void SAL_CALL endDocument() throw (css::xml::sax::SAXException, css::uno::RuntimeException); virtual void SAL_CALL processingInstruction( ::rtl::OUString const & rTarget, ::rtl::OUString const & rData ) throw (css::xml::sax::SAXException, css::uno::RuntimeException); virtual void SAL_CALL setDocumentLocator( css::uno::Reference< css::xml::sax::XLocator > const & xLocator ) throw (css::xml::sax::SAXException, css::uno::RuntimeException); virtual css::uno::Reference< css::xml::input::XElement > SAL_CALL startRootElement( sal_Int32 nUid, ::rtl::OUString const & rLocalName, css::uno::Reference const & xAttributes ) throw (css::xml::sax::SAXException, css::uno::RuntimeException); }; //============================================================================== class ElementBase : public ::cppu::WeakImplHelper1< css::xml::input::XElement > { protected: DialogImport * _pImport; ElementBase * _pParent; sal_Int32 _nUid; ::rtl::OUString _aLocalName; css::uno::Reference< css::xml::input::XAttributes > _xAttributes; public: ElementBase( sal_Int32 nUid, ::rtl::OUString const & rLocalName, css::uno::Reference< css::xml::input::XAttributes > const & xAttributes, ElementBase * pParent, DialogImport * pImport ) SAL_THROW( () ); virtual ~ElementBase() SAL_THROW( () ); // XElement virtual css::uno::Reference SAL_CALL getParent() throw (css::uno::RuntimeException); virtual ::rtl::OUString SAL_CALL getLocalName() throw (css::uno::RuntimeException); virtual sal_Int32 SAL_CALL getUid() throw (css::uno::RuntimeException); virtual css::uno::Reference< css::xml::input::XAttributes > SAL_CALL getAttributes() throw (css::uno::RuntimeException); virtual void SAL_CALL ignorableWhitespace( ::rtl::OUString const & rWhitespaces ) throw (css::xml::sax::SAXException, css::uno::RuntimeException); virtual void SAL_CALL characters( ::rtl::OUString const & rChars ) throw (css::xml::sax::SAXException, css::uno::RuntimeException); virtual void SAL_CALL processingInstruction( ::rtl::OUString const & Target, ::rtl::OUString const & Data ) throw (css::xml::sax::SAXException, css::uno::RuntimeException); virtual void SAL_CALL endElement() throw (css::xml::sax::SAXException, css::uno::RuntimeException); virtual css::uno::Reference< css::xml::input::XElement > SAL_CALL startChildElement( sal_Int32 nUid, ::rtl::OUString const & rLocalName, css::uno::Reference const & xAttributes ) throw (css::xml::sax::SAXException, css::uno::RuntimeException); }; //============================================================================== class StylesElement : public ElementBase { public: virtual css::uno::Reference< css::xml::input::XElement > SAL_CALL startChildElement( sal_Int32 nUid, ::rtl::OUString const & rLocalName, css::uno::Reference const & xAttributes ) throw (css::xml::sax::SAXException, css::uno::RuntimeException); inline StylesElement( ::rtl::OUString const & rLocalName, css::uno::Reference< css::xml::input::XAttributes > const & xAttributes, ElementBase * pParent, DialogImport * pImport ) SAL_THROW( () ) : ElementBase( pImport->XMLNS_DIALOGS_UID, rLocalName, xAttributes, pParent, pImport ) {} }; //============================================================================== class StyleElement : public ElementBase { sal_Int32 _backgroundColor; sal_Int32 _textColor; sal_Int32 _textLineColor; sal_Int16 _border; sal_Int32 _borderColor; css::awt::FontDescriptor _descr; sal_Int16 _fontRelief; sal_Int16 _fontEmphasisMark; sal_Int32 _fillColor; sal_Int16 _visualEffect; // current highest mask: 0x40 short _inited, _hasValue; void setFontProperties( css::uno::Reference< css::beans::XPropertySet > const & xProps ); public: virtual css::uno::Reference< css::xml::input::XElement > SAL_CALL startChildElement( sal_Int32 nUid, ::rtl::OUString const & rLocalName, css::uno::Reference const & xAttributes ) throw (css::xml::sax::SAXException, css::uno::RuntimeException); virtual void SAL_CALL endElement() throw (css::xml::sax::SAXException, css::uno::RuntimeException); bool importTextColorStyle( css::uno::Reference< css::beans::XPropertySet > const & xProps ); bool importTextLineColorStyle( css::uno::Reference< css::beans::XPropertySet > const & xProps ); bool importFillColorStyle( css::uno::Reference< css::beans::XPropertySet > const & xProps ); bool importBackgroundColorStyle( css::uno::Reference< css::beans::XPropertySet > const & xProps ); bool importFontStyle( css::uno::Reference< css::beans::XPropertySet > const & xProps ); bool importBorderStyle( css::uno::Reference< css::beans::XPropertySet > const & xProps ); bool importVisualEffectStyle( css::uno::Reference< css::beans::XPropertySet > const & xProps ); inline StyleElement( ::rtl::OUString const & rLocalName, css::uno::Reference< css::xml::input::XAttributes > const & xAttributes, ElementBase * pParent, DialogImport * pImport ) SAL_THROW( () ) : ElementBase( pImport->XMLNS_DIALOGS_UID, rLocalName, xAttributes, pParent, pImport ) , _fontRelief( css::awt::FontRelief::NONE ) , _fontEmphasisMark( css::awt::FontEmphasisMark::NONE ) , _inited( 0 ) , _hasValue( 0 ) {} }; //============================================================================== class MenuPopupElement : public ElementBase { ::std::vector< ::rtl::OUString > _itemValues; ::std::vector< sal_Int16 > _itemSelected; public: css::uno::Sequence< ::rtl::OUString > getItemValues(); css::uno::Sequence< sal_Int16 > getSelectedItems(); virtual css::uno::Reference< css::xml::input::XElement > SAL_CALL startChildElement( sal_Int32 nUid, ::rtl::OUString const & rLocalName, css::uno::Reference const & xAttributes ) throw (css::xml::sax::SAXException, css::uno::RuntimeException); inline MenuPopupElement( ::rtl::OUString const & rLocalName, css::uno::Reference< css::xml::input::XAttributes > const & xAttributes, ElementBase * pParent, DialogImport * pImport ) SAL_THROW( () ) : ElementBase( pImport->XMLNS_DIALOGS_UID, rLocalName, xAttributes, pParent, pImport ) {} }; //============================================================================== class ControlElement : public ElementBase { friend class EventElement; protected: sal_Int32 _nBasePosX, _nBasePosY; ::std::vector< css::uno::Reference< css::xml::input::XElement > > _events; ::rtl::OUString getControlId( css::uno::Reference const & xAttributes ); css::uno::Reference< css::xml::input::XElement > getStyle( css::uno::Reference const & xAttributes ); public: ::std::vector > *getEvents() SAL_THROW( () ) { return &_events; } ControlElement( ::rtl::OUString const & rLocalName, css::uno::Reference< css::xml::input::XAttributes > const & xAttributes, ElementBase * pParent, DialogImport * pImport ) SAL_THROW( () ); }; //============================================================================== class ImportContext { protected: DialogImport * _pImport; css::uno::Reference< css::beans::XPropertySet > _xControlModel; ::rtl::OUString _aId; public: inline ImportContext( DialogImport * pImport, css::uno::Reference< css::beans::XPropertySet > const & xControlModel_, ::rtl::OUString const & id ) : _pImport( pImport ), _xControlModel( xControlModel_ ), _aId( id ) { OSL_ASSERT( _xControlModel.is() ); } inline css::uno::Reference< css::beans::XPropertySet > getControlModel() { return _xControlModel; } void importDefaults( sal_Int32 nBaseX, sal_Int32 nBaseY, css::uno::Reference< css::xml::input::XAttributes > const & xAttributes, bool supportPrintable = true ); void importEvents( ::std::vector< css::uno::Reference< css::xml::input::XElement > > const & rEvents ); bool importStringProperty( ::rtl::OUString const & rPropName, ::rtl::OUString const & rAttrName, css::uno::Reference const & xAttributes ); bool importDoubleProperty( ::rtl::OUString const & rPropName, ::rtl::OUString const & rAttrName, css::uno::Reference const & xAttributes ); bool importBooleanProperty( ::rtl::OUString const & rPropName, ::rtl::OUString const & rAttrName, css::uno::Reference const & xAttributes ); bool importShortProperty( ::rtl::OUString const & rPropName, ::rtl::OUString const & rAttrName, css::uno::Reference const & xAttributes ); bool importLongProperty( ::rtl::OUString const & rPropName, ::rtl::OUString const & rAttrName, css::uno::Reference const & xAttributes ); bool importLongProperty( sal_Int32 nOffset, ::rtl::OUString const & rPropName, ::rtl::OUString const & rAttrName, css::uno::Reference const & xAttributes ); bool importHexLongProperty( ::rtl::OUString const & rPropName, ::rtl::OUString const & rAttrName, css::uno::Reference const & xAttributes ); bool importAlignProperty( ::rtl::OUString const & rPropName, ::rtl::OUString const & rAttrName, css::uno::Reference const & xAttributes ); bool importVerticalAlignProperty( ::rtl::OUString const & rPropName, ::rtl::OUString const & rAttrName, css::uno::Reference const & xAttributes ); bool importImageAlignProperty( ::rtl::OUString const & rPropName, ::rtl::OUString const & rAttrName, css::uno::Reference const & xAttributes ); bool importImagePositionProperty( ::rtl::OUString const & rPropName, ::rtl::OUString const & rAttrName, css::uno::Reference const & xAttributes ); bool importDateFormatProperty( ::rtl::OUString const & rPropName, ::rtl::OUString const & rAttrName, css::uno::Reference const & xAttributes ); bool importTimeFormatProperty( ::rtl::OUString const & rPropName, ::rtl::OUString const & rAttrName, css::uno::Reference const & xAttributes ); bool importOrientationProperty( ::rtl::OUString const & rPropName, ::rtl::OUString const & rAttrName, css::uno::Reference const & xAttributes ); bool importButtonTypeProperty( ::rtl::OUString const & rPropName, ::rtl::OUString const & rAttrName, css::uno::Reference const & xAttributes ); bool importLineEndFormatProperty( ::rtl::OUString const & rPropName, ::rtl::OUString const & rAttrName, css::uno::Reference const & xAttributes ); bool importSelectionTypeProperty( ::rtl::OUString const & rPropName, ::rtl::OUString const & rAttrName, css::uno::Reference const & xAttributes ); bool importImageScaleModeProperty( ::rtl::OUString const & rPropName, ::rtl::OUString const & rAttrName, css::uno::Reference const & xAttributes ); }; //============================================================================== class ControlImportContext : public ImportContext { public: inline ControlImportContext( DialogImport * pImport, ::rtl::OUString const & rId, ::rtl::OUString const & rControlName ) : ImportContext( pImport, css::uno::Reference< css::beans::XPropertySet >( pImport->_xDialogModelFactory->createInstance( rControlName ), css::uno::UNO_QUERY_THROW ), rId ) {} inline ~ControlImportContext() { _pImport->_xDialogModel->insertByName( _aId, css::uno::makeAny( css::uno::Reference::query( _xControlModel ) ) ); } }; //============================================================================== class WindowElement : public ControlElement { public: virtual css::uno::Reference< css::xml::input::XElement > SAL_CALL startChildElement( sal_Int32 nUid, ::rtl::OUString const & rLocalName, css::uno::Reference const & xAttributes ) throw (css::xml::sax::SAXException, css::uno::RuntimeException); virtual void SAL_CALL endElement() throw (css::xml::sax::SAXException, css::uno::RuntimeException); inline WindowElement( ::rtl::OUString const & rLocalName, css::uno::Reference< css::xml::input::XAttributes > const & xAttributes, ElementBase * pParent, DialogImport * pImport ) SAL_THROW( () ) : ControlElement( rLocalName, xAttributes, pParent, pImport ) {} }; //============================================================================== class EventElement : public ElementBase { public: virtual void SAL_CALL endElement() throw (css::xml::sax::SAXException, css::uno::RuntimeException); inline EventElement( sal_Int32 nUid, ::rtl::OUString const & rLocalName, css::uno::Reference< css::xml::input::XAttributes > const & xAttributes, ElementBase * pParent, DialogImport * pImport ) SAL_THROW( () ) : ElementBase( nUid, rLocalName, xAttributes, pParent, pImport ) {} }; //============================================================================== class BulletinBoardElement : public ControlElement { public: virtual css::uno::Reference< css::xml::input::XElement > SAL_CALL startChildElement( sal_Int32 nUid, ::rtl::OUString const & rLocalName, css::uno::Reference const & xAttributes ) throw (css::xml::sax::SAXException, css::uno::RuntimeException); BulletinBoardElement( ::rtl::OUString const & rLocalName, css::uno::Reference< css::xml::input::XAttributes > const & xAttributes, ElementBase * pParent, DialogImport * pImport ) SAL_THROW( () ); }; //============================================================================== class ButtonElement : public ControlElement { public: virtual css::uno::Reference< css::xml::input::XElement > SAL_CALL startChildElement( sal_Int32 nUid, ::rtl::OUString const & rLocalName, css::uno::Reference const & xAttributes ) throw (css::xml::sax::SAXException, css::uno::RuntimeException); virtual void SAL_CALL endElement() throw (css::xml::sax::SAXException, css::uno::RuntimeException); inline ButtonElement( ::rtl::OUString const & rLocalName, css::uno::Reference< css::xml::input::XAttributes > const & xAttributes, ElementBase * pParent, DialogImport * pImport ) SAL_THROW( () ) : ControlElement( rLocalName, xAttributes, pParent, pImport ) {} }; //============================================================================== class CheckBoxElement : public ControlElement { public: virtual css::uno::Reference< css::xml::input::XElement > SAL_CALL startChildElement( sal_Int32 nUid, ::rtl::OUString const & rLocalName, css::uno::Reference const & xAttributes ) throw (css::xml::sax::SAXException, css::uno::RuntimeException); virtual void SAL_CALL endElement() throw (css::xml::sax::SAXException, css::uno::RuntimeException); inline CheckBoxElement( ::rtl::OUString const & rLocalName, css::uno::Reference< css::xml::input::XAttributes > const & xAttributes, ElementBase * pParent, DialogImport * pImport ) SAL_THROW( () ) : ControlElement( rLocalName, xAttributes, pParent, pImport ) {} }; //============================================================================== class ComboBoxElement : public ControlElement { css::uno::Reference< css::xml::input::XElement > _popup; public: virtual css::uno::Reference< css::xml::input::XElement > SAL_CALL startChildElement( sal_Int32 nUid, ::rtl::OUString const & rLocalName, css::uno::Reference const & xAttributes ) throw (css::xml::sax::SAXException, css::uno::RuntimeException); virtual void SAL_CALL endElement() throw (css::xml::sax::SAXException, css::uno::RuntimeException); inline ComboBoxElement( ::rtl::OUString const & rLocalName, css::uno::Reference< css::xml::input::XAttributes > const & xAttributes, ElementBase * pParent, DialogImport * pImport ) SAL_THROW( () ) : ControlElement( rLocalName, xAttributes, pParent, pImport ) {} }; //============================================================================== class MenuListElement : public ControlElement { css::uno::Reference< css::xml::input::XElement > _popup; public: virtual css::uno::Reference< css::xml::input::XElement > SAL_CALL startChildElement( sal_Int32 nUid, ::rtl::OUString const & rLocalName, css::uno::Reference const & xAttributes ) throw (css::xml::sax::SAXException, css::uno::RuntimeException); virtual void SAL_CALL endElement() throw (css::xml::sax::SAXException, css::uno::RuntimeException); inline MenuListElement( ::rtl::OUString const & rLocalName, css::uno::Reference< css::xml::input::XAttributes > const & xAttributes, ElementBase * pParent, DialogImport * pImport ) SAL_THROW( () ) : ControlElement( rLocalName, xAttributes, pParent, pImport ) {} }; //============================================================================== class RadioElement : public ControlElement { public: virtual css::uno::Reference< css::xml::input::XElement > SAL_CALL startChildElement( sal_Int32 nUid, ::rtl::OUString const & rLocalName, css::uno::Reference const & xAttributes ) throw (css::xml::sax::SAXException, css::uno::RuntimeException); inline RadioElement( ::rtl::OUString const & rLocalName, css::uno::Reference< css::xml::input::XAttributes > const & xAttributes, ElementBase * pParent, DialogImport * pImport ) SAL_THROW( () ) : ControlElement( rLocalName, xAttributes, pParent, pImport ) {} }; //============================================================================== class RadioGroupElement : public ControlElement { ::std::vector< css::uno::Reference< css::xml::input::XElement > > _radios; public: virtual css::uno::Reference< css::xml::input::XElement > SAL_CALL startChildElement( sal_Int32 nUid, ::rtl::OUString const & rLocalName, css::uno::Reference const & xAttributes ) throw (css::xml::sax::SAXException, css::uno::RuntimeException); void SAL_CALL endElement() throw (css::xml::sax::SAXException, css::uno::RuntimeException); inline RadioGroupElement( ::rtl::OUString const & rLocalName, css::uno::Reference< css::xml::input::XAttributes > const & xAttributes, ElementBase * pParent, DialogImport * pImport ) SAL_THROW( () ) : ControlElement( rLocalName, xAttributes, pParent, pImport ) {} }; //============================================================================== class TitledBoxElement : public BulletinBoardElement { ::rtl::OUString _label; ::std::vector< css::uno::Reference< css::xml::input::XElement > > _radios; public: virtual css::uno::Reference< css::xml::input::XElement > SAL_CALL startChildElement( sal_Int32 nUid, ::rtl::OUString const & rLocalName, css::uno::Reference const & xAttributes ) throw (css::xml::sax::SAXException, css::uno::RuntimeException); virtual void SAL_CALL endElement() throw (css::xml::sax::SAXException, css::uno::RuntimeException); inline TitledBoxElement( ::rtl::OUString const & rLocalName, css::uno::Reference< css::xml::input::XAttributes > const & xAttributes, ElementBase * pParent, DialogImport * pImport ) SAL_THROW( () ) : BulletinBoardElement( rLocalName, xAttributes, pParent, pImport ) {} }; //============================================================================== class TextElement : public ControlElement { public: virtual css::uno::Reference< css::xml::input::XElement > SAL_CALL startChildElement( sal_Int32 nUid, ::rtl::OUString const & rLocalName, css::uno::Reference const & xAttributes ) throw (css::xml::sax::SAXException, css::uno::RuntimeException); virtual void SAL_CALL endElement() throw (css::xml::sax::SAXException, css::uno::RuntimeException); inline TextElement( ::rtl::OUString const & rLocalName, css::uno::Reference< css::xml::input::XAttributes > const & xAttributes, ElementBase * pParent, DialogImport * pImport ) SAL_THROW( () ) : ControlElement( rLocalName, xAttributes, pParent, pImport ) {} }; //============================================================================== class FixedHyperLinkElement : public ControlElement { public: virtual css::uno::Reference< css::xml::input::XElement > SAL_CALL startChildElement( sal_Int32 nUid, ::rtl::OUString const & rLocalName, css::uno::Reference const & xAttributes ) throw (css::xml::sax::SAXException, css::uno::RuntimeException); virtual void SAL_CALL endElement() throw (css::xml::sax::SAXException, css::uno::RuntimeException); inline FixedHyperLinkElement( ::rtl::OUString const & rLocalName, css::uno::Reference< css::xml::input::XAttributes > const & xAttributes, ElementBase * pParent, DialogImport * pImport ) SAL_THROW( () ) : ControlElement( rLocalName, xAttributes, pParent, pImport ) {} }; //============================================================================== class TextFieldElement : public ControlElement { public: virtual css::uno::Reference< css::xml::input::XElement > SAL_CALL startChildElement( sal_Int32 nUid, ::rtl::OUString const & rLocalName, css::uno::Reference const & xAttributes ) throw (css::xml::sax::SAXException, css::uno::RuntimeException); virtual void SAL_CALL endElement() throw (css::xml::sax::SAXException, css::uno::RuntimeException); inline TextFieldElement( ::rtl::OUString const & rLocalName, css::uno::Reference< css::xml::input::XAttributes > const & xAttributes, ElementBase * pParent, DialogImport * pImport ) SAL_THROW( () ) : ControlElement( rLocalName, xAttributes, pParent, pImport ) {} }; //============================================================================== class ImageControlElement : public ControlElement { public: virtual css::uno::Reference< css::xml::input::XElement > SAL_CALL startChildElement( sal_Int32 nUid, ::rtl::OUString const & rLocalName, css::uno::Reference const & xAttributes ) throw (css::xml::sax::SAXException, css::uno::RuntimeException); virtual void SAL_CALL endElement() throw (css::xml::sax::SAXException, css::uno::RuntimeException); inline ImageControlElement( ::rtl::OUString const & rLocalName, css::uno::Reference< css::xml::input::XAttributes > const & xAttributes, ElementBase * pParent, DialogImport * pImport ) SAL_THROW( () ) : ControlElement( rLocalName, xAttributes, pParent, pImport ) {} }; //============================================================================== class FileControlElement : public ControlElement { public: virtual css::uno::Reference< css::xml::input::XElement > SAL_CALL startChildElement( sal_Int32 nUid, ::rtl::OUString const & rLocalName, css::uno::Reference const & xAttributes ) throw (css::xml::sax::SAXException, css::uno::RuntimeException); virtual void SAL_CALL endElement() throw (css::xml::sax::SAXException, css::uno::RuntimeException); inline FileControlElement( ::rtl::OUString const & rLocalName, css::uno::Reference< css::xml::input::XAttributes > const & xAttributes, ElementBase * pParent, DialogImport * pImport ) SAL_THROW( () ) : ControlElement( rLocalName, xAttributes, pParent, pImport ) {} }; //============================================================================== class TreeControlElement : public ControlElement { public: virtual css::uno::Reference< css::xml::input::XElement > SAL_CALL startChildElement( sal_Int32 nUid, ::rtl::OUString const & rLocalName, css::uno::Reference const & xAttributes ) throw (css::xml::sax::SAXException, css::uno::RuntimeException); virtual void SAL_CALL endElement() throw (css::xml::sax::SAXException, css::uno::RuntimeException); inline TreeControlElement( ::rtl::OUString const & rLocalName, css::uno::Reference< css::xml::input::XAttributes > const & xAttributes, ElementBase * pParent, DialogImport * pImport ) SAL_THROW( () ) : ControlElement( rLocalName, xAttributes, pParent, pImport ) {} }; //============================================================================== class CurrencyFieldElement : public ControlElement { public: virtual css::uno::Reference< css::xml::input::XElement > SAL_CALL startChildElement( sal_Int32 nUid, ::rtl::OUString const & rLocalName, css::uno::Reference const & xAttributes ) throw (css::xml::sax::SAXException, css::uno::RuntimeException); virtual void SAL_CALL endElement() throw (css::xml::sax::SAXException, css::uno::RuntimeException); inline CurrencyFieldElement( ::rtl::OUString const & rLocalName, css::uno::Reference< css::xml::input::XAttributes > const & xAttributes, ElementBase * pParent, DialogImport * pImport ) SAL_THROW( () ) : ControlElement( rLocalName, xAttributes, pParent, pImport ) {} }; //============================================================================== class DateFieldElement : public ControlElement { public: virtual css::uno::Reference< css::xml::input::XElement > SAL_CALL startChildElement( sal_Int32 nUid, ::rtl::OUString const & rLocalName, css::uno::Reference const & xAttributes ) throw (css::xml::sax::SAXException, css::uno::RuntimeException); virtual void SAL_CALL endElement() throw (css::xml::sax::SAXException, css::uno::RuntimeException); inline DateFieldElement( ::rtl::OUString const & rLocalName, css::uno::Reference< css::xml::input::XAttributes > const & xAttributes, ElementBase * pParent, DialogImport * pImport ) SAL_THROW( () ) : ControlElement( rLocalName, xAttributes, pParent, pImport ) {} }; //============================================================================== class NumericFieldElement : public ControlElement { public: virtual css::uno::Reference< css::xml::input::XElement > SAL_CALL startChildElement( sal_Int32 nUid, ::rtl::OUString const & rLocalName, css::uno::Reference const & xAttributes ) throw (css::xml::sax::SAXException, css::uno::RuntimeException); virtual void SAL_CALL endElement() throw (css::xml::sax::SAXException, css::uno::RuntimeException); inline NumericFieldElement( ::rtl::OUString const & rLocalName, css::uno::Reference< css::xml::input::XAttributes > const & xAttributes, ElementBase * pParent, DialogImport * pImport ) SAL_THROW( () ) : ControlElement( rLocalName, xAttributes, pParent, pImport ) {} }; //============================================================================== class TimeFieldElement : public ControlElement { public: virtual css::uno::Reference< css::xml::input::XElement > SAL_CALL startChildElement( sal_Int32 nUid, ::rtl::OUString const & rLocalName, css::uno::Reference const & xAttributes ) throw (css::xml::sax::SAXException, css::uno::RuntimeException); virtual void SAL_CALL endElement() throw (css::xml::sax::SAXException, css::uno::RuntimeException); inline TimeFieldElement( ::rtl::OUString const & rLocalName, css::uno::Reference< css::xml::input::XAttributes > const & xAttributes, ElementBase * pParent, DialogImport * pImport ) SAL_THROW( () ) : ControlElement( rLocalName, xAttributes, pParent, pImport ) {} }; //============================================================================== class PatternFieldElement : public ControlElement { public: virtual css::uno::Reference< css::xml::input::XElement > SAL_CALL startChildElement( sal_Int32 nUid, ::rtl::OUString const & rLocalName, css::uno::Reference const & xAttributes ) throw (css::xml::sax::SAXException, css::uno::RuntimeException); virtual void SAL_CALL endElement() throw (css::xml::sax::SAXException, css::uno::RuntimeException); inline PatternFieldElement( ::rtl::OUString const & rLocalName, css::uno::Reference< css::xml::input::XAttributes > const & xAttributes, ElementBase * pParent, DialogImport * pImport ) SAL_THROW( () ) : ControlElement( rLocalName, xAttributes, pParent, pImport ) {} }; //============================================================================== class FormattedFieldElement : public ControlElement { public: virtual css::uno::Reference< css::xml::input::XElement > SAL_CALL startChildElement( sal_Int32 nUid, ::rtl::OUString const & rLocalName, css::uno::Reference const & xAttributes ) throw (css::xml::sax::SAXException, css::uno::RuntimeException); virtual void SAL_CALL endElement() throw (css::xml::sax::SAXException, css::uno::RuntimeException); inline FormattedFieldElement( ::rtl::OUString const & rLocalName, css::uno::Reference< css::xml::input::XAttributes > const & xAttributes, ElementBase * pParent, DialogImport * pImport ) SAL_THROW( () ) : ControlElement( rLocalName, xAttributes, pParent, pImport ) {} }; //============================================================================== class FixedLineElement : public ControlElement { public: virtual css::uno::Reference< css::xml::input::XElement > SAL_CALL startChildElement( sal_Int32 nUid, ::rtl::OUString const & rLocalName, css::uno::Reference const & xAttributes ) throw (css::xml::sax::SAXException, css::uno::RuntimeException); virtual void SAL_CALL endElement() throw (css::xml::sax::SAXException, css::uno::RuntimeException); inline FixedLineElement( ::rtl::OUString const & rLocalName, css::uno::Reference< css::xml::input::XAttributes > const & xAttributes, ElementBase * pParent, DialogImport * pImport ) SAL_THROW( () ) : ControlElement( rLocalName, xAttributes, pParent, pImport ) {} }; //============================================================================== class ScrollBarElement : public ControlElement { public: virtual css::uno::Reference< css::xml::input::XElement > SAL_CALL startChildElement( sal_Int32 nUid, ::rtl::OUString const & rLocalName, css::uno::Reference const & xAttributes ) throw (css::xml::sax::SAXException, css::uno::RuntimeException); virtual void SAL_CALL endElement() throw (css::xml::sax::SAXException, css::uno::RuntimeException); inline ScrollBarElement( ::rtl::OUString const & rLocalName, css::uno::Reference< css::xml::input::XAttributes > const & xAttributes, ElementBase * pParent, DialogImport * pImport ) SAL_THROW( () ) : ControlElement( rLocalName, xAttributes, pParent, pImport ) {} }; //============================================================================== class ProgressBarElement : public ControlElement { public: virtual css::uno::Reference< css::xml::input::XElement > SAL_CALL startChildElement( sal_Int32 nUid, ::rtl::OUString const & rLocalName, css::uno::Reference const & xAttributes ) throw (css::xml::sax::SAXException, css::uno::RuntimeException); virtual void SAL_CALL endElement() throw (css::xml::sax::SAXException, css::uno::RuntimeException); inline ProgressBarElement( ::rtl::OUString const & rLocalName, css::uno::Reference< css::xml::input::XAttributes > const & xAttributes, ElementBase * pParent, DialogImport * pImport ) SAL_THROW( () ) : ControlElement( rLocalName, xAttributes, pParent, pImport ) {} }; }