/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ #ifndef INCLUDED_CUI_SOURCE_INC_CUITABAREA_HXX #define INCLUDED_CUI_SOURCE_INC_CUITABAREA_HXX #include #include #include #include #include #include #include #include #include class SdrModel; class SdrView; /************************************************************************/ class SvxAreaTabDialog : public SfxTabDialog { sal_uInt16 m_nAreaTabPage; sal_uInt16 m_nShadowTabPage; sal_uInt16 m_nTransparenceTabPage; sal_uInt16 m_nColorTabPage; sal_uInt16 m_nGradientTabPage; sal_uInt16 m_nHatchTabPage; sal_uInt16 m_nBitmapTabPage; private: SdrModel* mpDrawModel; XColorListRef mpColorList; XColorListRef mpNewColorList; XGradientListRef mpGradientList; XGradientListRef mpNewGradientList; XHatchListRef mpHatchingList; XHatchListRef mpNewHatchingList; XBitmapListRef mpBitmapList; XBitmapListRef mpNewBitmapList; const SfxItemSet& mrOutAttrs; ChangeType mnColorListState; ChangeType mnBitmapListState; ChangeType mnGradientListState; ChangeType mnHatchingListState; sal_uInt16 mnPageType; sal_Int32 mnPos; bool mbAreaTP; virtual void PageCreated( sal_uInt16 nId, SfxTabPage &rPage ) SAL_OVERRIDE; protected: virtual short Ok() SAL_OVERRIDE; DECL_LINK_TYPED( CancelHdlImpl, Button*, void ); void SavePalettes(); public: SvxAreaTabDialog( vcl::Window* pParent, const SfxItemSet* pAttr, SdrModel* pModel, bool bShadow ); void SetNewColorList( XColorListRef pColorList ) { mpNewColorList = pColorList; } XColorListRef GetNewColorList() const { return mpNewColorList; } const XColorListRef GetColorList() const { return mpColorList; } void SetNewGradientList( XGradientListRef pGrdLst) { mpNewGradientList = pGrdLst; } XGradientListRef GetNewGradientList() const { return mpNewGradientList; } void SetNewHatchingList( XHatchListRef pHtchLst) { mpNewHatchingList = pHtchLst; } XHatchListRef GetNewHatchingList() const { return mpNewHatchingList; } void SetNewBitmapList( XBitmapListRef pBmpLst) { mpNewBitmapList = pBmpLst; } XBitmapListRef GetNewBitmapList() const { return mpNewBitmapList; } }; /************************************************************************/ class SvxTransparenceTabPage : public SvxTabPage { using TabPage::ActivatePage; using TabPage::DeactivatePage; static const sal_uInt16 pTransparenceRanges[]; const SfxItemSet& rOutAttrs; RECT_POINT eRP; sal_uInt16 nPageType; sal_uInt16 nDlgType; // main selection VclPtr m_pRbtTransOff; VclPtr m_pRbtTransLinear; VclPtr m_pRbtTransGradient; /// linear transparency VclPtr m_pMtrTransparent; // gradient transparency VclPtr m_pGridGradient; VclPtr m_pLbTrgrGradientType; VclPtr m_pFtTrgrCenterX; VclPtr m_pMtrTrgrCenterX; VclPtr m_pFtTrgrCenterY; VclPtr m_pMtrTrgrCenterY; VclPtr m_pFtTrgrAngle; VclPtr m_pMtrTrgrAngle; VclPtr m_pMtrTrgrBorder; VclPtr m_pMtrTrgrStartValue; VclPtr m_pMtrTrgrEndValue; // preview VclPtr m_pCtlBitmapPreview; VclPtr m_pCtlXRectPreview; bool bBitmap; XFillAttrSetItem aXFillAttr; SfxItemSet& rXFSet; DECL_LINK_TYPED(ClickTransOffHdl_Impl, Button*, void ); DECL_LINK_TYPED(ClickTransLinearHdl_Impl, Button*, void ); DECL_LINK_TYPED(ClickTransGradientHdl_Impl, Button*, void ); DECL_LINK(ModifyTransparentHdl_Impl, void*); DECL_LINK(ModifiedTrgrHdl_Impl, void*); DECL_LINK_TYPED(ModifiedTrgrListBoxHdl_Impl, ListBox&, void); void ActivateLinear(bool bActivate); void ActivateGradient(bool bActivate); void SetControlState_Impl(css::awt::GradientStyle eXGS); bool InitPreview ( const SfxItemSet& rSet ); void InvalidatePreview (bool bEnable = true ); public: SvxTransparenceTabPage(vcl::Window* pParent, const SfxItemSet& rInAttrs); virtual ~SvxTransparenceTabPage(); virtual void dispose() SAL_OVERRIDE; static VclPtr Create(vcl::Window*, const SfxItemSet*); static const sal_uInt16* GetRanges() { return pTransparenceRanges; } virtual bool FillItemSet(SfxItemSet*) SAL_OVERRIDE; virtual void Reset(const SfxItemSet*) SAL_OVERRIDE; virtual void ChangesApplied() SAL_OVERRIDE; virtual void ActivatePage(const SfxItemSet& rSet) SAL_OVERRIDE; virtual sfxpg DeactivatePage(SfxItemSet* pSet) SAL_OVERRIDE; virtual void PointChanged(vcl::Window* pWindow, RECT_POINT eRP) SAL_OVERRIDE; void SetPageType(sal_uInt16 nInType) { nPageType = nInType; } void SetDlgType(sal_uInt16 nInType) { nDlgType = nInType; } virtual void PageCreated(const SfxAllItemSet& aSet) SAL_OVERRIDE; }; /************************************************************************/ class SvxAreaTabPage : public SvxTabPage { using TabPage::ActivatePage; using TabPage::DeactivatePage; static const sal_uInt16 pAreaRanges[]; private: VclPtr m_pTypeLB; VclPtr m_pFillLB; VclPtr m_pLbColor; VclPtr m_pLbGradient; VclPtr m_pLbHatching; VclPtr m_pLbBitmap; VclPtr m_pCtlBitmapPreview; VclPtr m_pTsbStepCount; VclPtr m_pFlStepCount; VclPtr m_pNumFldStepCount; VclPtr m_pFlHatchBckgrd; VclPtr m_pCbxHatchBckgrd; VclPtr m_pLbHatchBckgrdColor; VclPtr m_pBxBitmap; VclPtr m_pFlSize; VclPtr m_pTsbOriginal; VclPtr m_pTsbScale; VclPtr m_pGridX_Y; VclPtr m_pFtXSize; VclPtr m_pMtrFldXSize; VclPtr m_pFtYSize; VclPtr m_pMtrFldYSize; VclPtr m_pFlPosition; VclPtr m_pCtlPosition; VclPtr m_pGridOffset; VclPtr m_pMtrFldXOffset; VclPtr m_pMtrFldYOffset; VclPtr m_pBxTile; VclPtr m_pTsbTile; VclPtr m_pTsbStretch; VclPtr m_pFlOffset; VclPtr m_pRbtRow; VclPtr m_pRbtColumn; VclPtr m_pMtrFldOffset; VclPtr m_pCtlXRectPreview; const SfxItemSet& m_rOutAttrs; RECT_POINT m_eRP; XColorListRef m_pColorList; XGradientListRef m_pGradientList; XHatchListRef m_pHatchingList; XBitmapListRef m_pBitmapList; // Placeholders for pointer-based entries; these will be inited // to point to these so that the page is usable without that // SvxAreaTabDialog has to call the setter methods (e.g. SetColorChgd). // Without that the pages used in SvxAreaTabDialog are not usable ChangeType maFixed_ChangeType; bool maFixed_sal_Bool; ChangeType* m_pnColorListState; ChangeType* m_pnBitmapListState; ChangeType* m_pnGradientListState; ChangeType* m_pnHatchingListState; sal_uInt16 m_nPageType; sal_uInt16 m_nDlgType; sal_Int32 m_nPos; bool* m_pbAreaTP; XFillAttrSetItem m_aXFillAttr; SfxItemSet& m_rXFSet; SfxMapUnit m_ePoolUnit; FieldUnit m_eFUnit; //UUUU bool mbOfferImportButton; bool mbDirectGraphicSet; Graphic maDirectGraphic; OUString maDirectName; VclPtr m_pBtnImport; DECL_LINK_TYPED(SelectDialogTypeHdl_Impl, ListBox&, void); DECL_LINK_TYPED( ModifyColorHdl_Impl, ListBox&, void ); DECL_LINK_TYPED( ModifyHatchBckgrdColorHdl_Impl, ListBox&, void ); DECL_LINK_TYPED( ModifyGradientHdl_Impl, ListBox&, void ); DECL_LINK_TYPED( ModifyHatchingHdl_Impl, ListBox&, void ); DECL_LINK_TYPED( ToggleHatchBckgrdColorHdl_Impl, CheckBox&, void ); DECL_LINK_TYPED( ModifyBitmapHdl_Impl, ListBox&, void ); DECL_LINK( ModifyStepCountHdl_Impl, void* ); DECL_LINK_TYPED( ModifyStepCountClickHdl_Impl, Button*, void ); //UUUU DECL_LINK_TYPED( ClickImportHdl_Impl, Button*, void ); DECL_LINK( ModifyTileHdl_Impl, void * ); DECL_LINK_TYPED( ModifyTileClickHdl_Impl, Button*, void ); DECL_LINK_TYPED( ClickScaleHdl_Impl, Button*, void ); void ClickInvisibleHdl_Impl(); void ClickHatchingHdl_Impl(); void ClickGradientHdl_Impl(); void ClickColorHdl_Impl(); void ClickBitmapHdl_Impl(); public: SvxAreaTabPage( vcl::Window* pParent, const SfxItemSet& rInAttrs ); virtual ~SvxAreaTabPage(); virtual void dispose() SAL_OVERRIDE; void Construct(); static VclPtr Create( vcl::Window*, const SfxItemSet* ); static const sal_uInt16* GetRanges() { return pAreaRanges; } virtual bool FillItemSet( SfxItemSet* ) SAL_OVERRIDE; virtual void Reset( const SfxItemSet * ) SAL_OVERRIDE; virtual void ChangesApplied() SAL_OVERRIDE; virtual void ActivatePage( const SfxItemSet& rSet ) SAL_OVERRIDE; virtual sfxpg DeactivatePage( SfxItemSet* pSet ) SAL_OVERRIDE; virtual void PointChanged( vcl::Window* pWindow, RECT_POINT eRP ) SAL_OVERRIDE; void SetColorList( XColorListRef pColorList ) { m_pColorList = pColorList; } void SetGradientList( XGradientListRef pGrdLst) { m_pGradientList = pGrdLst; } void SetHatchingList( XHatchListRef pHtchLst) { m_pHatchingList = pHtchLst; } void SetBitmapList( XBitmapListRef pBmpLst) { m_pBitmapList = pBmpLst; } void SetPageType( sal_uInt16 nInType ) { m_nPageType = nInType; } void SetDlgType( sal_uInt16 nInType ) { m_nDlgType = nInType; } void SetPos( sal_uInt16 nInPos ) { m_nPos = nInPos; } void SetAreaTP( bool* pIn ) { m_pbAreaTP = pIn; } virtual void PageCreated(const SfxAllItemSet& aSet) SAL_OVERRIDE; void SetColorChgd( ChangeType* pIn ) { m_pnColorListState = pIn; } void SetGrdChgd( ChangeType* pIn ) { m_pnGradientListState = pIn; } void SetHtchChgd( ChangeType* pIn ) { m_pnHatchingListState = pIn; } void SetBmpChgd( ChangeType* pIn ) { m_pnBitmapListState = pIn; } }; class SvxShadowTabPage : public SvxTabPage { using TabPage::ActivatePage; using TabPage::DeactivatePage; static const sal_uInt16 pShadowRanges[]; private: VclPtr m_pTsbShowShadow; VclPtr m_pGridShadow; VclPtr m_pCtlPosition; VclPtr m_pMtrDistance; VclPtr m_pLbShadowColor; VclPtr m_pMtrTransparent; VclPtr m_pCtlXRectPreview; const SfxItemSet& m_rOutAttrs; RECT_POINT m_eRP; XColorListRef m_pColorList; ChangeType* m_pnColorListState; sal_uInt16 m_nPageType; sal_uInt16 m_nDlgType; bool* m_pbAreaTP; bool m_bDisable; XFillAttrSetItem m_aXFillAttr; SfxItemSet& m_rXFSet; SfxMapUnit m_ePoolUnit; DECL_LINK_TYPED( ClickShadowHdl_Impl, Button*, void ); DECL_LINK( ModifyShadowHdl_Impl, void * ); DECL_LINK_TYPED( SelectShadowHdl_Impl, ListBox&, void ); public: SvxShadowTabPage( vcl::Window* pParent, const SfxItemSet& rInAttrs ); virtual ~SvxShadowTabPage(); virtual void dispose() SAL_OVERRIDE; void Construct(); static VclPtr Create( vcl::Window*, const SfxItemSet* ); static const sal_uInt16* GetRanges() { return pShadowRanges; } virtual bool FillItemSet( SfxItemSet* ) SAL_OVERRIDE; virtual void Reset( const SfxItemSet * ) SAL_OVERRIDE; virtual void ActivatePage( const SfxItemSet& rSet ) SAL_OVERRIDE; virtual sfxpg DeactivatePage( SfxItemSet* pSet ) SAL_OVERRIDE; virtual void PointChanged( vcl::Window* pWindow, RECT_POINT eRP ) SAL_OVERRIDE; void SetColorList( XColorListRef pColorList ) { m_pColorList = pColorList; } void SetPageType( sal_uInt16 nInType ) { m_nPageType = nInType; } void SetDlgType( sal_uInt16 nInType ) { m_nDlgType = nInType; } void SetAreaTP( bool* pIn ) { m_pbAreaTP = pIn; } void SetColorChgd( ChangeType* pIn ) { m_pnColorListState = pIn; } virtual void PageCreated(const SfxAllItemSet& aSet) SAL_OVERRIDE; }; /************************************************************************/ class SvxGradientTabPage : public SfxTabPage { using TabPage::ActivatePage; using TabPage::DeactivatePage; private: VclPtr m_pLbGradientType; VclPtr m_pFtCenterX; VclPtr m_pMtrCenterX; VclPtr m_pFtCenterY; VclPtr m_pMtrCenterY; VclPtr m_pFtAngle; VclPtr m_pMtrAngle; VclPtr m_pMtrBorder; VclPtr m_pLbColorFrom; VclPtr m_pMtrColorFrom; VclPtr m_pLbColorTo; VclPtr m_pMtrColorTo; VclPtr m_pLbGradients; VclPtr m_pCtlPreview; VclPtr m_pBtnAdd; VclPtr m_pBtnModify; VclPtr m_pBtnDelete; VclPtr m_pBtnLoad; VclPtr m_pBtnSave; const SfxItemSet& m_rOutAttrs; XColorListRef m_pColorList; XGradientListRef m_pGradientList; ChangeType* m_pnGradientListState; ChangeType* m_pnColorListState; sal_uInt16* m_pPageType; sal_uInt16 m_nDlgType; sal_Int32* m_pPos; bool* m_pbAreaTP; XFillStyleItem m_aXFStyleItem; XFillGradientItem m_aXGradientItem; XFillAttrSetItem m_aXFillAttr; SfxItemSet& m_rXFSet; DECL_LINK_TYPED( ClickAddHdl_Impl, Button*, void ); DECL_LINK_TYPED( ClickModifyHdl_Impl, Button*, void ); DECL_LINK_TYPED( ClickDeleteHdl_Impl, Button*, void ); DECL_LINK_TYPED( ChangeGradientHdl_Impl, ListBox&, void ); DECL_LINK( ModifiedHdl_Impl, void * ); DECL_LINK_TYPED( ModifiedListBoxHdl_Impl, ListBox&, void ); DECL_LINK_TYPED( ClickLoadHdl_Impl, Button*, void ); DECL_LINK_TYPED( ClickSaveHdl_Impl, Button*, void ); long CheckChanges_Impl(); void SetControlState_Impl( css::awt::GradientStyle eXGS ); public: SvxGradientTabPage( vcl::Window* pParent, const SfxItemSet& rInAttrs ); virtual ~SvxGradientTabPage(); virtual void dispose() SAL_OVERRIDE; void Construct(); static VclPtr Create( vcl::Window*, const SfxItemSet* ); virtual bool FillItemSet( SfxItemSet* ) SAL_OVERRIDE; virtual void Reset( const SfxItemSet * ) SAL_OVERRIDE; virtual void ActivatePage( const SfxItemSet& rSet ) SAL_OVERRIDE; virtual sfxpg DeactivatePage( SfxItemSet* pSet ) SAL_OVERRIDE; void SetColorList( XColorListRef pColorList ) { m_pColorList = pColorList; } void SetGradientList( XGradientListRef pGrdLst) { m_pGradientList = pGrdLst; } void SetPageType( sal_uInt16* pInType ) { m_pPageType = pInType; } void SetDlgType( sal_uInt16 nInType ) { m_nDlgType = nInType; } void SetPos( sal_Int32* pInPos ) { m_pPos = pInPos; } void SetAreaTP( bool* pIn ) { m_pbAreaTP = pIn; } void SetGrdChgd( ChangeType* pIn ) { m_pnGradientListState = pIn; } void SetColorChgd( ChangeType* pIn ) { m_pnColorListState = pIn; } }; /************************************************************************/ class SvxHatchTabPage : public SvxTabPage { using TabPage::ActivatePage; using TabPage::DeactivatePage; private: VclPtr m_pMtrDistance; VclPtr m_pMtrAngle; VclPtr m_pCtlAngle; VclPtr m_pLbLineType; VclPtr m_pLbLineColor; VclPtr m_pLbHatchings; VclPtr m_pCtlPreview; VclPtr m_pBtnAdd; VclPtr m_pBtnModify; VclPtr m_pBtnDelete; VclPtr m_pBtnLoad; VclPtr m_pBtnSave; const SfxItemSet& m_rOutAttrs; XColorListRef m_pColorList; XHatchListRef m_pHatchingList; ChangeType* m_pnHatchingListState; ChangeType* m_pnColorListState; sal_uInt16* m_pPageType; sal_uInt16 m_nDlgType; sal_Int32* m_pPos; bool* m_pbAreaTP; XFillStyleItem m_aXFStyleItem; XFillHatchItem m_aXHatchItem; XFillAttrSetItem m_aXFillAttr; SfxItemSet& m_rXFSet; SfxMapUnit m_ePoolUnit; DECL_LINK_TYPED( ChangeHatchHdl_Impl, ListBox&, void ); DECL_LINK( ModifiedHdl_Impl, void * ); DECL_LINK_TYPED( ModifiedListBoxHdl_Impl, ListBox&, void ); DECL_LINK_TYPED( ClickAddHdl_Impl, Button*, void ); DECL_LINK_TYPED( ClickModifyHdl_Impl, Button*, void ); DECL_LINK_TYPED( ClickDeleteHdl_Impl, Button*, void ); DECL_LINK_TYPED( ClickLoadHdl_Impl, Button*, void ); DECL_LINK_TYPED( ClickSaveHdl_Impl, Button*, void ); long CheckChanges_Impl(); public: SvxHatchTabPage( vcl::Window* pParent, const SfxItemSet& rInAttrs ); virtual ~SvxHatchTabPage(); virtual void dispose() SAL_OVERRIDE; void Construct(); static VclPtr Create( vcl::Window*, const SfxItemSet* ); virtual bool FillItemSet( SfxItemSet* ) SAL_OVERRIDE; virtual void Reset( const SfxItemSet * ) SAL_OVERRIDE; virtual void ActivatePage( const SfxItemSet& rSet ) SAL_OVERRIDE; virtual sfxpg DeactivatePage( SfxItemSet* pSet ) SAL_OVERRIDE; virtual void PointChanged( vcl::Window* pWindow, RECT_POINT eRP ) SAL_OVERRIDE; void SetColorList( XColorListRef pColorList ) { m_pColorList = pColorList; } void SetHatchingList( XHatchListRef pHtchLst) { m_pHatchingList = pHtchLst; } void SetPageType( sal_uInt16* pInType ) { m_pPageType = pInType; } void SetDlgType( sal_uInt16 nInType ) { m_nDlgType = nInType; } void SetPos( sal_Int32* pInPos ) { m_pPos = pInPos; } void SetAreaTP( bool* pIn ) { m_pbAreaTP = pIn; } void SetHtchChgd( ChangeType* pIn ) { m_pnHatchingListState = pIn; } void SetColorChgd( ChangeType* pIn ) { m_pnColorListState = pIn; } virtual void DataChanged( const DataChangedEvent& rDCEvt ) SAL_OVERRIDE; }; /************************************************************************/ class SvxBitmapTabPage : public SvxTabPage { using TabPage::ActivatePage; using TabPage::DeactivatePage; private: VclPtr m_pBxPixelEditor; VclPtr m_pCtlPixel; VclPtr m_pLbColor; VclPtr m_pLbBackgroundColor; VclPtr m_pLbBitmapsHidden; VclPtr m_pLbBitmaps; VclPtr m_pCtlPreview; VclPtr m_pBtnAdd; VclPtr m_pBtnModify; VclPtr m_pBtnImport; VclPtr m_pBtnDelete; VclPtr m_pBtnLoad; VclPtr m_pBtnSave; SvxBitmapCtl* m_pBitmapCtl; const SfxItemSet& m_rOutAttrs; XColorListRef m_pColorList; XBitmapListRef m_pBitmapList; ChangeType* m_pnBitmapListState; ChangeType* m_pnColorListState; sal_uInt16* m_pPageType; sal_uInt16 m_nDlgType; sal_Int32* m_pPos; bool* m_pbAreaTP; bool m_bBmpChanged; XFillStyleItem m_aXFStyleItem; XFillBitmapItem m_aXBitmapItem; XFillAttrSetItem m_aXFillAttr; SfxItemSet& m_rXFSet; DECL_LINK_TYPED( ClickAddHdl_Impl, Button*, void ); DECL_LINK_TYPED( ClickImportHdl_Impl, Button*, void ); DECL_LINK_TYPED( ClickModifyHdl_Impl, Button*, void ); DECL_LINK_TYPED( ClickDeleteHdl_Impl, Button*, void ); DECL_LINK_TYPED( ChangeBitmapHdl_Impl, ListBox&, void ); DECL_LINK_TYPED( ChangePixelColorHdl_Impl, ListBox&, void ); DECL_LINK_TYPED( ChangeBackgrndColorHdl_Impl, ListBox&, void ); DECL_LINK_TYPED( ClickLoadHdl_Impl, Button*, void ); DECL_LINK_TYPED( ClickSaveHdl_Impl, Button*, void ); long CheckChanges_Impl(); public: SvxBitmapTabPage( vcl::Window* pParent, const SfxItemSet& rInAttrs ); virtual ~SvxBitmapTabPage(); virtual void dispose() SAL_OVERRIDE; void Construct(); static VclPtr Create( vcl::Window*, const SfxItemSet* ); virtual bool FillItemSet( SfxItemSet* ) SAL_OVERRIDE; virtual void Reset( const SfxItemSet * ) SAL_OVERRIDE; virtual void ActivatePage( const SfxItemSet& rSet ) SAL_OVERRIDE; virtual sfxpg DeactivatePage( SfxItemSet* pSet ) SAL_OVERRIDE; virtual void PointChanged( vcl::Window* pWindow, RECT_POINT eRP ) SAL_OVERRIDE; void SetColorList( XColorListRef pColorList ) { m_pColorList = pColorList; } void SetBitmapList( XBitmapListRef pBitmapList) { m_pBitmapList = pBitmapList; } void SetPageType( sal_uInt16* pInType ) { m_pPageType = pInType; } void SetDlgType( sal_uInt16 nInType ) { m_nDlgType = nInType; } void SetPos( sal_Int32* pInPos ) { m_pPos = pInPos; } void SetAreaTP( bool* pIn ) { m_pbAreaTP = pIn; } void SetBmpChgd( ChangeType* pIn ) { m_pnBitmapListState = pIn; } void SetColorChgd( ChangeType* pIn ) { m_pnColorListState = 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 vcl::Window* GetParentLabeledBy( const vcl::Window* pLabeled ) const SAL_OVERRIDE; }; /************************************************************************/ struct SvxColorTabPageShadow; class SvxColorTabPage : public SfxTabPage { using TabPage::ActivatePage; using TabPage::DeactivatePage; private: XPropertyListType meType; VclPtr mpTopDlg; VclPtr m_pBoxEmbed; VclPtr m_pBtnLoad; VclPtr m_pBtnSave; VclPtr m_pTableName; DECL_LINK_TYPED( EmbedToggleHdl_Impl, CheckBox&, void ); DECL_LINK_TYPED( ClickLoadHdl_Impl, Button*, void ); DECL_LINK_TYPED( ClickSaveHdl_Impl, Button*, void ); XPropertyListRef GetList(); bool GetEmbed(); void SetEmbed( bool bEmbed ); void UpdateTableName(); void EnableSave( bool bCanSave ); SvxColorTabPageShadow *pShadow; VclPtr m_pEdtName; VclPtr m_pLbColor; VclPtr m_pValSetColorList; VclPtr m_pCtlPreviewOld; VclPtr m_pCtlPreviewNew; VclPtr m_pLbColorModel; VclPtr m_pRGB; VclPtr m_pR; VclPtr m_pG; VclPtr m_pB; VclPtr m_pCMYK; VclPtr m_pC; VclPtr m_pY; VclPtr m_pM; VclPtr m_pK; VclPtr m_pBtnAdd; VclPtr m_pBtnModify; VclPtr m_pBtnWorkOn; VclPtr m_pBtnDelete; const SfxItemSet& rOutAttrs; XColorListRef pColorList; ChangeType* pnColorListState; sal_uInt16* pPageType; sal_uInt16 nDlgType; sal_Int32* pPos; bool* pbAreaTP; XFillStyleItem aXFStyleItem; XFillColorItem aXFillColorItem; XFillAttrSetItem aXFillAttr; SfxItemSet& rXFSet; ColorModel eCM; Color aCurrentColor; static void ConvertColorValues (Color& rColor, ColorModel eModell); static void RgbToCmyk_Impl( Color& rColor, sal_uInt16& rK ); static void CmykToRgb_Impl( Color& rColor, const sal_uInt16 nKey ); sal_uInt16 ColorToPercent_Impl( sal_uInt16 nColor ); sal_uInt16 PercentToColor_Impl( sal_uInt16 nPercent ); void ImpColorCountChanged(); DECL_LINK_TYPED( ClickAddHdl_Impl, Button*, void ); DECL_LINK_TYPED( ClickModifyHdl_Impl, Button*, void ); DECL_LINK_TYPED( ClickDeleteHdl_Impl, Button*, void ); DECL_LINK_TYPED( ClickWorkOnHdl_Impl, Button*, void ); DECL_LINK_TYPED( SelectColorLBHdl_Impl, ListBox&, void ); DECL_LINK_TYPED( SelectValSetHdl_Impl, ValueSet*, void ); DECL_LINK_TYPED( SelectColorModelHdl_Impl, ListBox&, void ); void ChangeColor(const Color &rNewColor); DECL_LINK( ModifiedHdl_Impl, void * ); long CheckChanges_Impl(); void UpdateModified(); public: SvxColorTabPage( vcl::Window* pParent, const SfxItemSet& rInAttrs ); virtual ~SvxColorTabPage(); virtual void dispose() SAL_OVERRIDE; void Construct(); static VclPtr Create( vcl::Window*, const SfxItemSet* ); virtual bool FillItemSet( SfxItemSet* ) SAL_OVERRIDE; virtual void Reset( const SfxItemSet * ) SAL_OVERRIDE; virtual void ActivatePage( const SfxItemSet& rSet ) SAL_OVERRIDE; virtual sfxpg DeactivatePage( SfxItemSet* pSet ) SAL_OVERRIDE; void SetPropertyList( XPropertyListType t, const XPropertyListRef &xRef ); void SetColorList( XColorListRef pColList ); XColorListRef GetColorList() { return pColorList; } void SaveToViewFrame( SfxViewFrame *pViewFrame ); void SetupForViewFrame( SfxViewFrame *pViewFrame ); void SetPageType( sal_uInt16* pInType ) { pPageType = pInType; } void SetDlgType( sal_uInt16 nInType ) { nDlgType = nInType; } void SetPos( sal_Int32* pInPos ) { pPos = pInPos; } void SetAreaTP( bool* pIn ) { pbAreaTP = pIn; } void SetColorChgd( ChangeType* pIn ) { pnColorListState = pIn; } virtual void FillUserData() SAL_OVERRIDE; bool IsModified() { return bool(*pnColorListState & ChangeType::MODIFIED); } void SetModified(bool bIsModified) { if (bIsModified) *pnColorListState |= ChangeType::MODIFIED; else *pnColorListState &= ~ChangeType::MODIFIED; } void AddState(ChangeType nState) { *pnColorListState |= nState; } void Update(bool bLoaded); }; #endif // INCLUDED_CUI_SOURCE_INC_CUITABAREA_HXX /* vim:set shiftwidth=4 softtabstop=4 expandtab: */