[Libreoffice-commits] .: filter/inc filter/source sw/source

Noel Power noelp at kemper.freedesktop.org
Wed Aug 24 11:45:16 PDT 2011


 filter/inc/filter/msfilter/msocximex.hxx |  342 --
 filter/inc/filter/msfilter/svxmsbas.hxx  |   13 
 filter/source/msfilter/makefile.mk       |    1 
 filter/source/msfilter/msocximex.cxx     | 3603 -------------------------------
 filter/source/msfilter/msvbasic.cxx      | 1461 ------------
 filter/source/msfilter/msvbasic.hxx      |  127 -
 filter/source/msfilter/svxmsbas.cxx      |  479 ----
 sw/source/filter/ww8/ww8par.hxx          |   15 
 8 files changed, 11 insertions(+), 6030 deletions(-)

New commits:
commit cecb746a3d8132998711c429163874d39ff5b2ff
Author: Noel Power <noel.power at novell.com>
Date:   Wed Aug 24 19:45:40 2011 +0100

    kill old vba and ole control filter(s) for import at least

diff --git a/filter/inc/filter/msfilter/msocximex.hxx b/filter/inc/filter/msfilter/msocximex.hxx
index 31b3732..98c2f67 100644
--- a/filter/inc/filter/msfilter/msocximex.hxx
+++ b/filter/inc/filter/msfilter/msocximex.hxx
@@ -76,19 +76,6 @@ class OCX_Control;
 class SfxObjectShell;
 class SwPaM;
 
-class TypeName
-{
-public:
-    String msName;
-    sal_uInt16 mnType;
-    sal_Int32 mnLeft;
-    sal_Int32 mnTop;
-    sal_Int32 mnStoreId;
-    TypeName(sal_Char *pName, sal_uInt32 nStoreId, sal_uInt32 nLen, sal_uInt16 nType,
-        sal_Int32 nLeft, sal_Int32 nTop);
-};
-
-
 class MSFILTER_DLLPUBLIC SvxMSConvertOCXControls
 {
 public:
@@ -178,9 +165,6 @@ public:
         if (pFontName)
         delete [] pFontName;
     }
-    sal_Bool Read(SotStorageStream *pS);
-    void Import(com::sun::star::uno::Reference<
-        com::sun::star::beans::XPropertySet > &rPropSet);
 
     sal_Bool Export(SotStorageStreamRef &rContent,
         const com::sun::star::uno::Reference<
@@ -213,7 +197,6 @@ public:
 protected:
     static sal_uInt16 nStandardId;
     sal_uInt8 ExportAlign(sal_Int16 nAlign) const;
-    sal_Int16 ImportAlign(sal_uInt8 nJustification) const;
 private:
     sal_Bool bHasAlign;
     sal_Bool bHasFont;
@@ -225,23 +208,6 @@ public:
     OCX_Control(UniString sN, OCX_Control* parent = NULL ) : nWidth( 0 ), nHeight( 0 ), mnLeft(0), mnTop(0),
         mnStep(0), mnBackColor(0x8000000FL), mnForeColor(0), mnTabPos(0), mbVisible(true), sName(sN), pDocSh(0),
         bSetInDialog(sal_False), mpParent( parent ) {}
-    sal_Bool FullRead(SotStorageStream *pS)
-    {
-        return Read(pS) && ReadFontData(pS);
-    };
-    virtual sal_Bool Read(SotStorageStream *pS);
-    virtual sal_Bool ReadFontData(SotStorageStream *pS);
-    virtual sal_Bool Import(const com::sun::star::uno::Reference<
-        com::sun::star::lang::XMultiServiceFactory >  &rServiceFactory,
-        com::sun::star::uno::Reference<
-        com::sun::star::form::XFormComponent > &rFComp,
-        com::sun::star::awt::Size &rSz);
-    virtual sal_Bool Import(com::sun::star::uno::Reference<
-        com::sun::star::container::XNameContainer>
-        &rDialog);
-    virtual sal_Bool Import(com::sun::star::uno::Reference<
-        com::sun::star::beans::XPropertySet>& /*rPropSet*/)
-        {return sal_False;}
     //Export exports a control as an OLE style storage stream tree
     virtual sal_Bool Export(SotStorageRef& /*rObj*/,
     const com::sun::star::uno::Reference<
@@ -257,17 +223,6 @@ public:
     void SetInDialog(bool bState) { bSetInDialog = bState; }
     bool GetInDialog() { return bSetInDialog; }
 
-    sal_Bool ReadAndImport(SotStorageStream *pS,
-        com::sun::star::uno::Reference<
-        com::sun::star::lang::XMultiServiceFactory >  &rSF,
-        com::sun::star::uno::Reference<
-        com::sun::star::form::XFormComponent > &rFComp,
-        com::sun::star::awt::Size &rSz)
-    {
-        if (Read(pS))
-            return Import(rSF,rFComp,rSz);
-        return sal_False;
-    }
     virtual ~OCX_Control() {}
 
     static void FillSystemColors();
@@ -292,14 +247,10 @@ public:
     com::sun::star::uno::Reference< com::sun::star::graphic::XGraphicObject> mxGrfObj;
 protected:
 
-    sal_uInt32 ImportColor(sal_uInt32 nColorCode) const;
     sal_uInt32 ExportColor(sal_uInt32 nColorCode) const;
     sal_uInt32 SwapColor(sal_uInt32 nColorCode) const;
-    sal_Int16 ImportBorder(sal_uInt16 nSpecialEffect,sal_uInt16 nBorderStyle)
-        const;
     sal_uInt8 ExportBorder(sal_uInt16 nBorder,sal_uInt8 &rBorderStyle) const;
     bool bSetInDialog;
-    sal_Int16 ImportSpecEffect( sal_uInt8 nSpecialEffect ) const;
     sal_uInt8 ExportSpecEffect( sal_Int16 nApiEffect ) const;
     static sal_uInt16 nStandardId;
     static sal_uInt8 const aObjInfo[4];
@@ -333,8 +284,6 @@ public:
         if (pGroupName) delete[] pGroupName;
         if (pIcon) delete[] pIcon;
     }
-    sal_Bool Read(SotStorageStream *pS);
-
 
     /*sal_uInt8 for sal_uInt8 Word Struct*/
     sal_uInt16  nIdentifier;
@@ -415,22 +364,6 @@ public:
 
 };
 
-class OCX_TabStrip : public OCX_Control
-{
-public:
-    OCX_TabStrip() : OCX_Control( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "TabStrip" ))), nIdentifier(0), nFixedAreaLen(0), nNumTabs(0), bHasTabs(true) {}
-
-        virtual sal_Bool ReadFontData(SotStorageStream *pS);
-        virtual sal_Bool Read(SotStorageStream *pS);
-
-    std::vector< rtl::OUString > msItems;
-    sal_uInt16  nIdentifier;
-    sal_uInt16  nFixedAreaLen;
-    sal_uInt8   pBlockFlags[4];
-    sal_Int32   nNumTabs;
-    bool        bHasTabs;
-};
-
 class OCX_Image : public OCX_Control
 {
 public:
@@ -462,11 +395,6 @@ public:
     sal_uInt8   nSpecialEffect;
 
         bool bAutoSize;
-        sal_Bool Read(SotStorageStream *pS);
-
-    using OCX_Control::Import; // to not hide the other two import methods
-    virtual sal_Bool Import(com::sun::star::uno::Reference<
-        com::sun::star::beans::XPropertySet>& rPropSet);
     sal_Bool Export(SotStorageRef &rObj,
         const com::sun::star::uno::Reference<
         com::sun::star::beans::XPropertySet> &rPropSet,
@@ -475,215 +403,11 @@ public:
         const com::sun::star::uno::Reference<
         com::sun::star::beans::XPropertySet> &rPropSet,
         const com::sun::star::awt::Size& rSize);
-        // No Font record
-    virtual sal_Bool ReadFontData(SvStorageStream* /*pS*/) { return sal_True; }
 
     static OCX_Control *Create() { return new OCX_Image;}
 };
-struct ContainerRecord
-{
-    ContainerRecord():nTop(0), nLeft(0), nSubStorageId(0), nSubStreamLen(0), nTabPos(0), nTypeIdent(0), bVisible( true ), bTabStop( true ) {}
-    ::rtl::OUString cName;
-    ::rtl::OUString controlTip;
-    ::rtl::OUString sCtrlSource;
-    ::rtl::OUString sRowSource;
-
-    sal_uInt32 nTop;
-    sal_uInt32 nLeft;
-    sal_uInt32 nSubStorageId;
-    sal_uInt32 nSubStreamLen;
-    sal_uInt16  nTabPos;
-    sal_uInt16 nTypeIdent;
-    bool bVisible;
-    bool bTabStop;
-};
-
-typedef std::vector<OCX_Control*>::iterator CtrlIterator;
-typedef std::vector<OCX_Control*>::const_iterator CtrlIteratorConst;
-typedef std::vector<OCX_Control*>  CtrlList;
-
 class OCX_OptionButton;
 
-class OCX_ParentControl : public OCX_Control
-{
-public:
-    virtual sal_Bool Read(SvStorageStream *pS);
-    virtual sal_Bool ReadFontData(SvStorageStream* /*pS*/) { return sal_True; }
-
-    using OCX_Control::Import; // to not hide the other two import methods
-
-    virtual sal_Bool Import(com::sun::star::uno::Reference<
-        com::sun::star::beans::XPropertySet> &rPropSet);
-
-        SotStorageStreamRef getContainerStream() { return mContainerStream; }
-
-        SotStorageStreamRef getOStream() { return mContainedControlsStream; }
-        virtual void ProcessControl( OCX_Control* pControl, SvStorageStream* pS, ContainerRecord& rec );
-        bool createFromContainerRecord( const ContainerRecord& record,
-            OCX_Control*& );
-        SotStorageStreamRef getContainedControlsStream(){ return mContainedControlsStream; }
-protected:
-    OCX_ParentControl( SotStorageRef& parent,
-            const ::rtl::OUString& storageName,
-            const ::rtl::OUString& sN,
-            const com::sun::star::uno::Reference<
-            com::sun::star::container::XNameContainer >  &rDialog,
-            OCX_Control* pParent = NULL );
-    ~OCX_ParentControl();
-
-        com::sun::star::uno::Reference<
-                com::sun::star::container::XNameContainer > mxParent;
-    std::vector<OCX_Control*> mpControls;
-        boost::unordered_map<sal_uInt16, sal_uInt16> mActiveXIDMap;
-        SotStorageRef mContainerStorage;
-        SotStorageStreamRef mContainerStream;
-        SotStorageStreamRef mContainedControlsStream;
-    sal_uInt16 nIdentifier;
-    sal_uInt16 nFixedAreaLen;
-    sal_uInt8   pBlockFlags[4];
-
-    sal_uInt32  nChildrenA;
-    sal_uInt32  nNextAvailableID;
-    sal_uInt32  nBooleanProperties;
-    sal_uInt32  nGroupCnt;
-    sal_uInt32  nZoom;
-
-    sal_uInt8   fUnknown1:1;
-    sal_uInt8   fEnabled:1;
-    sal_uInt8   fLocked:1;
-    sal_uInt8   fBackStyle:1;
-    sal_uInt8   fUnknown2:4;
-
-    sal_uInt8   fUnknown3:8;
-
-    sal_uInt8   fUnknown4:7;
-    sal_uInt8   fWordWrap:1;
-
-    sal_uInt8   fUnknown5:4;
-    sal_uInt8   fAutoSize:1;
-    sal_uInt8   fUnknown6:3;
-
-    sal_uInt32  nCaptionLen;
-    sal_uInt16  nVertPos;
-    sal_uInt16  nHorzPos;
-    sal_uInt32  nBorderColor;
-    sal_uInt32  nDrawBuffer;
-    sal_uInt32  nShapeCookie;
-    sal_uInt8   nKeepScrollBarsVisible;
-    sal_uInt8   nCycle;
-    sal_uInt8   nBorderStyle;
-    sal_uInt8   nMousePointer;
-    sal_uInt8   nSpecialEffect;
-    sal_uInt16  nPicture;
-    sal_uInt8   nPictureAlignment;
-    sal_uInt8   nPictureSizeMode;
-    bool        bPictureTiling;
-    sal_uInt16  nAccelerator;
-    sal_uInt16  nIcon;
-    sal_uInt16  fUnknown7;
-
-    char *pCaption;
-
-    sal_uInt32  nScrollWidth;
-    sal_uInt32  nScrollHeight;
-    sal_uInt32  nScrollLeft;
-    sal_uInt32  nScrollTop;
-
-    sal_uInt8 pIconHeader[20];
-    sal_uInt32  nIconLen;
-    sal_uInt8 *pIcon;
-
-    sal_uInt8 pPictureHeader[20];
-    sal_uInt32  nPictureLen;
-private:
-     OCX_ParentControl(); // not implemented
-     OCX_ParentControl(const OCX_ParentControl&); // not implemented
-
-};
-
-class OCX_Page;
-class OCX_MultiPage : public OCX_ParentControl
-{
-public:
-    OCX_MultiPage( SotStorageRef& parent,
-            const ::rtl::OUString& storageName,
-            const ::rtl::OUString& sN,
-            const com::sun::star::uno::Reference<
-                com::sun::star::container::XNameContainer >  &rDialog, OCX_Control* pParent = NULL);
-
-    virtual sal_Bool Read(SvStorageStream *pS);
-
-    using OCX_ParentControl::Import; // to not hide the other two import methods
-    virtual sal_Bool Import(com::sun::star::uno::Reference<
-        com::sun::star::beans::XPropertySet> &rPropSet);
-    virtual void ProcessControl( OCX_Control* pControl, SvStorageStream* pS, ContainerRecord& rec );
-private:
-    sal_Int32 nActiveTab;
-    SotStorageStreamRef mXStream;
-    bool bHasTabs;
-    std::vector< rtl::OUString > sCaptions;
-    // order of Ids corrosponds to the order of captions above
-    std::vector< sal_Int32 > mPageIds;
-    boost::unordered_map< sal_Int32, OCX_Page* > idToPage;
-};
-
-
-class OCX_Page : public OCX_ParentControl
-{
-public:
-    OCX_Page( SotStorageRef& parentStorage,
-        sal_Int32 nID,
-        const ::rtl::OUString& sN,
-        const com::sun::star::uno::Reference<
-        com::sun::star::container::XNameContainer >  &rDialog, OCX_Control* parent = NULL);
-    virtual sal_Bool Read(SvStorageStream *pS);
-
-    using OCX_ParentControl::Import; // to not hide the other two import methods
-    virtual sal_Bool Import(com::sun::star::uno::Reference<
-        com::sun::star::beans::XPropertySet> &rPropSet);
-    rtl::OUString msTitle; // #FIXME we should use the existing caption
-    sal_Int32 mnID;
-private:
-};
-
-
-class OCX_Frame : public OCX_ParentControl
-{
-public:
-    OCX_Frame( SotStorageRef& parent,
-        const ::rtl::OUString& storageName,
-        const ::rtl::OUString& sN,
-        const com::sun::star::uno::Reference<
-        com::sun::star::container::XNameContainer >  &rDialog, OCX_Control* pParent = NULL);
-    virtual sal_Bool Read(SvStorageStream *pS);
-
-    using OCX_ParentControl::Import; // to not hide the other two import methods
-    virtual sal_Bool Import(com::sun::star::uno::Reference<
-        com::sun::star::beans::XPropertySet> &rPropSet);
-};
-
-
-class OCX_UserForm : public OCX_ParentControl
-{
-public:
-    OCX_UserForm( SotStorageRef& parent,
-        const ::rtl::OUString& storageName,
-        const ::rtl::OUString& sN,
-        const com::sun::star::uno::Reference<
-        com::sun::star::container::XNameContainer >  &rDialog,
-        const com::sun::star::uno::Reference<
-        com::sun::star::lang::XMultiServiceFactory >& rMsf);
-    using OCX_ParentControl::Import; // to not hide the other two import methods
-    virtual sal_Bool Import( com::sun::star::uno::Reference<
-        com::sun::star::container::XNameContainer>
-        &rDialog);
-private:
-    com::sun::star::uno::Reference<
-        com::sun::star::uno::XComponentContext> mxCtx;
-};
-
-
-
 class OCX_CheckBox : public OCX_ModernControl
 {
 public:
@@ -695,9 +419,6 @@ public:
         aFontData.SetHasAlign(sal_True);
     }
 
