/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite * * This file is part of OpenOffice.org. * * OpenOffice.org is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License version 3 * only, as published by the Free Software Foundation. * * OpenOffice.org is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License version 3 for more details * (a copy is included in the LICENSE file that accompanied this code). * * You should have received a copy of the GNU Lesser General Public License * version 3 along with OpenOffice.org. If not, see * * for a copy of the LGPLv3 License. * ************************************************************************/ #ifndef _XMLOFF_FORMLAYERIMPORT_HXX_ #define _XMLOFF_FORMLAYERIMPORT_HXX_ #include "sal/config.h" #include "xmloff/dllapi.h" #include #include #include #include #include #include class SvXMLImport; class SvXMLImportContext; class SvXMLStylesContext; class XMLPropStyleContext; //......................................................................... namespace xmloff { //......................................................................... //===================================================================== //= OFormLayerXMLImport //===================================================================== class OFormLayerXMLImport_Impl; /** allows you to import a <form:form> element */ class XMLOFF_DLLPUBLIC OFormLayerXMLImport :public ::salhelper::SimpleReferenceObject { OFormLayerXMLImport_Impl* m_pImpl; public: OFormLayerXMLImport(SvXMLImport& _rImporter); ~OFormLayerXMLImport(); /** start importing the forms of the given page

starting the import of a new page (by using this method) invalidates the current page position you may have set with seekPage.

@see endPage @see seekPage */ void startPage( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage >& _rxDrawPage); /** creates an import context for the office:forms element */ SvXMLImportContext* createOfficeFormsContext( SvXMLImport& _rImport, sal_uInt16 _nPrefix, const rtl::OUString& _rLocalName); /** create an SvXMLImportContext instance which is able to import the <form:form> element.

You must have called startPage before you can create such an import context.

@see startPage @see endPage */ SvXMLImportContext* createContext( const sal_uInt16 _nPrefix, const rtl::OUString& _rLocalName, const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList >& _rxAttribs); /** lookup a control given by id.

The control must be part of the page which is currently beeing imported, or you must have used seekPage for the page which the control belongs to.

(And, of course, the control must have been imported already at the moment you call this.)

@see startPage @see seekPage */ ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > lookupControl(const ::rtl::OUString& _rId); /** end importing the forms of the current page

You must call this method if you want the import to be finished correctly. Without calling it, you will lose information.

@see startPage @see seekPage */ void endPage(); /** seek to the given page.

This method should be used if you want to call lookupControl outside of a startPage-endPage frame.

You can't seek to a page which hasn't been imported yet. This means that you must have called endPage for the page in question.

The "current page" position you have set with this method is invalidated as soon as you call startPage for a new page.

You should not call seekPage while importing a page (i.e. between startPage and endPage). This will smash this other page beeing imported (seeking back to it will not help you :).

@see lookupControl */ void seekPage( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage >& _rxDrawPage); /** announces the auto-style context to the form importer */ void setAutoStyleContext(SvXMLStylesContext* _pNewContext); /** sets the given number style on the given control @param _rxControlModel the control model which's style is to be set @param _rControlNumerStyleName the style name for the control's number style */ void applyControlNumberStyle( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxControlModel, const ::rtl::OUString& _rControlNumerStyleName ); /** to be called when the document has been completely imported

For some documents (currently: only some spreadsheet documents) it's necessary do to a post processing, since not all information from the file can be processed if the document is not completed, yet.

*/ void documentDone( ); }; //......................................................................... } // namespace xmloff //......................................................................... #endif // _XMLOFF_FORMLAYERIMPORT_HXX_ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */