summaryrefslogtreecommitdiff
path: root/cui/source/inc/cuitabarea.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'cui/source/inc/cuitabarea.hxx')
-rw-r--r--cui/source/inc/cuitabarea.hxx805
1 files changed, 805 insertions, 0 deletions
diff --git a/cui/source/inc/cuitabarea.hxx b/cui/source/inc/cuitabarea.hxx
new file mode 100644
index 000000000000..cba81c8c096f
--- /dev/null
+++ b/cui/source/inc/cuitabarea.hxx
@@ -0,0 +1,805 @@
+/*************************************************************************
+ *
+ * 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: cuitabarea.hxx,v $
+ * $Revision: 1.11 $
+ *
+ * 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 _CUI_TAB_AREA_HXX
+#define _CUI_TAB_AREA_HXX
+
+// include ---------------------------------------------------------------
+
+#include <svx/tabarea.hxx>
+
+/*************************************************************************
+|*
+|* Fl"achen-Tab-Dialog
+|*
+\************************************************************************/
+
+class SvxAreaTabDialog : public SfxTabDialog
+{
+private:
+ SdrModel* mpDrawModel;
+// const SdrView* mpView;
+
+ XColorTable* mpColorTab;
+ XColorTable* mpNewColorTab;
+ XGradientList* mpGradientList;
+ XGradientList* mpNewGradientList;
+ XHatchList* mpHatchingList;
+ XHatchList* mpNewHatchingList;
+ XBitmapList* mpBitmapList;
+ XBitmapList* mpNewBitmapList;
+
+ const SfxItemSet& mrOutAttrs;
+
+ ChangeType mnColorTableState;
+ ChangeType mnBitmapListState;
+ ChangeType mnGradientListState;
+ ChangeType mnHatchingListState;
+
+ USHORT mnPageType;
+ USHORT mnDlgType;
+ USHORT mnPos;
+ BOOL mbAreaTP;
+ BOOL mbDeleteColorTable;
+
+ virtual void PageCreated( USHORT nId, SfxTabPage &rPage );
+
+protected:
+ virtual short Ok();
+#ifdef _SVX_TABAREA_CXX
+ DECL_LINK( CancelHdlImpl, void * );
+ void SavePalettes();
+#endif
+
+public:
+ SvxAreaTabDialog( Window* pParent,
+ const SfxItemSet* pAttr, SdrModel* pModel,
+ const SdrView* pSdrView = NULL );
+ ~SvxAreaTabDialog();
+
+ void SetNewColorTable( XColorTable* pColTab )
+ { mpNewColorTab = pColTab; }
+ XColorTable* GetNewColorTable() const { return mpNewColorTab; }
+ const XColorTable* GetColorTable() const { return mpColorTab; }
+
+ void SetNewGradientList( XGradientList* pGrdLst)
+ { mpNewGradientList = pGrdLst; }
+ XGradientList* GetNewGradientList() const
+ { return mpNewGradientList; }
+ const XGradientList* GetGradientList() const { return mpGradientList; }
+
+ void SetNewHatchingList( XHatchList* pHtchLst)
+ { mpNewHatchingList = pHtchLst; }
+ XHatchList* GetNewHatchingList() const
+ { return mpNewHatchingList; }
+ const XHatchList* GetHatchingList() const { return mpHatchingList; }
+
+ void SetNewBitmapList( XBitmapList* pBmpLst)
+ { mpNewBitmapList = pBmpLst; }
+ XBitmapList* GetNewBitmapList() const { return mpNewBitmapList; }
+ const XBitmapList* GetBitmapList() const { return mpBitmapList; }
+
+ void DontDeleteColorTable() { mbDeleteColorTable = FALSE; }
+};
+
+/*************************************************************************
+|*
+|* Transparence-Tab-Page
+|*
+\************************************************************************/
+
+class SvxTransparenceTabPage : public SvxTabPage
+{
+ using TabPage::ActivatePage;
+ using TabPage::DeactivatePage;
+
+ const SfxItemSet& rOutAttrs;
+ RECT_POINT eRP;
+
+ //CHINA001 UINT16* pPageType;
+ //CHINA001 UINT16* pDlgType;
+ UINT16 nPageType; //add CHINA001
+ UINT16 nDlgType; //add CHINA001
+
+ // main selection
+ FixedLine aFlProp;
+ RadioButton aRbtTransOff;
+ RadioButton aRbtTransLinear;
+ RadioButton aRbtTransGradient;
+
+ // linear transparency
+ MetricField aMtrTransparent;
+
+ // gradient transparency
+ FixedText aFtTrgrType;
+ ListBox aLbTrgrGradientType;
+ FixedText aFtTrgrCenterX;
+ MetricField aMtrTrgrCenterX;
+ FixedText aFtTrgrCenterY;
+ MetricField aMtrTrgrCenterY;
+ FixedText aFtTrgrAngle;
+ MetricField aMtrTrgrAngle;
+ FixedText aFtTrgrBorder;
+ MetricField aMtrTrgrBorder;
+ FixedText aFtTrgrStartValue;
+ MetricField aMtrTrgrStartValue;
+ FixedText aFtTrgrEndValue;
+ MetricField aMtrTrgrEndValue;
+
+ // preview
+ SvxXRectPreview aCtlBitmapPreview;
+ SvxXRectPreview aCtlXRectPreview;
+ BOOL bBitmap;
+
+ XOutdevItemPool* pXPool;
+ XFillAttrSetItem aXFillAttr;
+ SfxItemSet& rXFSet;
+
+#ifdef _SVX_TPAREA_CXX
+ DECL_LINK(ClickTransOffHdl_Impl, void * );
+ DECL_LINK(ClickTransLinearHdl_Impl, void * );
+ DECL_LINK(ClickTransGradientHdl_Impl, void * );
+ DECL_LINK(ModifyTransparentHdl_Impl, void*);
+ DECL_LINK(ChangeTrgrTypeHdl_Impl, void*);
+ DECL_LINK(ModifiedTrgrHdl_Impl, void*);
+#endif
+
+ void ActivateLinear(BOOL bActivate);
+ void ActivateGradient(BOOL bActivate);
+ void SetControlState_Impl(XGradientStyle eXGS);
+
+ BOOL InitPreview ( const SfxItemSet& rSet );
+ void InvalidatePreview (BOOL bEnable = TRUE );
+
+public:
+ SvxTransparenceTabPage(Window* pParent, const SfxItemSet& rInAttrs);
+ void Construct();
+
+ static SfxTabPage* Create(Window*, const SfxItemSet&);
+ static UINT16* GetRanges();
+
+ virtual BOOL FillItemSet(SfxItemSet&);
+ virtual void Reset(const SfxItemSet&);
+ virtual void ActivatePage(const SfxItemSet& rSet);
+ virtual int DeactivatePage(SfxItemSet* pSet);
+ virtual void PointChanged(Window* pWindow, RECT_POINT eRP);
+
+ //CHINA001 void SetPageType(UINT16 *pInType) { pPageType = pInType; }
+ //CHINA001 void SetDlgType(UINT16* pInType) { pDlgType = pInType; }
+ void SetPageType(UINT16 nInType) { nPageType = nInType; } //add CHINA001
+ void SetDlgType(UINT16 nInType) { nDlgType = nInType; }//add CHINA001
+ virtual void PageCreated (SfxAllItemSet aSet); //add CHINA001
+};
+
+/*************************************************************************
+|*
+|* Fl"achen-Tab-Page
+|*
+\************************************************************************/
+
+class SvxAreaTabPage : public SvxTabPage
+{
+ using TabPage::ActivatePage;
+ using TabPage::DeactivatePage;
+
+private:
+ FixedLine aFlProp;
+ ListBox aTypeLB;
+
+ ColorLB aLbColor;
+ GradientLB aLbGradient;
+ HatchingLB aLbHatching;
+ BitmapLB aLbBitmap;
+ SvxXRectPreview aCtlBitmapPreview;
+
+ TriStateBox aTsbStepCount;
+ FixedLine aFlStepCount;
+ NumericField aNumFldStepCount;
+
+ CheckBox aCbxHatchBckgrd;
+ ColorLB aLbHatchBckgrdColor;
+
+ FixedLine aFlSize;
+ TriStateBox aTsbOriginal;
+ TriStateBox aTsbScale;
+ FixedText aFtXSize;
+ MetricField aMtrFldXSize;
+ FixedText aFtYSize;
+ MetricField aMtrFldYSize;
+ FixedLine aFlPosition;
+ SvxRectCtl aCtlPosition;
+ FixedText aFtXOffset;
+ MetricField aMtrFldXOffset;
+ FixedText aFtYOffset;
+ MetricField aMtrFldYOffset;
+ TriStateBox aTsbTile;
+ TriStateBox aTsbStretch;
+ FixedLine aFlOffset;
+ RadioButton aRbtRow;
+ RadioButton aRbtColumn;
+ MetricField aMtrFldOffset;
+
+ SvxXRectPreview aCtlXRectPreview;
+
+ const SfxItemSet& rOutAttrs;
+ RECT_POINT eRP;
+
+ XColorTable* pColorTab;
+ XGradientList* pGradientList;
+ XHatchList* pHatchingList;
+ XBitmapList* pBitmapList;
+
+ ChangeType* pnColorTableState;
+ ChangeType* pnBitmapListState;
+ ChangeType* pnGradientListState;
+ ChangeType* pnHatchingListState;
+
+ //CHINA001 USHORT* pPageType;
+ //CHINA001 USHORT* pDlgType;
+ //CHINA001 USHORT* pPos;
+ UINT16 nPageType; //add CHINA001
+ UINT16 nDlgType;//add CHINA001
+ UINT16 nPos; //add CHINA001
+
+ BOOL* pbAreaTP;
+
+ XOutdevItemPool* pXPool;
+ XFillAttrSetItem aXFillAttr;
+ SfxItemSet& rXFSet;
+
+ SfxMapUnit ePoolUnit;
+ FieldUnit eFUnit;
+
+#ifdef _SVX_TPAREA_CXX
+ DECL_LINK( SelectDialogTypeHdl_Impl, ListBox * );
+ DECL_LINK( ClickInvisibleHdl_Impl, void * );
+ DECL_LINK( ClickColorHdl_Impl, void * );
+ DECL_LINK( ModifyColorHdl_Impl, void * );
+ DECL_LINK( ModifyHatchBckgrdColorHdl_Impl, void * );
+ DECL_LINK( ClickGradientHdl_Impl, void * );
+ DECL_LINK( ModifyGradientHdl_Impl, void * );
+ DECL_LINK( ClickHatchingHdl_Impl, void * );
+ DECL_LINK( ModifyHatchingHdl_Impl, void * );
+ DECL_LINK( ToggleHatchBckgrdColorHdl_Impl, void * );
+ DECL_LINK( ClickBitmapHdl_Impl, void * );
+ DECL_LINK( ModifyBitmapHdl_Impl, void * );
+// DECL_LINK( ModifyTransparentHdl_Impl, void * );
+ DECL_LINK( ModifyStepCountHdl_Impl, void * );
+ DECL_LINK( ModifyTileHdl_Impl, void * );
+ DECL_LINK( ClickScaleHdl_Impl, void * );
+#endif
+
+public:
+ SvxAreaTabPage( Window* pParent, const SfxItemSet& rInAttrs );
+
+ void Construct();
+
+ static SfxTabPage* Create( Window*, const SfxItemSet& );
+ static USHORT* GetRanges();
+
+ virtual BOOL FillItemSet( SfxItemSet& );
+ virtual void Reset( const SfxItemSet & );
+ virtual void ActivatePage( const SfxItemSet& rSet );
+ virtual int DeactivatePage( SfxItemSet* pSet );
+ virtual void PointChanged( Window* pWindow, RECT_POINT eRP );
+
+ void SetColorTable( XColorTable* pColTab ) { pColorTab = pColTab; }
+ void SetGradientList( XGradientList* pGrdLst)
+ { pGradientList = pGrdLst; }
+ void SetHatchingList( XHatchList* pHtchLst)
+ { pHatchingList = pHtchLst; }
+ void SetBitmapList( XBitmapList* pBmpLst) { pBitmapList = pBmpLst; }
+
+ //CHINA001 void SetPageType( USHORT* pInType ) { pPageType = pInType; }
+ void SetPageType( UINT16 nInType ) { nPageType = nInType; } //add CHINA001
+ //CHINA001 void SetDlgType( USHORT* pInType ) { pDlgType = pInType; }
+ void SetDlgType( UINT16 nInType ) { nDlgType = nInType; }//add CHINA001
+ //CHINA001 void SetPos( USHORT* pInPos ) { pPos = pInPos; }
+ void SetPos( UINT16 nInPos ) { nPos = nInPos; }//add CHINA001
+ void SetAreaTP( BOOL* pIn ) { pbAreaTP = pIn; }
+ virtual void PageCreated (SfxAllItemSet aSet); //add CHINA001
+ void SetColorChgd( ChangeType* pIn ) { pnColorTableState = pIn; }
+ void SetGrdChgd( ChangeType* pIn ) { pnGradientListState = pIn; }
+ void SetHtchChgd( ChangeType* pIn ) { pnHatchingListState = pIn; }
+ void SetBmpChgd( ChangeType* pIn ) { pnBitmapListState = pIn; }
+};
+
+/*************************************************************************
+|*
+|* Schatten-Tab-Page
+|*
+\************************************************************************/
+
+class SvxShadowTabPage : public SvxTabPage
+{
+ using TabPage::ActivatePage;
+ using TabPage::DeactivatePage;
+
+private:
+ FixedLine aFlProp;
+ TriStateBox aTsbShowShadow;
+ FixedText aFtPosition;
+ SvxRectCtl aCtlPosition;
+ FixedText aFtDistance;
+ MetricField aMtrDistance;
+ FixedText aFtShadowColor;
+ ColorLB aLbShadowColor;
+ FixedText aFtTransparent;
+ MetricField aMtrTransparent;
+ SvxXShadowPreview aCtlXRectPreview;
+
+ const SfxItemSet& rOutAttrs;
+ RECT_POINT eRP;
+
+ XColorTable* pColorTab;
+ ChangeType* pnColorTableState;
+ UINT16 nPageType; //add CHINA001
+ UINT16 nDlgType; //add CHINA001
+ USHORT* pPos;
+ BOOL* pbAreaTP;
+
+ BOOL bDisable;
+
+ XOutdevItemPool* pXPool;
+ XFillAttrSetItem aXFillAttr;
+ SfxItemSet& rXFSet;
+ SfxMapUnit ePoolUnit;
+
+#ifdef _SVX_TPSHADOW_CXX
+ DECL_LINK( ClickShadowHdl_Impl, void * );
+ DECL_LINK( ModifyShadowHdl_Impl, void * );
+#endif
+
+public:
+ SvxShadowTabPage( Window* pParent, const SfxItemSet& rInAttrs );
+
+ void Construct();
+ static SfxTabPage* Create( Window*, const SfxItemSet& );
+ static USHORT* GetRanges();
+
+ virtual BOOL FillItemSet( SfxItemSet& );
+ virtual void Reset( const SfxItemSet & );
+ virtual void ActivatePage( const SfxItemSet& rSet );
+ virtual int DeactivatePage( SfxItemSet* pSet );
+ virtual void PointChanged( Window* pWindow, RECT_POINT eRP );
+
+ void SetColorTable( XColorTable* pColTab ) { pColorTab = pColTab; }
+//CHINA001 void SetPageType( USHORT* pInType ) { pPageType = pInType; }
+//CHINA001 void SetDlgType( USHORT* pInType ) { pDlgType = pInType; }
+ void SetPageType( UINT16 nInType ) { nPageType = nInType; } //add CHINA001
+ void SetDlgType( UINT16 nInType ) { nDlgType = nInType; } //add CHINA001
+ void SetAreaTP( BOOL* pIn ) { pbAreaTP = pIn; }
+ void SetColorChgd( ChangeType* pIn ) { pnColorTableState = pIn; }
+ virtual void PageCreated (SfxAllItemSet aSet); //add CHINA001
+ void DisablePage( BOOL bIn ) { bDisable = bIn; }
+};
+
+/*************************************************************************
+|*
+|* Farbverlauf-Tab-Page
+|*
+\************************************************************************/
+
+class SvxGradientTabPage : public SfxTabPage
+{
+ using TabPage::ActivatePage;
+ using TabPage::DeactivatePage;
+
+private:
+ FixedLine aFlProp;
+ FixedText aFtType;
+ ListBox aLbGradientType;
+ FixedText aFtCenterX;
+ MetricField aMtrCenterX;
+ FixedText aFtCenterY;
+ MetricField aMtrCenterY;
+ FixedText aFtAngle;
+ MetricField aMtrAngle;
+ FixedText aFtBorder;
+ MetricField aMtrBorder;
+ FixedText aFtColorFrom;
+ ColorLB aLbColorFrom;
+ MetricField aMtrColorFrom;
+ FixedText aFtColorTo;
+ ColorLB aLbColorTo;
+ MetricField aMtrColorTo;
+ GradientLB aLbGradients;
+ SvxXRectPreview aCtlPreview;
+ PushButton aBtnAdd;
+ PushButton aBtnModify;
+ PushButton aBtnDelete;
+ ImageButton aBtnLoad;
+ ImageButton aBtnSave;
+
+ const SfxItemSet& rOutAttrs;
+
+ XColorTable* pColorTab;
+ XGradientList* pGradientList;
+
+ ChangeType* pnGradientListState;
+ ChangeType* pnColorTableState;
+ USHORT* pPageType;
+ USHORT* pDlgType;
+ USHORT* pPos;
+ BOOL* pbAreaTP;
+
+ XOutdevItemPool* pXPool;
+ XFillStyleItem aXFStyleItem;
+ XFillGradientItem aXGradientItem;
+ XFillAttrSetItem aXFillAttr;
+ SfxItemSet& rXFSet;
+
+#ifdef _SVX_TPGRADNT_CXX
+ DECL_LINK( ClickAddHdl_Impl, void * );
+ DECL_LINK( ClickModifyHdl_Impl, void * );
+ DECL_LINK( ClickDeleteHdl_Impl, void * );
+ DECL_LINK( ChangeGradientHdl_Impl, void * );
+ DECL_LINK( ModifiedHdl_Impl, void * );
+ DECL_LINK( ClickLoadHdl_Impl, void * );
+ DECL_LINK( ClickSaveHdl_Impl, void * );
+
+ long CheckChanges_Impl();
+ void SetControlState_Impl( XGradientStyle eXGS );
+#endif
+
+public:
+ SvxGradientTabPage( Window* pParent, const SfxItemSet& rInAttrs );
+
+ void Construct();
+
+ static SfxTabPage* Create( Window*, const SfxItemSet& );
+ virtual BOOL FillItemSet( SfxItemSet& );
+ virtual void Reset( const SfxItemSet & );
+
+ virtual void ActivatePage( const SfxItemSet& rSet );
+ virtual int DeactivatePage( SfxItemSet* pSet );
+
+ void SetColorTable( XColorTable* pColTab ) { pColorTab = pColTab; }
+ void SetGradientList( XGradientList* pGrdLst)
+ { pGradientList = pGrdLst; }
+
+ void SetPageType( USHORT* pInType ) { pPageType = pInType; }
+ void SetDlgType( USHORT* pInType ) { pDlgType = pInType; }
+ void SetPos( USHORT* pInPos ) { pPos = pInPos; }
+ void SetAreaTP( BOOL* pIn ) { pbAreaTP = pIn; }
+
+ void SetGrdChgd( ChangeType* pIn ) { pnGradientListState = pIn; }
+ void SetColorChgd( ChangeType* pIn ) { pnColorTableState = pIn; }
+};
+
+/*************************************************************************
+|*
+|* Schraffuren-Tab-Page
+|*
+\************************************************************************/
+
+class SvxHatchTabPage : public SvxTabPage
+{
+ using TabPage::ActivatePage;
+ using TabPage::DeactivatePage;
+
+private:
+ FixedText aFtDistance;
+ MetricField aMtrDistance;
+ FixedText aFtAngle;
+ MetricField aMtrAngle;
+ SvxRectCtl aCtlAngle;
+ FixedLine aFlProp;
+ FixedText aFtLineType;
+ ListBox aLbLineType;
+ FixedText aFtLineColor;
+ ColorLB aLbLineColor;
+ HatchingLB aLbHatchings;
+ SvxXRectPreview aCtlPreview;
+ PushButton aBtnAdd;
+ PushButton aBtnModify;
+ PushButton aBtnDelete;
+ ImageButton aBtnLoad;
+ ImageButton aBtnSave;
+
+ const SfxItemSet& rOutAttrs;
+ RECT_POINT eRP;
+
+ XColorTable* pColorTab;
+ XHatchList* pHatchingList;
+
+ ChangeType* pnHatchingListState;
+ ChangeType* pnColorTableState;
+ USHORT* pPageType;
+ USHORT* pDlgType;
+ USHORT* pPos;
+ BOOL* pbAreaTP;
+
+ XOutdevItemPool* pXPool;
+ XFillStyleItem aXFStyleItem;
+ XFillHatchItem aXHatchItem;
+ XFillAttrSetItem aXFillAttr;
+ SfxItemSet& rXFSet;
+
+ SfxMapUnit ePoolUnit;
+
+#ifdef _SVX_TPHATCH_CXX
+ DECL_LINK( ChangeHatchHdl_Impl, void * );
+ DECL_LINK( ModifiedHdl_Impl, void * );
+ DECL_LINK( ClickAddHdl_Impl, void * );
+ DECL_LINK( ClickModifyHdl_Impl, void * );
+ DECL_LINK( ClickDeleteHdl_Impl, void * );
+ DECL_LINK( ClickLoadHdl_Impl, void * );
+ DECL_LINK( ClickSaveHdl_Impl, void * );
+
+ long CheckChanges_Impl();
+#endif
+
+public:
+ SvxHatchTabPage( Window* pParent, const SfxItemSet& rInAttrs );
+
+ void Construct();
+
+ static SfxTabPage* Create( Window*, const SfxItemSet& );
+ virtual BOOL FillItemSet( SfxItemSet& );
+ virtual void Reset( const SfxItemSet & );
+
+ virtual void ActivatePage( const SfxItemSet& rSet );
+ virtual int DeactivatePage( SfxItemSet* pSet );
+
+ virtual void PointChanged( Window* pWindow, RECT_POINT eRP );
+
+ void SetColorTable( XColorTable* pColTab ) { pColorTab = pColTab; }
+ void SetHatchingList( XHatchList* pHtchLst)
+ { pHatchingList = pHtchLst; }
+
+ void SetPageType( USHORT* pInType ) { pPageType = pInType; }
+ void SetDlgType( USHORT* pInType ) { pDlgType = pInType; }
+ void SetPos( USHORT* pInPos ) { pPos = pInPos; }
+ void SetAreaTP( BOOL* pIn ) { pbAreaTP = pIn; }
+
+ void SetHtchChgd( ChangeType* pIn ) { pnHatchingListState = pIn; }
+ void SetColorChgd( ChangeType* pIn ) { pnColorTableState = pIn; }
+
+ virtual void DataChanged( const DataChangedEvent& rDCEvt );
+};
+
+/*************************************************************************
+|*
+|* Bitmap-Tab-Page
+|*
+\************************************************************************/
+
+class SvxBitmapTabPage : public SvxTabPage
+{
+ using TabPage::ActivatePage;
+ using TabPage::DeactivatePage;
+
+private:
+ SvxPixelCtl aCtlPixel;
+ FixedText aFtPixelEdit;
+ FixedText aFtColor;
+ ColorLB aLbColor;
+ FixedText aFtBackgroundColor;
+ ColorLB aLbBackgroundColor;
+ FixedText aLbBitmapsHidden;
+ BitmapLB aLbBitmaps;
+ FixedLine aFlProp;
+ SvxXRectPreview aCtlPreview;
+ PushButton aBtnAdd;
+ PushButton aBtnModify;
+ PushButton aBtnImport;
+ PushButton aBtnDelete;
+ ImageButton aBtnLoad;
+ ImageButton aBtnSave;
+
+ SvxBitmapCtl aBitmapCtl;
+
+ const SfxItemSet& rOutAttrs;
+
+ XColorTable* pColorTab;
+ XBitmapList* pBitmapList;
+
+ ChangeType* pnBitmapListState;
+ ChangeType* pnColorTableState;
+ USHORT* pPageType;
+ USHORT* pDlgType;
+ USHORT* pPos;
+ BOOL* pbAreaTP;
+
+ BOOL bBmpChanged;
+
+ XOutdevItemPool* pXPool;
+ XFillStyleItem aXFStyleItem;
+ XFillBitmapItem aXBitmapItem;
+ XFillAttrSetItem aXFillAttr;
+ SfxItemSet& rXFSet;
+
+#ifdef _SVX_TPBITMAP_CXX
+ DECL_LINK( ClickAddHdl_Impl, void * );
+ DECL_LINK( ClickImportHdl_Impl, void * );
+ DECL_LINK( ClickModifyHdl_Impl, void * );
+ DECL_LINK( ClickDeleteHdl_Impl, void * );
+ DECL_LINK( ChangeBitmapHdl_Impl, void * );
+ DECL_LINK( ChangePixelColorHdl_Impl, void * );
+ DECL_LINK( ChangeBackgrndColorHdl_Impl, void * );
+ DECL_LINK( ClickLoadHdl_Impl, void * );
+ DECL_LINK( ClickSaveHdl_Impl, void * );
+
+ long CheckChanges_Impl();
+#endif
+
+public:
+ SvxBitmapTabPage( Window* pParent, const SfxItemSet& rInAttrs );
+
+ void Construct();
+
+ static SfxTabPage* Create( Window*, const SfxItemSet& );
+ virtual BOOL FillItemSet( SfxItemSet& );
+ virtual void Reset( const SfxItemSet & );
+
+ virtual void ActivatePage( const SfxItemSet& rSet );
+ virtual int DeactivatePage( SfxItemSet* pSet );
+
+ virtual void PointChanged( Window* pWindow, RECT_POINT eRP );
+
+ void SetColorTable( XColorTable* pColTab ) { pColorTab = pColTab; }
+ void SetBitmapList( XBitmapList* pBmpLst) { pBitmapList = pBmpLst; }
+
+ void SetPageType( USHORT* pInType ) { pPageType = pInType; }
+ void SetDlgType( USHORT* pInType ) { pDlgType = pInType; }
+ void SetPos( USHORT* pInPos ) { pPos = pInPos; }
+ void SetAreaTP( BOOL* pIn ) { pbAreaTP = pIn; }
+
+ void SetBmpChgd( ChangeType* pIn ) { pnBitmapListState = pIn; }
+ void SetColorChgd( ChangeType* pIn ) { pnColorTableState = pIn; }
+
+ /** Return a label that is associated with the given control. This
+ label is used to the determine the name for the control.
+ @param pLabeled
+ The control for which to return a label.
+ @return
+ Return a label control that provides a name for the specified
+ control.
+ */
+ virtual Window* GetParentLabeledBy( const Window* pLabeled ) const;
+};
+
+/*************************************************************************
+|*
+|* Farben-Tab-Page
+|*
+\************************************************************************/
+
+class SvxColorTabPage : public SfxTabPage
+{
+ using TabPage::ActivatePage;
+ using TabPage::DeactivatePage;
+
+private:
+ FixedLine aFlProp;
+ FixedText aFtName;
+ Edit aEdtName;
+ FixedText aFtColor;
+ ColorLB aLbColor;
+
+ FixedText aTableNameFT;
+ ValueSet aValSetColorTable;
+
+ SvxXRectPreview aCtlPreviewOld;
+ SvxXRectPreview aCtlPreviewNew;
+
+ ListBox aLbColorModel;
+ FixedText aFtColorModel1;
+ MetricField aMtrFldColorModel1;
+ FixedText aFtColorModel2;
+ MetricField aMtrFldColorModel2;
+ FixedText aFtColorModel3;
+ MetricField aMtrFldColorModel3;
+
+ FixedText aFtColorModel4;
+ MetricField aMtrFldColorModel4;
+
+ PushButton aBtnAdd;
+ PushButton aBtnModify;
+ PushButton aBtnWorkOn;
+ PushButton aBtnDelete;
+ ImageButton aBtnLoad;
+ ImageButton aBtnSave;
+
+ const SfxItemSet& rOutAttrs;
+
+ XColorTable* pColorTab;
+
+ ChangeType* pnColorTableState;
+ USHORT* pPageType;
+ USHORT* pDlgType;
+ USHORT* pPos;
+ BOOL* pbAreaTP;
+ BOOL bDeleteColorTable;
+
+ XOutdevItemPool* pXPool;
+ XFillStyleItem aXFStyleItem;
+ XFillColorItem aXFillColorItem;
+ XFillAttrSetItem aXFillAttr;
+ SfxItemSet& rXFSet;
+
+ ColorModel eCM;
+
+ Color aAktuellColor;
+
+#ifdef _SVX_TPCOLOR_CXX
+ void ConvertColorValues (Color& rColor, ColorModel eModell);
+ void RgbToCmyk_Impl( Color& rColor, USHORT& rK );
+ void CmykToRgb_Impl( Color& rColor, const USHORT nKey );
+ USHORT ColorToPercent_Impl( USHORT nColor );
+ USHORT PercentToColor_Impl( USHORT nPercent );
+
+ void FillValueSet_Impl( ValueSet& rVs );
+ //-----------------------------------------------------------------------------------------------------
+ DECL_LINK( ClickAddHdl_Impl, void * ); // Button 'Hinzufuegen'
+ DECL_LINK( ClickModifyHdl_Impl, void * ); // Button 'Aendern'
+ DECL_LINK( ClickDeleteHdl_Impl, void * ); // Button 'loeschen'
+ DECL_LINK( ClickWorkOnHdl_Impl, void * ); // Button 'Bearbeiten'
+
+ DECL_LINK( SelectColorLBHdl_Impl, void * ); // Farbe aus Listbox auswählen
+ DECL_LINK( SelectValSetHdl_Impl, void * ); // Farbe aus Farbpalette (links) auswählen
+ DECL_LINK( SelectColorModelHdl_Impl, void * ); // Auswahl Listbox 'Farbmodell'
+ long ChangeColorHdl_Impl( void* p );
+ DECL_LINK( ModifiedHdl_Impl, void * ); // Inhalt der Farbwerte-Felder wurde verändert
+ DECL_LINK( ClickLoadHdl_Impl, void * ); // Button 'Farbtabelle laden'
+ DECL_LINK( ClickSaveHdl_Impl, void * ); // Button 'Farbtabelle sichern'
+
+ long CheckChanges_Impl();
+#endif
+
+public:
+ SvxColorTabPage( Window* pParent, const SfxItemSet& rInAttrs );
+
+ void Construct();
+
+ static SfxTabPage* Create( Window*, const SfxItemSet& );
+ virtual BOOL FillItemSet( SfxItemSet& );
+ virtual void Reset( const SfxItemSet & );
+
+ virtual void ActivatePage( const SfxItemSet& rSet );
+ virtual int DeactivatePage( SfxItemSet* pSet );
+
+ void SetColorTable( XColorTable* pColTab ) { pColorTab = pColTab; }
+
+ void SetPageType( USHORT* pInType ) { pPageType = pInType; }
+ void SetDlgType( USHORT* pInType ) { pDlgType = pInType; }
+ void SetPos( USHORT* pInPos ) { pPos = pInPos; }
+ void SetAreaTP( BOOL* pIn ) { pbAreaTP = pIn; }
+
+ void SetColorChgd( ChangeType* pIn ) { pnColorTableState = pIn; }
+
+ void SetDeleteColorTable( BOOL bIn ) { bDeleteColorTable = bIn; }
+
+ virtual void FillUserData();
+};
+
+
+#endif // _CUI_TAB_AREA_HXX
+