-    using OCX_ModernControl::Import; // to not hide the other two import methods
-    virtual sal_Bool Import(com::sun::star::uno::Reference<
-        com::sun::star::beans::XPropertySet> &rPropSet);
     sal_Bool Export(SotStorageRef &rObj,
         const com::sun::star::uno::Reference<
         com::sun::star::beans::XPropertySet> &rPropSet,
@@ -722,9 +443,6 @@ public:
         aFontData.SetHasAlign(sal_True);
     }
 
-    using OCX_ModernControl::Import; // to not hide the other two import methods
-    virtual sal_Bool Import(com::sun::star::uno::Reference<
-        com::sun::star::beans::XPropertySet> &rPropSet);
     sal_Bool Export(SotStorageRef &rObj,
         const com::sun::star::uno::Reference<
         com::sun::star::beans::XPropertySet> &rPropSet,
@@ -750,10 +468,6 @@ public:
         aFontData.SetHasAlign(sal_True);
     }
 
-    using OCX_ModernControl::Import; // to not hide the other two import methods
-    virtual sal_Bool Import(com::sun::star::uno::Reference<
-        com::sun::star::beans::XPropertySet> &rPropSet);
-
     sal_Bool Export(SotStorageRef &rObj,
         const com::sun::star::uno::Reference<
         com::sun::star::beans::XPropertySet> &rPropSet,
@@ -799,9 +513,6 @@ public:
     }
     static OCX_Control *Create() { return new OCX_ToggleButton;}
 
-    using OCX_ModernControl::Import; // to not hide the other two import methods
-    virtual sal_Bool Import(com::sun::star::uno::Reference<
-        com::sun::star::beans::XPropertySet> &rPropSet);
     sal_Bool Export(SvStorageRef &rObj,
         const com::sun::star::uno::Reference<
         com::sun::star::beans::XPropertySet> &rPropSet,
@@ -824,9 +535,6 @@ public:
         aFontData.SetHasAlign(sal_True);
     }
     static OCX_Control *Create() { return new OCX_ComboBox;}
-    using OCX_ModernControl::Import; // to not hide the other two import methods
-    virtual sal_Bool Import(com::sun::star::uno::Reference<
-        com::sun::star::beans::XPropertySet> &rPropSet);
     sal_Bool Export(SotStorageRef &rObj,
         const com::sun::star::uno::Reference<
         com::sun::star::beans::XPropertySet> &rPropSet,
@@ -850,9 +558,6 @@ public:
         aFontData.SetHasAlign(sal_True);
     }
     static OCX_Control *Create() { return new OCX_ListBox;}
-    using OCX_ModernControl::Import; // to not hide the other two import methods
-    virtual sal_Bool Import(com::sun::star::uno::Reference<
-        com::sun::star::beans::XPropertySet> &rPropSet);
     sal_Bool Export(SotStorageRef &rObj,
         const com::sun::star::uno::Reference<
         com::sun::star::beans::XPropertySet> &rPropSet,
@@ -883,7 +588,6 @@ public:
         if (pCaption) delete[] pCaption;
         if (pIcon) delete[] pIcon;
     }
-    sal_Bool Read(SotStorageStream *pS);
 
     /*sal_uInt8 for sal_uInt8 Word Struct*/
     sal_uInt16  nIdentifier;
@@ -928,9 +632,6 @@ public:
     bool        mbTakeFocus;
 
     static OCX_Control *Create() { return new OCX_CommandButton;}
-    using OCX_Control::Import; // to not hide the other two import methods
-    virtual sal_Bool Import(com::sun::star::uno::Reference<
-        com::sun::star::beans::XPropertySet> &rPropSet);
     sal_Bool Export(SotStorageRef &rObj,
         const com::sun::star::uno::Reference<
         com::sun::star::beans::XPropertySet> &rPropSet,
@@ -998,7 +699,6 @@ public:
         if (pCaption) delete[] pCaption;
         if (pIcon) delete[] pIcon;
     }
-    sal_Bool Read(SotStorageStream *pS);
 
     /*sal_uInt8 for sal_uInt8 Word Struct*/
     sal_uInt16 nIdentifier;
@@ -1043,10 +743,6 @@ public:
 
     static OCX_Control *Create() { return new OCX_Label;}
 
-    using OCX_Control::Import; // to not hide the other two import methods
-    virtual sal_Bool Import(com::sun::star::uno::Reference<
-        com::sun::star::beans::XPropertySet> &rPropSet);
-
     sal_Bool Export(SotStorageRef &rObj,
         const com::sun::star::uno::Reference<
         com::sun::star::beans::XPropertySet> &rPropSet,
@@ -1066,12 +762,6 @@ public:
 
     static OCX_Control* Create();
 
-    virtual sal_Bool    Read( SvStorageStream *pS );
-    using OCX_Control::Import; // to not hide the other two import methods
-    virtual sal_Bool Import(com::sun::star::uno::Reference<
-            com::sun::star::beans::XPropertySet> &rPropSet);
-        // No Font record
-    virtual sal_Bool ReadFontData(SvStorageStream* /*pS*/) { return sal_True; }
 private:
     sal_Int32   nMin;
     sal_Int32   nMax;
@@ -1087,13 +777,6 @@ public:
 
     static OCX_Control* Create();
 
-    virtual sal_Bool    Read( SvStorageStream *pS );
-
-    virtual sal_Bool    ReadFontData( SvStorageStream *pS );
-
-    using OCX_Control::Import; // to not hide the other two import methods
-    virtual sal_Bool Import(com::sun::star::uno::Reference<
-        com::sun::star::beans::XPropertySet> &rPropSet);
     //Export exports a control as an OLE style storage stream tree
     virtual sal_Bool    Export( SvStorageRef &rObj,
                             const com::sun::star::uno::Reference<
@@ -1153,10 +836,6 @@ public:
 
     static OCX_Control* Create();
 
-    using OCX_Control::Import; // to not hide the other two import methods
-    virtual sal_Bool Import(com::sun::star::uno::Reference<
-        com::sun::star::beans::XPropertySet> &rPropSet);
-
     //Export exports a control as an OLE style storage stream tree
     virtual sal_Bool    Export( SvStorageRef &rObj,
                             const com::sun::star::uno::Reference<
@@ -1185,14 +864,8 @@ public:
                 nMultiState =false;
     }
 
-    using OCX_ModernControl::Import; // to not hide the other two import methods
-    virtual sal_Bool Import(com::sun::star::uno::Reference<
-        com::sun::star::beans::XPropertySet> &rPropSet);
-
     static OCX_Control *Create() { return new HTML_Select;}
 
-        virtual sal_Bool Read(SotStorageStream *pS);
-        virtual sal_Bool ReadFontData(SotStorageStream *pS);
         com::sun::star::uno::Sequence< rtl::OUString > msListData;
         com::sun::star::uno::Sequence< sal_Int16 > msIndices;
 };
@@ -1209,23 +882,8 @@ public:
         aFontData.SetHasAlign(sal_True);
     }
 
-    using OCX_ModernControl::Import; // to not hide the other two import methods
-    virtual sal_Bool Import(com::sun::star::uno::Reference<
-        com::sun::star::beans::XPropertySet> &rPropSet);
-  /*
-    sal_Bool Export(SotStorageRef &rObj,
-        const com::sun::star::uno::Reference<
-        com::sun::star::beans::XPropertySet> &rPropSet,
-        const com::sun::star::awt::Size& rSize);
-    sal_Bool WriteContents(SotStorageStreamRef &rObj,
-        const com::sun::star::uno::Reference<
-        com::sun::star::beans::XPropertySet> &rPropSet,
-        const com::sun::star::awt::Size& rSize);
-  */
     static OCX_Control *Create() { return new HTML_TextBox;}
 
-        virtual sal_Bool Read(SotStorageStream *pS);
-        virtual sal_Bool ReadFontData(SotStorageStream *pS);
 };
 
 
diff --git a/filter/inc/filter/msfilter/svxmsbas.hxx b/filter/inc/filter/msfilter/svxmsbas.hxx
index e2aa734..f04a83b 100644
--- a/filter/inc/filter/msfilter/svxmsbas.hxx
+++ b/filter/inc/filter/msfilter/svxmsbas.hxx
@@ -67,16 +67,6 @@ public:
         :   xRoot(&rRoot), rDocSh(rDocS),
             bImport(bImportCode), bCopy(bCopyStorage)
         {}
-    // returns the status of import:
-    // 0 - nothing has done
-    // bit 0 = 1 -> any code is imported to the SO-Basic
-    // bit 1 = 1 -> the VBA - storage is copy to the ObjectShell storage
-    int Import( const String& rStorageName, const String &rSubStorageName,
-                sal_Bool bAsComment=sal_True, sal_Bool bStripped=sal_True );
-    int Import( const String& rStorageName, const String &rSubStorageName,
-                const std::vector< String >& codeNames,
-                sal_Bool bAsComment=sal_True, sal_Bool bStripped=sal_True );
-
     // only for the export - copy or delete the saved VBA-macro-storage
     // form the ObjectShell
     // - returns a warning code if a modified basic exist, in all other
@@ -102,13 +92,10 @@ private:
                           const String &rSubStorageName,
                           const std::vector< String >& codeNames,
                           sal_Bool bAsComment, sal_Bool bStripped);
-    MSFILTER_DLLPRIVATE bool ImportForms_Impl(const String& rStorageName,
-                                              const String &rSubStorageName, sal_Bool bVBAMode);
     MSFILTER_DLLPRIVATE sal_Bool CopyStorage_Impl( const String& rStorageName,
                            const String &rSubStorageName);
         rtl::OUString msProjectName;
     MSFILTER_DLLPRIVATE sal_Bool ImportCode_Impl( VBA_Impl&, const std::vector< String >&, sal_Bool, sal_Bool );
-    MSFILTER_DLLPRIVATE bool ImportForms_Impl( VBA_Impl&, const String&, const String&, sal_Bool);
 };
 
 #endif
diff --git a/filter/source/msfilter/makefile.mk b/filter/source/msfilter/makefile.mk
index 8070bc4..142e28f 100644
--- a/filter/source/msfilter/makefile.mk
+++ b/filter/source/msfilter/makefile.mk
@@ -50,7 +50,6 @@ SLOFILES= \
     $(SLO)$/msocximex.obj	\
     $(SLO)$/msoleexp.obj	\
     $(SLO)$/msvbahelper.obj \
-    $(SLO)$/msvbasic.obj	\
     $(SLO)$/services.obj	\
     $(SLO)$/svdfppt.obj		\
     $(SLO)$/svxmsbas.obj	\
diff --git a/filter/source/msfilter/msocximex.cxx b/filter/source/msfilter/msocximex.cxx
index 6c79d1b..2bc0015 100644
--- a/filter/source/msfilter/msocximex.cxx
+++ b/filter/source/msfilter/msocximex.cxx
@@ -106,281 +106,11 @@ using namespace cppu;
 
 
 #define WW8_ASCII2STR(s) String::CreateFromAscii(RTL_CONSTASCII_STRINGPARAM(s))
