diff options
Diffstat (limited to 'svx/inc/svx/msocximex.hxx')
-rw-r--r-- | svx/inc/svx/msocximex.hxx | 1423 |
1 files changed, 0 insertions, 1423 deletions
diff --git a/svx/inc/svx/msocximex.hxx b/svx/inc/svx/msocximex.hxx deleted file mode 100644 index c9b7b817cd..0000000000 --- a/svx/inc/svx/msocximex.hxx +++ /dev/null @@ -1,1423 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: msocximex.hxx,v $ - * $Revision: 1.6 $ - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#ifndef _MSOCXIMEX_HXX -#define _MSOCXIMEX_HXX - -#include <sot/storage.hxx> -#include <tools/debug.hxx> - -//!! no such defines in global namespaces - it will break other existing code that uses the same define!! -//#ifndef C2U -//#define C2U(cChar) rtl::OUString::createFromAscii(cChar) -//#endif -#include "svx/svxdllapi.h" -#include <vector> -#include <hash_map> - -namespace com{namespace sun{namespace star{ - namespace drawing{ - class XDrawPage; - class XShape; - class XShapes; - } - namespace form{ - class XFormComponent; - } - namespace lang{ - class XMultiServiceFactory; - } - namespace container{ - class XIndexContainer; - class XNameContainer; - } - namespace beans{ - class XPropertySet; - } - namespace text{ - class XText; - } - namespace awt{ - struct Size; - class XControlModel; - } - namespace uno{ - class XComponentContext; - } - -}}} - -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 SVX_DLLPUBLIC SvxMSConvertOCXControls -{ -public: - SvxMSConvertOCXControls( SfxObjectShell *pDSh,SwPaM *pP ); - virtual ~SvxMSConvertOCXControls(); - - //Reads a control from the given storage, constructed shape in pShapeRef - sal_Bool ReadOCXStream( SotStorageRef& rSrc1, - com::sun::star::uno::Reference< - com::sun::star::drawing::XShape > *pShapeRef=0, - BOOL bFloatingCtrl=FALSE ); - - - //Excel has a nasty kludged mechanism for this, read - //the comments in the source to follow it - sal_Bool ReadOCXExcelKludgeStream(SotStorageStreamRef& rSrc1, - com::sun::star::uno::Reference < - com::sun::star::drawing::XShape > *pShapeRef,BOOL bFloatingCtrl); - - - //Writes the given Uno Control into the given storage - - static sal_Bool WriteOCXStream(SotStorageRef &rSrc1, - const com::sun::star::uno::Reference< - com::sun::star::awt::XControlModel > &rControlModel, - const com::sun::star::awt::Size& rSize,String &rName); - - //Excel has a nasty kludged mechanism for this, read - //the comments in the source to follow it - static sal_Bool WriteOCXExcelKludgeStream(SotStorageStreamRef& rContents, - const com::sun::star::uno::Reference< - com::sun::star::awt::XControlModel > &rControlModel, - const com::sun::star::awt::Size &rSize, String &rName); - - //Generate an OCX converter based on the OLE2 name - static OCX_Control *OCX_Factory(const String &rId); - - //Generate an OCX converter based on the StarOffice UNO id - static OCX_Control *OCX_Factory( const com::sun::star::uno::Reference< - com::sun::star::awt::XControlModel > &rControlModel, - String &rId,String &rName); - - virtual sal_Bool InsertControl( - const com::sun::star::uno::Reference< - com::sun::star::form::XFormComponent >& /*rFComp*/, - const com::sun::star::awt::Size& /*rSize*/, - com::sun::star::uno::Reference< - com::sun::star::drawing::XShape >* /*pShape*/, - BOOL /*bFloatingCtrl*/ ) {return sal_False;} - - /*begin: Backwards compatability with office 95 import, modify later*/ - const com::sun::star::uno::Reference< - com::sun::star::lang::XMultiServiceFactory > & GetServiceFactory(); - - sal_uInt16 GetEditNum() { return ++nEdit; } - sal_uInt16 GetCheckboxNum() { return ++nCheckbox; } - /*end: Backwards compatability*/ -protected: - const com::sun::star::uno::Reference< com::sun::star::drawing::XShapes > & - GetShapes(); - - const com::sun::star::uno::Reference< - com::sun::star::container::XIndexContainer > & GetFormComps(); - - SfxObjectShell *pDocSh; - SwPaM *pPaM; - - // gecachte Interfaces - com::sun::star::uno::Reference< com::sun::star::drawing::XDrawPage > - xDrawPage; - com::sun::star::uno::Reference< com::sun::star::drawing::XShapes > - xShapes; - com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory > xServiceFactory; - - // das einzige Formular - com::sun::star::uno::Reference< com::sun::star::container::XIndexContainer > - xFormComps; - - sal_uInt16 nEdit; - sal_uInt16 nCheckbox; - - virtual const com::sun::star::uno::Reference< - com::sun::star::drawing::XDrawPage > & GetDrawPage(); -}; - -class OCX_FontData -{ -public: - OCX_FontData() : nFontNameLen(0), fBold(0), fItalic(0), fUnderline(0), - fStrike(0), nFontSize(12), nJustification(1), pFontName(0), - bHasAlign(FALSE), bHasFont(TRUE) {} - ~OCX_FontData() { - 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< - com::sun::star::beans::XPropertySet> &rPropSet); - - sal_uInt16 nIdentifier; - sal_uInt16 nFixedAreaLen; - sal_uInt8 pBlockFlags[4]; - - sal_uInt32 nFontNameLen; - - sal_uInt8 fBold:1; - sal_uInt8 fItalic:1; - sal_uInt8 fUnderline:1; - sal_uInt8 fStrike:1; - sal_uInt8 fUnknown1:4; - - sal_uInt8 nUnknown2; - sal_uInt8 nUnknown3; - sal_uInt8 nUnknown4; - - sal_uInt32 nFontSize; - sal_uInt16 nLanguageID; - sal_uInt8 nJustification; - sal_uInt16 nFontWeight; - - char *pFontName; - void SetHasAlign(sal_Bool bIn) {bHasAlign=bIn;} - void SetHasFont(sal_Bool bIn) {bHasFont=bIn;} -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; -}; - -class SVX_DLLPUBLIC OCX_Control -{ -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(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< - com::sun::star::beans::XPropertySet>& /*rPropSet*/, - const com::sun::star::awt::Size& /*rSize*/) {return sal_False;} - - //WriteContents writes the contents of a contents stream, for - //the Excel export you cannot use Export, only WriteContents instead - virtual sal_Bool WriteContents(SotStorageStreamRef& /*rObj*/, - const com::sun::star::uno::Reference< - com::sun::star::beans::XPropertySet>& /*rPropSet*/, - const com::sun::star::awt::Size& /*rSize*/) {return sal_False;} - 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(); - - sal_uInt32 nWidth; - sal_uInt32 nHeight; - sal_Int32 mnLeft; - sal_Int32 mnTop; - sal_Int32 mnStep; - sal_Int32 mnBackColor; - sal_Int32 mnForeColor; - sal_uInt16 mnTabPos; - bool mbVisible; - UniString sName; - UniString msToolTip; - OCX_FontData aFontData; - SfxObjectShell *pDocSh; -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 __READONLY_DATA aObjInfo[4]; - rtl::OUString msFormType; - rtl::OUString msDialogType; - OCX_Control* mpParent; -private: - static sal_uInt32 pColor[25]; -}; - -class OCX_ModernControl : public OCX_Control -{ -public: - OCX_ModernControl(UniString sN) : OCX_Control(sN), - fEnabled(1), fLocked(0), fBackStyle(1), fColumnHeads(0), fIntegralHeight(1), - fMatchRequired(0), fAlignment(1), fDragBehaviour(0), fEnterKeyBehaviour(0), - fEnterFieldBehaviour(0), fTabKeyBehaviour(0), fWordWrap(1), - fSelectionMargin(1), fAutoWordSelect(1), fAutoSize(0), fHideSelection(1), - fAutoTab(0), fMultiLine(1), nMaxLength(0), nBorderStyle(0), nScrollBars(0), - nStyle(0), nMousePointer(0), nPasswordChar(0), nListWidth(0), - nBoundColumn(1), nTextColumn(-1), nColumnCount(1), nListRows(8), - nMatchEntry(2), nListStyle(0), nShowDropButtonWhen(0), nDropButtonStyle(1), - nMultiState(0), nValueLen(0), nCaptionLen(0), nVertPos(1), nHorzPos(7), - nSpecialEffect(2), nIcon(0), nPicture(0), nAccelerator(0), nGroupNameLen(0), - pValue(0), pCaption(0), pGroupName(0), nIconLen(0), pIcon(0), - nPictureLen(0), pPicture(0) {} - - ~OCX_ModernControl() { - if (pValue) delete[] pValue; - if (pCaption) delete[] pCaption; - if (pGroupName) delete[] pGroupName; - if (pIcon) delete[] pIcon; - if (pPicture) delete[] pPicture; - } - sal_Bool Read(SotStorageStream *pS); - - - /*sal_uInt8 for sal_uInt8 Word Struct*/ - sal_uInt16 nIdentifier; - sal_uInt16 nFixedAreaLen; - sal_uInt8 pBlockFlags[8]; - - sal_uInt8 fUnknown1:1; - sal_uInt8 fEnabled:1; - sal_uInt8 fLocked:1; - sal_uInt8 fBackStyle:1; - sal_uInt8 fUnknown2:4; - - sal_uInt8 fUnknown3:2; - sal_uInt8 fColumnHeads:1; - sal_uInt8 fIntegralHeight:1; - sal_uInt8 fMatchRequired:1; - sal_uInt8 fAlignment:1; - sal_uInt8 fUnknown4:2; - - sal_uInt8 fUnknown5:3; - sal_uInt8 fDragBehaviour:1; - sal_uInt8 fEnterKeyBehaviour:1; - sal_uInt8 fEnterFieldBehaviour:1; - sal_uInt8 fTabKeyBehaviour:1; - sal_uInt8 fWordWrap:1; - - sal_uInt8 fUnknown6:2; - sal_uInt8 fSelectionMargin:1; - sal_uInt8 fAutoWordSelect:1; - sal_uInt8 fAutoSize:1; - sal_uInt8 fHideSelection:1; - sal_uInt8 fAutoTab:1; - sal_uInt8 fMultiLine:1; - - sal_uInt32 nMaxLength; - sal_uInt8 nBorderStyle; - sal_uInt8 nScrollBars; - sal_uInt8 nStyle; - sal_uInt8 nMousePointer; - sal_uInt8 nUnknown7; - sal_uInt8 nPasswordChar; - sal_uInt32 nListWidth; - sal_uInt16 nBoundColumn; - sal_Int16 nTextColumn; - sal_uInt16 nColumnCount; - sal_uInt16 nListRows; - sal_uInt16 nUnknown8; - sal_uInt8 nMatchEntry; - sal_uInt8 nListStyle; - sal_uInt8 nShowDropButtonWhen; - sal_uInt8 nDropButtonStyle; - sal_uInt8 nMultiState; - sal_uInt32 nValueLen; - sal_uInt32 nCaptionLen; - - sal_uInt16 nVertPos; - sal_uInt16 nHorzPos; - - sal_uInt32 nBorderColor; - sal_uInt8 nSpecialEffect; - sal_uInt16 nIcon; - sal_uInt16 nPicture; - sal_uInt8 nAccelerator; - sal_uInt8 nUnknown9; - sal_uInt32 nGroupNameLen; - sal_uInt32 nUnknown10; - - char *pValue; - char *pCaption; - char *pGroupName; - - sal_uInt8 pIconHeader[20]; - sal_uInt32 nIconLen; - sal_uInt8 *pIcon; - - sal_uInt8 pPictureHeader[20]; - sal_uInt32 nPictureLen; - sal_uInt8 *pPicture; - -}; - -class OCX_TabStrip : public OCX_Control -{ -public: - OCX_TabStrip() : OCX_Control( rtl::OUString::createFromAscii("TabStrip")) {} - virtual sal_Bool ReadFontData(SotStorageStream *pS); - virtual sal_Bool Read(SotStorageStream *pS); - - sal_uInt16 nIdentifier; - sal_uInt16 nFixedAreaLen; - sal_uInt8 pBlockFlags[4]; - sal_uInt16 nNumTabs; -}; - -class OCX_Image : public OCX_Control -{ -public: - OCX_Image() : OCX_Control(rtl::OUString::createFromAscii("Image")), fEnabled(1), fBackStyle(0), bPictureTiling(false), bAutoSize(false) { - msFormType = rtl::OUString::createFromAscii("com.sun.star.form.component.DatabaseImageControl"); - msDialogType = rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlImageControlModel"); - } - - ~OCX_Image() { } - /*sal_uInt8 for sal_uInt8 Word Struct*/ - sal_uInt16 nIdentifier; - sal_uInt16 nFixedAreaLen; - sal_uInt8 pBlockFlags[4]; - - sal_uInt32 nBorderColor; - sal_uInt8 nBorderStyle; - sal_uInt8 nMousePointer; - sal_uInt8 nPictureSizeMode; - - - sal_uInt8 fUnknown1:1; - sal_uInt8 fEnabled:1; - sal_uInt8 fUnknown2:2; - sal_uInt8 fBackStyle:1; - sal_uInt8 fUnknown3:3; - - sal_uInt8 nPictureAlignment; - bool bPictureTiling; - sal_uInt8 nSpecialEffect; - - bool bAutoSize; - ::rtl::OUString sImageUrl; - 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, - 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); - // 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 ) {} - - ::rtl::OUString cName; - ::rtl::OUString controlTip; - - sal_uInt32 nTop; - sal_uInt32 nLeft; - sal_uInt32 nSubStorageId; - sal_uInt32 nSubStreamLen; - sal_uInt16 nTabPos; - sal_uInt16 nTypeIdent; - bool bVisible; -}; - -typedef std::vector<OCX_Control*>::iterator CtrlIterator; -typedef std::vector<OCX_Control*>::const_iterator CtrlIteratorConst; -typedef std::vector<OCX_Control*> CtrlList; - - - -class RBGroup -{ - public: - RBGroup():mRBGroupPos(0){} - RBGroup(sal_uInt16& groupPos ):mRBGroupPos(groupPos){} - sal_Int16 tabPos() const { return mRBGroupPos; } - std::vector<OCX_Control*>::size_type numControls() - { return mpControls.size(); } - std::vector<OCX_Control*>& controls() { return mpControls; } - - void add(OCX_Control* pRB); - private: - sal_uInt16 mRBGroupPos; - std::vector<OCX_Control*> mpControls; -}; - -typedef ::std::hash_map < ::rtl::OUString, RBGroup*, ::rtl::OUStringHash, - ::std::equal_to< ::rtl::OUString > > RBGroupHash; -typedef std::vector<RBGroup*>::iterator GroupIterator; - -class OCX_OptionButton; - -class RBGroupManager -{ -public: - RBGroupManager( String& defaultName ); - ~RBGroupManager(); - - CtrlList insertGroupsIntoControlList( const CtrlList& sourceList ); - void addRadioButton( OCX_OptionButton* pRButton ); -private: - - void addSeperator( std::vector< OCX_Control* >& dest ); - void copyList( std::vector< OCX_Control* >& src, - std::vector< OCX_Control* >& dest, - bool addGroupSeperator ); - - RBGroupHash rbGroups; - String mSDefaultName; - std::vector< RBGroup* > groupList; - sal_uInt16 numRadioButtons; -}; - - - - -class OCX_ContainerControl : public OCX_Control -{ -public: - virtual ~OCX_ContainerControl(); - // sub class will process the control specific information - // e.g frame or userform ( maybe tab, mulipage in the future ) - // Base (this) class will process the container specific information - // e.g. the controls contained by this container - // will - // a) create the controls - // b) read the controls - // c) store these controls in a list for post processing - // e.g. import - // - virtual sal_Bool Read(SvStorageStream *pS); - // No Font record - 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; } - - virtual void ProcessControl( OCX_Control* pControl, SvStorageStream* pS, ContainerRecord& rec ); - bool createFromContainerRecord( const ContainerRecord& record, - OCX_Control*& ); -protected: - // This class not meant to be instantiated - // needs to be subclassed - OCX_ContainerControl( SotStorageRef& parent, - const ::rtl::OUString& storageName, - const ::rtl::OUString& sN, - const com::sun::star::uno::Reference< - com::sun::star::container::XNameContainer > &rParent, - OCX_Control* pParent = NULL ); - rtl::OUString createSubStreamName( const sal_uInt32& subStorageID ); - - RBGroupManager rbGroupMgr; - com::sun::star::uno::Reference< - com::sun::star::container::XNameContainer > mxParent; - std::vector<OCX_Control*> mpControls; - SotStorageRef mContainerStorage; - SotStorageStreamRef mContainerStream; - SotStorageStreamRef mContainedControlsStream; - sal_uInt32 nNoRecords; - sal_uInt32 nTotalLen; - sal_uInt32 containerType; - -private: - OCX_ContainerControl(); // not implemented - OCX_ContainerControl(const OCX_ContainerControl&); // not implemented -}; - - -class OCX_MultiPage : public OCX_ContainerControl -{ -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 ~OCX_MultiPage() - { - delete[] pCaption; - delete[] pIcon; - delete[] pPicture; - } - virtual sal_Bool Read(SvStorageStream *pS); - - using OCX_ContainerControl::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 sal_Bool Import(com::sun::star::uno::Reference< - com::sun::star::container::XNameContainer> - &rDialog); - virtual void ProcessControl( OCX_Control* pControl, SvStorageStream* pS, ContainerRecord& rec ); - /*sal_uInt8 for sal_uInt8 Word Struct*/ - sal_uInt16 nIdentifier; - sal_uInt16 nFixedAreaLen; - sal_uInt8 pBlockFlags[4]; - - sal_uInt32 fUnknown1; - - sal_uInt8 fUnknown2:1; - sal_uInt8 fEnabled:1; - sal_uInt8 fLocked:1; - sal_uInt8 fBackStyle:1; - sal_uInt8 fUnknown3:4; - - sal_uInt8 fUnknown4:8; - - sal_uInt8 fUnknown5:7; - sal_uInt8 fWordWrap:1; - - sal_uInt8 fUnknown6:4; - sal_uInt8 fAutoSize:1; - sal_uInt8 fUnknown7:3; - - sal_uInt32 nCaptionLen; - sal_uInt16 nVertPos; - sal_uInt16 nHorzPos; - sal_uInt8 nMousePointer; - sal_uInt32 nBorderColor; - sal_uInt32 fUnknown8; - sal_uInt32 fUnknown9; - sal_uInt8 nKeepScrollBarsVisible; - sal_uInt8 nCycle; - sal_uInt16 nBorderStyle; - sal_uInt16 nSpecialEffect; - sal_uInt16 nPicture; - sal_uInt8 nPictureAlignment; - sal_uInt8 nPictureSizeMode; - bool bPictureTiling; - sal_uInt16 nAccelerator; - sal_uInt16 nIcon; - - char *pCaption; - - sal_uInt32 nScrollWidth; - sal_uInt32 nScrollHeight; - - - sal_uInt8 pIconHeader[20]; - sal_uInt32 nIconLen; - sal_uInt8 *pIcon; - - sal_uInt8 pPictureHeader[20]; - sal_uInt32 nPictureLen; - sal_uInt8 *pPicture; -private: - sal_Int32 mnCurrentPageStep; -}; - - - -class OCX_Page : public OCX_ContainerControl -{ -public: - OCX_Page( SotStorageRef& parentStorage, - const ::rtl::OUString& storageName, - const ::rtl::OUString& sN, - const com::sun::star::uno::Reference< - com::sun::star::container::XNameContainer > &rDialog, OCX_Control* parent = NULL); - virtual ~OCX_Page() - { - delete[] pCaption; - delete[] pIcon; - delete[] pPicture; - } - virtual sal_Bool Read(SvStorageStream *pS); - - using OCX_ContainerControl::Import; // to not hide the other two import methods - 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); -*/ - /*sal_uInt8 for sal_uInt8 Word Struct*/ - sal_uInt16 nIdentifier; - sal_uInt16 nFixedAreaLen; - sal_uInt8 pBlockFlags[4]; - - sal_uInt32 fUnknown1; - - sal_uInt8 fUnknown2:1; - sal_uInt8 fEnabled:1; - sal_uInt8 fLocked:1; - sal_uInt8 fBackStyle:1; - sal_uInt8 fUnknown3:4; - - sal_uInt8 fUnknown4:8; - - sal_uInt8 fUnknown5:7; - sal_uInt8 fWordWrap:1; - - sal_uInt8 fUnknown6:4; - sal_uInt8 fAutoSize:1; - sal_uInt8 fUnknown7:3; - - sal_uInt32 nCaptionLen; - sal_uInt16 nVertPos; - sal_uInt16 nHorzPos; - sal_uInt8 nMousePointer; - sal_uInt32 nBorderColor; - sal_uInt32 fUnknown8; - sal_uInt32 fUnknown9; - sal_uInt8 nKeepScrollBarsVisible; - sal_uInt8 nCycle; - sal_uInt16 nBorderStyle; - sal_uInt16 nSpecialEffect; - sal_uInt16 nPicture; - sal_uInt8 nPictureAlignment; - sal_uInt8 nPictureSizeMode; - bool bPictureTiling; - sal_uInt16 nAccelerator; - sal_uInt16 nIcon; - - char *pCaption; - - sal_uInt32 nScrollWidth; - sal_uInt32 nScrollHeight; - - - sal_uInt8 pIconHeader[20]; - sal_uInt32 nIconLen; - sal_uInt8 *pIcon; - - sal_uInt8 pPictureHeader[20]; - sal_uInt32 nPictureLen; - sal_uInt8 *pPicture; -private: -}; - - -class OCX_Frame : public OCX_ContainerControl -{ -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 ~OCX_Frame() - { - delete[] pCaption; - delete[] pIcon; - delete[] pPicture; - } - virtual sal_Bool Read(SvStorageStream *pS); - - using OCX_ContainerControl::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_uInt8 for sal_uInt8 Word Struct*/ - sal_uInt16 nIdentifier; - sal_uInt16 nFixedAreaLen; - sal_uInt8 pBlockFlags[4]; - - sal_uInt32 fUnknown1; - - sal_uInt8 fUnknown2:1; - sal_uInt8 fEnabled:1; - sal_uInt8 fLocked:1; - sal_uInt8 fBackStyle:1; - sal_uInt8 fUnknown3:4; - - sal_uInt8 fUnknown4:8; - - sal_uInt8 fUnknown5:7; - sal_uInt8 fWordWrap:1; - - sal_uInt8 fUnknown6:4; - sal_uInt8 fAutoSize:1; - sal_uInt8 fUnknown7:3; - - sal_uInt32 nCaptionLen; - sal_uInt16 nVertPos; - sal_uInt16 nHorzPos; - sal_uInt8 nMousePointer; - sal_uInt32 nBorderColor; - sal_uInt32 fUnknown8; - sal_uInt32 fUnknown9; - sal_uInt8 nKeepScrollBarsVisible; - sal_uInt8 nCycle; - sal_uInt16 nBorderStyle; - sal_uInt16 nSpecialEffect; - sal_uInt16 nPicture; - sal_uInt8 nPictureAlignment; - sal_uInt8 nPictureSizeMode; - bool bPictureTiling; - sal_uInt16 nAccelerator; - sal_uInt16 nIcon; - - 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; - sal_uInt8 *pPicture; -private: -}; - -class OCX_UserForm : public OCX_ContainerControl -{ -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); - ~OCX_UserForm() - { - delete[] pCaption; - delete[] pIcon; - delete[] pPicture; - } - - virtual sal_Bool Read(SvStorageStream *pS); - - using OCX_ContainerControl::Import; // to not hide the other two import methods - virtual sal_Bool Import( com::sun::star::uno::Reference< - com::sun::star::container::XNameContainer> - &rDialog); - - /*sal_uInt8 for sal_uInt8 Word Struct*/ - sal_uInt16 nIdentifier; - sal_uInt16 nFixedAreaLen; - sal_uInt8 pBlockFlags[4]; - - sal_uInt32 nChildrenA; - - 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_uInt8 nMousePointer; - sal_uInt32 nBorderColor; - sal_uInt32 nDrawBuffer; - sal_uInt32 nChildrenB; - sal_uInt8 nKeepScrollBarsVisible; - sal_uInt8 nCycle; - sal_uInt16 nBorderStyle; - 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; - sal_uInt8 *pPicture; -private: - com::sun::star::uno::Reference< - com::sun::star::uno::XComponentContext> mxCtx; -}; - - - -class OCX_CheckBox : public OCX_ModernControl -{ -public: - OCX_CheckBox() : OCX_ModernControl(rtl::OUString::createFromAscii("CheckBox")){ - msFormType = rtl::OUString::createFromAscii("com.sun.star.form.component.CheckBox"); - msDialogType = rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlCheckBoxModel"); - mnBackColor = 0x80000005L; - mnForeColor = 0x80000008L; - aFontData.SetHasAlign(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 OCX_CheckBox;} -}; - -class OCX_OptionButton : public OCX_ModernControl -{ -public: - OCX_OptionButton() : OCX_ModernControl(rtl::OUString::createFromAscii("OptionButton")) - { - msFormType = rtl::OUString::createFromAscii("com.sun.star.form.component.RadioButton"); - msDialogType = rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlRadioButtonModel"); - mnBackColor = 0x80000005L; - mnForeColor = 0x80000008L; - aFontData.SetHasAlign(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 OCX_OptionButton;} -}; - -class OCX_TextBox : public OCX_ModernControl -{ -public: - OCX_TextBox() : OCX_ModernControl(rtl::OUString::createFromAscii("TextBox")) { - msFormType = rtl::OUString::createFromAscii("com.sun.star.form.component.TextField"); - msDialogType = rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlEditModel"); - mnBackColor = 0x80000005L; - mnForeColor = 0x80000008L; - nBorderColor = 0x80000006L; - aFontData.SetHasAlign(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 OCX_TextBox;} -}; - -class OCX_FieldControl: public OCX_ModernControl -{ -public: - OCX_FieldControl() : OCX_ModernControl(rtl::OUString::createFromAscii("TextBox")) { - mnBackColor = 0x80000005L; - mnForeColor = 0x80000008L; - nBorderColor = 0x80000006L; - } - 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 OCX_FieldControl;} -}; - - -class OCX_ToggleButton : public OCX_ModernControl -{ -public: - OCX_ToggleButton() : OCX_ModernControl(rtl::OUString::createFromAscii("ToggleButton")) { - msFormType = rtl::OUString::createFromAscii("com.sun.star.form.component.CommandButton"); - msDialogType = rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlButtonModel"); - - mnBackColor = 0x8000000F; - mnForeColor = 0x80000012; - aFontData.SetHasAlign(TRUE); - aFontData.nJustification = 3; // centered by default - } - 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, - const com::sun::star::awt::Size& rSize); - sal_Bool WriteContents(SvStorageStreamRef &rObj, - const com::sun::star::uno::Reference< - com::sun::star::beans::XPropertySet> &rPropSet, - const com::sun::star::awt::Size& rSize); -}; - -class OCX_ComboBox : public OCX_ModernControl -{ -public: - OCX_ComboBox() : OCX_ModernControl(rtl::OUString::createFromAscii("ComboBox")){ - msFormType = rtl::OUString::createFromAscii("com.sun.star.form.component.ComboBox"); - msDialogType = rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlComboBoxModel"); - mnBackColor = 0x80000005; - mnForeColor = 0x80000008; - nBorderColor = 0x80000006; - aFontData.SetHasAlign(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, - 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); -}; - -class OCX_ListBox : public OCX_ModernControl -{ -public: - OCX_ListBox() : OCX_ModernControl(rtl::OUString::createFromAscii("ListBox")){ - msFormType = rtl::OUString::createFromAscii("com.sun.star.form.component.ListBox"); - msDialogType = rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlListBoxModel"); - mnBackColor = 0x80000005; - mnForeColor = 0x80000008; - nBorderColor = 0x80000006; - aFontData.SetHasAlign(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, - 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); - -}; - -class OCX_CommandButton : public OCX_Control -{ -public: - OCX_CommandButton() : OCX_Control(String::CreateFromAscii("CommandButton")), - fEnabled(1), fLocked(0), fBackStyle(1), fWordWrap(0), fAutoSize(0), - nCaptionLen(0), nVertPos(1), nHorzPos(7), nMousePointer(0), nPicture(0), - nAccelerator(0), nIcon(0), pCaption(0), nIconLen(0), pIcon(0), nPictureLen(0), - pPicture(0), mbTakeFocus( true ) - { - msFormType = rtl::OUString::createFromAscii("com.sun.star.form.component.CommandButton"); - msDialogType = rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlButtonModel"); - mnForeColor = 0x80000012L; - mnBackColor = 0x8000000FL; - } - - ~OCX_CommandButton() { - if (pCaption) delete[] pCaption; - if (pIcon) delete[] pIcon; - if (pPicture) delete[] pPicture; - } - sal_Bool Read(SotStorageStream *pS); - - /*sal_uInt8 for sal_uInt8 Word Struct*/ - sal_uInt16 nIdentifier; - sal_uInt16 nFixedAreaLen; - sal_uInt8 pBlockFlags[4]; - - - 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_uInt16 nMousePointer; - sal_uInt16 nPicture; - sal_uInt16 nAccelerator; - sal_uInt16 nIcon; - - char *pCaption; - - sal_uInt8 pIconHeader[20]; - sal_uInt32 nIconLen; - sal_uInt8 *pIcon; - - sal_uInt8 pPictureHeader[20]; - sal_uInt32 nPictureLen; - sal_uInt8 *pPicture; - - 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, - 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); - -}; - -class OCX_ImageButton: public OCX_CommandButton -{ -public: - OCX_ImageButton() { - aFontData.SetHasAlign(FALSE); - aFontData.SetHasFont(FALSE); - } - static OCX_Control *Create() { return new OCX_ImageButton;} - 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); - -}; - -class OCX_GroupBox: public OCX_Control -{ -public: - OCX_GroupBox() : OCX_Control(String::CreateFromAscii("GroupBox")) {} - static OCX_Control *Create() { return new OCX_GroupBox;} - 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); - -}; - -class OCX_Label : public OCX_Control -{ -public: - OCX_Label(OCX_Control* pParent = NULL ) : OCX_Control(rtl::OUString::createFromAscii("Label"), pParent ), fEnabled(1), - fLocked(0),fBackStyle(1),fWordWrap(1), - fAutoSize(0),nCaptionLen(0),nVertPos(1),nHorzPos(7),nMousePointer(0), - nBorderColor(0x80000006),nBorderStyle(0),nSpecialEffect(0), - nPicture(0),nAccelerator(0),nIcon(0),pCaption(0),nIconLen(0),pIcon(0), - nPictureLen(0),pPicture(0) - { - msFormType = rtl::OUString::createFromAscii("com.sun.star.form.component.FixedText"); - msDialogType = rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlFixedTextModel"); - mnForeColor = 0x80000008; - mnBackColor = 0x80000005; - aFontData.SetHasAlign(TRUE); - } - - ~OCX_Label() { - if (pCaption) delete[] pCaption; - if (pIcon) delete[] pIcon; - if (pPicture) delete[] pPicture; - } - sal_Bool Read(SotStorageStream *pS); - - /*sal_uInt8 for sal_uInt8 Word Struct*/ - sal_uInt16 nIdentifier; - sal_uInt16 nFixedAreaLen; - sal_uInt8 pBlockFlags[4]; - - - 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_uInt8 nMousePointer; - sal_uInt32 nBorderColor; - sal_uInt16 nBorderStyle; - sal_uInt16 nSpecialEffect; - sal_uInt16 nPicture; - sal_uInt16 nAccelerator; - sal_uInt16 nIcon; - - char *pCaption; - - sal_uInt8 pIconHeader[20]; - sal_uInt32 nIconLen; - sal_uInt8 *pIcon; - - sal_uInt8 pPictureHeader[20]; - sal_uInt32 nPictureLen; - sal_uInt8 *pPicture; - - 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, - 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); - -}; - - -class OCX_ProgressBar : public OCX_Control -{ -public: - explicit OCX_ProgressBar(); - - 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; - bool bFixedSingle; - bool bEnabled; - bool b3d; -}; - -class OCX_SpinButton : public OCX_Control -{ -public: - explicit OCX_SpinButton(); - - 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< - com::sun::star::beans::XPropertySet> &rPropSet, - const com::sun::star::awt::Size& rSize ); - - //WriteContents writes the contents of a contents stream, for - //the Excel export you cannot use Export, only WriteContents instead - virtual sal_Bool WriteContents( SvStorageStreamRef &rObj, - const com::sun::star::uno::Reference< - com::sun::star::beans::XPropertySet> &rPropSet, - const com::sun::star::awt::Size& rSize ); - -protected: - void UpdateInt32Property( - sal_Int32& rnCoreValue, sal_Int32 nNewValue, - sal_Int32 nBlockFlag ); - - void GetInt32Property( - sal_Int32& rnCoreValue, - const com::sun::star::uno::Reference< - com::sun::star::beans::XPropertySet >& rxPropSet, - const rtl::OUString& rPropName, - sal_Int32 nBlockFlag ); - - void UpdateBoolProperty( - bool& rbCoreValue, bool bNewValue, - sal_Int32 nBlockFlag ); - - void GetBoolProperty( - bool& rbCoreValue, - const com::sun::star::uno::Reference< - com::sun::star::beans::XPropertySet >& rxPropSet, - const rtl::OUString& rPropName, - sal_Int32 nBlockFlag ); - - /** Writes the data from own members to stream. */ - sal_Bool WriteData( SvStream& rStrm ) const; - - sal_Int32 mnBlockFlags; - sal_Int32 mnValue; - sal_Int32 mnMin; - sal_Int32 mnMax; - sal_Int32 mnSmallStep; - sal_Int32 mnPageStep; - sal_Int32 mnOrient; - sal_Int32 mnDelay; - bool mbEnabled; - bool mbLocked; - bool mbPropThumb; -}; - -class OCX_ScrollBar : public OCX_SpinButton -{ -public: - explicit OCX_ScrollBar(); - - 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< - com::sun::star::beans::XPropertySet> &rPropSet, - const com::sun::star::awt::Size& rSize ); - - //WriteContents writes the contents of a contents stream, for - //the Excel export you cannot use Export, only WriteContents instead - virtual sal_Bool WriteContents( SvStorageStreamRef &rObj, - const com::sun::star::uno::Reference< - com::sun::star::beans::XPropertySet> &rPropSet, - const com::sun::star::awt::Size& rSize ); -}; - -#endif |