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

implements common behaviour for importing forms, controls and columns More...

#include <elementimport.hxx>

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

Public Member Functions

 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 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 SAL_CALL startFastElement (sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &_rxAttrList) override
 
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 startFastElement (sal_Int32 Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) override
 
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 endFastElement (sal_Int32 Element) override
 endFastElement is called before a context will be destructed, but after an elements context has been parsed. More...
 
virtual void SAL_CALL endUnknownElement (const OUString &Namespace, const OUString &Name) override
 
virtual css::uno::Reference< XFastContextHandler > SAL_CALL createFastChildContext (sal_Int32 Element, const css::uno::Reference< css::xml::sax::XFastAttributeList > &Attribs) 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 void SAL_CALL characters (const OUString &aChars) override
 This method is called for all characters that are contained in the current element. More...
 
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
 
virtual void registerEvents (const css::uno::Sequence< css::script::ScriptEventDescriptor > &_rEvents)=0
 

Protected Member Functions

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 css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext (sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList > &AttrList) override
 
virtual bool handleAttribute (sal_Int32 nElement, const OUString &_rValue) override
 handle one single attribute. More...
 
virtual void registerEvents (const css::uno::Sequence< css::script::ScriptEventDescriptor > &_rEvents) override
 
virtual css::uno::Reference< css::beans::XPropertySetcreateElement ()
 create the (uninitialized) element which is to represent the read data More...
 
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
virtual bool handleAttribute (sal_Int32 nElement, const OUString &_rValue)
 handle one single attribute. More...
 
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 ()
 

Protected Attributes

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
 

Private Member Functions

OUString implGetDefaultName () const
 
void implApplyGenericProperties ()
 
void implApplySpecificProperties ()
 
PropertyGroups::const_iterator impl_matchPropertyGroup (const PropertyGroups &i_propertyGroups) const
 
virtual OUString determineDefaultServiceName () const
 

Additional Inherited Members

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

Detailed Description

implements common behaviour for importing forms, controls and columns

Definition at line 65 of file elementimport.hxx.

Constructor & Destructor Documentation

◆ OElementImport()

xmloff::OElementImport::OElementImport ( OFormLayerXMLImport_Impl _rImport,
IEventAttacherManager _rEventManager,
const css::uno::Reference< css::container::XNameContainer > &  _rxParentContainer 
)

ctor

Parameters
_rImportthe importer
_rEventManagerthe event attacher manager for the control being imported
_rAttributeMapthe attribute map to be used for translating attributes into properties
_rxParentContainerthe container in which the new element should be inserted

Definition at line 118 of file elementimport.cxx.

References m_xParentContainer, and m_xParentContainer.

◆ ~OElementImport()

xmloff::OElementImport::~OElementImport ( )
overridevirtual

Definition at line 130 of file elementimport.cxx.

Member Function Documentation

◆ createElement()

Reference< XPropertySet > xmloff::OElementImport::createElement ( )
protectedvirtual

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 in xmloff::OControlImport, xmloff::OGridImport, and xmloff::OFormImport.

Definition at line 558 of file elementimport.cxx.

References OUStringToOString().

Referenced by xmloff::OControlImport::createElement(), xmloff::OFormImport::createElement(), and startFastElement().

◆ createFastChildContext()

css::uno::Reference< css::xml::sax::XFastContextHandler > xmloff::OElementImport::createFastChildContext ( sal_Int32  nElement,
const css::uno::Reference< css::xml::sax::XFastAttributeList > &  AttrList 
)
overrideprotectedvirtual

◆ determineDefaultServiceName()

OUString xmloff::OElementImport::determineDefaultServiceName ( ) const
privatevirtual

Reimplemented in xmloff::OControlImport, and xmloff::OFormImport.

Definition at line 134 of file elementimport.cxx.

Referenced by startFastElement().

◆ disableImplicitGenericAttributeHandling()

void xmloff::OElementImport::disableImplicitGenericAttributeHandling ( )
inlineprotected

controls whether |handleAttribute| implicitly calls |tryGenericAttribute|, or whether the derived class must do this explicitly at a suitable place in its own |handleAttribute|

Definition at line 149 of file elementimport.hxx.

References m_bImplicitGenericAttributeHandling.

◆ endFastElement()

void xmloff::OElementImport::endFastElement ( sal_Int32  Element)
overrideprotectedvirtual

endFastElement is called before a context will be destructed, but after an elements context has been parsed.

It may be used for actions that require virtual methods. The default is to do nothing.

Reimplemented from SvXMLImportContext.

Reimplemented in xmloff::OControlImport, xmloff::OTextLikeImport, xmloff::OListAndComboImport, xmloff::OGridImport, and xmloff::OFormImport.

Definition at line 178 of file elementimport.cxx.

References Any, xmloff::OFormLayerXMLImport_Impl::applyControlNumberStyle(), XMLTextStyleContext::GetDataStyleName(), implApplyGenericProperties(), implApplySpecificProperties(), implGetDefaultName(), LEAVE_LOG_CONTEXT, m_pStyleElement, xmloff::OPropertyImport::m_rContext, m_sName, m_xElement, and m_xParentContainer.

