diff options
author | Christian Lippka <cl@openoffice.org> | 2001-01-18 13:53:32 +0000 |
---|---|---|
committer | Christian Lippka <cl@openoffice.org> | 2001-01-18 13:53:32 +0000 |
commit | 9a967b6c10e42e33fe2ee4b97b4215afed3c98e4 (patch) | |
tree | eca128d6f07f1aeb13f05a79a825a7e598e35cec /xmloff | |
parent | fff84a37380399a97558a79c54dd67b9673c452d (diff) |
added controls for shapes
Diffstat (limited to 'xmloff')
-rw-r--r-- | xmloff/source/draw/sdxmlexp.cxx | 121 | ||||
-rw-r--r-- | xmloff/source/draw/sdxmlexp_impl.hxx | 6 | ||||
-rw-r--r-- | xmloff/source/draw/ximppage.cxx | 16 | ||||
-rw-r--r-- | xmloff/source/draw/ximpshap.cxx | 42 | ||||
-rw-r--r-- | xmloff/source/draw/ximpshap.hxx | 10 | ||||
-rw-r--r-- | xmloff/source/draw/ximpstyl.cxx | 8 | ||||
-rw-r--r-- | xmloff/source/forms/formsimp.cxx | 99 | ||||
-rw-r--r-- | xmloff/source/forms/makefile.mk | 6 |
8 files changed, 288 insertions, 20 deletions
diff --git a/xmloff/source/draw/sdxmlexp.cxx b/xmloff/source/draw/sdxmlexp.cxx index f5baaf47d1db..40bdcd026b0c 100644 --- a/xmloff/source/draw/sdxmlexp.cxx +++ b/xmloff/source/draw/sdxmlexp.cxx @@ -2,9 +2,9 @@ * * $RCSfile: sdxmlexp.cxx,v $ * - * $Revision: 1.41 $ + * $Revision: 1.42 $ * - * last change: $Author: cl $ $Date: 2001-01-17 22:03:48 $ + * last change: $Author: cl $ $Date: 2001-01-18 14:49:52 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -137,6 +137,10 @@ #include <com/sun/star/style/XStyle.hpp> #endif +#ifndef _COM_SUN_STAR_FORM_XFORMSUPPLIER_HPP_ +#include <com/sun/star/form/XFormsSupplier.hpp> +#endif + #ifndef _COM_SUN_STAR_PRESENTATION_XPRESENTATIONPAGE_HPP_ #include <com/sun/star/presentation/XPresentationPage.hpp> #endif @@ -149,6 +153,10 @@ #include <com/sun/star/drawing/ConnectorType.hpp> #endif +#ifndef _COM_SUN_STAR_DRAWING_XCONTROLSHAPE_HPP_ +#include <com/sun/star/drawing/XControlShape.hpp> +#endif + #ifndef _COM_SUN_STAR_TEXT_XTEXT_HPP_ #include <com/sun/star/text/XText.hpp> #endif @@ -1621,6 +1629,9 @@ void SdXMLExport::_ExportContent() // write page SvXMLElementExport aDPG(*this, XML_NAMESPACE_DRAW, sXML_page, sal_True, sal_True); + // write optional office:forms + exportFormsElement( xDrawPage ); + // prepare animations exporter if impress if(IsImpress()) { @@ -1660,6 +1671,9 @@ void SdXMLExport::_ExportContent() // write presentation notes SvXMLElementExport aPSY(*this, XML_NAMESPACE_PRESENTATION, sXML_notes, sal_True, sal_True); + // write optional office:forms + exportFormsElement( xNotesPage ); + // write shapes per se ImpWriteSingleShapeStyleInfos(xShapes); } @@ -2595,6 +2609,63 @@ void SdXMLExport::ImpExportControlShape(SvXMLExport& rExp, const uno::Reference< drawing::XShape >& xShape, XmlShapeType eShapeType, sal_Int32 nFeatures /* = SEF_DEFAULT */, awt::Point* pRefPoint /* = NULL */) { + OUString aStr; + OUStringBuffer sStringBuffer; + + // rectangle, prepare parameters + awt::Point aPoint = xShape->getPosition(); + if( pRefPoint ) + { + aPoint.X -= pRefPoint->X; + aPoint.Y -= pRefPoint->Y; + } + + awt::Size aSize = xShape->getSize(); + + if( nFeatures & SEF_EXPORT_X ) + { + // svg: x + rExp.GetMM100UnitConverter().convertMeasure(sStringBuffer, aPoint.X); + aStr = sStringBuffer.makeStringAndClear(); + rExp.AddAttribute(XML_NAMESPACE_SVG, sXML_x, aStr); + } + + if( nFeatures & SEF_EXPORT_Y ) + { + // svg: y + rExp.GetMM100UnitConverter().convertMeasure(sStringBuffer, aPoint.Y); + aStr = sStringBuffer.makeStringAndClear(); + rExp.AddAttribute(XML_NAMESPACE_SVG, sXML_y, aStr); + } + + if( nFeatures & SEF_EXPORT_WIDTH ) + { + // svg: width + rExp.GetMM100UnitConverter().convertMeasure(sStringBuffer, aSize.Width); + aStr = sStringBuffer.makeStringAndClear(); + rExp.AddAttribute(XML_NAMESPACE_SVG, sXML_width, aStr); + } + + if( nFeatures & SEF_EXPORT_HEIGHT ) + { + // svg: height + rExp.GetMM100UnitConverter().convertMeasure(sStringBuffer, aSize.Height); + aStr = sStringBuffer.makeStringAndClear(); + rExp.AddAttribute(XML_NAMESPACE_SVG, sXML_height, aStr); + } + + uno::Reference< drawing::XControlShape > xControl( xShape, uno::UNO_QUERY ); + DBG_ASSERT( xControl.is(), "Control shape is not supporting XControlShape" ); + if( xControl.is() ) + { + uno::Reference< beans::XPropertySet > xControlModel( xControl->getControl(), uno::UNO_QUERY ); + DBG_ASSERT( xControlModel.is(), "Control shape has not XControlModel" ); + if( xControlModel.is() ) + { + rExp.AddAttribute( XML_NAMESPACE_FORM, sXML_id, rExp.GetFormExport()->getControlId( xControlModel ) ); + } + } + // this is a control shape, in this place the database team // would have to export the control abilities. Add Export later SvXMLElementExport aOBJ(rExp, XML_NAMESPACE_DRAW, sXML_control, sal_True, sal_True); @@ -4003,8 +4074,11 @@ void SdXMLExport::_ExportAutoStyles() uno::Any aAny(mxDocMasterPages->getByIndex(nMPageId)); uno::Reference< drawing::XDrawPage > xMasterPage; - if(aAny >>= xMasterPage) + if((aAny >>= xMasterPage) && xMasterPage.is() ) { + // collect layer information + GetFormExport()->examineForms( xMasterPage ); + // get MasterPage Name OUString aMasterPageNamePrefix; uno::Reference < container::XNamed > xNamed(xMasterPage, uno::UNO_QUERY); @@ -4029,6 +4103,9 @@ void SdXMLExport::_ExportAutoStyles() uno::Reference< drawing::XDrawPage > xNotesPage(xPresPage->getNotesPage()); if(xNotesPage.is()) { + // collect layer information + GetFormExport()->examineForms( xNotesPage ); + uno::Reference< container::XIndexAccess > xShapes(xNotesPage, uno::UNO_QUERY); if(xShapes.is() && xShapes->getCount()) ImpPrepSingleShapeStyleInfos(xShapes, aMasterPageNamePrefix); @@ -4044,8 +4121,11 @@ void SdXMLExport::_ExportAutoStyles() uno::Any aAny(mxDocDrawPages->getByIndex(nPageInd)); uno::Reference<drawing::XDrawPage> xDrawPage; - if(aAny >>= xDrawPage) + if((aAny >>= xDrawPage) && xDrawPage.is() ) { + // collect layer information + GetFormExport()->examineForms( xDrawPage ); + // get MasterPage Name OUString aMasterPageNamePrefix; uno::Reference < drawing::XMasterPageTarget > xMasterPageInt(xDrawPage, uno::UNO_QUERY); @@ -4080,6 +4160,9 @@ void SdXMLExport::_ExportAutoStyles() uno::Reference< drawing::XDrawPage > xNotesPage(xPresPage->getNotesPage()); if(xNotesPage.is()) { + // collect layer information + GetFormExport()->examineForms( xNotesPage ); + uno::Reference< container::XIndexAccess > xShapes(xNotesPage, uno::UNO_QUERY); if(xShapes.is() && xShapes->getCount()) ImpPrepSingleShapeStyleInfos(xShapes, aMasterPageNamePrefix); @@ -4096,6 +4179,9 @@ void SdXMLExport::_ExportAutoStyles() // ...for chart GetChartExport()->exportAutoStyles(); + + // .. for forms + GetFormExport()->exportAutoStyles(); } ////////////////////////////////////////////////////////////////////////////// @@ -4108,7 +4194,7 @@ void SdXMLExport::_ExportMasterStyles() uno::Any aAny(mxDocMasterPages->getByIndex(nMPageId)); uno::Reference< drawing::XDrawPage > xMasterPage; - if(aAny >>= xMasterPage) + if((aAny >>= xMasterPage) && xMasterPage.is()) { // prepare masterpage attributes OUString sMasterPageName; @@ -4133,6 +4219,9 @@ void SdXMLExport::_ExportMasterStyles() // write masterpage SvXMLElementExport aMPG(*this, XML_NAMESPACE_STYLE, sXML_master_page, sal_True, sal_True); + // write optional office:forms + exportFormsElement( xMasterPage ); + // write graphic objects on this master page (if any) uno::Reference< container::XIndexAccess > xShapes(xMasterPage, uno::UNO_QUERY); if(xShapes.is() && xShapes->getCount()) @@ -4153,6 +4242,9 @@ void SdXMLExport::_ExportMasterStyles() // write presentation notes SvXMLElementExport aPSY(*this, XML_NAMESPACE_PRESENTATION, sXML_notes, sal_True, sal_True); + // write optional office:forms + exportFormsElement( xNotesPage ); + // write shapes per se ImpWriteSingleShapeStyleInfos(xShapes); } @@ -4163,7 +4255,26 @@ void SdXMLExport::_ExportMasterStyles() } } +void SdXMLExport::exportFormsElement( uno::Reference< drawing::XDrawPage > xDrawPage ) +{ + if( xDrawPage.is() ) + { + uno::Reference< form::XFormsSupplier > xFormsSupplier( xDrawPage, uno::UNO_QUERY ); + if( xFormsSupplier.is() ) + { + uno::Reference< container::XNameContainer > xForms( xFormsSupplier->getForms() ); + if( xForms.is() && xForms->hasElements() ) + { + // write masterpage + SvXMLElementExport aForms(*this, XML_NAMESPACE_OFFICE, sXML_forms, sal_True, sal_True); + GetFormExport()->exportForms( xDrawPage ); + } + } + sal_Bool bRet = GetFormExport()->seekPage( xDrawPage ); + DBG_ASSERT( bRet, "OFormLayerXMLExport::seekPage failed!" ); + } +} ////////////////////////////////////////////////////////////////////////////// uno::Sequence< OUString > SAL_CALL SdImpressXMLExport_getSupportedServiceNames() throw() diff --git a/xmloff/source/draw/sdxmlexp_impl.hxx b/xmloff/source/draw/sdxmlexp_impl.hxx index adaffb439ff4..f4b156279c94 100644 --- a/xmloff/source/draw/sdxmlexp_impl.hxx +++ b/xmloff/source/draw/sdxmlexp_impl.hxx @@ -2,9 +2,9 @@ * * $RCSfile: sdxmlexp_impl.hxx,v $ * - * $Revision: 1.6 $ + * $Revision: 1.7 $ * - * last change: $Author: cl $ $Date: 2001-01-17 16:11:05 $ + * last change: $Author: cl $ $Date: 2001-01-18 14:49:52 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -245,6 +245,8 @@ class SdXMLExport : public SvXMLExport com::sun::star::awt::Point* pRefPoint = NULL ); + void exportFormsElement( com::sun::star::uno::Reference< com::sun::star::drawing::XDrawPage > xDrawPage ); + public: static void ImpWriteSingleShapeStyleInfo(SvXMLExport& rExp, const com::sun::star::uno::Reference< com::sun::star::drawing::XShape >& xShape, diff --git a/xmloff/source/draw/ximppage.cxx b/xmloff/source/draw/ximppage.cxx index 73054230b6dd..4b70e88ffdb3 100644 --- a/xmloff/source/draw/ximppage.cxx +++ b/xmloff/source/draw/ximppage.cxx @@ -2,9 +2,9 @@ * * $RCSfile: ximppage.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: cl $ $Date: 2000-12-19 16:23:48 $ + * last change: $Author: cl $ $Date: 2001-01-18 14:49:52 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -79,6 +79,10 @@ #include "animimp.hxx" #endif +#ifndef _XMLOFF_FORMSIMP_HXX +#include "formsimp.hxx" +#endif + using namespace ::rtl; using namespace ::com::sun::star; @@ -95,6 +99,7 @@ SdXMLGenericPageContext::SdXMLGenericPageContext( mxShapes( rShapes ) { GetImport().GetShapeImport()->pushGroupForSorting( rShapes ); + GetImport().GetFormImport()->startPage( uno::Reference< drawing::XDrawPage >::query( mxShapes ) ); } ////////////////////////////////////////////////////////////////////////////// @@ -115,6 +120,10 @@ SvXMLImportContext* SdXMLGenericPageContext::CreateChildContext( USHORT nPrefix, { pContext = new XMLAnimationsContext( GetImport(), nPrefix, rLocalName, xAttrList ); } + else if( nPrefix == XML_NAMESPACE_OFFICE && rLocalName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( sXML_forms ) ) ) + { + pContext = new XMLFormsContext( GetImport(), nPrefix, rLocalName ); + } else { // call GroupChildContext function at common ShapeImport @@ -134,6 +143,5 @@ SvXMLImportContext* SdXMLGenericPageContext::CreateChildContext( USHORT nPrefix, void SdXMLGenericPageContext::EndElement() { GetImport().GetShapeImport()->popGroupAndSort(); + GetImport().GetFormImport()->endPage(); } - - diff --git a/xmloff/source/draw/ximpshap.cxx b/xmloff/source/draw/ximpshap.cxx index 0adced7cb2e4..30a6da45df35 100644 --- a/xmloff/source/draw/ximpshap.cxx +++ b/xmloff/source/draw/ximpshap.cxx @@ -2,9 +2,9 @@ * * $RCSfile: ximpshap.cxx,v $ * - * $Revision: 1.18 $ + * $Revision: 1.19 $ * - * last change: $Author: ka $ $Date: 2001-01-08 14:55:37 $ + * last change: $Author: cl $ $Date: 2001-01-18 14:49:52 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -61,6 +61,8 @@ #pragma hdrstop +#include <tools/debug.hxx> + #ifndef _CPPUHELPER_EXTRACT_HXX_ #include <cppuhelper/extract.hxx> #endif @@ -85,6 +87,14 @@ #include <com/sun/star/beans/XPropertySet.hpp> #endif +#ifndef _COM_SUN_STAR_AWT_XCONTROLMODEL_HPP_ +#include <com/sun/star/awt/XControlModel.hpp> +#endif + +#ifndef _COM_SUN_STAR_DRAWING_XCONTROLSHAPE_HPP_ +#include <com/sun/star/drawing/XControlShape.hpp> +#endif + #ifndef _COM_SUN_STAR_DRAWING_POINTSEQUENCESEQUENCE_HPP_ #include <com/sun/star/drawing/PointSequenceSequence.hpp> #endif @@ -1025,6 +1035,21 @@ SdXMLControlShapeContext::~SdXMLControlShapeContext() ////////////////////////////////////////////////////////////////////////////// +// this is called from the parent group for each unparsed attribute in the attribute list +void SdXMLControlShapeContext::processAttribute( sal_uInt16 nPrefix, const ::rtl::OUString& rLocalName, const ::rtl::OUString& rValue ) +{ + if( XML_NAMESPACE_FORM == nPrefix ) + { + if( rLocalName.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM(sXML_id)) ) + { + maFormId = rValue; + return; + } + } + + SdXMLShapeContext::processAttribute( nPrefix, rLocalName, rValue ); +} + void SdXMLControlShapeContext::StartElement(const uno::Reference< xml::sax::XAttributeList>& xAttrList) { // create Control shape @@ -1036,8 +1061,19 @@ void SdXMLControlShapeContext::StartElement(const uno::Reference< xml::sax::XAtt // set parameters on shape SetSizeAndPosition(); - SetRotation(); + DBG_ASSERT( maFormId.getLength(), "draw:control without a form:id attribute!" ); + if( maFormId.getLength() ) + { + uno::Reference< awt::XControlModel > xControlModel( GetImport().GetFormImport()->lookupControl( maFormId ), uno::UNO_QUERY ); + if( xControlModel.is() ) + { + uno::Reference< drawing::XControlShape > xControl( mxShape, uno::UNO_QUERY ); + if( xControl.is() ) + xControl->setControl( xControlModel ); + + } + } SdXMLShapeContext::StartElement(xAttrList); } } diff --git a/xmloff/source/draw/ximpshap.hxx b/xmloff/source/draw/ximpshap.hxx index 1f4985e8071e..f75b59010a24 100644 --- a/xmloff/source/draw/ximpshap.hxx +++ b/xmloff/source/draw/ximpshap.hxx @@ -2,9 +2,9 @@ * * $RCSfile: ximpshap.hxx,v $ * - * $Revision: 1.12 $ + * $Revision: 1.13 $ * - * last change: $Author: cl $ $Date: 2000-12-20 16:17:17 $ + * last change: $Author: cl $ $Date: 2001-01-18 14:49:52 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -289,6 +289,9 @@ public: class SdXMLControlShapeContext : public SdXMLShapeContext { +private: + rtl::OUString maFormId; + public: TYPEINFO(); @@ -298,6 +301,9 @@ public: com::sun::star::uno::Reference< com::sun::star::drawing::XShapes >& rShapes); virtual ~SdXMLControlShapeContext(); virtual void StartElement(const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList); + + // this is called from the parent group for each unparsed attribute in the attribute list + virtual void processAttribute( sal_uInt16 nPrefix, const ::rtl::OUString& rLocalName, const ::rtl::OUString& rValue ); }; ////////////////////////////////////////////////////////////////////////////// diff --git a/xmloff/source/draw/ximpstyl.cxx b/xmloff/source/draw/ximpstyl.cxx index 4b3c66c01428..1536e81db851 100644 --- a/xmloff/source/draw/ximpstyl.cxx +++ b/xmloff/source/draw/ximpstyl.cxx @@ -2,9 +2,9 @@ * * $RCSfile: ximpstyl.cxx,v $ * - * $Revision: 1.14 $ + * $Revision: 1.15 $ * - * last change: $Author: cl $ $Date: 2001-01-17 22:03:48 $ + * last change: $Author: cl $ $Date: 2001-01-18 14:49:52 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -1117,6 +1117,10 @@ void SdXMLStylesContext::EndElement() // AutoStyles for chart GetImport().GetChartImport()->SetAutoStylesContext( this ); + // AutoStyles for Forms + GetImport().GetFormImport()->setAutoStyleContext( this ); + + // associate AutoStyles with styles in preparation to setting Styles on shapes for(sal_uInt32 a(0L); a < GetStyleCount(); a++) { diff --git a/xmloff/source/forms/formsimp.cxx b/xmloff/source/forms/formsimp.cxx new file mode 100644 index 000000000000..ef4418249f70 --- /dev/null +++ b/xmloff/source/forms/formsimp.cxx @@ -0,0 +1,99 @@ +/************************************************************************* + * + * $RCSfile: formsimp.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: cl $ $Date: 2001-01-18 14:53:32 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef _COM_SUN_STAR_XML_SAX_XATTRIBUTELIST_HPP_ +#include <com/sun/star/xml/sax/XAttributeList.hpp> +#endif + +#ifndef _XMLOFF_XMLIMP_HXX +#include "xmlimp.hxx" +#endif + +#ifndef _XMLOFF_XMLNMSPE_HXX +#include "xmlnmspe.hxx" +#endif + +#ifndef _XMLOFF_NMSPMAP_HXX +#include "nmspmap.hxx" +#endif + +#ifndef _XMLOFF_ANIMIMP_HXX +#include "formsimp.hxx" +#endif + +using namespace ::rtl; + +TYPEINIT1( XMLFormsContext, SvXMLImportContext ); + +XMLFormsContext::XMLFormsContext( SvXMLImport& rImport, sal_uInt16 nPrfx, const rtl::OUString& rLocalName ) +: SvXMLImportContext(rImport, nPrfx, rLocalName) +{ +} + +XMLFormsContext::~XMLFormsContext() +{ +} + +SvXMLImportContext * XMLFormsContext::CreateChildContext( USHORT nPrefix, const ::rtl::OUString& rLocalName, + const com::sun::star::uno::Reference< com::sun::star::xml::sax::XAttributeList>& xAttrList ) +{ + return GetImport().GetFormImport()->createContext( nPrefix, rLocalName, xAttrList ); +} diff --git a/xmloff/source/forms/makefile.mk b/xmloff/source/forms/makefile.mk index e6ef0c7814ad..8def405d7af8 100644 --- a/xmloff/source/forms/makefile.mk +++ b/xmloff/source/forms/makefile.mk @@ -2,9 +2,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.7 $ +# $Revision: 1.8 $ # -# last change: $Author: fs $ $Date: 2001-01-03 16:25:34 $ +# last change: $Author: cl $ $Date: 2001-01-18 14:53:32 $ # # The Contents of this file are made available subject to the terms of # either of the following licenses @@ -77,6 +77,7 @@ ENABLE_EXCEPTIONS=TRUE # --- Files -------------------------------------------------------- CXXFILES = \ + formsimp.cxx\ formevents.cxx \ eventimport.cxx \ eventexport.cxx \ @@ -98,6 +99,7 @@ CXXFILES = \ strings.cxx SLOFILES = \ + $(SLO)$/formsimp.obj \ $(SLO)$/formevents.obj \ $(SLO)$/eventimport.obj \ $(SLO)$/eventexport.obj \ |