-#define GRAPHOBJ_URLPREFIX "vnd.sun.star.GraphicObject:"
-
-
-// #FIXME remove when oox is used for control import
-// convertion class lifted from oox ( yes, duplication I know but
-// should be very short term )
-class GraphicHelper
-{
-public:
-   GraphicHelper( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel >& xModel );
-    ~GraphicHelper();
-
-    /** Returns information about the output device. */
-    const ::com::sun::star::awt::DeviceInfo& getDeviceInfo() const;
-
-    /** Converts the passed value from horizontal screen pixels to 1/100 mm. */
-    sal_Int32           convertScreenPixelXToHmm( double fPixelX ) const;
-    /** Converts the passed value from vertical screen pixels to 1/100 mm. */
-    sal_Int32           convertScreenPixelYToHmm( double fPixelY ) const;
-    /** Converts the passed point from screen pixels to 1/100 mm. */
-    ::com::sun::star::awt::Point convertScreenPixelToHmm( const ::com::sun::star::awt::Point& rPixel ) const;
-    /** Converts the passed size from screen pixels to 1/100 mm. */
-    ::com::sun::star::awt::Size convertScreenPixelToHmm( const ::com::sun::star::awt::Size& rPixel ) const;
-
-    /** Converts the passed value from 1/100 mm to horizontal screen pixels. */
-    double              convertHmmToScreenPixelX( sal_Int32 nHmmX ) const;
-    /** Converts the passed value from 1/100 mm to vertical screen pixels. */
-    double              convertHmmToScreenPixelY( sal_Int32 nHmmY ) const;
-    /** Converts the passed point from 1/100 mm to screen pixels. */
-    ::com::sun::star::awt::Point convertHmmToScreenPixel( const ::com::sun::star::awt::Point& rHmm ) const;
-    /** Converts the passed size from 1/100 mm to screen pixels. */
-    ::com::sun::star::awt::Size convertHmmToScreenPixel( const ::com::sun::star::awt::Size& rHmm ) const;
-
-    /** Converts the passed point from AppFont units to 1/100 mm. */
-    ::com::sun::star::awt::Point convertAppFontToHmm( const ::com::sun::star::awt::Point& rAppFont ) const;
-    /** Converts the passed point from AppFont units to 1/100 mm. */
-    ::com::sun::star::awt::Size convertAppFontToHmm( const ::com::sun::star::awt::Size& rAppFont ) const;
-
-    /** Converts the passed point from 1/100 mm to AppFont units. */
-    ::com::sun::star::awt::Point convertHmmToAppFont( const ::com::sun::star::awt::Point& rHmm ) const;
-    /** Converts the passed size from 1/100 mm to AppFont units. */
-    ::com::sun::star::awt::Size convertHmmToAppFont( const ::com::sun::star::awt::Size& rHmm ) const;
-
-private:
-    ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > mxGlobalFactory;
-    ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > mxCompContext;
-    ::com::sun::star::uno::Reference< ::com::sun::star::awt::XUnitConversion > mxUnitConversion;
-    ::com::sun::star::awt::DeviceInfo maDeviceInfo; /// Current output device info.
-    double              mfPixelPerHmmX;             /// Number of screen pixels per 1/100 mm in X direction.
-    double              mfPixelPerHmmY;             /// Number of screen pixels per 1/100 mm in Y direction.
-};
-
-inline sal_Int32 lclConvertScreenPixelToHmm( double fPixel, double fPixelPerHmm )
-{
-    return static_cast< sal_Int32 >( (fPixelPerHmm > 0.0) ? (fPixel / fPixelPerHmm + 0.5) : 0.0 );
-}
-
-GraphicHelper::GraphicHelper( const uno::Reference< frame::XModel >& rxModel )
-{
-    mxGlobalFactory = comphelper::getProcessServiceFactory();
-    ::comphelper::ComponentContext aContext( mxGlobalFactory );
-    mxCompContext = aContext.getUNOContext();
-
-    // if no target frame has been passed (e.g. OLE objects), try to fallback to the active frame
-    // TODO: we need some mechanism to keep and pass the parent frame
-    uno::Reference< frame::XFrame > xFrame;
-    if ( rxModel.is() )
-    {
-        uno::Reference< frame::XController > xController = rxModel->getCurrentController();
-        xFrame = xController.is() ? xController->getFrame() : NULL;
-    }
-    if( !xFrame.is() && mxGlobalFactory.is() ) try
-    {
-        uno::Reference< frame::XFramesSupplier > xFramesSupp( mxGlobalFactory->createInstance( WW8_ASCII2STR( "com.sun.star.frame.Desktop" ) ), uno::UNO_QUERY_THROW );
-        xFrame = xFramesSupp->getActiveFrame();
-    }
-    catch( uno::Exception& )
-    {
-    }
-
-    // get the metric of the output device
-    OSL_ENSURE( xFrame.is(), "GraphicHelper::GraphicHelper - cannot get target frame" );
-    maDeviceInfo.PixelPerMeterX = maDeviceInfo.PixelPerMeterY = 3500.0; // some default just in case
-    if( xFrame.is() ) try
-    {
-        uno::Reference< awt::XDevice > xDevice( xFrame->getContainerWindow(), uno::UNO_QUERY_THROW );
-        mxUnitConversion.set( xDevice, uno::UNO_QUERY );
-        OSL_ENSURE( mxUnitConversion.is(), "GraphicHelper::GraphicHelper - cannot get unit converter" );
-        maDeviceInfo = xDevice->getInfo();
-    }
-    catch( uno::Exception& )
-    {
-        OSL_FAIL( "GraphicHelper::GraphicHelper - cannot get output device info" );
-    }
-    mfPixelPerHmmX = maDeviceInfo.PixelPerMeterX / 100000.0;
-    mfPixelPerHmmY = maDeviceInfo.PixelPerMeterY / 100000.0;
-}
-
-GraphicHelper::~GraphicHelper()
-{
-}
-
-// Device info and device dependent unit conversion ---------------------------
-
-const awt::DeviceInfo& GraphicHelper::getDeviceInfo() const
-{
-    return maDeviceInfo;
-}
-
-sal_Int32 GraphicHelper::convertScreenPixelXToHmm( double fPixelX ) const
-{
-    return lclConvertScreenPixelToHmm( fPixelX, mfPixelPerHmmX );
-}
-
-sal_Int32 GraphicHelper::convertScreenPixelYToHmm( double fPixelY ) const
-{
-    return lclConvertScreenPixelToHmm( fPixelY, mfPixelPerHmmY );
-}
-
-awt::Point GraphicHelper::convertScreenPixelToHmm( const awt::Point& rPixel ) const
-{
-    return awt::Point( convertScreenPixelXToHmm( rPixel.X ), convertScreenPixelYToHmm( rPixel.Y ) );
-}
-
-awt::Size GraphicHelper::convertScreenPixelToHmm( const awt::Size& rPixel ) const
-{
-    return awt::Size( convertScreenPixelXToHmm( rPixel.Width ), convertScreenPixelYToHmm( rPixel.Height ) );
-}
-
-double GraphicHelper::convertHmmToScreenPixelX( sal_Int32 nHmmX ) const
-{
-    return nHmmX * mfPixelPerHmmX;
-}
-
-double GraphicHelper::convertHmmToScreenPixelY( sal_Int32 nHmmY ) const
-{
-    return nHmmY * mfPixelPerHmmY;
-}
-
-awt::Point GraphicHelper::convertHmmToScreenPixel( const awt::Point& rHmm ) const
-{
-    return awt::Point(
-        static_cast< sal_Int32 >( convertHmmToScreenPixelX( rHmm.X ) + 0.5 ),
-        static_cast< sal_Int32 >( convertHmmToScreenPixelY( rHmm.Y ) + 0.5 ) );
-}
-
-awt::Size GraphicHelper::convertHmmToScreenPixel( const awt::Size& rHmm ) const
-{
-    return awt::Size(
-        static_cast< sal_Int32 >( convertHmmToScreenPixelX( rHmm.Width ) + 0.5 ),
-        static_cast< sal_Int32 >( convertHmmToScreenPixelY( rHmm.Height ) + 0.5 ) );
-}
-
-awt::Point GraphicHelper::convertAppFontToHmm( const awt::Point& rAppFont ) const
-{
-    if( mxUnitConversion.is() ) try
-    {
-        awt::Point aPixel = mxUnitConversion->convertPointToPixel( rAppFont, ::com::sun::star::util::MeasureUnit::APPFONT );
-        return convertScreenPixelToHmm( aPixel );
-    }
-    catch( uno::Exception& )
-    {
-    }
-    return awt::Point( 0, 0 );
-}
-
-awt::Size GraphicHelper::convertAppFontToHmm( const awt::Size& rAppFont ) const
-{
-    if( mxUnitConversion.is() ) try
-    {
-        awt::Size aPixel = mxUnitConversion->convertSizeToPixel( rAppFont, ::com::sun::star::util::MeasureUnit::APPFONT );
-        return convertScreenPixelToHmm( aPixel );
-    }
-    catch( uno::Exception& )
-    {
-    }
-    return awt::Size( 0, 0 );
-}
-
-awt::Point GraphicHelper::convertHmmToAppFont( const awt::Point& rHmm ) const
-{
-    if( mxUnitConversion.is() ) try
-    {
-        awt::Point aPixel = convertHmmToScreenPixel( rHmm );
-        return mxUnitConversion->convertPointToLogic( aPixel, ::com::sun::star::util::MeasureUnit::APPFONT );
-    }
-    catch( uno::Exception& )
-    {
-    }
-    return awt::Point( 0, 0 );
-}
-
-awt::Size GraphicHelper::convertHmmToAppFont( const awt::Size& rHmm ) const
-{
-    if( mxUnitConversion.is() ) try
-    {
-        awt::Size aPixel = convertHmmToScreenPixel( rHmm );
-        return mxUnitConversion->convertSizeToLogic( aPixel, ::com::sun::star::util::MeasureUnit::APPFONT );
-    }
-    catch( uno::Exception& )
-    {
-    }
-    return awt::Size( 0, 0 );
-}
-
 
 static char sWW8_form[] = "WW-Standard";
 
-
-struct SortOrderByTabPos
-{
-    bool operator()( const OCX_Control* a, const OCX_Control* b )
-    {
-        return a->mnTabPos < b->mnTabPos;
-    }
-};
-
-
 sal_uInt8 const OCX_Control::aObjInfo[4] = { 0x00, 0x12, 0x03, 0x00 };
 
-long ReadAlign(SvStorageStream *pS, long nPos, int nAmount)
-{
-    if (long nAlign = nPos % nAmount)
-    {
-
-        long nLen = nAmount - nAlign;
-        pS->SeekRel(nLen);
-        return nLen;
-    }
-    return 0;
-}
-
-// NP - Images in controls in OO2.0/SO8 exist as links, e.g. they are not part of the document so are
-// referenced externally. On import from ms document try to save images for controls here.
-// Images are stored in directory called temp in the user installation directory. Next version of OO/SO
-// hopefully will address this issue and allow a choice e.g. images for controls to be stored as links
-// or embeded in the document.
-uno::Reference< graphic::XGraphicObject> lcl_readGraphicObject( SotStorageStream *pS )
-{
-    uno::Reference< graphic::XGraphicObject > xGrfObj;
-    uno::Reference< lang::XMultiServiceFactory > xServiceManager = ::comphelper::getProcessServiceFactory();
-    if( xServiceManager.is() )
-    {
-        try
-        {
-            // use the GraphicProvider service to get the XGraphic
-            uno::Reference< graphic::XGraphicProvider > xGraphProvider(
-                    xServiceManager->createInstance( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.graphic.GraphicProvider" )) ), uno::UNO_QUERY );
-            if( xGraphProvider.is() )
-            {
-                uno::Reference< io::XInputStream > xStream( new utl::OInputStreamWrapper( *pS ) );
-                if( xStream.is() )
-                {
-                    uno::Sequence< beans::PropertyValue > aMediaProps( 1 );
-                    aMediaProps[0].Name = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "InputStream" ));
-                    aMediaProps[0].Value <<= xStream;
-                    uno::Reference< graphic::XGraphic > xGraphic = xGraphProvider->queryGraphic( aMediaProps );
-                    if( xGraphic.is() )
-                    {
-                        // create an XGraphicObject
-                        ::comphelper::ComponentContext aContext( xServiceManager );
-                        xGrfObj = graphic::GraphicObject::create( aContext.getUNOContext() );
-                        xGrfObj->setGraphic(xGraphic);
-                    }
-                }
-            }
-        }
-        catch( uno::Exception& )
-        {
-        }
-    }
-    return xGrfObj;
-}
-
-
 long WriteAlign(SvStorageStream *pS, int nAmount)
 {
     if (long nAlign = pS->Tell() % nAmount)
@@ -416,52 +146,6 @@ bool writeOCXNAME( const OUString& sOCXName, SvStorageStream* pStream )
 
 }
 
-bool readOCXNAME( OUString& sCName, SvStorageStream* pStream )
-{
-    /*
-    * Read uniCode until no data or 0 encountered
-    */
-    OUStringBuffer buf(40);
-    do
-    {
-        sal_uInt16 ch = 0;
-        *pStream >> ch;
-        sal_Unicode uni = static_cast< sal_Unicode >( ch );
-        if ( uni == 0 )
-        {
-            break;
-        }
-        buf.append( &uni, 1 );
-
-    } while ( !pStream->IsEof() );
-
-    sCName = buf.makeStringAndClear();
-    return ( SVSTREAM_OK == pStream->GetError() );
-}
-
-
-/* ** Import of Unicode strings in form controls **
-
-    Strings may be stored either as compressed or uncompressed Unicode
-    character array. There are no encoded byte strings anywhere.
-
-    The string length field stores the length of the character array (not the
-    character count of the string) in the lower 31 bits, and the compression
-    state in the highest bit.
-
-    A set bit means the character array is compressed. This means all Unicode
-    characters are <=0xFF. Therefore the high bytes of all characters are left
-    out, and the character array size is equal to the string length.
-
-    A cleared bit means the character array is not compressed. The buffer
-    contains Little-Endian Unicode characters, and the resulting string length
-    is half the buffer size.
-
-    TODO: This implementation of the new string import is a hack to keep
-    msocximex.hxx unchanged. A better implementation would replace the char*
-    members of all classes by something more reasonable.
- */
-
 namespace {
 
 const sal_uInt32 SVX_MSOCX_SIZEMASK     = 0x7FFFFFFF;   /// Mask for character buffer size.
@@ -484,104 +168,6 @@ inline sal_uInt32 lclGetBufferSize( sal_uInt32 nLenFld )
     return nLenFld & SVX_MSOCX_SIZEMASK;
 }
 
