summaryrefslogtreecommitdiff
path: root/svx/inc/svx/msocximex.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'svx/inc/svx/msocximex.hxx')
-rw-r--r--svx/inc/svx/msocximex.hxx1423
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