LibreOffice Module xmloff (master)  1
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
xmloff::OControlImport Class Reference

helper class for importing the description of a single control More...

#include <elementimport.hxx>

Inheritance diagram for xmloff::OControlImport:
[legend]
Collaboration diagram for xmloff::OControlImport:
[legend]

Public Member Functions

 OControlImport (OFormLayerXMLImport_Impl &_rImport, IEventAttacherManager &_rEventManager, const css::uno::Reference< css::container::XNameContainer > &_rxParentContainer, OControlElement::ElementType _eType)
 
virtual void SAL_CALL startFastElement (sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &xAttrList) override
 
virtual void SAL_CALL endFastElement (sal_Int32 nElement) override
 endFastElement is called before a context will be destructed, but after an elements context has been parsed. More...
 
virtual bool handleAttribute (sal_Int32 nElement, const OUString &_rValue) override
 handle one single attribute. More...
 
void addOuterAttributes (const css::uno::Reference< css::xml::sax::XFastAttributeList > &_rxOuterAttribs)
 
- Public Member Functions inherited from xmloff::OElementImport
 OElementImport (OFormLayerXMLImport_Impl &_rImport, IEventAttacherManager &_rEventManager, const css::uno::Reference< css::container::XNameContainer > &_rxParentContainer)
 ctor More...
 
virtual ~OElementImport () override
 
- Public Member Functions inherited from xmloff::OPropertyImport
 OPropertyImport (OFormLayerXMLImport_Impl &_rImport)
 
virtual void SAL_CALL characters (const OUString &_rChars) override
 This method is called for all characters that are contained in the current element. More...
 
- Public Member Functions inherited from SvXMLImportContext
 SvXMLImportContext (SvXMLImport &rImport)
 A contexts constructor does anything that is required if an element starts. More...
 
virtual ~SvXMLImportContext ()
 A contexts destructor does anything that is required if an element ends. More...
 
virtual void SAL_CALL startUnknownElement (const OUString &Namespace, const OUString &Name, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) override
 
virtual void SAL_CALL endUnknownElement (const OUString &Namespace, const OUString &Name) override
 
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createUnknownChildContext (const OUString &Namespace, const OUString &Name, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) override
 
virtual css::uno::Any SAL_CALL queryInterface (const css::uno::Type &aType) final override
 
virtual void SAL_CALL acquire () noexcept final override
 
virtual void SAL_CALL release () noexcept final override
 
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes () final override
 
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId () final override
 

Protected Member Functions

 OControlImport (OFormLayerXMLImport_Impl &_rImport, IEventAttacherManager &_rEventManager, const css::uno::Reference< css::container::XNameContainer > &_rxParentContainer)
 
void setElementType (OControlElement::ElementType _eType)
 
virtual OUString determineDefaultServiceName () const override
 
virtual void doRegisterCellValueBinding (const OUString &_rBoundCellAddress)
 registers the given cell address as value binding address for our element More...
 
void doRegisterXFormsValueBinding (const OUString &)
 register the given XForms binding More...
 
void doRegisterXFormsListBinding (const OUString &)
 register the given XForms list binding More...
 
void doRegisterXFormsSubmission (const OUString &)
 register the given XForms submission More...
 
virtual css::uno::Reference< css::beans::XPropertySetcreateElement () override
 create the (uninitialized) element which is to represent the read data More...
 
- Protected Member Functions inherited from xmloff::OElementImport
virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext (sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &AttrList) override
 
virtual void registerEvents (const css::uno::Sequence< css::script::ScriptEventDescriptor > &_rEvents) override
 
void simulateDefaultedAttribute (sal_Int32 nElement, const OUString &_rPropertyName, const char *_pAttributeDefault)
 can be used to handle properties where the attribute default and the property default differ. More...
 
bool tryGenericAttribute (sal_Int32 nElement, const OUString &_rValue)
 to be called from within handleAttribute, checks whether the given attribute is covered by our generic attribute handler mechanisms More...
 
void disableImplicitGenericAttributeHandling ()
 controls whether |handleAttribute| implicitly calls |tryGenericAttribute|, or whether the derived class must do this explicitly at a suitable place in its own |handleAttribute| More...
 
- Protected Member Functions inherited from xmloff::OPropertyImport
bool encounteredAttribute (sal_Int32 nElement) const
 determine if the element imported by the object had a given attribute. More...
 
void enableTrackAttributes ()
 enables the tracking of the encountered attributes More...
 
void implPushBackPropertyValue (const css::beans::PropertyValue &_rProp)
 
void implPushBackPropertyValue (const OUString &_rName, const css::uno::Any &_rValue)
 
void implPushBackGenericPropertyValue (const css::beans::PropertyValue &_rProp)
 
- Protected Member Functions inherited from SvXMLImportContext
SvXMLImportGetImport ()
 
const SvXMLImportGetImport () const
 
- Protected Member Functions inherited from xmloff::IEventAttacher
 ~IEventAttacher ()
 

Static Protected Member Functions

static void implTranslateValueProperty (const css::uno::Reference< css::beans::XPropertySetInfo > &_rxPropInfo, css::beans::PropertyValue &_rPropValue)
 

Protected Attributes

OUString m_sControlId
 
OControlElement::ElementType m_eElementType
 
PropertyValueArray m_aValueProperties
 
css::uno::Reference< css::xml::sax::XFastAttributeList > m_xOuterAttributes
 
OUString m_sBoundCellAddress
 the address of the calc cell which the control model should be bound to, if applicable More...
 
OUString m_sBindingID
 name of a value binding (xforms:bind attribute) More...
 
OUString m_sListBindingID
 name of a list binding (form:xforms-list-source attribute) More...
 
OUString m_sSubmissionID
 name of a submission (xforms:submission attribute) More...
 
- Protected Attributes inherited from xmloff::OElementImport
OUString m_sServiceName
 
OUString m_sName
 
OFormLayerXMLImport_Implm_rFormImport
 
IEventAttacherManagerm_rEventManager
 
const XMLTextStyleContextm_pStyleElement
 
css::uno::Reference< css::container::XNameContainer > m_xParentContainer
 the parent container to insert the new element into More...
 
css::uno::Reference< css::beans::XPropertySetm_xElement
 the element we're creating. Valid after StartElement More...
 
css::uno::Reference< css::beans::XPropertySetInfo > m_xInfo
 
bool m_bImplicitGenericAttributeHandling
 
- Protected Attributes inherited from xmloff::OPropertyImport
PropertyValueArray m_aValues
 
PropertyValueArray m_aGenericValues
 
o3tl::sorted_vector< sal_Int32 > m_aEncounteredAttributes
 
OFormLayerXMLImport_Implm_rContext
 
bool m_bTrackAttributes
 

Additional Inherited Members

- Protected Types inherited from xmloff::OPropertyImport
typedef ::std::vector< css::beans::PropertyValue > PropertyValueArray
 

Detailed Description

helper class for importing the description of a single control

Definition at line 164 of file elementimport.hxx.

Constructor & Destructor Documentation

xmloff::OControlImport::OControlImport ( OFormLayerXMLImport_Impl _rImport,
IEventAttacherManager _rEventManager,
const css::uno::Reference< css::container::XNameContainer > &  _rxParentContainer 
)
protected
xmloff::OControlImport::OControlImport ( OFormLayerXMLImport_Impl _rImport,
IEventAttacherManager _rEventManager,
const css::uno::Reference< css::container::XNameContainer > &  _rxParentContainer,
OControlElement::ElementType  _eType 
)

Member Function Documentation

void xmloff::OControlImport::addOuterAttributes ( const css::uno::Reference< css::xml::sax::XFastAttributeList > &  _rxOuterAttribs)
Reference< XPropertySet > xmloff::OControlImport::createElement ( )
overrideprotectedvirtual

create the (uninitialized) element which is to represent the read data

The default implementation uses <member>m_xORB</member> to create an object with <member>m_sServiceName</member>.

Reimplemented from xmloff::OElementImport.

Reimplemented in xmloff::OGridImport.

Definition at line 1035 of file elementimport.cxx.

References Any, xmloff::OElementImport::createElement(), xmloff::OElementImport::m_xInfo, and PROPERTY_ALIGN.

Referenced by xmloff::OGridImport::createElement().

OUString xmloff::OControlImport::determineDefaultServiceName ( ) const
overrideprotectedvirtual
void xmloff::OControlImport::doRegisterCellValueBinding ( const OUString &  _rBoundCellAddress)
protectedvirtual

registers the given cell address as value binding address for our element

The default implementation simply calls registerCellValueBinding at our import context, but you may want to override this behaviour.

Parameters
_rBoundCellAddressthe cell address to register for our element. Must not be <NULL>. we have a valid element (m_xElement)

Reimplemented in xmloff::OListAndComboImport.

Definition at line 1002 of file elementimport.cxx.

References xmloff::OPropertyImport::m_rContext, xmloff::OElementImport::m_xElement, and xmloff::OFormLayerXMLImport_Impl::registerCellValueBinding().

Referenced by xmloff::OListAndComboImport::doRegisterCellValueBinding(), and endFastElement().

void xmloff::OControlImport::doRegisterXFormsListBinding ( const OUString &  _rBindingID)
protected
void xmloff::OControlImport::doRegisterXFormsSubmission ( const OUString &  _rSubmissionID)
protected
void xmloff::OControlImport::doRegisterXFormsValueBinding ( const OUString &  _rBindingID)
protected
void xmloff::OControlImport::endFastElement ( sal_Int32  Element)
overridevirtual
bool xmloff::OControlImport::handleAttribute ( sal_Int32  nElement,
const OUString &  _rValue 
)
overridevirtual