Referenced by xmloff::OControlImport::endFastElement(), and xmloff::OFormImport::endFastElement().

◆ handleAttribute()

bool xmloff::OElementImport::handleAttribute ( sal_Int32  nElement,
const OUString &  _rValue 
)
overrideprotectedvirtual

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::OPropertyImport.

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

Definition at line 525 of file elementimport.cxx.

References m_rContext, m_sName, TOKEN_MASK, xmloff::token::XML_CONTROL_IMPLEMENTATION, xmloff::token::XML_NAME, and xmloff::token::XML_TEXT_STYLE_NAME.

Referenced by xmloff::OControlImport::handleAttribute(), and xmloff::OFormImport::handleAttribute().

◆ impl_matchPropertyGroup()

PropertyGroups::const_iterator xmloff::OElementImport::impl_matchPropertyGroup ( const PropertyGroups i_propertyGroups) const
private

Definition at line 464 of file elementimport.cxx.

References ENSURE_OR_RETURN, and m_xInfo.

◆ implApplyGenericProperties()

void xmloff::OElementImport::implApplyGenericProperties ( )
private

◆ implApplySpecificProperties()

void xmloff::OElementImport::implApplySpecificProperties ( )
private

◆ implGetDefaultName()

OUString xmloff::OElementImport::implGetDefaultName ( ) const
private

Definition at line 441 of file elementimport.cxx.

References comphelper::findValue(), i, m_xParentContainer, and u.

Referenced by endFastElement().

◆ registerEvents()

void xmloff::OElementImport::registerEvents ( const css::uno::Sequence< css::script::ScriptEventDescriptor > &  _rEvents)
overrideprotectedvirtual

Implements xmloff::IEventAttacher.

Definition at line 577 of file elementimport.cxx.

References m_xElement.

◆ simulateDefaultedAttribute()

void xmloff::OElementImport::simulateDefaultedAttribute ( sal_Int32  nElement,
const OUString &  _rPropertyName,
const char *  _pAttributeDefault 
)
protected

can be used to handle properties where the attribute default and the property default differ.

In such case, if the property had the attribute default upon writing, nothing is read, so upon reading, the property is still at its own default (which is not the attribute default).

This method, if told the attribute and the property, and the (implied) attribute default, sets the property value as if the attribute was encountered.

See also
encounteredAttribute

Definition at line 583 of file elementimport.cxx.

References FORM, m_xInfo, TOKEN_MASK, and XML_ELEMENT.

Referenced by xmloff::OListAndComboImport::startFastElement(), xmloff::OButtonImport::startFastElement(), xmloff::OTextLikeImport::startFastElement(), and xmloff::OFormImport::startFastElement().

◆ startFastElement()

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

◆ tryGenericAttribute()

bool xmloff::OElementImport::tryGenericAttribute ( sal_Int32  nElement,
const OUString &  _rValue 
)
protected

to be called from within handleAttribute, checks whether the given attribute is covered by our generic attribute handler mechanisms

Definition at line 475 of file elementimport.cxx.

References Any, attribute, first, xmloff::metadata::getAttributeDescription(), xmloff::metadata::getPropertyGroupList(), pos, SAL_WARN, and xmloff::token::XML_TOKEN_INVALID.

Referenced by xmloff::OControlImport::handleAttribute().

Member Data Documentation

◆ m_bImplicitGenericAttributeHandling

bool xmloff::OElementImport::m_bImplicitGenericAttributeHandling
protected

Definition at line 89 of file elementimport.hxx.

Referenced by disableImplicitGenericAttributeHandling().

◆ m_pStyleElement

const XMLTextStyleContext* xmloff::OElementImport::m_pStyleElement
protected

Definition at line 76 of file elementimport.hxx.

Referenced by endFastElement().

◆ m_rEventManager

IEventAttacherManager& xmloff::OElementImport::m_rEventManager
protected

Definition at line 74 of file elementimport.hxx.

◆ m_rFormImport

OFormLayerXMLImport_Impl& xmloff::OElementImport::m_rFormImport
protected

◆ m_sName

OUString xmloff::OElementImport::m_sName
protected

Definition at line 72 of file elementimport.hxx.

Referenced by endFastElement().

◆ m_sServiceName

OUString xmloff::OElementImport::m_sServiceName
protected

Definition at line 71 of file elementimport.hxx.

Referenced by startFastElement().

◆ m_xElement

css::uno::Reference< css::beans::XPropertySet > xmloff::OElementImport::m_xElement
protected

◆ m_xInfo

css::uno::Reference< css::beans::XPropertySetInfo > xmloff::OElementImport::m_xInfo
protected

◆ m_xParentContainer

css::uno::Reference< css::container::XNameContainer > xmloff::OElementImport::m_xParentContainer
protected

the parent container to insert the new element into

Definition at line 81 of file elementimport.hxx.

Referenced by endFastElement(), implGetDefaultName(), and OElementImport().


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