1*b1cdbd2cSJim Jagielski /************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski 24*b1cdbd2cSJim Jagielski #ifndef _XMLOFF_FORMS_LAYEREXPORT_HXX_ 25*b1cdbd2cSJim Jagielski #define _XMLOFF_FORMS_LAYEREXPORT_HXX_ 26*b1cdbd2cSJim Jagielski 27*b1cdbd2cSJim Jagielski #include <com/sun/star/container/XIndexAccess.hpp> 28*b1cdbd2cSJim Jagielski #include <com/sun/star/script/ScriptEventDescriptor.hpp> 29*b1cdbd2cSJim Jagielski #include <com/sun/star/util/XNumberFormats.hpp> 30*b1cdbd2cSJim Jagielski #include <com/sun/star/awt/XControlModel.hpp> 31*b1cdbd2cSJim Jagielski #include "callbacks.hxx" 32*b1cdbd2cSJim Jagielski #include "ifacecompare.hxx" 33*b1cdbd2cSJim Jagielski #include <vos/ref.hxx> 34*b1cdbd2cSJim Jagielski 35*b1cdbd2cSJim Jagielski class SvXMLExport; 36*b1cdbd2cSJim Jagielski class SvXMLNumFmtExport; 37*b1cdbd2cSJim Jagielski class XMLPropertyHandlerFactory; 38*b1cdbd2cSJim Jagielski class SvXMLExportPropertyMapper; 39*b1cdbd2cSJim Jagielski 40*b1cdbd2cSJim Jagielski //......................................................................... 41*b1cdbd2cSJim Jagielski namespace xmloff 42*b1cdbd2cSJim Jagielski { 43*b1cdbd2cSJim Jagielski //......................................................................... 44*b1cdbd2cSJim Jagielski 45*b1cdbd2cSJim Jagielski typedef ::std::set < ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > 46*b1cdbd2cSJim Jagielski , OPropertySetCompare 47*b1cdbd2cSJim Jagielski > PropertySetBag; 48*b1cdbd2cSJim Jagielski 49*b1cdbd2cSJim Jagielski // maps objects (property sets) to strings, e.g. control ids. 50*b1cdbd2cSJim Jagielski typedef ::std::map < ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > 51*b1cdbd2cSJim Jagielski , ::rtl::OUString 52*b1cdbd2cSJim Jagielski , OPropertySetCompare 53*b1cdbd2cSJim Jagielski > MapPropertySet2String; 54*b1cdbd2cSJim Jagielski 55*b1cdbd2cSJim Jagielski // map pages to maps (of property sets to strings) 56*b1cdbd2cSJim Jagielski typedef ::std::map < ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage > 57*b1cdbd2cSJim Jagielski , MapPropertySet2String 58*b1cdbd2cSJim Jagielski , ODrawPageCompare 59*b1cdbd2cSJim Jagielski > MapPropertySet2Map; 60*b1cdbd2cSJim Jagielski 61*b1cdbd2cSJim Jagielski //===================================================================== 62*b1cdbd2cSJim Jagielski //= OFormLayerXMLExport_Impl 63*b1cdbd2cSJim Jagielski //===================================================================== 64*b1cdbd2cSJim Jagielski /** the implementation class for OFormLayerXMLExport 65*b1cdbd2cSJim Jagielski */ 66*b1cdbd2cSJim Jagielski class OFormLayerXMLExport_Impl 67*b1cdbd2cSJim Jagielski :public IFormsExportContext 68*b1cdbd2cSJim Jagielski { 69*b1cdbd2cSJim Jagielski friend class OFormLayerXMLExport; 70*b1cdbd2cSJim Jagielski 71*b1cdbd2cSJim Jagielski protected: 72*b1cdbd2cSJim Jagielski SvXMLExport& m_rContext; 73*b1cdbd2cSJim Jagielski SvXMLNumFmtExport* m_pControlNumberStyles; 74*b1cdbd2cSJim Jagielski 75*b1cdbd2cSJim Jagielski // ignore list for control models 76*b1cdbd2cSJim Jagielski PropertySetBag m_aIgnoreList; 77*b1cdbd2cSJim Jagielski 78*b1cdbd2cSJim Jagielski // style handling 79*b1cdbd2cSJim Jagielski ::vos::ORef< XMLPropertyHandlerFactory > m_xPropertyHandlerFactory; 80*b1cdbd2cSJim Jagielski ::vos::ORef< SvXMLExportPropertyMapper > m_xStyleExportMapper; 81*b1cdbd2cSJim Jagielski 82*b1cdbd2cSJim Jagielski // we need our own number formats supplier: 83*b1cdbd2cSJim Jagielski // Controls which have a number formats do not work with the formats supplier of the document they reside 84*b1cdbd2cSJim Jagielski // in, instead they use the formats of the data source their form is associated with. If there is no 85*b1cdbd2cSJim Jagielski // such form or no such data source, they work with an own formatter. 86*b1cdbd2cSJim Jagielski // Even more, time and date fields do not work with a central formatter at all, they have their own one 87*b1cdbd2cSJim Jagielski // (which is shared internally, but this is a (hidden) implementation detail.) 88*b1cdbd2cSJim Jagielski // 89*b1cdbd2cSJim Jagielski // To not contaminate the global (document) number formats supplier (which could be obtained from the context), 90*b1cdbd2cSJim Jagielski // we have an own one. 91*b1cdbd2cSJim Jagielski // (Contaminate means: If a user adds a user-defined format to a formatted field, this format is stored in 92*b1cdbd2cSJim Jagielski // in the data source's formats supplier. To export this _and_ reuse existing structures, we would need to 93*b1cdbd2cSJim Jagielski // add this format to the global (document) formats supplier. 94*b1cdbd2cSJim Jagielski // In case of an export we could do some cleanup afterwards, but in case of an import, there is no such 95*b1cdbd2cSJim Jagielski // chance, as (if other user-defined formats exist in the document as well) we can't distinguish 96*b1cdbd2cSJim Jagielski // between user-defined formats really needed for the doc (i.e. in a calc cell) and formats only added 97*b1cdbd2cSJim Jagielski // to the supplier because the controls needed it. 98*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormats > 99*b1cdbd2cSJim Jagielski m_xControlNumberFormats; 100*b1cdbd2cSJim Jagielski 101*b1cdbd2cSJim Jagielski MapPropertySet2Map m_aControlIds; 102*b1cdbd2cSJim Jagielski // the control ids of all controls on all pages we ever examined 103*b1cdbd2cSJim Jagielski 104*b1cdbd2cSJim Jagielski MapPropertySet2Map m_aReferringControls; 105*b1cdbd2cSJim Jagielski // for a given page (iter->first), and a given control (iter->second->first), this is the comma-separated 106*b1cdbd2cSJim Jagielski // lists of ids of the controls refering to the control given. 107*b1cdbd2cSJim Jagielski 108*b1cdbd2cSJim Jagielski MapPropertySet2Map::iterator 109*b1cdbd2cSJim Jagielski m_aCurrentPageIds; 110*b1cdbd2cSJim Jagielski // the iterator for the control id map for the page beeing handled 111*b1cdbd2cSJim Jagielski MapPropertySet2Map::iterator 112*b1cdbd2cSJim Jagielski m_aCurrentPageReferring; 113*b1cdbd2cSJim Jagielski // the same for the map of referring controls 114*b1cdbd2cSJim Jagielski 115*b1cdbd2cSJim Jagielski // TODO: To avoid this construct above, and to have a cleaner implementation, an class encapsulating the 116*b1cdbd2cSJim Jagielski // export of a single page should be introduced. 117*b1cdbd2cSJim Jagielski 118*b1cdbd2cSJim Jagielski DECLARE_STL_MAP( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >, sal_Int32, OPropertySetCompare, MapPropertySet2Int); 119*b1cdbd2cSJim Jagielski MapPropertySet2Int m_aControlNumberFormats; 120*b1cdbd2cSJim Jagielski // maps controls to format keys, which are relative to our own formats supplier 121*b1cdbd2cSJim Jagielski 122*b1cdbd2cSJim Jagielski MapPropertySet2String m_aGridColumnStyles; 123*b1cdbd2cSJim Jagielski // style names of grid columns 124*b1cdbd2cSJim Jagielski 125*b1cdbd2cSJim Jagielski public: 126*b1cdbd2cSJim Jagielski OFormLayerXMLExport_Impl(SvXMLExport& _rContext); 127*b1cdbd2cSJim Jagielski virtual ~OFormLayerXMLExport_Impl(); 128*b1cdbd2cSJim Jagielski 129*b1cdbd2cSJim Jagielski protected: 130*b1cdbd2cSJim Jagielski /** exports one single grid column 131*b1cdbd2cSJim Jagielski */ 132*b1cdbd2cSJim Jagielski void exportGridColumn( 133*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxColumn, 134*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Sequence< ::com::sun::star::script::ScriptEventDescriptor >& _rEvents 135*b1cdbd2cSJim Jagielski ); 136*b1cdbd2cSJim Jagielski 137*b1cdbd2cSJim Jagielski /** exports one single control 138*b1cdbd2cSJim Jagielski */ 139*b1cdbd2cSJim Jagielski void exportControl( 140*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxControl, 141*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Sequence< ::com::sun::star::script::ScriptEventDescriptor >& _rEvents 142*b1cdbd2cSJim Jagielski ); 143*b1cdbd2cSJim Jagielski 144*b1cdbd2cSJim Jagielski /** exports one single form 145*b1cdbd2cSJim Jagielski */ 146*b1cdbd2cSJim Jagielski void exportForm(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxProps, 147*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Sequence< ::com::sun::star::script::ScriptEventDescriptor >& _rEvents 148*b1cdbd2cSJim Jagielski ); 149*b1cdbd2cSJim Jagielski 150*b1cdbd2cSJim Jagielski /** seek to the page given. 151*b1cdbd2cSJim Jagielski 152*b1cdbd2cSJim Jagielski <p>This must be called before you can retrieve any ids for controls on the page.</p> 153*b1cdbd2cSJim Jagielski 154*b1cdbd2cSJim Jagielski @see 155*b1cdbd2cSJim Jagielski getControlId 156*b1cdbd2cSJim Jagielski */ 157*b1cdbd2cSJim Jagielski sal_Bool seekPage( 158*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage >& _rxDrawPage); 159*b1cdbd2cSJim Jagielski 160*b1cdbd2cSJim Jagielski /** get the id of the given control. 161*b1cdbd2cSJim Jagielski 162*b1cdbd2cSJim Jagielski <p>You must have sought to the page of the control before calling this.</p> 163*b1cdbd2cSJim Jagielski */ 164*b1cdbd2cSJim Jagielski ::rtl::OUString 165*b1cdbd2cSJim Jagielski getControlId(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxControl); 166*b1cdbd2cSJim Jagielski 167*b1cdbd2cSJim Jagielski /** retrieves the style name for the control's number style. 168*b1cdbd2cSJim Jagielski 169*b1cdbd2cSJim Jagielski <p>For performance reasons, this method is allowed to be called for any controls, even those which 170*b1cdbd2cSJim Jagielski do not have a number style. In this case, an empty string is returned.</p> 171*b1cdbd2cSJim Jagielski */ 172*b1cdbd2cSJim Jagielski ::rtl::OUString 173*b1cdbd2cSJim Jagielski getControlNumberStyle( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxControl ); 174*b1cdbd2cSJim Jagielski 175*b1cdbd2cSJim Jagielski // IFormsExportContext 176*b1cdbd2cSJim Jagielski virtual void exportCollectionElements(const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess >& _rxCollection); 177*b1cdbd2cSJim Jagielski virtual SvXMLExport& getGlobalContext(); 178*b1cdbd2cSJim Jagielski virtual ::rtl::OUString getObjectStyleName( 179*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxObject ); 180*b1cdbd2cSJim Jagielski virtual ::vos::ORef< SvXMLExportPropertyMapper > getStylePropertyMapper(); 181*b1cdbd2cSJim Jagielski 182*b1cdbd2cSJim Jagielski /** clear any structures which have been build in the recent <method>examine</method> calls. 183*b1cdbd2cSJim Jagielski */ 184*b1cdbd2cSJim Jagielski void clear(); 185*b1cdbd2cSJim Jagielski 186*b1cdbd2cSJim Jagielski /** examine a forms collection. 187*b1cdbd2cSJim Jagielski 188*b1cdbd2cSJim Jagielski <p>The method will collect control ids and add styles to the export context as necessary.</p> 189*b1cdbd2cSJim Jagielski 190*b1cdbd2cSJim Jagielski <p>Every control in the object hierarchy given will be assigned to a unique id, which is stored for later 191*b1cdbd2cSJim Jagielski use.</p> 192*b1cdbd2cSJim Jagielski 193*b1cdbd2cSJim Jagielski <p>In addition, any references the controls may have between each other, are collected and stored for 194*b1cdbd2cSJim Jagielski later use.</p> 195*b1cdbd2cSJim Jagielski 196*b1cdbd2cSJim Jagielski <p>Upon calling this method, the id map will be cleared before collecting the new ids, so any ids 197*b1cdbd2cSJim Jagielski you collected previously will be lost</p> 198*b1cdbd2cSJim Jagielski 199*b1cdbd2cSJim Jagielski @param _rxDrawPage 200*b1cdbd2cSJim Jagielski the draw page which's forms collection should be examined 201*b1cdbd2cSJim Jagielski 202*b1cdbd2cSJim Jagielski @see getControlId 203*b1cdbd2cSJim Jagielski @see exportControl 204*b1cdbd2cSJim Jagielski @see exportForms 205*b1cdbd2cSJim Jagielski */ 206*b1cdbd2cSJim Jagielski void examineForms( 207*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage >& _rxDrawPage); 208*b1cdbd2cSJim Jagielski 209*b1cdbd2cSJim Jagielski /** export a forms collection of a draw page 210*b1cdbd2cSJim Jagielski 211*b1cdbd2cSJim Jagielski <p>The method will obtain the forms collection of the page and call 212*b1cdbd2cSJim Jagielski <method>exportCollectionElements</method>.</p> 213*b1cdbd2cSJim Jagielski */ 214*b1cdbd2cSJim Jagielski void exportForms( 215*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage >& _rxDrawPage); 216*b1cdbd2cSJim Jagielski 217*b1cdbd2cSJim Jagielski /** exports the XForms model data 218*b1cdbd2cSJim Jagielski */ 219*b1cdbd2cSJim Jagielski void exportXForms() const; 220*b1cdbd2cSJim Jagielski 221*b1cdbd2cSJim Jagielski /** determines whether the given page contains logical forms 222*b1cdbd2cSJim Jagielski */ 223*b1cdbd2cSJim Jagielski bool pageContainsForms( const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage >& _rxDrawPage ) const; 224*b1cdbd2cSJim Jagielski 225*b1cdbd2cSJim Jagielski /** determines whether the given page contains XForm instances 226*b1cdbd2cSJim Jagielski */ 227*b1cdbd2cSJim Jagielski bool documentContainsXForms() const; 228*b1cdbd2cSJim Jagielski 229*b1cdbd2cSJim Jagielski /** exports the controls number styles 230*b1cdbd2cSJim Jagielski */ 231*b1cdbd2cSJim Jagielski void exportControlNumberStyles(); 232*b1cdbd2cSJim Jagielski 233*b1cdbd2cSJim Jagielski /** exports the automatic control number styles 234*b1cdbd2cSJim Jagielski */ 235*b1cdbd2cSJim Jagielski void exportAutoControlNumberStyles(); 236*b1cdbd2cSJim Jagielski 237*b1cdbd2cSJim Jagielski /** exports the auto-styles collected during the examineForms calls 238*b1cdbd2cSJim Jagielski */ 239*b1cdbd2cSJim Jagielski void exportAutoStyles(); 240*b1cdbd2cSJim Jagielski 241*b1cdbd2cSJim Jagielski protected: 242*b1cdbd2cSJim Jagielski sal_Bool impl_isFormPageContainingForms( 243*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage >& _rxDrawPage, 244*b1cdbd2cSJim Jagielski ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess >& _rxForms); 245*b1cdbd2cSJim Jagielski 246*b1cdbd2cSJim Jagielski /** moves the m_aCurrentPage* members to the positions specifying the given page. 247*b1cdbd2cSJim Jagielski 248*b1cdbd2cSJim Jagielski @return <TRUE/> if there already were structures for the given page 249*b1cdbd2cSJim Jagielski */ 250*b1cdbd2cSJim Jagielski sal_Bool implMoveIterators( 251*b1cdbd2cSJim Jagielski const ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XDrawPage >& _rxDrawPage, 252*b1cdbd2cSJim Jagielski sal_Bool _bClear); 253*b1cdbd2cSJim Jagielski 254*b1cdbd2cSJim Jagielski /** check the object given if it's a control, if so, examine it. 255*b1cdbd2cSJim Jagielski @return <TRUE/> if the object has been handled 256*b1cdbd2cSJim Jagielski */ 257*b1cdbd2cSJim Jagielski sal_Bool checkExamineControl(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxObject); 258*b1cdbd2cSJim Jagielski 259*b1cdbd2cSJim Jagielski /** examines the control's number format, so later the format style can be referred 260*b1cdbd2cSJim Jagielski 261*b1cdbd2cSJim Jagielski <p>remembers the format key for the control, so it can later be asked for in getControlNumberStyle</p> 262*b1cdbd2cSJim Jagielski */ 263*b1cdbd2cSJim Jagielski void examineControlNumberFormat(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxControl); 264*b1cdbd2cSJim Jagielski 265*b1cdbd2cSJim Jagielski /** examines the control's number format, so later the format style can be referred 266*b1cdbd2cSJim Jagielski 267*b1cdbd2cSJim Jagielski <p>does not remember the information returned in any way</p> 268*b1cdbd2cSJim Jagielski */ 269*b1cdbd2cSJim Jagielski sal_Int32 implExamineControlNumberFormat( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxObject ); 270*b1cdbd2cSJim Jagielski 271*b1cdbd2cSJim Jagielski /** collects AutoStyles for grid columns 272*b1cdbd2cSJim Jagielski */ 273*b1cdbd2cSJim Jagielski void collectGridColumnStylesAndIds( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxControl ); 274*b1cdbd2cSJim Jagielski 275*b1cdbd2cSJim Jagielski /** ensures that the number format of the given control exist in our own formats supplier. 276*b1cdbd2cSJim Jagielski 277*b1cdbd2cSJim Jagielski <p>The given control is examined for it's format (i.e. it's FormatKey/FormatsSupplier properties), 278*b1cdbd2cSJim Jagielski and the format is added (if necessary) to m_xControlNumberFormats</p>. 279*b1cdbd2cSJim Jagielski 280*b1cdbd2cSJim Jagielski @return 281*b1cdbd2cSJim Jagielski the format key of the control's format relative to our own formats supplier 282*b1cdbd2cSJim Jagielski 283*b1cdbd2cSJim Jagielski */ 284*b1cdbd2cSJim Jagielski sal_Int32 ensureTranslateFormat(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxFormattedControl); 285*b1cdbd2cSJim Jagielski 286*b1cdbd2cSJim Jagielski /// returns the instance exporting our control's number styles 287*b1cdbd2cSJim Jagielski SvXMLNumFmtExport* getControlNumberStyleExport(); 288*b1cdbd2cSJim Jagielski 289*b1cdbd2cSJim Jagielski /// ensures that the instance exporting our control's number styles exists 290*b1cdbd2cSJim Jagielski void ensureControlNumberStyleExport(); 291*b1cdbd2cSJim Jagielski 292*b1cdbd2cSJim Jagielski /** determines the number format style for the given object without remembering it 293*b1cdbd2cSJim Jagielski */ 294*b1cdbd2cSJim Jagielski ::rtl::OUString 295*b1cdbd2cSJim Jagielski getImmediateNumberStyle( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxObject ); 296*b1cdbd2cSJim Jagielski 297*b1cdbd2cSJim Jagielski /** returns the prefix to be used for control number styles 298*b1cdbd2cSJim Jagielski */ 299*b1cdbd2cSJim Jagielski static const ::rtl::OUString& getControlNumberStyleNamePrefix(); 300*b1cdbd2cSJim Jagielski 301*b1cdbd2cSJim Jagielski /** exclude the given control (model) from export. 302*b1cdbd2cSJim Jagielski 303*b1cdbd2cSJim Jagielski <p>If your document contains form controls which are not to be exported for whatever reason, 304*b1cdbd2cSJim Jagielski you need to announce the models of these controls (can be retrieved from XControlShape::getControl) 305*b1cdbd2cSJim Jagielski to the form layer exporter.<br/> 306*b1cdbd2cSJim Jagielski Of course you have to do this before calling <member>exportForms</member></p> 307*b1cdbd2cSJim Jagielski */ 308*b1cdbd2cSJim Jagielski void excludeFromExport( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel > _rxControl ); 309*b1cdbd2cSJim Jagielski }; 310*b1cdbd2cSJim Jagielski 311*b1cdbd2cSJim Jagielski //......................................................................... 312*b1cdbd2cSJim Jagielski } // namespace xmloff 313*b1cdbd2cSJim Jagielski //......................................................................... 314*b1cdbd2cSJim Jagielski 315*b1cdbd2cSJim Jagielski #endif // _XMLOFF_FORMS_LAYEREXPORT_HXX_ 316*b1cdbd2cSJim Jagielski 317