handle one single attribute.

This is called for every attribute of the element. This class' implementation checks if the attribute describes a property, if so, it is added to <member>m_aValues</member>.

All non-property attributes should be handled in derived classes.

Parameters
_nNamespaceKeykey of the namespace used in the attribute
_rLocalNamelocal (relative to the namespace) attribute name
_rValueattribute value

Reimplemented from xmloff::OElementImport.

Reimplemented in xmloff::OListAndComboImport, xmloff::OValueRangeImport, xmloff::OURLReferenceImport, xmloff::ORadioImport, xmloff::OPasswordImport, xmloff::OReferredControlImport, and xmloff::OImagePositionImport.

Definition at line 647 of file elementimport.cxx.

References sax::Converter::convertDuration(), CurrentValue, FORM, xmloff::OAttributeMetaData::getBindingAttributeToken(), xmloff::OAttributeMetaData::getCommonControlAttributeToken(), SvXMLImport::getNameFromToken(), xmloff::OAttributeMetaData::getSpecialAttributeToken(), xmloff::OElementImport::handleAttribute(), xmloff::OPropertyImport::implPushBackPropertyValue(), IsTokenInNamespace(), LinkedCell, m_aValueProperties, m_sBindingID, m_sBoundCellAddress, m_sControlId, m_sListBindingID, m_sSubmissionID, MaxValue, MinValue, nHandle, PROPERTY_REPEAT_DELAY, PROPID_CURRENT_VALUE, PROPID_MAX_VALUE, PROPID_MIN_VALUE, PROPID_VALUE, RepeatDelay, TOKEN_MASK, xmloff::OElementImport::tryGenericAttribute(), Value, XFORMS, xmloff::token::XML_BIND, XML_ELEMENT, xmloff::token::XML_ID, XML_NAMESPACE_FORM, XML_NAMESPACE_XML, xmloff::token::XML_SUBMISSION, xmloff::token::XML_XFORMS_LIST_SOURCE, and xmloff::token::XML_XFORMS_SUBMISSION.

Referenced by xmloff::OImagePositionImport::handleAttribute(), xmloff::OReferredControlImport::handleAttribute(), xmloff::OPasswordImport::handleAttribute(), xmloff::OValueRangeImport::handleAttribute(), and xmloff::OListAndComboImport::handleAttribute().

void xmloff::OControlImport::implTranslateValueProperty ( const css::uno::Reference< css::beans::XPropertySetInfo > &  _rxPropInfo,
css::beans::PropertyValue &  _rPropValue 
)
staticprotected
void xmloff::OControlImport::setElementType ( OControlElement::ElementType  _eType)
inlineprotected

Definition at line 219 of file elementimport.hxx.

Referenced by xmloff::OGridImport::OGridImport().

void xmloff::OControlImport::startFastElement ( sal_Int32  nElement,
const css::uno::Reference< css::xml::sax::XFastAttributeList > &  xAttrList 
)
overridevirtual

Member Data Documentation

PropertyValueArray xmloff::OControlImport::m_aValueProperties
protected

Definition at line 172 of file elementimport.hxx.

Referenced by handleAttribute(), and startFastElement().

OControlElement::ElementType xmloff::OControlImport::m_eElementType
protected
OUString xmloff::OControlImport::m_sBindingID
protected

name of a value binding (xforms:bind attribute)

Definition at line 187 of file elementimport.hxx.

Referenced by endFastElement(), and handleAttribute().

OUString xmloff::OControlImport::m_sBoundCellAddress
protected

the address of the calc cell which the control model should be bound to, if applicable

Definition at line 184 of file elementimport.hxx.

Referenced by endFastElement(), and handleAttribute().

OUString xmloff::OControlImport::m_sControlId
protected

Definition at line 169 of file elementimport.hxx.

Referenced by endFastElement(), and handleAttribute().

OUString xmloff::OControlImport::m_sListBindingID
protected

name of a list binding (form:xforms-list-source attribute)

Definition at line 190 of file elementimport.hxx.

Referenced by endFastElement(), and handleAttribute().

OUString xmloff::OControlImport::m_sSubmissionID
protected

name of a submission (xforms:submission attribute)

Definition at line 193 of file elementimport.hxx.

Referenced by endFastElement(), and handleAttribute().

css::uno::Reference< css::xml::sax::XFastAttributeList > xmloff::OControlImport::m_xOuterAttributes
protected

Definition at line 179 of file elementimport.hxx.

Referenced by addOuterAttributes(), and startFastElement().


The documentation for this class was generated from the following files: