blob: efda8a6fcfc2b1980095919b2fac31b91df0831f [file] [log] [blame]
/**************************************************************
*
* 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 <xmlscript/xmldlg_imexp.hxx>
#include <xmlscript/xmllib_imexp.hxx>
#include <xmlscript/xmlmod_imexp.hxx>
#include <cppuhelper/implbase1.hxx>
#include <com/sun/star/uno/XComponentContext.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/lang/XMultiComponentFactory.hpp>
#include <com/sun/star/container/XNameContainer.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/util/XNumberFormatsSupplier.hpp>
#include <com/sun/star/awt/XControlModel.hpp>
#include <com/sun/star/awt/FontDescriptor.hpp>
#include <com/sun/star/awt/FontEmphasisMark.hpp>
#include <com/sun/star/awt/FontRelief.hpp>
#include <com/sun/star/xml/input/XRoot.hpp>
#include <vector>
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::XInterface>(), 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<css::uno::XComponentContext> const & xContext,
css::uno::Reference<css::container::XNameContainer>
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<css::xml::input::XAttributes> 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<css::xml::input::XElement> 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<css::xml::input::XAttributes> 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<css::xml::input::XAttributes> 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<css::xml::input::XAttributes> 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<css::xml::input::XAttributes> 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<css::xml::input::XAttributes> const & xAttributes );
css::uno::Reference< css::xml::input::XElement > getStyle(
css::uno::Reference<css::xml::input::XAttributes> const & xAttributes );
public:
::std::vector<css::uno::Reference< css::xml::input::XElement> > *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<css::xml::input::XAttributes> const & xAttributes );
bool importDoubleProperty(
::rtl::OUString const & rPropName, ::rtl::OUString const & rAttrName,
css::uno::Reference<css::xml::input::XAttributes> const & xAttributes );
bool importBooleanProperty(
::rtl::OUString const & rPropName, ::rtl::OUString const & rAttrName,
css::uno::Reference<css::xml::input::XAttributes> const & xAttributes );
bool importShortProperty(
::rtl::OUString const & rPropName, ::rtl::OUString const & rAttrName,
css::uno::Reference<css::xml::input::XAttributes> const & xAttributes );
bool importLongProperty(
::rtl::OUString const & rPropName, ::rtl::OUString const & rAttrName,
css::uno::Reference<css::xml::input::XAttributes> const & xAttributes );
bool importLongProperty(
sal_Int32 nOffset,
::rtl::OUString const & rPropName, ::rtl::OUString const & rAttrName,
css::uno::Reference<css::xml::input::XAttributes> const & xAttributes );
bool importHexLongProperty(
::rtl::OUString const & rPropName, ::rtl::OUString const & rAttrName,
css::uno::Reference<css::xml::input::XAttributes> const & xAttributes );
bool importAlignProperty(
::rtl::OUString const & rPropName, ::rtl::OUString const & rAttrName,
css::uno::Reference<css::xml::input::XAttributes> const & xAttributes );
bool importVerticalAlignProperty(
::rtl::OUString const & rPropName, ::rtl::OUString const & rAttrName,
css::uno::Reference<css::xml::input::XAttributes> const & xAttributes );
bool importImageAlignProperty(
::rtl::OUString const & rPropName, ::rtl::OUString const & rAttrName,
css::uno::Reference<css::xml::input::XAttributes> const & xAttributes );
bool importImagePositionProperty(
::rtl::OUString const & rPropName, ::rtl::OUString const & rAttrName,
css::uno::Reference<css::xml::input::XAttributes> const & xAttributes );
bool importDateFormatProperty(
::rtl::OUString const & rPropName, ::rtl::OUString const & rAttrName,
css::uno::Reference<css::xml::input::XAttributes> const & xAttributes );
bool importTimeFormatProperty(
::rtl::OUString const & rPropName, ::rtl::OUString const & rAttrName,
css::uno::Reference<css::xml::input::XAttributes> const & xAttributes );
bool importOrientationProperty(
::rtl::OUString const & rPropName, ::rtl::OUString const & rAttrName,
css::uno::Reference<css::xml::input::XAttributes> const & xAttributes );
bool importButtonTypeProperty(
::rtl::OUString const & rPropName, ::rtl::OUString const & rAttrName,
css::uno::Reference<css::xml::input::XAttributes> const & xAttributes );
bool importLineEndFormatProperty(
::rtl::OUString const & rPropName, ::rtl::OUString const & rAttrName,
css::uno::Reference<css::xml::input::XAttributes> const & xAttributes );
bool importSelectionTypeProperty(
::rtl::OUString const & rPropName, ::rtl::OUString const & rAttrName,
css::uno::Reference<css::xml::input::XAttributes> 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<css::awt::XControlModel>::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<css::xml::input::XAttributes> 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<css::xml::input::XAttributes> 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<css::xml::input::XAttributes> 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<css::xml::input::XAttributes> 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<css::xml::input::XAttributes> 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<css::xml::input::XAttributes> 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<css::xml::input::XAttributes> 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<css::xml::input::XAttributes> 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<css::xml::input::XAttributes> 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<css::xml::input::XAttributes> 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<css::xml::input::XAttributes> 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<css::xml::input::XAttributes> 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<css::xml::input::XAttributes> 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<css::xml::input::XAttributes> 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<css::xml::input::XAttributes> 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<css::xml::input::XAttributes> 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<css::xml::input::XAttributes> 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<css::xml::input::XAttributes> 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<css::xml::input::XAttributes> 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<css::xml::input::XAttributes> 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<css::xml::input::XAttributes> 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<css::xml::input::XAttributes> 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<css::xml::input::XAttributes> 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<css::xml::input::XAttributes> 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 )
{}
};
}