-
-// import ---------------------------------------------------------------------
-
-/** Reads the character array of a string in a form control.
-
-    Creates a new character array containing the character data.
-    The length field must be read before and passed to this function.
-    Aligns stream position to multiple of 4 before.
-
-    @param rStrm
-        The input stream.
-
-    @param rpcCharArr
-        (out-param) Will point to the created character array,
-        or will be 0 if string is empty. The array is NOT null-terminated.
-        If the passed pointer points to an old existing array, it will be
-        deleted before. Caller must delete the returned array.
-
-    @param nLenFld
-        The corresponding string length field read somewhere before.
- */
-void lclReadCharArray( SvStorageStream& rStrm, char*& rpcCharArr, sal_uInt32 nLenFld, long nPos )
-{
-    delete[] rpcCharArr;
-    rpcCharArr = 0;
-    sal_uInt32 nBufSize = lclGetBufferSize( nLenFld );
-    DBG_ASSERT( nBufSize <= 0xFFFF, "lclReadCharArray - possible read error: char array is too big" );
-    if( nBufSize && nBufSize <= 0xFFFF )
-    {
-        rpcCharArr = new char[ nBufSize ];
-        if( rpcCharArr )
-        {
-            ReadAlign( &rStrm, nPos, 4 );
-            rStrm.Read( rpcCharArr, nBufSize );
-        }
-    }
-}
-
-/** Creates an OUString from a character array created with lclReadCharArray().
-
-    The passed parameters must match, that means the length field must be the
-    same used to create the passed character array.
-
-    @param pcCharArr
-        The character array returned by lclReadCharArray(). May be compressed
-        or uncompressed, next parameter nLenFld will specify this.
-
-    @param nLenFld
-        MUST be the same string length field that has been passed to
-        lclReadCharArray() to create the character array in previous parameter
-        pcCharArr.
-
-    @return
-        An OUString containing the decoded string data. Will be empty if
-        pcCharArr is 0.
- */
-OUString lclCreateOUString( const char* pcCharArr, sal_uInt32 nLenFld )
-{
-    sal_uInt32 nBufSize = lclGetBufferSize( nLenFld );
-    if( lclIsCompressed( nLenFld ) )
-        return svt::BinFilterUtils::CreateOUStringFromStringArray( pcCharArr, nBufSize );
-
-    return svt::BinFilterUtils::CreateOUStringFromUniStringArray( pcCharArr, nBufSize );
-}
-
-void readArrayString( SotStorageStream *pS, std::vector< rtl::OUString >& sStringsOut, sal_Int32 nSize, long nStart )
-{
-    unsigned long nFinish = pS->Tell() + nSize;
-    while ( pS->Tell() < nFinish )
-    {
-        sal_Int32 nStringLen = 0;
-        *pS >> nStringLen;
-        sal_uInt32 nStringSize = lclGetBufferSize( nStringLen );
-        sal_Char* pString = new sal_Char[ nStringSize ];
-        pS->Read( pString, nStringSize );
-        rtl::OUString sString = lclCreateOUString( pString, nStringLen );
-        delete[] pString;
-        sStringsOut.push_back( sString );
-        ReadAlign(pS, pS->Tell() - nStart, 4);
-    }
-}
-
-OUString createSubStreamName( const sal_uInt32& subStorageId )
-{
-    static OUString sI( RTL_CONSTASCII_USTRINGPARAM( "i" ));
-    static OUString sZero( RTL_CONSTASCII_USTRINGPARAM( "0" ));
-    OUStringBuffer buf( 6 );
-    buf.append( sI );
-    // for subStorage id < 10 stream name has leading '0'
-    // eg "i07"
-    if ( subStorageId < 10 )
-    {
-        buf.append( sZero );
-    }
-    buf.append( OUString::valueOf( (sal_Int32)subStorageId ) );
-    return buf.makeStringAndClear();
-}
-
 // export ---------------------------------------------------------------------
 
 /** This class implements writing a character array from a Unicode string.
@@ -674,518 +260,6 @@ void SvxOcxString::WriteCharArray( SvStorageStream& rStrm ) const
     }
 }
 
-class MultiPageProps
-{
-public:
-    sal_uInt16  nIdentifier; // major & minor version
-    sal_uInt16  nFixedAreaLen; // size of record
-    sal_uInt8   pBlockFlags[4]; // size of record
-    sal_Int32   mnPageCount;
-    sal_Int32   mnID;
-    bool        mbEnabled;
-    std::vector< sal_Int32 > mnIDs;
-
-    MultiPageProps();
-    bool Read(SotStorageStream *pS);
-};
-
-MultiPageProps::MultiPageProps() : nIdentifier(0), nFixedAreaLen(0), mnPageCount(0), mnID(0), mbEnabled( true )
-{
-}
-
-bool MultiPageProps::Read(SotStorageStream *pS)
-{
-    *pS >> nIdentifier >> nFixedAreaLen;
-    pS->Read( pBlockFlags, sizeof( pBlockFlags ) );
-    if ( pBlockFlags[ 0 ] & 0x02 )
-        *pS >> mnPageCount;
-    if ( pBlockFlags[ 0 ] & 0x04 )
-        *pS >> mnID;
-    if ( pBlockFlags[ 0 ] & 0x08 )
-        mbEnabled = false;
-    for ( sal_Int32 i=0; i<mnPageCount; ++i )
-    {
-        sal_Int32 nID(0);
-        *pS >> nID;
-        mnIDs.push_back( nID );
-    }
-    return true;
-}
-
-const sal_uInt16 USERFORM = (sal_uInt16)0xFF;
-const sal_uInt16 STDCONTAINER = (sal_uInt16)0xFE;
-
-const sal_uInt16 PAGE = (sal_uInt16)0x07;
-
-const sal_uInt16 IMAGE = (sal_uInt16)0x0C;
-const sal_uInt16 FRAME = (sal_uInt16)0x0E;
-
-const sal_uInt16 SPINBUTTON = (sal_uInt16)0x10;
-const sal_uInt16 CMDBUTTON = (sal_uInt16)0x11;
-const sal_uInt16 TABSTRIP = (sal_uInt16)0x12;
-
-const sal_uInt16 LABEL = (sal_uInt16)0x15;
-
-const sal_uInt16 TEXTBOX = (sal_uInt16)0x17;
-const sal_uInt16 LISTBOX = (sal_uInt16)0x18;
-const sal_uInt16 COMBOBOX = (sal_uInt16)0x19;
-const sal_uInt16 CHECKBOX = (sal_uInt16)0x1A;
-
-const sal_uInt16 OPTIONBUTTON = (sal_uInt16)0x1B;
-const sal_uInt16 TOGGLEBUTTON = (sal_uInt16)0x1C;
-
-const sal_uInt16 SCROLLBAR = (sal_uInt16)0x2F;
-
-const sal_uInt16 MULTIPAGE = (sal_uInt16)0x39;
-
-const sal_uInt16 UNKNOWNCTRL = (sal_uInt16)0x7FFF;
-const sal_uInt16 PROGRESSBAR = (sal_uInt16)0x8000;
-
-// following ActiveX controls are just for reference ( are NOT supported )
-const sal_uInt16 REFEDIT = (sal_uInt16)0x8001;
-const sal_uInt16 CALENDAR = (sal_uInt16)0x8002;
-const sal_uInt16 IMAGECOMBO = (sal_uInt16)0x8003;
-const sal_uInt16 IMAGELIST = (sal_uInt16)0x8004;
-const sal_uInt16 SLIDER = (sal_uInt16)0x8005;
-const sal_uInt16 STATUSBAR = (sal_uInt16)0x8006;
-const sal_uInt16 CHARTSPACE = (sal_uInt16)0x8007;
-
-// A set of common CLSIDs
-// there are to identify the following ActiveX controls ( that appear in the ClassTable records )
-// Currently we only can process ( in a limited way ) the ProgressBar
-// the other ID's are for reference ( & future )
-
-// Microsoft ProgressBar Control, version 6.0 {35053A22-8589-11D1-B16A-00C0F0283628}
-const sal_uInt8 aProgressID[] =
-{
-0x22, 0x3a, 0x05, 0x35, 0x89, 0x85, 0xd1, 0x11,  0xb1, 0x6a, 0x00, 0xc0, 0xf0, 0x28, 0x36, 0x28,
-};
-
-// RefEdit control {00024512-0000-0000-c000-000000000046}
-const sal_uInt8 aRefEditID[] =
-{
-0x12, 0x45, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46,
-};
-
-// Calendar Control 10.0
-const sal_uInt8 aCalendarID[] =
-{
-0x2b, 0xc9, 0x27, 0x8e, 0x64, 0x12, 0x1c, 0x10, 0x8a, 0x2f, 0x04, 0x02, 0x24, 0x00, 0x9c, 0x02,
-};
-
-// Microsoft ImageComboxBox Control, version 6.0 {DD9DA666-8594-11D1-B16A-00C0F0283628}
-const sal_uInt8 aImageComboID[] =
-{
-0x66, 0xa6, 0x9d, 0xdd, 0x94, 0x85, 0xd1, 0x11, 0xb1, 0x6a, 0x00, 0xc0, 0xf0, 0x28, 0x36, 0x28,
-};
-
-// Microsoft ImageList Control, version 6.0 {2C247F23-8591-11D1-B16A-00C0F0283628}
-const sal_uInt8 aImageListID[] =
-{
-0x23, 0x7f, 0x24, 0x2c, 0x91, 0x85, 0xd1, 0x11, 0xb1, 0x6a, 0x00, 0xc0, 0xf0, 0x28, 0x36, 0x28,
-};
-
-// Microsoft Slider Control, version 6.0 {F08DF954-8592-11D1-B16A-00C0F0283628}
-const sal_uInt8 aSliderID[] =
-{
-0x54, 0xf9, 0x8d, 0xf0, 0x92, 0x85, 0xd1, 0x11, 0xb1, 0x6a, 0x00, 0xc0, 0xf0, 0x28, 0x36, 0x28,
-};
-
-// Microsoft StatusBar Control, version 6.0 {8E3867A3-8586-11D1-B16A-00C0F0283628}
-const sal_uInt8 aStatusBarID[] =
-{
-0xa3, 0x67, 0x38, 0x8e, 0x86, 0x85, 0xd1, 0x11, 0xb1, 0x6a, 0x00, 0xc0, 0xf0, 0x28, 0x36, 0x28,
-};
-
-// Microsoft Office Chart 10.0
-const sal_uInt8 aChartSpaceID[] =
-{
-0x46, 0xe5, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46,
-};
-
-const sal_uInt8 nSizeOfClsid = sizeof( aProgressID );
-
-struct ClsIdTypeIDPair
-{
-//    ClsIdTypeIDPair() : pClsID( NULL ), nTypeID( UNKNOWNCTRL ) {}
-    const sal_uInt8* pClsID;
-    const sal_uInt16 nTypeID;
-};
-
-ClsIdTypeIDPair ClsidList[] = { { aProgressID, PROGRESSBAR },
-// unsupported common activex controls
-#ifdef DEBUG
-                                 { aRefEditID, REFEDIT },
-                                 { aCalendarID, CALENDAR },
-                                 { aImageComboID, IMAGECOMBO },
-                                 { aImageListID, IMAGELIST },
-                                 { aSliderID, SLIDER },
-                                 { aStatusBarID, STATUSBAR },
-                                 { aChartSpaceID, CHARTSPACE },
-#endif
-};
-
-typedef std::vector< ContainerRecord > ContainerRecordList;
-
-class FormObjectDepthTypeCount
-{
-    public:
-    sal_uInt8 depth;
-    sal_uInt8 TypeOrCount;
-    std::auto_ptr< sal_uInt8 > OptionalType;
-    FormObjectDepthTypeCount() : depth(0), TypeOrCount(0) {}
-    bool Read( SvStorageStream* pS )
-    {
-        *pS >> depth >> TypeOrCount;
-        if ( TypeOrCount &  0x80 )
-        {
-            OptionalType.reset( new sal_uInt8 );
-            *pS >> *OptionalType;
-        }
-        TypeOrCount = ( TypeOrCount >> 1 );
-        return true;
-    }
-};
-
-class ClassTable
-{
-    sal_uInt16 nIdentifier;
-    sal_uInt16 nFixedAreaLen;
-    sal_uInt32 nContentFlags;
-    sal_uInt16 nClassTableFlags;
-    sal_uInt16 nVarFlags;
-    sal_Int32 nCountOfMethods;
-    sal_Int32 nDispidBind;
-    sal_uInt16 nGetBindIndex;
-    sal_uInt16 nPutBindIndex;
-    sal_uInt16 nBindType;
-    sal_uInt16 nGetValueIndex;
-    sal_uInt16 nPutValueIndex;
-    sal_uInt16 nValueType;
-    sal_uInt32 nDisidRowset;
-    sal_uInt16 nSetRowset;
-    sal_uInt8 pClsId[16];
-    sal_uInt8 pDispEvent[16];
-    sal_uInt8 pDefaultProg[16];
-    sal_uInt16 nTypeId;
-public:
-    ClassTable() :  nIdentifier( 0 )
-                   ,nFixedAreaLen( 0 )
-                   ,nContentFlags(0)
-                   ,nClassTableFlags(0)
-                   ,nVarFlags(0)
-                   ,nCountOfMethods(0)
-                   ,nDispidBind(0)
-                   ,nGetBindIndex(0)
-                   ,nPutBindIndex(0)
-                   ,nBindType(0)
-                   ,nGetValueIndex(0)
-                   ,nPutValueIndex(0)
-                   ,nValueType(0)
-                   ,nDisidRowset(0)
-                   ,nSetRowset(0)
-                   ,nTypeId(UNKNOWNCTRL)
-
-    {
-        memset( pClsId, 0, sizeof( pClsId ) );
-        memset( pDispEvent, 0, sizeof( pDispEvent ) );
-        memset( pDefaultProg, 0, sizeof( pDefaultProg ) );
-    }
-    bool Read(  SvStorageStream* pS )
-    {
-        long nStartPos = pS->Tell();
-        *pS >> nIdentifier >> nFixedAreaLen >> nContentFlags;
-        bool bClsID( false );
-        bool bDispEvent( false );
-        bool bDefaultProg( false );
-        if (  nContentFlags & 0x00000001 )
-            bClsID = true;
-        if (  nContentFlags & 0x00000002 )
-            bDispEvent = true;
-//        if (  nContentFlags & 0x00000004 ) ' not set should be 0
-        if (  nContentFlags & 0x00000008 )
-            bDefaultProg = true;
-        if (  nContentFlags & 0x00000010 )
-            *pS >> nClassTableFlags >> nVarFlags;
-        if (  nContentFlags & 0x00000020 )
-            *pS >> nCountOfMethods;
-        if (  nContentFlags & 0x00000040 )
-            *pS >> nDispidBind;
-        if (  nContentFlags & 0x00000080 )
-            *pS >> nGetBindIndex;
-        if (  nContentFlags & 0x00000100 )
-            *pS >> nPutBindIndex;
-        if (  nContentFlags & 0x00000200 )
-            *pS >> nBindType;
-        if (  nContentFlags & 0x00000400 )
-            *pS >> nGetValueIndex;
-        if (  nContentFlags & 0x00000800 )
-            *pS >> nPutValueIndex;
-        if (  nContentFlags & 0x00001000 )
-            *pS >> nValueType;
-        if (  nContentFlags & 0x00002000 )
-        {
-            ReadAlign( pS, pS->Tell() - nStartPos, 4 );
-            *pS >> nDisidRowset;
-        }
-        if (  nContentFlags & 0x00004000 )
-            *pS >> nSetRowset;
-        ReadAlign( pS, pS->Tell() - nStartPos, 4 );
-        // Extra Block
-        if ( bClsID )
-            pS->Read( pClsId, sizeof( pClsId ) );
-        if ( bDispEvent )
-            pS->Read( pDispEvent, sizeof( pDispEvent ) );
-        if ( bDefaultProg )
-            pS->Read( pDefaultProg, sizeof( pDefaultProg ) );
-
-        sal_Int32 nNumIds =  SAL_N_ELEMENTS( ClsidList );
-
-        if ( bClsID )
-        {
-            for ( sal_Int32 index = 0; index < nNumIds; ++index )
-            {
-                if ( memcmp( pClsId, ClsidList[ index ].pClsID, nSizeOfClsid ) == 0 )
-                {
-                    nTypeId = ClsidList[ index ].nTypeID;
-                    OSL_TRACE( "... found activex control ClsidList[ %d ] and have given it TypeIdent 0x%x", index, nTypeId );
-                }
-            }
-        }
-        ReadAlign( pS, pS->Tell() - nStartPos, 4 );
-        return true;
-    }
-
-    sal_uInt16 getTypeId() { return nTypeId; }
-};
-
-class OleSiteConcreteControl
-{
-    sal_uInt16 nIdentifier;
-    sal_uInt16 nFixedAreaLen;
-    sal_uInt32 nContentFlags;
-public:
-    OleSiteConcreteControl() :  nIdentifier( 0 ), nFixedAreaLen( 0 ), nContentFlags(0) {}
-    bool Read( ContainerRecord& rec, SvStorageStream* pS )
-    {
-        long nStartPos = pS->Tell();
-        *pS >> nIdentifier >> nFixedAreaLen >> nContentFlags;
-
-        bool bPosition( false );
-
-        sal_uInt32 nNameLen = 0;
-        // length of control name
-        if ( nContentFlags & 0x00000001 )
-            *pS >> nNameLen;
-        // length of control tag
-        sal_uInt32 nTagLen = 0;
-        if( nContentFlags & 0x00000002 )
-            *pS >> nTagLen;
-        // substorage id for frames
-        if( nContentFlags & 0x00000004 )
-            *pS >> rec.nSubStorageId;
-        // help-context id
-        if( nContentFlags & 0x00000008 )
-            pS->SeekRel( 4 );
-        // option flags
-        if( nContentFlags & 0x00000010 )
-        {
-            sal_uInt32 nBitFlags = 0;
-            *pS >> nBitFlags;
-            rec.bVisible = ( nBitFlags & 0x02 );
-            rec.bTabStop = ( nBitFlags & 0x01 );
-        }
-        // substream size
-        if( nContentFlags & 0x00000020 )
-            *pS >> rec.nSubStreamLen;
-        // tabstop position
-        if( nContentFlags & 0x00000040 )
-        {
-            ReadAlign( pS, pS->Tell() - nStartPos, 2 );
-            *pS >> rec.nTabPos;
-        }
-        // control type
-        if( nContentFlags & 0x00000080 )
-        {
-            ReadAlign( pS, pS->Tell() - nStartPos, 2 );
-            *pS >> rec.nTypeIdent;
-        }
-        if( nContentFlags & 0x00000100 )
-            bPosition = true;
-        sal_Int16 nGroupId = 0;
-        if( nContentFlags & 0x00000200 )
-        {
-            ReadAlign( pS, pS->Tell() - nStartPos, 2 );
-            *pS >> nGroupId;
-        }
-
-        // length of infotip
-        sal_uInt32 nTipLen = 0;
-        if( nContentFlags & 0x00000800 )
-        {
-            ReadAlign( pS, pS->Tell() - nStartPos, 4 );
-            *pS >> nTipLen;
-        }
-        sal_uInt32 nCntrlIdLen = 0;
-        if( nContentFlags & 0x00001000 )
-        {
-            ReadAlign( pS, pS->Tell() - nStartPos, 4 );
-            *pS >> nCntrlIdLen;
-        }
-
-        // length of control source name
-        sal_uInt32 nCtrlSrcLen = 0;
-        if( nContentFlags & 0x00002000 )
-        {
-            ReadAlign( pS, pS->Tell() - nStartPos, 4 );
-            *pS >> nCtrlSrcLen;
-        }
-
-        // length of row source name
-        sal_uInt32 nRowSrcLen = 0;
-        if( nContentFlags & 0x00004000 )
-        {
-            ReadAlign( pS, pS->Tell() - nStartPos, 4 );
-            *pS >> nRowSrcLen;
-        }
-
-        ReadAlign( pS, pS->Tell() - nStartPos, 4 );
-        // control name
-        sal_Char* pName = 0;
-        sal_uInt32 nNameBufSize = lclGetBufferSize( nNameLen );
-        if( nNameBufSize > 0 )
-        {
-            ReadAlign( pS, pS->Tell() - nStartPos, 4 );
-            pName = new char[ nNameBufSize ];
-            pS->Read( pName, nNameBufSize );
-        }
-        // control tag
-        sal_uInt32 nTagBufSize = lclGetBufferSize( nTagLen );
-        if( nTagBufSize > 0 )
-        {
-            ReadAlign( pS, pS->Tell() - nStartPos, 4 );
-            pS->SeekRel( nTagBufSize );
-        }
-
-        // control position
-        if( bPosition )
-        {
-            ReadAlign( pS, pS->Tell() - nStartPos, 4 );
-            *pS >> rec.nLeft >> rec.nTop;
-        }
-
-        // control infotip
-        sal_uInt32 nTipBufSize = lclGetBufferSize( nTipLen );
-        if( nTipBufSize > 0 )
-        {
-            ReadAlign( pS, pS->Tell() - nStartPos, 4 );
-            std::auto_ptr< sal_Char > pTipName;
-            pTipName.reset( new sal_Char[ nTipBufSize ] );
-            pS->Read( pTipName.get(), nTipBufSize );
-            rec.controlTip = lclCreateOUString( pTipName.get(), nTipLen );
-        }
-        // control id
-        sal_uInt32 nCntrlIdSize = lclGetBufferSize( nCntrlIdLen );
-        if( nCntrlIdSize > 0 )
-        {
-            ReadAlign( pS, pS->Tell() - nStartPos, 4 );
-            pS->SeekRel( nCntrlIdSize );
-        }
-        // control source name
-        sal_uInt32 nCtrlSrcBufSize = lclGetBufferSize( nCtrlSrcLen );
-        if( nCtrlSrcBufSize > 0 )
-        {
-            ReadAlign( pS, pS->Tell() - nStartPos, 4 );
-            std::vector< sal_Char > pCtrlSrcName( nCtrlSrcBufSize );
-            pS->Read( &pCtrlSrcName[0], nCtrlSrcBufSize );
-            rec.sCtrlSource = lclCreateOUString( &pCtrlSrcName[0], nCtrlSrcLen );
-            OSL_TRACE("*** *** *** ControlSourceName -> %s ", rtl::OUStringToOString( rec.sCtrlSource, RTL_TEXTENCODING_UTF8 ).getStr() );
-        }
-        // row source name
-        sal_uInt32 nRowSrcBufSize = lclGetBufferSize( nRowSrcLen );
-        if( nRowSrcBufSize > 0 )
-        {
-            ReadAlign( pS, pS->Tell() - nStartPos, 4 );
-            std::vector< sal_Char > pRowSrcName( nRowSrcBufSize );
-            pS->Read( &pRowSrcName[0], nRowSrcBufSize );
-            rec.sRowSource =  lclCreateOUString( &pRowSrcName[0], nRowSrcLen );
-            OSL_TRACE("*** *** *** RowSourceName -> %s ", rtl::OUStringToOString( rec.sRowSource, RTL_TEXTENCODING_UTF8 ).getStr() );
-        }
-
-        ReadAlign( pS, pS->Tell() - nStartPos, 4 );
-        rec.cName = lclCreateOUString(pName, nNameLen);
-        delete[] pName;
-        return true;
-    }
-};
-
-class ContainerRecReader
-{
-    public:
-
-    virtual ~ContainerRecReader() {}
-
-    virtual bool Read( OCX_ParentControl* pContainerControl, SvStorageStream *pS, std::vector< ClassTable >& rSiteClassInfo )
-    {
-        *pS >> nNoRecords;
-        *pS >> nTotalLen;
-        long nStart = pS->Tell();
-        for ( sal_uInt32 nSite = 0; nSite < nNoRecords; )
-        {
-            FormObjectDepthTypeCount siteAndDepth;
-            siteAndDepth.Read( pS );
-            nSite += ( siteAndDepth.OptionalType.get() ? siteAndDepth.TypeOrCount : 1 );
-        }
-
-        ReadAlign(pS, pS->Tell() - nStart, 4);
-
-        for (sal_uInt32 nRecord = 0; nRecord < nNoRecords; ++nRecord)
-        {
-
-            ContainerRecord rec;
-
-            OleSiteConcreteControl site;
-            site.Read( rec, pS );
-            if ( rec.nTypeIdent >= ( UNKNOWNCTRL + 1 ) )
-            {
-                sal_uInt16 nIndex = rec.nTypeIdent - ( UNKNOWNCTRL + 1 );
-                if ( nIndex <  rSiteClassInfo.size() )
-                    rec.nTypeIdent = rSiteClassInfo[ nIndex ].getTypeId();
-            }
-            OCX_Control* pControl = NULL;
-            OSL_TRACE("** About to create control of type 0x%x with name %s from rec", rec.nTypeIdent, rtl::OUStringToOString( rec.cName, RTL_TEXTENCODING_UTF8 ).getStr() );
-            if( pContainerControl->createFromContainerRecord( rec, pControl ) &&
-                pControl )
-            {
-                // propagate doc shell from parent
-                pControl->pDocSh = pContainerControl->pDocSh;
-                pContainerControl->ProcessControl( pControl, pS, rec );
-
-            }
-            else if ( rec.nTypeIdent & 0x8000 )
-            {
-                // Skip ActiveX Controls we can't import
-                SotStorageStreamRef oStream = pContainerControl->getContainedControlsStream();
-                sal_uLong nStrmPos = oStream->Tell();
-                oStream->Seek( nStrmPos + rec.nSubStreamLen );
-            }
-            else
-            {
-                OSL_FAIL("Terminating import, unexpected error");
-                return false;
-            }
-        }
-        return true;
-    }
-
-    ContainerRecReader():nNoRecords(0), nTotalLen(0){}
-    protected:
-    sal_uInt32 nNoRecords;
-    sal_uInt32 nTotalLen;
-
-    private:
-};
-
 } // namespace
 
 // ============================================================================
@@ -1240,46 +314,6 @@ void OCX_Control::FillSystemColors()
     pColor[ 0x18 ] = rSett.GetHelpColor().GetColor();
 }
 
-sal_uInt32 OCX_Control::ImportColor(sal_uInt32 nColor) const
-{
-    sal_uInt8 nUpper = (sal_uInt8)( nColor >> 24 );
-    if (nUpper & 0x80) //Palette color, should be switch on bottom 24 bits
-    {
-        /*Might as well use my systems ones in the absence of any other ideas*/
-        nColor = nColor&0x00FFFFFF;
-        DBG_ASSERT (nColor <= 24,"Unknown Palette Index");
-        if (nColor > 24)
-            nColor = 0xFFFFFF;
-        else
-            nColor = pColor[nColor];
-    }
-    else
-    {
-        //Stored in bgr! rather than rgb
-        nColor = SwapColor(nColor);
-    }
-    return nColor;
-}
-
-sal_Int16 OCX_FontData::ImportAlign(sal_uInt8 _nJustification) const
-{
-    sal_Int16 nRet;
-    switch (_nJustification)
-    {
-    default:
-    case 1:
-        nRet = 0;
-        break;
-    case 2:
-        nRet = 2;
-        break;
-    case 3:
-        nRet = 1;
-        break;
-    }
-    return nRet;
-}
-
 sal_uInt8 OCX_FontData::ExportAlign(sal_Int16 nAlign) const
 {
     sal_Int8 nRet;
@@ -1328,115 +362,6 @@ sal_uInt32 OCX_Control::ExportColor(sal_uInt32 nColor) const
     return nColor;
 }
 
-sal_Bool OCX_Control::Import(
-    const uno::Reference< lang::XMultiServiceFactory > &rServiceFactory,
-    uno::Reference< form::XFormComponent >  &rFComp, awt::Size &rSz)
-{
-
-    if(msFormType.getLength() == 0)
-        return sal_False;
-
-    rSz.Width = nWidth;
-    rSz.Height = nHeight;
-
-    uno::Reference<uno::XInterface> xCreate =
-        rServiceFactory->createInstance(msFormType);
-    if (!xCreate.is())
-        return sal_False;
-
-    rFComp = uno::Reference<form::XFormComponent>(xCreate,uno::UNO_QUERY);
-    if (!rFComp.is())
-        return sal_False;
-    uno::Reference<beans::XPropertySet> xPropSet(xCreate,uno::UNO_QUERY);
-    if (!xPropSet.is())
-        return sal_False;
-    return Import(xPropSet);
-}
-
-sal_Bool OCX_Control::Import(uno::Reference<container::XNameContainer> &rDialog
-    )
-{
-    uno::Reference<beans::XPropertySet > xDlgProps( rDialog, uno::UNO_QUERY);
-
-
-    uno::Reference<lang::XMultiServiceFactory>
-        xFactory(rDialog, uno::UNO_QUERY);
-
-    uno::Reference<uno::XInterface> xCreate =
-        xFactory->createInstance(msDialogType);
-    if (!xCreate.is())
-        return sal_False;
-
-    uno::Reference<awt::XControlModel> xModel(xCreate, uno::UNO_QUERY);
-    if (!xModel.is())
-        return sal_False;
-
-    /*  #147900# sometimes insertion of a control fails due to existing name,
-        do not break entire form import then... */
-    try
-    {
-        rDialog->insertByName(sName, uno::makeAny(xModel));
-    }
-    catch( uno::Exception& )
-    {
-        DBG_ERRORFILE(
-            ByteString( "OCX_Control::Import - cannot insert control \"" ).
-            Append( ByteString( sName, RTL_TEXTENCODING_UTF8 ) ).
-            Append( '"' ).GetBuffer() );
-    }
-
-    uno::Reference<beans::XPropertySet> xPropSet(xCreate, uno::UNO_QUERY);
-
-    if (!xPropSet.is())
-        return sal_False;
-
-    if (!Import(xPropSet))
-        return sal_False;
-
-    uno::Any aTmp;
-
-    GraphicHelper gHelper( pDocSh->GetModel() );
-
-    awt::Point aAppFontPos = gHelper.convertHmmToAppFont( awt::Point( mnLeft, mnTop )  );
-    aTmp <<= sal_Int32( aAppFontPos.X );
-    xPropSet->setPropertyValue(WW8_ASCII2STR("PositionX"), aTmp);
-    aTmp <<= sal_Int32( aAppFontPos.Y );
-    xPropSet->setPropertyValue(WW8_ASCII2STR("PositionY"), aTmp);
-
-    awt::Size aAppFontSize = gHelper.convertHmmToAppFont( awt::Size( nWidth, nHeight ) );
-    aTmp <<= sal_Int32( aAppFontSize.Width ); // 100thmm
-    xPropSet->setPropertyValue(WW8_ASCII2STR("Width"), aTmp);
-    aTmp <<= sal_Int32( aAppFontSize.Height); //100th mm
-    xPropSet->setPropertyValue(WW8_ASCII2STR("Height"), aTmp);
-    if ( msToolTip.Len() > 0 )
-        xPropSet->setPropertyValue(WW8_ASCII2STR("HelpText"), uno::Any(OUString(msToolTip)));
-
-    if ( mnStep )
-    {
-        aTmp <<= mnStep;
-        xPropSet->setPropertyValue(WW8_ASCII2STR("Step"), aTmp);
-    }
-
-    try
-    {
-        xPropSet->setPropertyValue(WW8_ASCII2STR("EnableVisible"), uno::makeAny( mbVisible ) );
-    }
-    catch( uno::Exception& )
-    {
-    }
-    return sal_True;
-}
-
-sal_Int16 OCX_Control::ImportBorder(sal_uInt16 nSpecialEffect,
-    sal_uInt16 nBorderStyle) const
-{
-    if ((nSpecialEffect == 0) && (nBorderStyle == 0))
-        return 0;   //No Border
-    else if ((nSpecialEffect == 0) && (nBorderStyle == 1))
-        return 2;   //Flat Border
-    return 1;   //3D Border
-}
-
 sal_uInt8 OCX_Control::ExportBorder(sal_uInt16 nBorder,sal_uInt8 &rBorderStyle)
     const
 {
@@ -1459,22 +384,11 @@ sal_uInt8 OCX_Control::ExportBorder(sal_uInt16 nBorder,sal_uInt8 &rBorderStyle)
     return nRet;
 }
 
-sal_Int16 OCX_Control::ImportSpecEffect( sal_uInt8 nSpecialEffect ) const
-{
-    return (nSpecialEffect == 0) ? 2 : 1;
-}
-
 sal_uInt8 OCX_Control::ExportSpecEffect( sal_Int16 nApiEffect ) const
 {
     return (nApiEffect == 2) ? 0 : 2;
 }
 
-sal_Bool OCX_Control::ReadFontData(SvStorageStream *pS)
-{
-    return aFontData.Read(pS);
-}
-
-
 const uno::Reference< drawing::XDrawPage >&
     SvxMSConvertOCXControls::GetDrawPage()
 {
@@ -1584,53 +498,6 @@ const uno::Reference< container::XIndexContainer >&
     return xFormComps;
 }
 
-sal_Bool OCX_CommandButton::Import( com::sun::star::uno::Reference<
-    com::sun::star::beans::XPropertySet> &rPropSet)
-{
-    uno::Any aTmp(&sName,getCppuType((OUString *)0));
-    rPropSet->setPropertyValue( WW8_ASCII2STR("Name"), aTmp );
-
-    aTmp <<= ImportColor(mnForeColor);
-    rPropSet->setPropertyValue( WW8_ASCII2STR("TextColor"), aTmp);
-
-    // fake transparent push button by setting window background color
-    if( !fBackStyle )
-        mnBackColor = 0x80000005;
-    aTmp <<= ImportColor(mnBackColor);
-    rPropSet->setPropertyValue( WW8_ASCII2STR("BackgroundColor"), aTmp);
-
-    sal_Bool bTemp;
-    if ((!(fEnabled)) || (fLocked))
-        bTemp = sal_False;
-    else
-        bTemp = sal_True;
-    aTmp = bool2any(bTemp);
-
-    rPropSet->setPropertyValue( WW8_ASCII2STR("Enabled"), aTmp);
-
-    bTemp = fWordWrap != 0;
-    aTmp = bool2any(bTemp);
-    rPropSet->setPropertyValue( WW8_ASCII2STR("MultiLine"), aTmp);
-
-    if (pCaption)
-    {
-        aTmp <<= lclCreateOUString( pCaption, nCaptionLen );
-        rPropSet->setPropertyValue( WW8_ASCII2STR("Label"), aTmp);
-    }
-
-    aTmp = bool2any( mbTakeFocus );
-    rPropSet->setPropertyValue( WW8_ASCII2STR( "FocusOnClick" ), aTmp );
-
-    aFontData.Import(rPropSet);
-
-    if ( sImageUrl.getLength() )
-    {
-        aTmp <<= sImageUrl;
-        rPropSet->setPropertyValue( WW8_ASCII2STR("ImageURL"), aTmp);
-    }
-    return sal_True;
-}
-
 sal_Bool OCX_GroupBox::Export(SvStorageRef& /* rObj */,
     const uno::Reference< beans::XPropertySet >& /* rPropSet */,
     const awt::Size& /* rSize */ )
@@ -1969,105 +836,6 @@ void lcl_ApplyListSourceAndBindableStuff( uno::Reference< frame::XModel >& xMode
     }
 }
 
-sal_Bool OCX_OptionButton::Import(com::sun::star::uno::Reference<
-        com::sun::star::beans::XPropertySet> &rPropSet)
-{
-    uno::Any aTmp(&sName,getCppuType((OUString *)0));
-    rPropSet->setPropertyValue( WW8_ASCII2STR("Name"), aTmp );
-
-    // background color: fBackStyle==0 -> transparent
-    if( fBackStyle )
-        aTmp <<= ImportColor(mnBackColor);
-    else
-        aTmp = uno::Any();
-    rPropSet->setPropertyValue( WW8_ASCII2STR("BackgroundColor"), aTmp);
-
-    sal_Bool bTemp;
-    if ((!(fEnabled)) || (fLocked))
-        bTemp = sal_False;
-    else
-        bTemp = sal_True;
-    aTmp = bool2any(bTemp);
-    rPropSet->setPropertyValue( WW8_ASCII2STR("Enabled"), aTmp);
-
-    bTemp = fWordWrap != 0;
-    aTmp = bool2any(bTemp);
-    rPropSet->setPropertyValue( WW8_ASCII2STR("MultiLine"), aTmp);
-
-    aTmp <<= ImportColor(mnForeColor);
-    rPropSet->setPropertyValue( WW8_ASCII2STR("TextColor"), aTmp);
-
-    aTmp <<= ImportSpecEffect( nSpecialEffect );
-    rPropSet->setPropertyValue( WW8_ASCII2STR("VisualEffect"), aTmp);
-
-    if (pValue)
-    {
-        sal_Int16 nTmp = pValue[0]-0x30;
-        aTmp <<= nTmp;
-        if (!bSetInDialog)
-            rPropSet->setPropertyValue( WW8_ASCII2STR("DefaultState"), aTmp);
-        else
-        {
-            // dialog ( but we might be using the form model )
-            if ( rPropSet->getPropertySetInfo()->hasPropertyByName( WW8_ASCII2STR("DefaultState") ) )
-                rPropSet->setPropertyValue( WW8_ASCII2STR("DefaultState"), aTmp);
-            else
-                rPropSet->setPropertyValue( WW8_ASCII2STR("State"), aTmp);
-        }
-    }
-    // If this is a dialog control then we need to  set a groupname *always*
-    rtl::OUString sGroupName = lclCreateOUString( pGroupName, nGroupNameLen );
-    if ( GetInDialog() ) // Userform/Dialog
-    {
-        // By default groupnames are not set in Excel, it's not unusual to have
-        // a number of groups of radiobuttons located inside frame ( or other container
-        // controls ) where there is *no* specific groupname set for the radiobuttons.
-        // But... there is implicit grouping for radio buttons in seperate containers
-        // e.g. radio buttons in a frame are by default in the same group.
-        // Unfortunately in openoffice there are no containers below the dialog itself :-(
-        // To ensure correct grouping for imported radiobuttons either with no groupname
-        // or identical groupnames that are in separate containers we *must* ensure
-        // that a suitable groupname is applied.
-        // Because controlNames are unique even across different containers we can use the
-        // controls container (e.g. parent) name as a prefix for a group name
-    rtl::OUString sParentName = msParentName;
-        sGroupName = sParentName.concat( C2U( ":" ) ).concat( sGroupName );
-    }
-    if ( sGroupName.getLength() == 0 )
-        sGroupName = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DefaultGroup" ));
-    OSL_TRACE("RadioButton %s has groupname %s",
-        rtl::OUStringToOString( sName, RTL_TEXTENCODING_UTF8 ).getStr(),  rtl::OUStringToOString( sGroupName, RTL_TEXTENCODING_UTF8 ).getStr() );
-        try
-        {
-            aTmp <<= sGroupName;
-            rPropSet->setPropertyValue( WW8_ASCII2STR("GroupName"), aTmp);
-        }
-        catch( uno::Exception& )
-        {
-        }
-
-    if (pCaption)
-    {
-        aTmp <<= lclCreateOUString( pCaption, nCaptionLen );
-        rPropSet->setPropertyValue( WW8_ASCII2STR("Label"), aTmp);
-    }
-
-    // #i40279# always centered vertically
-    aTmp <<= ::com::sun::star::style::VerticalAlignment_MIDDLE;
-    rPropSet->setPropertyValue( WW8_ASCII2STR("VerticalAlign"), aTmp );
-
-    uno::Reference< frame::XModel > xModel ( pDocSh ? pDocSh->GetModel() : NULL );
-    lcl_ApplyListSourceAndBindableStuff( xModel, rPropSet, msCtrlSource, msRowSource );
-    if ( sImageUrl.getLength() )
-    {
-        aTmp <<= sImageUrl;
-        rPropSet->setPropertyValue( WW8_ASCII2STR("ImageURL"), aTmp);
-    }
-
-    aFontData.Import(rPropSet);
-    return sal_True;
-}
-
 sal_Bool OCX_OptionButton::WriteContents(SvStorageStreamRef &rContents,
     const uno::Reference< beans::XPropertySet > &rPropSet,
     const awt::Size &rSize)
@@ -2234,98 +1002,6 @@ sal_Bool OCX_OptionButton::Export(SvStorageRef &rObj,
     return WriteContents(xContents, rPropSet, rSize);
 }
 
-
-sal_Bool OCX_TextBox::Import(com::sun::star::uno::Reference<
-    com::sun::star::beans::XPropertySet> &rPropSet)
-{
-    uno::Any aTmp(&sName,getCppuType((OUString *)0));
-    rPropSet->setPropertyValue( WW8_ASCII2STR("Name"), aTmp );
-
-    aTmp = bool2any( fEnabled != 0 );
-    rPropSet->setPropertyValue( WW8_ASCII2STR("Enabled"), aTmp);
-
-    aTmp = bool2any( fLocked != 0 );
-    rPropSet->setPropertyValue( WW8_ASCII2STR("ReadOnly"), aTmp);
-
-    aTmp = bool2any( fHideSelection != 0 );
-    rPropSet->setPropertyValue( WW8_ASCII2STR( "HideInactiveSelection" ), aTmp);
-
-    aTmp <<= ImportColor(mnForeColor);
-    rPropSet->setPropertyValue( WW8_ASCII2STR("TextColor"), aTmp);
-
-    aTmp <<= ImportColor(mnBackColor);
-    rPropSet->setPropertyValue( WW8_ASCII2STR("BackgroundColor"), aTmp);
-
-    aTmp <<= ImportBorder(nSpecialEffect,nBorderStyle);
-    rPropSet->setPropertyValue( WW8_ASCII2STR("Border"), aTmp);
-
-    aTmp <<= ImportColor( nBorderColor );
-    rPropSet->setPropertyValue( WW8_ASCII2STR("BorderColor"), aTmp);
-
-    aTmp = bool2any( fMultiLine != 0 );
-    rPropSet->setPropertyValue( WW8_ASCII2STR("MultiLine"), aTmp);
-
-    sal_uInt16 nTmp = static_cast<sal_uInt16>(nMaxLength);
-    aTmp <<= nTmp;
-    rPropSet->setPropertyValue( WW8_ASCII2STR("MaxTextLen"), aTmp);
-
-
-    sal_Bool bTemp1,bTemp2;
-    uno::Any aBarsH,aBarsV;
-    switch(nScrollBars)
-    {
-        case 1:
-            bTemp1 = sal_True;
-            bTemp2 = sal_False;
-            break;
-        case 2:
-            bTemp1 = sal_False;
-            bTemp2 = sal_True;
-            break;
-        case 3:
-            bTemp1 = sal_True;
-            bTemp2 = sal_True;
-            break;
-        case 0:
-        default:
-            bTemp1 = sal_False;
-            bTemp2 = sal_False;
-            break;
-    }
-
-    aBarsH = bool2any(bTemp1);
-    aBarsV = bool2any(bTemp2);
-    rPropSet->setPropertyValue( WW8_ASCII2STR("HScroll"), aBarsH);
-    rPropSet->setPropertyValue( WW8_ASCII2STR("VScroll"), aBarsV);
-
-    nTmp = nPasswordChar;
-    aTmp <<= nTmp;
-    rPropSet->setPropertyValue( WW8_ASCII2STR("EchoChar"), aTmp);
-
-    if (pValue)
-    {
-        aTmp <<= lclCreateOUString( pValue, nValueLen );
-        // DefaultText seems to no longer be in UnoEditControlModel
-        if ( bSetInDialog )
-        {
-            rPropSet->setPropertyValue( WW8_ASCII2STR("Text"), aTmp);
-        }
-        else
-        {
-            rPropSet->setPropertyValue( WW8_ASCII2STR("DefaultText"), aTmp);
-        }
-    }
-
-    if ( sImageUrl.getLength() )
-    {
-        aTmp <<= sImageUrl;
-        rPropSet->setPropertyValue( WW8_ASCII2STR("ImageURL"), aTmp);
-    }
-
-    aFontData.Import(rPropSet);
-    return sal_True;
-}
-
 sal_Bool OCX_TextBox::WriteContents(SvStorageStreamRef &rContents,
     const uno::Reference< beans::XPropertySet > &rPropSet,
     const awt::Size &rSize)
@@ -2659,62 +1335,6 @@ sal_Bool OCX_FieldControl::Export(SvStorageRef &rObj,
     return WriteContents(xContents, rPropSet, rSize);
 }
 
-
-
-sal_Bool OCX_ToggleButton::Import(com::sun::star::uno::Reference<
-    com::sun::star::beans::XPropertySet> &rPropSet)
-{
-    uno::Any aTmp(&sName,getCppuType((OUString *)0));
-    rPropSet->setPropertyValue( WW8_ASCII2STR("Name"), aTmp );
-
-    aTmp = bool2any(true);
-    rPropSet->setPropertyValue( WW8_ASCII2STR("Toggle"), aTmp );
-
-    sal_Bool bTemp;
-    if ((!(fEnabled)) || (fLocked))
-        bTemp = sal_False;
-    else
-        bTemp = sal_True;
-    aTmp = bool2any(bTemp);
-    rPropSet->setPropertyValue( WW8_ASCII2STR("Enabled"), aTmp);
-
-    bTemp = fWordWrap != 0;
-    aTmp = bool2any(bTemp);
-    rPropSet->setPropertyValue( WW8_ASCII2STR("MultiLine"), aTmp);
-
-    aTmp <<= ImportColor(mnForeColor);
-    rPropSet->setPropertyValue( WW8_ASCII2STR("TextColor"), aTmp);
-
-    // fake transparent toggle button by setting window background color
-    if( !fBackStyle )
-        mnBackColor = 0x80000005;
-    aTmp <<= ImportColor(mnBackColor);
-    rPropSet->setPropertyValue( WW8_ASCII2STR("BackgroundColor"), aTmp);
-
-    if (pValue)
-    {
-        sal_Int16 nTmp=pValue[0]-0x30;
-        //aTmp <<= nTmp == 1;
-        aTmp <<= nTmp;
-        rPropSet->setPropertyValue( WW8_ASCII2STR("State"), aTmp);
-    }
-
-    if (pCaption)
-    {
-        aTmp <<= lclCreateOUString( pCaption, nCaptionLen );
-        rPropSet->setPropertyValue( WW8_ASCII2STR("Label"), aTmp);
-    }
-
-    aFontData.Import(rPropSet);
-
-    if ( sImageUrl.getLength() )
-    {
-        aTmp <<= sImageUrl;
-        rPropSet->setPropertyValue( WW8_ASCII2STR("ImageURL"), aTmp);
-    }
-    return sal_True;
-}
-
 sal_Bool OCX_ToggleButton::Export(
     SvStorageRef &rObj, const uno::Reference< beans::XPropertySet> &rPropSet,
     const awt::Size& rSize )
@@ -2863,115 +1483,6 @@ sal_Bool OCX_ToggleButton::WriteContents(SvStorageStreamRef &rContents,
     return bRet;
 }
 
-sal_Bool OCX_Label::Import(uno::Reference< beans::XPropertySet > &rPropSet)
-{
-    uno::Any aTmp(&sName,getCppuType((OUString *)0));
-    rPropSet->setPropertyValue( WW8_ASCII2STR("Name"), aTmp );
-
-    sal_Bool bTemp;
-    if ((!(fEnabled)) || (fLocked))
-        bTemp = sal_False;
-    else
-        bTemp = sal_True;
-    aTmp = bool2any(bTemp);
-    rPropSet->setPropertyValue( WW8_ASCII2STR("Enabled"), aTmp);
-
-    aTmp <<= ImportColor(mnForeColor);
-    rPropSet->setPropertyValue( WW8_ASCII2STR("TextColor"), aTmp);
-
-    // background color: fBackStyle==0 -> transparent
-    if( fBackStyle )
-    {
-        aTmp <<= ImportColor(mnBackColor);
-    }
-    else
-    {
-        // try fake transparent by using parents backColor
-        if ( bSetInDialog && mpParent != NULL )
-        {
-            aTmp <<= ImportColor( mpParent->mnBackColor );
-        }
-        else
-        {
-            aTmp = uno::Any(); // use SO default
-        }
-    }
-    rPropSet->setPropertyValue( WW8_ASCII2STR("BackgroundColor"), aTmp);
-
-    aTmp <<= ImportBorder(nSpecialEffect,nBorderStyle);
-    rPropSet->setPropertyValue( WW8_ASCII2STR("Border"), aTmp);
-
-    aTmp <<= ImportColor( nBorderColor );
-    rPropSet->setPropertyValue( WW8_ASCII2STR("BorderColor"), aTmp);
-
-    bTemp=fWordWrap;
-    aTmp = bool2any(bTemp);
-    rPropSet->setPropertyValue( WW8_ASCII2STR("MultiLine"), aTmp);
-
-    if (pCaption)
-    {
-        aTmp <<= lclCreateOUString( pCaption, nCaptionLen );
-        rPropSet->setPropertyValue( WW8_ASCII2STR("Label"), aTmp);
-    }
-
-    aFontData.Import(rPropSet);
-    return sal_True;
-}
-
-sal_Bool OCX_ComboBox::Import(com::sun::star::uno::Reference<
-    com::sun::star::beans::XPropertySet> &rPropSet)
-{
-
-    uno::Any aTmp(&sName,getCppuType((OUString *)0));
-    rPropSet->setPropertyValue( WW8_ASCII2STR("Name"), aTmp );
-
-    aTmp = bool2any(fEnabled != 0);
-    rPropSet->setPropertyValue( WW8_ASCII2STR("Enabled"), aTmp);
-
-    aTmp = bool2any(fLocked != 0);
-    rPropSet->setPropertyValue( WW8_ASCII2STR("ReadOnly"), aTmp);
-
-    aTmp = bool2any( nDropButtonStyle != 0 );
-    rPropSet->setPropertyValue( WW8_ASCII2STR("Dropdown"), aTmp);
-
-    aTmp = bool2any( fHideSelection != 0 );
-    rPropSet->setPropertyValue( WW8_ASCII2STR( "HideInactiveSelection" ), aTmp);
-
-    aTmp <<= ImportColor(mnForeColor);
-    rPropSet->setPropertyValue( WW8_ASCII2STR("TextColor"), aTmp);
-
-    if (pValue)
-    {
-        aTmp <<= lclCreateOUString( pValue, nValueLen );
-        if ( bSetInDialog )
-        {
-            rPropSet->setPropertyValue( WW8_ASCII2STR("Text"), aTmp);
-        }
-        else
-        {
-            rPropSet->setPropertyValue( WW8_ASCII2STR("DefaultText"), aTmp);
-        }
-    }
-
-    aTmp <<= ImportColor(mnBackColor);
-    rPropSet->setPropertyValue( WW8_ASCII2STR("BackgroundColor"), aTmp);
-
-    aTmp <<= ImportBorder(nSpecialEffect,nBorderStyle);
-    rPropSet->setPropertyValue( WW8_ASCII2STR("Border"), aTmp);
-
-    aTmp <<= ImportColor( nBorderColor );
-    rPropSet->setPropertyValue( WW8_ASCII2STR("BorderColor"), aTmp);
-
-    sal_Int16 nTmp=static_cast<sal_Int16>(nMaxLength);
-    aTmp <<= nTmp;
-    rPropSet->setPropertyValue( WW8_ASCII2STR("MaxTextLen"), aTmp);
-
-    aFontData.Import(rPropSet);
-    uno::Reference< frame::XModel > xModel ( pDocSh ? pDocSh->GetModel() : NULL );
-    lcl_ApplyListSourceAndBindableStuff( xModel, rPropSet, msCtrlSource, msRowSource );
-    return sal_True;
-}
-
 sal_Bool OCX_ComboBox::WriteContents(SvStorageStreamRef &rContents,
     const uno::Reference< beans::XPropertySet > &rPropSet,
     const awt::Size &rSize)
@@ -3148,52 +1659,6 @@ sal_Bool OCX_ComboBox::Export(SvStorageRef &rObj,
     return WriteContents(xContents, rPropSet, rSize);
 }
 
-
-
-sal_Bool OCX_ListBox::Import(com::sun::star::uno::Reference<
-    com::sun::star::beans::XPropertySet> &rPropSet)
-{
-
-    uno::Any aTmp(&sName,getCppuType((OUString *)0));
-    rPropSet->setPropertyValue( WW8_ASCII2STR("Name"), aTmp );
-
-    sal_Bool bTmp=fEnabled;
-    aTmp = bool2any(bTmp);
-    rPropSet->setPropertyValue( WW8_ASCII2STR("Enabled"), aTmp);
-
-    bTmp=fLocked;
-    aTmp = bool2any(bTmp);
-    rPropSet->setPropertyValue( WW8_ASCII2STR("ReadOnly"), aTmp);
-
-    aTmp <<= ImportColor(mnForeColor);
-    rPropSet->setPropertyValue( WW8_ASCII2STR("TextColor"), aTmp);
-
-    sal_Bool bTemp = nMultiState;
-    aTmp = bool2any(bTemp);
-    rPropSet->setPropertyValue( WW8_ASCII2STR("MultiSelection"), aTmp);
-
-#if 0       //Don't delete this for now until I figure out if I can make this
-    if (pValue)
-    {
-        aTmp <<= lclCreateOUString( pValue, nValueLen );
-        xPropSet->setPropertyValue( WW8_ASCII2STR("DefaultText"), aTmp);
-    }
-#endif
-
-    aTmp <<= ImportColor(mnBackColor);
-    rPropSet->setPropertyValue( WW8_ASCII2STR("BackgroundColor"), aTmp);
-
-    aTmp <<= ImportBorder(nSpecialEffect,nBorderStyle);
-    rPropSet->setPropertyValue( WW8_ASCII2STR("Border"), aTmp);
-
-    aTmp <<= ImportColor( nBorderColor );
-    rPropSet->setPropertyValue( WW8_ASCII2STR("BorderColor"), aTmp);
-    uno::Reference< frame::XModel > xModel ( pDocSh ? pDocSh->GetModel() : NULL );
-    lcl_ApplyListSourceAndBindableStuff( xModel, rPropSet, msCtrlSource, msRowSource );
-    aFontData.Import(rPropSet);
-    return sal_True;
-}
-
 sal_Bool OCX_ListBox::WriteContents(SvStorageStreamRef &rContents,
     const uno::Reference< beans::XPropertySet > &rPropSet,
     const awt::Size &rSize)
@@ -3365,717 +1830,6 @@ sal_Bool OCX_ListBox::Export(SvStorageRef &rObj,
     return WriteContents(xContents, rPropSet, rSize);
 }
 
-sal_Bool OCX_Control::Read(SvStorageStream *pS)
-{
-    sal_uInt16 nIdentifier, nFixedAreaLen;
-    *pS >> nIdentifier;
-    DBG_ASSERT(nStandardId==nIdentifier,
-        "A control that has a different identifier");
-    *pS >> nFixedAreaLen;
-    pS->SeekRel(nFixedAreaLen);
-    return true;
-}
-
-sal_Bool OCX_ModernControl::Read(SvStorageStream *pS)
-{
-    long nStart = pS->Tell();
-    *pS >> nIdentifier;
-    DBG_ASSERT(nIdentifier==nStandardId,
-            "A control that has a different identifier");
-    *pS >> nFixedAreaLen;
-    pS->Read(pBlockFlags,8);
-
-    if (pBlockFlags[0] & 0x01)
-    {
-        sal_uInt8 nTemp;
-        *pS >> nTemp;
-
-        fEnabled = (nTemp & 0x02) >> 1;
-        fLocked = (nTemp & 0x04) >> 2;
-        fBackStyle = (nTemp & 0x08) >> 3;
-
-        *pS >> nTemp;
-
-        fColumnHeads = (nTemp & 0x04) >> 2;
-        fIntegralHeight = (nTemp & 0x08) >> 3;
-        fMatchRequired = (nTemp & 0x10) >> 4;
-        fAlignment = (nTemp & 0x20) >> 5;
-
-        *pS >> nTemp;
-
-        fDragBehaviour = (nTemp & 0x08) >> 3;
-        fEnterKeyBehaviour = (nTemp & 0x10) >> 4;
-        fEnterFieldBehaviour = (nTemp & 0x20) >> 5;
-        fTabKeyBehaviour = (nTemp & 0x40) >> 6;
-        fWordWrap = (nTemp & 0x80) >> 7;
-
-        *pS >> nTemp;
-        fSelectionMargin = (nTemp & 0x04) >> 2;
-        fAutoWordSelect = (nTemp & 0x08) >> 3;
-        fAutoSize = (nTemp & 0x10) >> 4;
-        fHideSelection = (nTemp & 0x20) >> 5;
-        fAutoTab = (nTemp & 0x40) >> 6;
-        fMultiLine = (nTemp & 0x80) >> 7;
-
-    }
-
-    /*If any of these are set they follow eachother in this order one after
-    another padded out to the next U32 boundary with 0's
-    U8 can abut each other U16 must start on a U16 boundary and are padded to
-    that with 0's. A standardish word alignment structure*/
-
-    if (pBlockFlags[0] & 0x02)
-        *pS >> mnBackColor;
-    if (pBlockFlags[0] & 0x04)
-        *pS >> mnForeColor;
-    if (pBlockFlags[0] & 0x08)
-        *pS >> nMaxLength;
-
-    if (pBlockFlags[0] & 0x10)
-        *pS >> nBorderStyle;
-    if (pBlockFlags[0] & 0x20)
-        *pS >> nScrollBars;
-    if (pBlockFlags[0] & 0x40)
-        *pS >> nStyle;// (UI 0 == Data 3, UI 2 = Data 7)
-    if (pBlockFlags[0] & 0x80)
-        *pS >> nMousePointer;
-
-    if (pBlockFlags[1] & 0x02)
-        *pS >> nPasswordChar; //HUH ??? always 0 ??? not sure maybe just padding
-
-    if (pBlockFlags[1] & 0x04)
-    {
-        ReadAlign(pS, pS->Tell() - nStart, 4);
-        *pS >> nListWidth;
-    }
-
-    if (pBlockFlags[1] & 0x08)
-    {
-        ReadAlign(pS, pS->Tell() - nStart, 2);
-        *pS >> nBoundColumn;
-    }
-    if (pBlockFlags[1] & 0x10)
-    {
-        ReadAlign(pS, pS->Tell() - nStart, 2);
-        *pS >> nTextColumn;
-    }
-    if (pBlockFlags[1] & 0x20)
-    {
-        ReadAlign(pS, pS->Tell() - nStart, 2);
-        *pS >> nColumnCount;
-    }
-    if (pBlockFlags[1] & 0x40)
-    {
-        ReadAlign(pS, pS->Tell() - nStart, 2);
-        *pS >> nListRows;
-    }
-    if (pBlockFlags[1] & 0x80)
-    {
-        ReadAlign(pS, pS->Tell() - nStart, 2);
-        *pS >> nUnknown8; //something to do with ColumnWidths
-    }
-    if (pBlockFlags[2] & 0x01)
-        *pS >> nMatchEntry;
-    if (pBlockFlags[2] & 0x02)
-        *pS >> nListStyle;
-    if (pBlockFlags[2] & 0x04)
-        *pS >> nShowDropButtonWhen;
-    if (pBlockFlags[2] & 0x10)
-        *pS >> nDropButtonStyle;
-    if (pBlockFlags[2] & 0x20)
-        *pS >> nMultiState;
-
-    bool bValue = (pBlockFlags[2] & 0x40) != 0;
-    if (bValue)
-    {
-        ReadAlign(pS, pS->Tell() - nStart, 4);
-        *pS >> nValueLen;
-    }
-    bool bCaption = (pBlockFlags[2] & 0x80) != 0;
-    if (bCaption)
-    {
-        ReadAlign(pS, pS->Tell() - nStart, 4);
-        *pS >> nCaptionLen;
-    }
-    if (pBlockFlags[3] & 0x01)
-    {
-        ReadAlign(pS, pS->Tell() - nStart, 4);
-        *pS >> nHorzPos;
-        *pS >> nVertPos;
-    }
-    if (pBlockFlags[3] & 0x02)
-    {
-        ReadAlign(pS, pS->Tell() - nStart, 4);
-        *pS >> nBorderColor;
-    }
-    if (pBlockFlags[3] & 0x04)
-    {
-        ReadAlign(pS, pS->Tell() - nStart, 4); // NEW
-        *pS >> nSpecialEffect;
-        pS->SeekRel( 3 );       // special effect is 32bit, not 8bit
-    }
-    if (pBlockFlags[3] & 0x08)
-    {
-        ReadAlign(pS, pS->Tell() - nStart, 2);
-        *pS >> nIcon;
-        DBG_ASSERT(nIcon == 0xFFFF, "Unexpected nIcon");
-    }
-    if (pBlockFlags[3] & 0x10)
-    {
-        ReadAlign(pS, pS->Tell() - nStart, 2);
-        *pS >> nPicture;
-        DBG_ASSERT(nPicture == 0xFFFF, "Unexpected nIcon");
-    }
-    if (pBlockFlags[3] & 0x20)
-        *pS >> nAccelerator;
-    /*
-    if (pBlockFlags[3] & 0x80)
-        *pS >> nUnknown9;
-    */
-    bool bGroupName = (pBlockFlags[4] & 0x01) != 0;
-    if (bGroupName)
-    {
-        ReadAlign(pS, pS->Tell() - nStart, 4);
-        *pS >> nGroupNameLen;
-    }
-
-    //End
-
-    ReadAlign(pS, pS->Tell() - nStart, 4);
-    *pS >> nWidth;
-    *pS >> nHeight;
-
-    if (bValue)
-        lclReadCharArray( *pS, pValue, nValueLen, pS->Tell() - nStart);
-
-    if (bCaption)
-        lclReadCharArray( *pS, pCaption, nCaptionLen, pS->Tell() - nStart);
-
-    if (bGroupName)
-        lclReadCharArray( *pS, pGroupName, nGroupNameLen, pS->Tell() - nStart);
-
-    ReadAlign(pS, pS->Tell() - nStart, 4);
-    if (nIcon)
-    {
-        pS->Read(pIconHeader,20);
-        *pS >> nIconLen;
-        pIcon = new sal_uInt8[nIconLen];
-        pS->Read(pIcon,nIconLen);
-    }
-
-    if (nPicture)
-    {
-        pS->Read(pPictureHeader,20);
-        *pS >> nPictureLen;
-        long imagePos = pS->Tell();
-        mxGrfObj = lcl_readGraphicObject( pS );
-        if( mxGrfObj.is() )
-        {
-            sImageUrl = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( GRAPHOBJ_URLPREFIX ) );
-            sImageUrl = sImageUrl + mxGrfObj->getUniqueID();
-        }
-        // make sure the stream position should be pointing after the image
-        pS->Seek( imagePos + nPictureLen );
-    }
-
-    return sal_True;
-}
-
-
-sal_Bool OCX_CommandButton::Read(SvStorageStream *pS)
-{
-    long nStart = pS->Tell();
-    *pS >> nIdentifier;
-    DBG_ASSERT(nStandardId==nIdentifier,
-        "A control that has a different identifier");
-    *pS >> nFixedAreaLen;
-    pS->Read(pBlockFlags,4);
-
-
-    if (pBlockFlags[0] & 0x01)
-        *pS >> mnForeColor;
-    if (pBlockFlags[0] & 0x02)
-        *pS >> mnBackColor;
-
-    if (pBlockFlags[0] & 0x04)
-    {
-        sal_uInt8 nTemp;
-        *pS >> nTemp;
-        fEnabled = (nTemp&0x02)>>1;
-        fLocked = (nTemp&0x04)>>2;
-        fBackStyle = (nTemp&0x08)>>3;
-        *pS >> nTemp;
-        *pS >> nTemp;
-        fWordWrap = (nTemp&0x80)>>7;
-        *pS >> nTemp;
-        fAutoSize = (nTemp&0x10)>>4;
-    }
-
-    bool bCaption = (pBlockFlags[0] & 0x08) != 0;
-    if (bCaption)
-    {
-        *pS >> nCaptionLen;
-    }
-    if (pBlockFlags[0] & 0x10) /*Picture Position, a strange mechanism here*/
-    {
-        *pS >> nVertPos;
-        *pS >> nHorzPos;
-    }
-
-    if (pBlockFlags[0] & 0x40) /*MousePointer*/
-        *pS >> nMousePointer;
-
-    if (pBlockFlags[0] & 0x80)
-    {
-        ReadAlign(pS, pS->Tell() - nStart, 2);
-        *pS >> nPicture;
-    }
-
-    if (pBlockFlags[1] & 0x01)
-    {
-        ReadAlign(pS, pS->Tell() - nStart, 2);
-        *pS >> nAccelerator;
-    }
-
-    // "take focus on click" is directly in content flags, not in option field...
-    mbTakeFocus = (pBlockFlags[1] & 0x02) == 0;     // option is on, if flag is not set
-
-    if (pBlockFlags[1] & 0x04)
-    {
-        ReadAlign(pS, pS->Tell() - nStart, 2);
-        *pS >> nIcon;
-    }
-
-    if (bCaption)
-        lclReadCharArray( *pS, pCaption, nCaptionLen, pS->Tell() - nStart);
-
-    ReadAlign(pS, pS->Tell() - nStart, 4);
-    *pS >> nWidth;
-    *pS >> nHeight;
-
-    if (nIcon)
-    {
-        pS->Read(pIconHeader,20);
-        *pS >> nIconLen;
-        pIcon = new sal_uInt8[nIconLen];
-        pS->Read(pIcon,nIconLen);
-    }
-
-    if (nPicture)
-    {
-        pS->Read(pPictureHeader,20);
-        *pS >> nPictureLen;
-        long imagePos = pS->Tell();
-        mxGrfObj = lcl_readGraphicObject( pS );
-        if( mxGrfObj.is() )
-        {
-            sImageUrl = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( GRAPHOBJ_URLPREFIX ) );
-            sImageUrl = sImageUrl + mxGrfObj->getUniqueID();
-        }
-        // make sure the stream position should be pointing after the image
-        pS->Seek( imagePos + nPictureLen );
-    }
-
-    return sal_True;
-}
-
-sal_Bool OCX_Label::Read(SvStorageStream *pS)
-{
-    long nStart = pS->Tell();
-    *pS >> nIdentifier;
-    DBG_ASSERT(nStandardId==nIdentifier,
-            "A control that has a different identifier");
-    *pS >> nFixedAreaLen;
-    pS->Read(pBlockFlags,4);
-
-
-    if (pBlockFlags[0] & 0x01)
-        *pS >> mnForeColor;
-    if (pBlockFlags[0] & 0x02)
-        *pS >> mnBackColor;
-
-
-    if (pBlockFlags[0] & 0x04)
-    {
-        sal_uInt8 nTemp;
-        *pS >> nTemp;
-        fEnabled = (nTemp&0x02)>>1;
-        fLocked = (nTemp&0x04)>>2;
-        fBackStyle = (nTemp&0x08)>>3;
-        *pS >> nTemp;
-        *pS >> nTemp;
-        fWordWrap = (nTemp&0x80)>>7;
-        *pS >> nTemp;
-        fAutoSize = (nTemp&0x10)>>4;
-    }
-    bool bCaption = (pBlockFlags[0] & 0x08) != 0;
-    if (bCaption)
-        *pS >> nCaptionLen;
-
-    if (pBlockFlags[0] & 0x10)
-    {
-        *pS >> nVertPos;
-        *pS >> nHorzPos;
-    }
-
-    if (pBlockFlags[0] & 0x40)
-        *pS >> nMousePointer;
-
-    if (pBlockFlags[0] & 0x80)
-    {
-        ReadAlign(pS,pS->Tell() - nStart, 4);
-        *pS >> nBorderColor;
-    }
-
-    if (pBlockFlags[1] & 0x01)
-    {
-        ReadAlign(pS, pS->Tell() - nStart, 2);
-        *pS >> nBorderStyle;
-    }
-
-    if (pBlockFlags[1] & 0x02)
-    {
-        ReadAlign(pS, pS->Tell() - nStart, 2);
-        *pS >> nSpecialEffect;
-    }
-
-    if (pBlockFlags[1] & 0x04)
-    {
-        ReadAlign(pS, pS->Tell() - nStart, 2);
-        *pS >> nPicture;
-    }
-
-    if (pBlockFlags[1] & 0x08)
-    {
-        ReadAlign(pS, pS->Tell() - nStart, 2);
-        *pS >> nAccelerator;
-    }
-
-    if (pBlockFlags[1] & 0x10)
-    {
-        ReadAlign(pS, pS->Tell() - nStart, 2);
-        *pS >> nIcon;
-    }
-
-    if (bCaption)
-        lclReadCharArray( *pS, pCaption, nCaptionLen, pS->Tell() - nStart);
-
-    ReadAlign(pS, pS->Tell() - nStart, 4);
-    *pS >> nWidth;
-    *pS >> nHeight;
-
-    if (nPicture)
-    {
-        pS->Read(pPictureHeader,20);
-        *pS >> nPictureLen;
-        long imagePos = pS->Tell();
-        mxGrfObj = lcl_readGraphicObject( pS );
-        if( mxGrfObj.is() )
-        {
-            sImageUrl = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( GRAPHOBJ_URLPREFIX ) );
-            sImageUrl = sImageUrl + mxGrfObj->getUniqueID();
-        }
-        // make sure the stream position should be pointing after the image
-        pS->Seek( imagePos + nPictureLen );
-    }
-    if (nIcon)
-    {
-        pS->Read(pIconHeader,20);
-        *pS >> nIconLen;
-        pIcon = new sal_uInt8[nIconLen];
-        pS->Read(pIcon,nIconLen);
-    }
-
-    return sal_True;
-}
-
-TypeName::TypeName(sal_Char *pName, sal_uInt32 nStoreId, sal_uInt32 nLen, sal_uInt16 nType, sal_Int32 nLeft,
-    sal_Int32 nTop)
-    : msName(lclCreateOUString(pName, nLen)), mnType(nType), mnLeft(nLeft),
-    mnTop(nTop),mnStoreId(nStoreId)
-{
-}
-
-OCX_MultiPage::OCX_MultiPage( SotStorageRef& parent,
-            const ::rtl::OUString& storageName,
-            const ::rtl::OUString& sN,
-            const uno::Reference< container::XNameContainer >  &rDialog,
-            OCX_Control* pParent):
-                OCX_ParentControl(parent, storageName, sN, rDialog, pParent ), bHasTabs( true )
-
-{
-    msDialogType = C2U("com.sun.star.awt.UnoMultiPageModel");
-    mnForeColor = 0x80000012L,
-    mnBackColor = 0x8000000FL;
-    bSetInDialog = true;// UserForm control only
-    aFontData.SetHasAlign(sal_True);
-    nActiveTab = 0;
-    // open up the 'x' stream
-    mXStream = mContainerStorage->OpenSotStream(
-        String(RTL_CONSTASCII_STRINGPARAM("x"),
-        RTL_TEXTENCODING_MS_1252),
-        STREAM_STD_READ | STREAM_NOCREATE);
-}
-
-void OCX_MultiPage::ProcessControl(OCX_Control* pControl, SvStorageStream* /* pS */,  ContainerRecord& rec )
-{
-    SotStorageStreamRef oStream = mContainedControlsStream;
-
-    if ( rec.nTypeIdent == TABSTRIP )
-    {
-        // TabStrip reads the 'o' stream
-        OCX_TabStrip oTabStrip;
-        oTabStrip.sName = C2S("FromMultiPage-o");
-        oTabStrip.Read( mContainedControlsStream );
-        sCaptions = oTabStrip.msItems;
-        bHasTabs = oTabStrip.bHasTabs;
-        nHeight = oTabStrip.nHeight;
-        nWidth = oTabStrip.nWidth;
-    }
-    else if ( rec.nTypeIdent == PAGE )
-    {
-        OCX_Page *pPage = NULL;
-        pPage = static_cast< OCX_Page* >( pControl );
-        if ( pPage != NULL )
-        {
-            oStream = pPage->getContainerStream();;
-            // Position of controls is relative to pos of this MuliPage
-            // Control
-            pPage->FullRead( oStream );
-            // nWidth & nHeight seem to screw up multipage control
-            pPage->nWidth = 0;
-            pPage->nHeight = 0;
-            pPage->mnBackColor = mnBackColor;
-
-            mpControls.push_back( pPage );
-            idToPage[ pPage->mnID ] = pPage;
-        }
-
-    }
-    else
-    {
-        OSL_TRACE("!!!! Unsupported Control 0x%x ", rec.nTypeIdent);
-        OSL_FAIL("MultiPage error expected Page control");
-    }
-
-}
-
-sal_Bool OCX_MultiPage::Read(SvStorageStream *pS)
-{
-    // Unlike the other containers e.g. UserForm & Frame
-    // the o stream is does not contain info for the contained controls
-    // 'o' stream contains a tabstrip control
-    // 'f' stream as usual ( info about the containees )
-    // '01..09' ( etc. ) these streams contain the page controls
-    // 'x' stream, this contains an array of properties for each page followed
-    //    by a set of properties for the multipage control itself
-
-    // read the 'f' stream
-    OCX_ParentControl::Read(pS);
-
-    // Read the 'x' stream
-    // consists of
-    //   a) nTabs + 1 PageProperties ( which are little use to us )
-    //      => skip
-    //   b) a MutliPageProperty ( which contains at least the page count and
-    //       IDs of the pages ( and order ) - useful for associating correct page
-    //       with correct tab
-
-
-    OCX_Control skip(C2S("Dummy"));
-    sal_Int32 nPagePropsToRead = sCaptions.size() + 1;
-    for ( sal_Int32 page = 0; page < nPagePropsToRead; ++page )
-        skip.Read( mXStream );
-    MultiPageProps multiPage;
-    multiPage.Read( mXStream );
-    mPageIds = multiPage.mnIDs;
-    return true;
-}
-
-
-sal_Bool OCX_MultiPage::Import(com::sun::star::uno::Reference<
-    com::sun::star::beans::XPropertySet> &rPropSet)
-{
-    uno::Any aTmp(&sName,getCppuType((OUString *)0));
-    rPropSet->setPropertyValue(
-        OUString(RTL_CONSTASCII_USTRINGPARAM("Name")), aTmp);
-    if ( !bHasTabs )
-        rPropSet->setPropertyValue(
-            OUString(RTL_CONSTASCII_USTRINGPARAM("Decoration")), uno::makeAny( sal_False ) );
-    aTmp <<= ImportColor(mnBackColor);
-    rPropSet->setPropertyValue( WW8_ASCII2STR("BackgroundColor"), aTmp);
-    // apply caption/titles to pages
-    std::vector<sal_Int32>::iterator itCtrlId = mPageIds.begin();
-    std::vector<sal_Int32>::iterator itCtrlId_end = mPageIds.end();
-    std::vector< rtl::OUString >::iterator  itCaption = sCaptions.begin();
-    mpControls.clear();
-    // need to sort the controls according to the order of the ids
-    for ( sal_Int32 index = 1 ; ( sCaptions.size() == idToPage.size() ) && itCtrlId != itCtrlId_end; ++itCtrlId, ++itCaption, ++index )
-    {
-        boost::unordered_map< sal_Int32, OCX_Page* >::iterator it = idToPage.find( *itCtrlId );
-        if ( it != idToPage.end() )
-        {
-            it->second->msTitle = *itCaption;
-            if ( it->second->mbVisible )
-                nActiveTab = index;
-            mpControls.push_back( it->second );
-
-        }
-    }
-
-    OCX_ParentControl::Import( rPropSet );
-    rPropSet->setPropertyValue( WW8_ASCII2STR("MultiPageValue"), uno::makeAny( nActiveTab ));
-    return sal_True;
-}
-
-OCX_Page::OCX_Page( SotStorageRef& parent,
-            sal_Int32 nId,
-            const ::rtl::OUString& sN,
-            const uno::Reference< container::XNameContainer >  &rDialog,
-            OCX_Control* pParent):
-                OCX_ParentControl(parent, createSubStreamName( nId ), sN, rDialog, pParent ), mnID( nId )
-{
-    msDialogType = C2U("com.sun.star.awt.UnoPageModel");
-    mnForeColor = 0x80000012,
-    mnBackColor = 0x8000000F,
-    bSetInDialog = true;// UserForm control only
-    aFontData.SetHasAlign(sal_True);
-}
-
-
-sal_Bool OCX_Page::Read(SvStorageStream *pS)
-{
-    return OCX_ParentControl::Read(pS);
-}
-
-sal_Bool OCX_Page::Import(com::sun::star::uno::Reference<
-    com::sun::star::beans::XPropertySet>
-    &rPropSet)
-{
-    uno::Any aTmp(&sName,getCppuType((OUString *)0));
-    rPropSet->setPropertyValue(
-        OUString(RTL_CONSTASCII_USTRINGPARAM("Name")), aTmp);
-
-    if (msTitle.getLength())
-        rPropSet->setPropertyValue( WW8_ASCII2STR("Title"), uno::makeAny( msTitle ) );
-
-    aTmp <<= ImportColor(mnBackColor);
-    rPropSet->setPropertyValue( WW8_ASCII2STR("BackgroundColor"), aTmp);
-
-    // Calls import on contained controls
-    OCX_ParentControl::Import( rPropSet );
-    return sal_True;
-
-}
-
-OCX_Frame::OCX_Frame( SotStorageRef& parent,
-            const ::rtl::OUString& storageName,
-            const ::rtl::OUString& sN,
-            const uno::Reference< container::XNameContainer >  &rDialog, OCX_Control* pParent): OCX_ParentControl(parent, storageName, sN, rDialog, pParent )
-{
-    msDialogType = C2U("com.sun.star.awt.UnoFrameModel");
-    mnForeColor = 0x80000012;
-    mnBackColor = 0x8000000F;
-    bSetInDialog = true;// UserForm control only
-    aFontData.SetHasAlign(sal_True);
-}
-
-
-sal_Bool OCX_Frame::Read(SvStorageStream *pS)
-{
-    return OCX_ParentControl::Read( pS );
-}
-
-sal_Bool OCX_Frame::Import(com::sun::star::uno::Reference<
-    com::sun::star::beans::XPropertySet> &rPropSet)
-{
-    uno::Any aTmp(&sName,getCppuType((OUString *)0));
-    rPropSet->setPropertyValue(
-        OUString(RTL_CONSTASCII_USTRINGPARAM("Name")), aTmp);
-    if ( pCaption )
-    {
-        aTmp <<= lclCreateOUString( pCaption, nCaptionLen );
-        rPropSet->setPropertyValue( WW8_ASCII2STR("Label"), aTmp);
-    }
-
-    aTmp <<= ImportColor(mnBackColor);
-    rPropSet->setPropertyValue( WW8_ASCII2STR("BackgroundColor"), aTmp);
-
-    // Calls import on contained controls
-    OCX_ParentControl::Import( rPropSet );
-    return sal_True;
-}
-
-OCX_UserForm::OCX_UserForm( SotStorageRef& parent,
-            const OUString& storageName,
-            const OUString& sN,
-            const ::uno::Reference< container::XNameContainer >  &rDialog,
-            const ::uno::Reference< lang::XMultiServiceFactory >& rMsf):
-            OCX_ParentControl(parent, storageName, sN, rDialog )
-    {
-    uno::Reference< beans::XPropertySet> xProps( rMsf, uno::UNO_QUERY);
-    if ( xProps.is() )
-    {
-        xProps->getPropertyValue(C2S("DefaultContext"))  >>= mxCtx;
-    }
-}
-
-sal_Bool OCX_UserForm::Import(
-    uno::Reference<container::XNameContainer> &rLib )
-{
-    uno::Reference<beans::XPropertySet>
-        xDialogPropSet(mxParent, uno::UNO_QUERY);
-    if ( !xDialogPropSet.is() )
-        return sal_False;
-    uno::Any aTmp(&sName,getCppuType((OUString *)0));
-    xDialogPropSet->setPropertyValue(
-        OUString(RTL_CONSTASCII_USTRINGPARAM("Name")), aTmp);
-    xDialogPropSet->setPropertyValue(
-        OUString(RTL_CONSTASCII_USTRINGPARAM("Title")), aTmp);
-    aTmp <<= ImportColor(mnBackColor);
-    xDialogPropSet->setPropertyValue( WW8_ASCII2STR("BackgroundColor"), aTmp);
-
-    GraphicHelper gHelper( pDocSh->GetModel() );
-
-    awt::Size aAppFontSize = gHelper.convertHmmToAppFont( awt::Size( nWidth, nHeight ) );
-    aTmp <<= sal_Int32( aAppFontSize.Width ); //
-    xDialogPropSet->setPropertyValue(WW8_ASCII2STR("Width"), aTmp);
-    aTmp <<= sal_Int32( aAppFontSize.Height ); //100th mm
-    xDialogPropSet->setPropertyValue(WW8_ASCII2STR("Height"), aTmp);
-
-    if ( sImageUrl.getLength() )
-    {
-        aTmp <<= sImageUrl;
-        xDialogPropSet->setPropertyValue( WW8_ASCII2STR("ImageURL"), aTmp);
-    }
-
-    uno::Reference<beans::XPropertySet> xPropSet( mxParent, uno::UNO_QUERY );
-    OCX_ParentControl::Import( xPropSet );
-    uno::Reference< frame::XModel > xModel(  pDocSh ? pDocSh->GetModel() : NULL );
-
-    uno::Reference<io::XInputStreamProvider> xSource =
-        xmlscript::exportDialogModel(mxParent, mxCtx, pDocSh->GetModel() );

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list