LCOV - code coverage report
Current view: top level - cui/source/inc - cuitabarea.hxx (source / functions) Hit Total Coverage
Test: commit c8344322a7af75b84dd3ca8f78b05543a976dfd5 Lines: 0 82 0.0 %
Date: 2015-06-13 12:38:46 Functions: 0 66 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : /*
       3             :  * This file is part of the LibreOffice project.
       4             :  *
       5             :  * This Source Code Form is subject to the terms of the Mozilla Public
       6             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       7             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       8             :  *
       9             :  * This file incorporates work covered by the following license notice:
      10             :  *
      11             :  *   Licensed to the Apache Software Foundation (ASF) under one or more
      12             :  *   contributor license agreements. See the NOTICE file distributed
      13             :  *   with this work for additional information regarding copyright
      14             :  *   ownership. The ASF licenses this file to you under the Apache
      15             :  *   License, Version 2.0 (the "License"); you may not use this file
      16             :  *   except in compliance with the License. You may obtain a copy of
      17             :  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
      18             :  */
      19             : #ifndef INCLUDED_CUI_SOURCE_INC_CUITABAREA_HXX
      20             : #define INCLUDED_CUI_SOURCE_INC_CUITABAREA_HXX
      21             : 
      22             : #include <svtools/valueset.hxx>
      23             : #include <vcl/button.hxx>
      24             : #include <vcl/fixed.hxx>
      25             : #include <svx/dlgctrl.hxx>
      26             : #include <svx/xsetit.hxx>
      27             : #include <svx/xfillit0.hxx>
      28             : #include <svx/xfillit.hxx>
      29             : #include <svx/tabarea.hxx>
      30             : #include <svx/SvxColorValueSet.hxx>
      31             : 
      32             : class SdrModel;
      33             : class SdrView;
      34             : 
      35             : /************************************************************************/
      36             : 
      37           0 : class SvxAreaTabDialog : public SfxTabDialog
      38             : {
      39             :     sal_uInt16            m_nAreaTabPage;
      40             :     sal_uInt16            m_nShadowTabPage;
      41             :     sal_uInt16            m_nTransparenceTabPage;
      42             :     sal_uInt16            m_nColorTabPage;
      43             :     sal_uInt16            m_nGradientTabPage;
      44             :     sal_uInt16            m_nHatchTabPage;
      45             :     sal_uInt16            m_nBitmapTabPage;
      46             : 
      47             : private:
      48             :     SdrModel*           mpDrawModel;
      49             : 
      50             :     XColorListRef         mpColorList;
      51             :     XColorListRef         mpNewColorList;
      52             :     XGradientListRef      mpGradientList;
      53             :     XGradientListRef      mpNewGradientList;
      54             :     XHatchListRef         mpHatchingList;
      55             :     XHatchListRef         mpNewHatchingList;
      56             :     XBitmapListRef        mpBitmapList;
      57             :     XBitmapListRef        mpNewBitmapList;
      58             : 
      59             :     const SfxItemSet&   mrOutAttrs;
      60             : 
      61             :     ChangeType          mnColorListState;
      62             :     ChangeType          mnBitmapListState;
      63             :     ChangeType          mnGradientListState;
      64             :     ChangeType          mnHatchingListState;
      65             : 
      66             :     sal_uInt16          mnPageType;
      67             :     sal_Int32           mnPos;
      68             :     bool                mbAreaTP;
      69             : 
      70             :     virtual void        PageCreated( sal_uInt16 nId, SfxTabPage &rPage ) SAL_OVERRIDE;
      71             : 
      72             : protected:
      73             :     virtual short       Ok() SAL_OVERRIDE;
      74             :     DECL_LINK( CancelHdlImpl, void * );
      75             :     void                SavePalettes();
      76             : 
      77             : public:
      78             :     SvxAreaTabDialog( vcl::Window* pParent, const SfxItemSet* pAttr, SdrModel* pModel, bool bShadow );
      79             : 
      80           0 :     void                SetNewColorList( XColorListRef pColTab )
      81           0 :                             { mpNewColorList = pColTab; }
      82           0 :     XColorListRef         GetNewColorList() const { return mpNewColorList; }
      83           0 :     const XColorListRef   GetColorList() const { return mpColorList; }
      84             : 
      85           0 :     void                SetNewGradientList( XGradientListRef pGrdLst)
      86           0 :                             { mpNewGradientList = pGrdLst; }
      87           0 :     XGradientListRef       GetNewGradientList() const
      88           0 :                             { return mpNewGradientList; }
      89             :     const XGradientListRef GetGradientList() const { return mpGradientList; }
      90             : 
      91           0 :     void                 SetNewHatchingList( XHatchListRef pHtchLst)
      92           0 :                             { mpNewHatchingList = pHtchLst; }
      93           0 :     XHatchListRef          GetNewHatchingList() const
      94           0 :                             { return mpNewHatchingList; }
      95             :     const XHatchListRef    GetHatchingList() const { return mpHatchingList; }
      96             : 
      97           0 :     void                 SetNewBitmapList( XBitmapListRef pBmpLst)
      98           0 :                             { mpNewBitmapList = pBmpLst; }
      99           0 :     XBitmapListRef         GetNewBitmapList() const { return mpNewBitmapList; }
     100             :     const XBitmapListRef   GetBitmapList() const { return mpBitmapList; }
     101             : };
     102             : 
     103             : /************************************************************************/
     104             : 
     105             : class SvxTransparenceTabPage : public SvxTabPage
     106             : {
     107             :     using TabPage::ActivatePage;
     108             :     using TabPage::DeactivatePage;
     109             :     static const sal_uInt16 pTransparenceRanges[];
     110             : 
     111             :     const SfxItemSet&   rOutAttrs;
     112             :     RECT_POINT          eRP;
     113             : 
     114             :     sal_uInt16             nPageType;
     115             :     sal_uInt16             nDlgType;
     116             : 
     117             :     // main selection
     118             :     VclPtr<RadioButton>        m_pRbtTransOff;
     119             :     VclPtr<RadioButton>        m_pRbtTransLinear;
     120             :     VclPtr<RadioButton>        m_pRbtTransGradient;
     121             : 
     122             :     /// linear transparency
     123             :     VclPtr<MetricField>        m_pMtrTransparent;
     124             : 
     125             :     // gradient transparency
     126             :     VclPtr<VclGrid>            m_pGridGradient;
     127             :     VclPtr<ListBox>            m_pLbTrgrGradientType;
     128             :     VclPtr<FixedText>          m_pFtTrgrCenterX;
     129             :     VclPtr<MetricField>        m_pMtrTrgrCenterX;
     130             :     VclPtr<FixedText>          m_pFtTrgrCenterY;
     131             :     VclPtr<MetricField>        m_pMtrTrgrCenterY;
     132             :     VclPtr<FixedText>          m_pFtTrgrAngle;
     133             :     VclPtr<MetricField>        m_pMtrTrgrAngle;
     134             :     VclPtr<MetricField>        m_pMtrTrgrBorder;
     135             :     VclPtr<MetricField>        m_pMtrTrgrStartValue;
     136             :     VclPtr<MetricField>        m_pMtrTrgrEndValue;
     137             : 
     138             :     // preview
     139             :     VclPtr<SvxXRectPreview>    m_pCtlBitmapPreview;
     140             :     VclPtr<SvxXRectPreview>    m_pCtlXRectPreview;
     141             :     bool                bBitmap;
     142             : 
     143             :     XOutdevItemPool*    pXPool;
     144             :     XFillAttrSetItem    aXFillAttr;
     145             :     SfxItemSet&         rXFSet;
     146             : 
     147             :     DECL_LINK(ClickTransOffHdl_Impl, void * );
     148             :     DECL_LINK(ClickTransLinearHdl_Impl, void * );
     149             :     DECL_LINK(ClickTransGradientHdl_Impl, void * );
     150             :     DECL_LINK(ModifyTransparentHdl_Impl, void*);
     151             :     DECL_LINK(ModifiedTrgrHdl_Impl, void*);
     152             : 
     153             :     void ActivateLinear(bool bActivate);
     154             :     void ActivateGradient(bool bActivate);
     155             :     void SetControlState_Impl(css::awt::GradientStyle eXGS);
     156             : 
     157             :     bool InitPreview ( const SfxItemSet& rSet );
     158             :     void InvalidatePreview (bool bEnable = true );
     159             : 
     160             : public:
     161             :     SvxTransparenceTabPage(vcl::Window* pParent, const SfxItemSet& rInAttrs);
     162             :     virtual ~SvxTransparenceTabPage();
     163             :     virtual void dispose() SAL_OVERRIDE;
     164             : 
     165             :     static VclPtr<SfxTabPage> Create(vcl::Window*, const SfxItemSet*);
     166           0 :     static const sal_uInt16* GetRanges() { return pTransparenceRanges; }
     167             : 
     168             :     virtual bool FillItemSet(SfxItemSet*) SAL_OVERRIDE;
     169             :     virtual void Reset(const SfxItemSet*) SAL_OVERRIDE;
     170             :     virtual void ActivatePage(const SfxItemSet& rSet) SAL_OVERRIDE;
     171             :     virtual sfxpg DeactivatePage(SfxItemSet* pSet) SAL_OVERRIDE;
     172             :     virtual void PointChanged(vcl::Window* pWindow, RECT_POINT eRP) SAL_OVERRIDE;
     173             : 
     174           0 :     void SetPageType(sal_uInt16 nInType) { nPageType = nInType; }
     175           0 :     void SetDlgType(sal_uInt16 nInType) { nDlgType = nInType; }
     176             :     virtual void PageCreated(const SfxAllItemSet& aSet) SAL_OVERRIDE;
     177             : };
     178             : 
     179             : /************************************************************************/
     180             : 
     181             : class SvxAreaTabPage : public SvxTabPage
     182             : {
     183             :     using TabPage::ActivatePage;
     184             :     using TabPage::DeactivatePage;
     185             :     static const sal_uInt16 pAreaRanges[];
     186             : private:
     187             :     VclPtr<ListBox>            m_pTypeLB;
     188             : 
     189             :     VclPtr<VclBox>             m_pFillLB;
     190             :     VclPtr<ColorLB>            m_pLbColor;
     191             :     VclPtr<GradientLB>         m_pLbGradient;
     192             :     VclPtr<HatchingLB>         m_pLbHatching;
     193             :     VclPtr<BitmapLB>           m_pLbBitmap;
     194             :     VclPtr<SvxXRectPreview>    m_pCtlBitmapPreview;
     195             : 
     196             :     VclPtr<TriStateBox>        m_pTsbStepCount;
     197             :     VclPtr<VclFrame>           m_pFlStepCount;
     198             :     VclPtr<NumericField>       m_pNumFldStepCount;
     199             : 
     200             :     VclPtr<VclFrame>           m_pFlHatchBckgrd;
     201             :     VclPtr<CheckBox>           m_pCbxHatchBckgrd;
     202             :     VclPtr<ColorLB>            m_pLbHatchBckgrdColor;
     203             : 
     204             :     VclPtr<VclBox>             m_pBxBitmap;
     205             : 
     206             :     VclPtr<VclFrame>           m_pFlSize;
     207             :     VclPtr<TriStateBox>        m_pTsbOriginal;
     208             :     VclPtr<TriStateBox>        m_pTsbScale;
     209             :     VclPtr<VclGrid>            m_pGridX_Y;
     210             :     VclPtr<FixedText>          m_pFtXSize;
     211             :     VclPtr<MetricField>        m_pMtrFldXSize;
     212             :     VclPtr<FixedText>          m_pFtYSize;
     213             :     VclPtr<MetricField>        m_pMtrFldYSize;
     214             : 
     215             :     VclPtr<VclFrame>           m_pFlPosition;
     216             :     VclPtr<SvxRectCtl>         m_pCtlPosition;
     217             :     VclPtr<VclGrid>            m_pGridOffset;
     218             :     VclPtr<MetricField>        m_pMtrFldXOffset;
     219             :     VclPtr<MetricField>        m_pMtrFldYOffset;
     220             :     VclPtr<VclBox>             m_pBxTile;
     221             :     VclPtr<TriStateBox>        m_pTsbTile;
     222             :     VclPtr<TriStateBox>        m_pTsbStretch;
     223             :     VclPtr<VclFrame>           m_pFlOffset;
     224             :     VclPtr<RadioButton>        m_pRbtRow;
     225             :     VclPtr<RadioButton>        m_pRbtColumn;
     226             :     VclPtr<MetricField>        m_pMtrFldOffset;
     227             : 
     228             :     VclPtr<SvxXRectPreview>    m_pCtlXRectPreview;
     229             : 
     230             :     const SfxItemSet&   rOutAttrs;
     231             :     RECT_POINT          eRP;
     232             : 
     233             :     XColorListRef         pColorList;
     234             :     XGradientListRef      pGradientList;
     235             :     XHatchListRef         pHatchingList;
     236             :     XBitmapListRef        pBitmapList;
     237             : 
     238             :     // Placeholders for pointer-based entries; these will be inited
     239             :     // to point to these so that the page is usable without that
     240             :     // SvxAreaTabDialog has to call the setter methods (e.g. SetColorChgd).
     241             :     // Without that the pages used in SvxAreaTabDialog are not usable
     242             :     ChangeType          maFixed_ChangeType;
     243             :     bool                maFixed_sal_Bool;
     244             : 
     245             :     ChangeType*         pnColorListState;
     246             :     ChangeType*         pnBitmapListState;
     247             :     ChangeType*         pnGradientListState;
     248             :     ChangeType*         pnHatchingListState;
     249             : 
     250             :     sal_uInt16 nPageType;
     251             :     sal_uInt16 nDlgType;
     252             :     sal_Int32  nPos;
     253             : 
     254             :     bool*               pbAreaTP;
     255             : 
     256             :     XOutdevItemPool*    pXPool;
     257             :     XFillAttrSetItem    aXFillAttr;
     258             :     SfxItemSet&         rXFSet;
     259             : 
     260             :     SfxMapUnit          ePoolUnit;
     261             :     FieldUnit           eFUnit;
     262             : 
     263             :     //UUUU
     264             :     bool                mbOfferImportButton;
     265             :     bool                mbDirectGraphicSet;
     266             :     Graphic             maDirectGraphic;
     267             :     OUString            maDirectName;
     268             :     VclPtr<PushButton>         m_pBtnImport;
     269             : 
     270             :     DECL_LINK(SelectDialogTypeHdl_Impl, void *);
     271             :     DECL_LINK( ModifyColorHdl_Impl, void * );
     272             :     DECL_LINK( ModifyHatchBckgrdColorHdl_Impl, void * );
     273             :     DECL_LINK( ModifyGradientHdl_Impl, void * );
     274             :     DECL_LINK( ModifyHatchingHdl_Impl, void * );
     275             :     DECL_LINK( ToggleHatchBckgrdColorHdl_Impl, void * );
     276             :     DECL_LINK( ModifyBitmapHdl_Impl, void * );
     277             :     DECL_LINK( ModifyStepCountHdl_Impl, void * );
     278             : 
     279             :     //UUUU
     280             :     DECL_LINK( ClickImportHdl_Impl, void * );
     281             : 
     282             :     DECL_LINK( ModifyTileHdl_Impl, void * );
     283             :     DECL_LINK( ClickScaleHdl_Impl, void * );
     284             :     void ClickInvisibleHdl_Impl();
     285             :     void ClickHatchingHdl_Impl();
     286             :     void ClickGradientHdl_Impl();
     287             :     void ClickColorHdl_Impl();
     288             :     void ClickBitmapHdl_Impl();
     289             : 
     290             : public:
     291             :     SvxAreaTabPage( vcl::Window* pParent, const SfxItemSet& rInAttrs );
     292             :     virtual ~SvxAreaTabPage();
     293             :     virtual void dispose() SAL_OVERRIDE;
     294             : 
     295             :     void    Construct();
     296             : 
     297             :     static VclPtr<SfxTabPage> Create( vcl::Window*, const SfxItemSet* );
     298           0 :     static const sal_uInt16* GetRanges() { return pAreaRanges; }
     299             : 
     300             :     virtual bool FillItemSet( SfxItemSet* ) SAL_OVERRIDE;
     301             :     virtual void Reset( const SfxItemSet * ) SAL_OVERRIDE;
     302             :     virtual void ActivatePage( const SfxItemSet& rSet ) SAL_OVERRIDE;
     303             :     virtual sfxpg DeactivatePage( SfxItemSet* pSet ) SAL_OVERRIDE;
     304             :     virtual void PointChanged( vcl::Window* pWindow, RECT_POINT eRP ) SAL_OVERRIDE;
     305             : 
     306           0 :     void    SetColorList( XColorListRef pColTab ) { pColorList = pColTab; }
     307           0 :     void    SetGradientList( XGradientListRef pGrdLst)
     308           0 :                 { pGradientList = pGrdLst; }
     309           0 :     void    SetHatchingList( XHatchListRef pHtchLst)
     310           0 :                 { pHatchingList = pHtchLst; }
     311           0 :     void    SetBitmapList( XBitmapListRef pBmpLst) { pBitmapList = pBmpLst; }
     312             : 
     313           0 :     void    SetPageType( sal_uInt16 nInType ) { nPageType = nInType; }
     314           0 :     void    SetDlgType( sal_uInt16 nInType ) { nDlgType = nInType; }
     315           0 :     void    SetPos( sal_uInt16 nInPos ) { nPos = nInPos; }
     316           0 :     void    SetAreaTP( bool* pIn ) { pbAreaTP = pIn; }
     317             :     virtual void PageCreated(const SfxAllItemSet& aSet) SAL_OVERRIDE;
     318           0 :     void    SetColorChgd( ChangeType* pIn ) { pnColorListState = pIn; }
     319           0 :     void    SetGrdChgd( ChangeType* pIn ) { pnGradientListState = pIn; }
     320           0 :     void    SetHtchChgd( ChangeType* pIn ) { pnHatchingListState = pIn; }
     321           0 :     void    SetBmpChgd( ChangeType* pIn ) { pnBitmapListState = pIn; }
     322             : };
     323             : 
     324             : 
     325             : class SvxShadowTabPage : public SvxTabPage
     326             : {
     327             :     using TabPage::ActivatePage;
     328             :     using TabPage::DeactivatePage;
     329             :     static const sal_uInt16 pShadowRanges[];
     330             : 
     331             : private:
     332             :     VclPtr<TriStateBox>        m_pTsbShowShadow;
     333             :     VclPtr<VclGrid>            m_pGridShadow;
     334             :     VclPtr<SvxRectCtl>         m_pCtlPosition;
     335             :     VclPtr<MetricField>        m_pMtrDistance;
     336             :     VclPtr<ColorLB>            m_pLbShadowColor;
     337             :     VclPtr<MetricField>        m_pMtrTransparent;
     338             :     VclPtr<SvxXShadowPreview>  m_pCtlXRectPreview;
     339             : 
     340             :     const SfxItemSet&   rOutAttrs;
     341             :     RECT_POINT          eRP;
     342             : 
     343             :     XColorListRef       pColorList;
     344             :     ChangeType*         pnColorListState;
     345             :     sal_uInt16          nPageType;
     346             :     sal_uInt16          nDlgType;
     347             :     bool*               pbAreaTP;
     348             : 
     349             :     bool                bDisable;
     350             : 
     351             :     XOutdevItemPool*    pXPool;
     352             :     XFillAttrSetItem    aXFillAttr;
     353             :     SfxItemSet&         rXFSet;
     354             :     SfxMapUnit          ePoolUnit;
     355             : 
     356             :     DECL_LINK( ClickShadowHdl_Impl, void * );
     357             :     DECL_LINK( ModifyShadowHdl_Impl, void * );
     358             : 
     359             : public:
     360             :     SvxShadowTabPage( vcl::Window* pParent, const SfxItemSet& rInAttrs  );
     361             :     virtual ~SvxShadowTabPage();
     362             :     virtual void dispose() SAL_OVERRIDE;
     363             : 
     364             :     void    Construct();
     365             :     static VclPtr<SfxTabPage> Create( vcl::Window*, const SfxItemSet* );
     366           0 :     static const sal_uInt16* GetRanges() { return pShadowRanges; }
     367             : 
     368             :     virtual bool FillItemSet( SfxItemSet* ) SAL_OVERRIDE;
     369             :     virtual void Reset( const SfxItemSet * ) SAL_OVERRIDE;
     370             :     virtual void ActivatePage( const SfxItemSet& rSet ) SAL_OVERRIDE;
     371             :     virtual sfxpg DeactivatePage( SfxItemSet* pSet ) SAL_OVERRIDE;
     372             :     virtual void PointChanged( vcl::Window* pWindow, RECT_POINT eRP ) SAL_OVERRIDE;
     373             : 
     374           0 :     void    SetColorList( XColorListRef pColTab ) { pColorList = pColTab; }
     375           0 :     void    SetPageType( sal_uInt16 nInType ) { nPageType = nInType; }
     376           0 :     void    SetDlgType( sal_uInt16 nInType ) { nDlgType = nInType; }
     377           0 :     void    SetAreaTP( bool* pIn ) { pbAreaTP = pIn; }
     378           0 :     void    SetColorChgd( ChangeType* pIn ) { pnColorListState = pIn; }
     379             :     virtual void PageCreated(const SfxAllItemSet& aSet) SAL_OVERRIDE;
     380             :     void    DisablePage( bool bIn ) { bDisable = bIn; }
     381             : };
     382             : 
     383             : /************************************************************************/
     384             : 
     385             : class SvxGradientTabPage : public SfxTabPage
     386             : {
     387             :     using TabPage::ActivatePage;
     388             :     using TabPage::DeactivatePage;
     389             : 
     390             : private:
     391             :     VclPtr<ListBox>            m_pLbGradientType;
     392             :     VclPtr<FixedText>          m_pFtCenterX;
     393             :     VclPtr<MetricField>        m_pMtrCenterX;
     394             :     VclPtr<FixedText>          m_pFtCenterY;
     395             :     VclPtr<MetricField>        m_pMtrCenterY;
     396             :     VclPtr<FixedText>          m_pFtAngle;
     397             :     VclPtr<MetricField>        m_pMtrAngle;
     398             :     VclPtr<MetricField>        m_pMtrBorder;
     399             :     VclPtr<ColorLB>            m_pLbColorFrom;
     400             :     VclPtr<MetricField>        m_pMtrColorFrom;
     401             :     VclPtr<ColorLB>            m_pLbColorTo;
     402             :     VclPtr<MetricField>        m_pMtrColorTo;
     403             :     VclPtr<GradientLB>         m_pLbGradients;
     404             :     VclPtr<SvxXRectPreview>    m_pCtlPreview;
     405             :     VclPtr<PushButton>         m_pBtnAdd;
     406             :     VclPtr<PushButton>         m_pBtnModify;
     407             :     VclPtr<PushButton>         m_pBtnDelete;
     408             :     VclPtr<PushButton>         m_pBtnLoad;
     409             :     VclPtr<PushButton>         m_pBtnSave;
     410             : 
     411             :     const SfxItemSet&   rOutAttrs;
     412             : 
     413             :     XColorListRef         pColorList;
     414             :     XGradientListRef      pGradientList;
     415             : 
     416             :     ChangeType*         pnGradientListState;
     417             :     ChangeType*         pnColorListState;
     418             :     sal_uInt16*         pPageType;
     419             :     sal_uInt16          nDlgType;
     420             :     sal_Int32*          pPos;
     421             :     bool*               pbAreaTP;
     422             : 
     423             :     XOutdevItemPool*    pXPool;
     424             :     XFillStyleItem      aXFStyleItem;
     425             :     XFillGradientItem   aXGradientItem;
     426             :     XFillAttrSetItem    aXFillAttr;
     427             :     SfxItemSet&         rXFSet;
     428             : 
     429             :     DECL_LINK( ClickAddHdl_Impl, void * );
     430             :     DECL_LINK( ClickModifyHdl_Impl, void * );
     431             :     DECL_LINK( ClickDeleteHdl_Impl, void * );
     432             :     DECL_LINK( ChangeGradientHdl_Impl, void * );
     433             :     DECL_LINK( ModifiedHdl_Impl, void * );
     434             :     DECL_LINK( ClickLoadHdl_Impl, void * );
     435             :     DECL_LINK( ClickSaveHdl_Impl, void * );
     436             : 
     437             :     long CheckChanges_Impl();
     438             :     void SetControlState_Impl( css::awt::GradientStyle eXGS );
     439             : 
     440             : public:
     441             :     SvxGradientTabPage( vcl::Window* pParent, const SfxItemSet& rInAttrs  );
     442             :     virtual ~SvxGradientTabPage();
     443             :     virtual void dispose() SAL_OVERRIDE;
     444             : 
     445             :     void    Construct();
     446             : 
     447             :     static VclPtr<SfxTabPage> Create( vcl::Window*, const SfxItemSet* );
     448             :     virtual bool FillItemSet( SfxItemSet* ) SAL_OVERRIDE;
     449             :     virtual void Reset( const SfxItemSet * ) SAL_OVERRIDE;
     450             : 
     451             :     virtual void ActivatePage( const SfxItemSet& rSet ) SAL_OVERRIDE;
     452             :     virtual sfxpg DeactivatePage( SfxItemSet* pSet ) SAL_OVERRIDE;
     453             : 
     454           0 :     void    SetColorList( XColorListRef pColTab ) { pColorList = pColTab; }
     455           0 :     void    SetGradientList( XGradientListRef pGrdLst)
     456           0 :                 { pGradientList = pGrdLst; }
     457             : 
     458           0 :     void    SetPageType( sal_uInt16* pInType ) { pPageType = pInType; }
     459           0 :     void    SetDlgType( sal_uInt16 nInType ) { nDlgType = nInType; }
     460           0 :     void    SetPos( sal_Int32* pInPos ) { pPos = pInPos; }
     461           0 :     void    SetAreaTP( bool* pIn ) { pbAreaTP = pIn; }
     462             : 
     463           0 :     void    SetGrdChgd( ChangeType* pIn ) { pnGradientListState = pIn; }
     464           0 :     void    SetColorChgd( ChangeType* pIn ) { pnColorListState = pIn; }
     465             : };
     466             : 
     467             : /************************************************************************/
     468             : 
     469             : class SvxHatchTabPage : public SvxTabPage
     470             : {
     471             :     using TabPage::ActivatePage;
     472             :     using TabPage::DeactivatePage;
     473             : 
     474             : private:
     475             :     VclPtr<MetricField>        m_pMtrDistance;
     476             :     VclPtr<MetricField>        m_pMtrAngle;
     477             :     VclPtr<SvxRectCtl>         m_pCtlAngle;
     478             :     VclPtr<ListBox>            m_pLbLineType;
     479             :     VclPtr<ColorLB>            m_pLbLineColor;
     480             :     VclPtr<HatchingLB>         m_pLbHatchings;
     481             :     VclPtr<SvxXRectPreview>    m_pCtlPreview;
     482             :     VclPtr<PushButton>         m_pBtnAdd;
     483             :     VclPtr<PushButton>         m_pBtnModify;
     484             :     VclPtr<PushButton>         m_pBtnDelete;
     485             :     VclPtr<PushButton>         m_pBtnLoad;
     486             :     VclPtr<PushButton>         m_pBtnSave;
     487             : 
     488             :     const SfxItemSet&   rOutAttrs;
     489             : 
     490             :     XColorListRef         pColorList;
     491             :     XHatchListRef         pHatchingList;
     492             : 
     493             :     ChangeType*         pnHatchingListState;
     494             :     ChangeType*         pnColorListState;
     495             :     sal_uInt16*         pPageType;
     496             :     sal_uInt16          nDlgType;
     497             :     sal_Int32*          pPos;
     498             :     bool*               pbAreaTP;
     499             : 
     500             :     XOutdevItemPool*    pXPool;
     501             :     XFillStyleItem      aXFStyleItem;
     502             :     XFillHatchItem      aXHatchItem;
     503             :     XFillAttrSetItem    aXFillAttr;
     504             :     SfxItemSet&         rXFSet;
     505             : 
     506             :     SfxMapUnit          ePoolUnit;
     507             : 
     508             :     DECL_LINK( ChangeHatchHdl_Impl, void * );
     509             :     DECL_LINK( ModifiedHdl_Impl, void * );
     510             :     DECL_LINK( ClickAddHdl_Impl, void * );
     511             :     DECL_LINK( ClickModifyHdl_Impl, void * );
     512             :     DECL_LINK( ClickDeleteHdl_Impl, void * );
     513             :     DECL_LINK( ClickLoadHdl_Impl, void * );
     514             :     DECL_LINK( ClickSaveHdl_Impl, void * );
     515             : 
     516             :     long CheckChanges_Impl();
     517             : 
     518             : public:
     519             :     SvxHatchTabPage( vcl::Window* pParent, const SfxItemSet& rInAttrs  );
     520             :     virtual ~SvxHatchTabPage();
     521             :     virtual void dispose() SAL_OVERRIDE;
     522             : 
     523             :     void    Construct();
     524             : 
     525             :     static VclPtr<SfxTabPage> Create( vcl::Window*, const SfxItemSet* );
     526             :     virtual bool FillItemSet( SfxItemSet* ) SAL_OVERRIDE;
     527             :     virtual void Reset( const SfxItemSet * ) SAL_OVERRIDE;
     528             : 
     529             :     virtual void ActivatePage( const SfxItemSet& rSet ) SAL_OVERRIDE;
     530             :     virtual sfxpg DeactivatePage( SfxItemSet* pSet ) SAL_OVERRIDE;
     531             : 
     532             :     virtual void PointChanged( vcl::Window* pWindow, RECT_POINT eRP ) SAL_OVERRIDE;
     533             : 
     534           0 :     void    SetColorList( XColorListRef pColTab ) { pColorList = pColTab; }
     535           0 :     void    SetHatchingList( XHatchListRef pHtchLst)
     536           0 :                 { pHatchingList = pHtchLst; }
     537             : 
     538           0 :     void    SetPageType( sal_uInt16* pInType ) { pPageType = pInType; }
     539           0 :     void    SetDlgType( sal_uInt16 nInType ) { nDlgType = nInType; }
     540           0 :     void    SetPos( sal_Int32* pInPos ) { pPos = pInPos; }
     541           0 :     void    SetAreaTP( bool* pIn ) { pbAreaTP = pIn; }
     542             : 
     543           0 :     void    SetHtchChgd( ChangeType* pIn ) { pnHatchingListState = pIn; }
     544           0 :     void    SetColorChgd( ChangeType* pIn ) { pnColorListState = pIn; }
     545             : 
     546             :     virtual void        DataChanged( const DataChangedEvent& rDCEvt ) SAL_OVERRIDE;
     547             : };
     548             : 
     549             : /************************************************************************/
     550             : 
     551             : class SvxBitmapTabPage : public SvxTabPage
     552             : {
     553             :     using TabPage::ActivatePage;
     554             :     using TabPage::DeactivatePage;
     555             : 
     556             : private:
     557             :     VclPtr<VclBox>             m_pBxPixelEditor;
     558             :     VclPtr<SvxPixelCtl>        m_pCtlPixel;
     559             :     VclPtr<ColorLB>            m_pLbColor;
     560             :     VclPtr<ColorLB>            m_pLbBackgroundColor;
     561             :     VclPtr<FixedText>          m_pLbBitmapsHidden;
     562             :     VclPtr<BitmapLB>           m_pLbBitmaps;
     563             :     VclPtr<SvxXRectPreview>    m_pCtlPreview;
     564             :     VclPtr<PushButton>         m_pBtnAdd;
     565             :     VclPtr<PushButton>         m_pBtnModify;
     566             :     VclPtr<PushButton>         m_pBtnImport;
     567             :     VclPtr<PushButton>         m_pBtnDelete;
     568             :     VclPtr<PushButton>         m_pBtnLoad;
     569             :     VclPtr<PushButton>         m_pBtnSave;
     570             : 
     571             :     SvxBitmapCtl*       m_pBitmapCtl;
     572             : 
     573             :     const SfxItemSet&   rOutAttrs;
     574             : 
     575             :     XColorListRef         pColorList;
     576             :     XBitmapListRef        pBitmapList;
     577             : 
     578             :     ChangeType*         pnBitmapListState;
     579             :     ChangeType*         pnColorListState;
     580             :     sal_uInt16*         pPageType;
     581             :     sal_uInt16          nDlgType;
     582             :     sal_Int32*          pPos;
     583             :     bool*               pbAreaTP;
     584             : 
     585             :     bool                bBmpChanged;
     586             : 
     587             :     XOutdevItemPool*    pXPool;
     588             :     XFillStyleItem      aXFStyleItem;
     589             :     XFillBitmapItem     aXBitmapItem;
     590             :     XFillAttrSetItem    aXFillAttr;
     591             :     SfxItemSet&         rXFSet;
     592             : 
     593             :     DECL_LINK( ClickAddHdl_Impl, void * );
     594             :     DECL_LINK( ClickImportHdl_Impl, void * );
     595             :     DECL_LINK( ClickModifyHdl_Impl, void * );
     596             :     DECL_LINK( ClickDeleteHdl_Impl, void * );
     597             :     DECL_LINK( ChangeBitmapHdl_Impl, void * );
     598             :     DECL_LINK( ChangePixelColorHdl_Impl, void * );
     599             :     DECL_LINK( ChangeBackgrndColorHdl_Impl, void * );
     600             :     DECL_LINK( ClickLoadHdl_Impl, void * );
     601             :     DECL_LINK( ClickSaveHdl_Impl, void * );
     602             : 
     603             :     long CheckChanges_Impl();
     604             : 
     605             : public:
     606             :     SvxBitmapTabPage( vcl::Window* pParent, const SfxItemSet& rInAttrs  );
     607             :     virtual ~SvxBitmapTabPage();
     608             :     virtual void dispose() SAL_OVERRIDE;
     609             : 
     610             :     void    Construct();
     611             : 
     612             :     static VclPtr<SfxTabPage> Create( vcl::Window*, const SfxItemSet* );
     613             :     virtual bool FillItemSet( SfxItemSet* ) SAL_OVERRIDE;
     614             :     virtual void Reset( const SfxItemSet * ) SAL_OVERRIDE;
     615             : 
     616             :     virtual void ActivatePage( const SfxItemSet& rSet ) SAL_OVERRIDE;
     617             :     virtual sfxpg DeactivatePage( SfxItemSet* pSet ) SAL_OVERRIDE;
     618             : 
     619             :     virtual void PointChanged( vcl::Window* pWindow, RECT_POINT eRP ) SAL_OVERRIDE;
     620             : 
     621           0 :     void    SetColorList( XColorListRef pColTab ) { pColorList = pColTab; }
     622           0 :     void    SetBitmapList( XBitmapListRef pBmpLst) { pBitmapList = pBmpLst; }
     623             : 
     624           0 :     void    SetPageType( sal_uInt16* pInType ) { pPageType = pInType; }
     625           0 :     void    SetDlgType( sal_uInt16 nInType ) { nDlgType = nInType; }
     626           0 :     void    SetPos( sal_Int32* pInPos ) { pPos = pInPos; }
     627           0 :     void    SetAreaTP( bool* pIn ) { pbAreaTP = pIn; }
     628             : 
     629           0 :     void    SetBmpChgd( ChangeType* pIn ) { pnBitmapListState = pIn; }
     630           0 :     void    SetColorChgd( ChangeType* pIn ) { pnColorListState = pIn; }
     631             : 
     632             :     /** Return a label that is associated with the given control.  This
     633             :         label is used to the determine the name for the control.
     634             :         @param pLabeled
     635             :             The control for which to return a label.
     636             :         @return
     637             :             Return a label control that provides a name for the specified
     638             :             control.
     639             :     */
     640             :     virtual vcl::Window* GetParentLabeledBy( const vcl::Window* pLabeled ) const SAL_OVERRIDE;
     641             : };
     642             : 
     643             : /************************************************************************/
     644             : 
     645             : struct SvxColorTabPageShadow;
     646             : class SvxColorTabPage : public SfxTabPage
     647             : {
     648             :     using TabPage::ActivatePage;
     649             :     using TabPage::DeactivatePage;
     650             : 
     651             : private:
     652             :     XPropertyListType   meType;
     653             : 
     654             :     VclPtr<Window>             mpTopDlg;
     655             :     VclPtr<CheckBox>           m_pBoxEmbed;
     656             :     VclPtr<PushButton>         m_pBtnLoad;
     657             :     VclPtr<PushButton>         m_pBtnSave;
     658             :     VclPtr<FixedText>          m_pTableName;
     659             : 
     660             :     DECL_LINK( EmbedToggleHdl_Impl, void * );
     661             :     DECL_LINK( ClickLoadHdl_Impl, void * );
     662             :     DECL_LINK( ClickSaveHdl_Impl, void * );
     663             : 
     664             :     XPropertyListRef GetList();
     665             :     bool GetEmbed();
     666             :     void SetEmbed( bool bEmbed );
     667             :     void UpdateTableName();
     668             :     void EnableSave( bool bCanSave );
     669             : 
     670             :     SvxColorTabPageShadow *pShadow;
     671             :     VclPtr<Edit>               m_pEdtName;
     672             :     VclPtr<ColorLB>            m_pLbColor;
     673             : 
     674             :     VclPtr<SvxColorValueSet>   m_pValSetColorList;
     675             : 
     676             :     VclPtr<SvxXRectPreview>    m_pCtlPreviewOld;
     677             :     VclPtr<SvxXRectPreview>    m_pCtlPreviewNew;
     678             : 
     679             :     VclPtr<ListBox>            m_pLbColorModel;
     680             : 
     681             :     VclPtr<VclContainer>       m_pRGB;
     682             :     VclPtr<NumericField>       m_pR;
     683             :     VclPtr<NumericField>       m_pG;
     684             :     VclPtr<NumericField>       m_pB;
     685             : 
     686             :     VclPtr<VclContainer>       m_pCMYK;
     687             :     VclPtr<MetricField>        m_pC;
     688             :     VclPtr<MetricField>        m_pY;
     689             :     VclPtr<MetricField>        m_pM;
     690             :     VclPtr<MetricField>        m_pK;
     691             : 
     692             :     VclPtr<PushButton>         m_pBtnAdd;
     693             :     VclPtr<PushButton>         m_pBtnModify;
     694             :     VclPtr<PushButton>         m_pBtnWorkOn;
     695             :     VclPtr<PushButton>         m_pBtnDelete;
     696             : 
     697             :     const SfxItemSet&   rOutAttrs;
     698             : 
     699             :     XColorListRef         pColorList;
     700             : 
     701             :     ChangeType*         pnColorListState;
     702             :     sal_uInt16*         pPageType;
     703             :     sal_uInt16          nDlgType;
     704             :     sal_Int32*          pPos;
     705             :     bool*               pbAreaTP;
     706             : 
     707             :     XFillStyleItem      aXFStyleItem;
     708             :     XFillColorItem      aXFillColorItem;
     709             :     XFillAttrSetItem    aXFillAttr;
     710             :     SfxItemSet&         rXFSet;
     711             : 
     712             :     ColorModel          eCM;
     713             : 
     714             :     Color               aCurrentColor;
     715             : 
     716             :     static void    ConvertColorValues (Color& rColor, ColorModel eModell);
     717             :     static void    RgbToCmyk_Impl( Color& rColor, sal_uInt16& rK );
     718             :     static void    CmykToRgb_Impl( Color& rColor, const sal_uInt16 nKey );
     719             :     sal_uInt16  ColorToPercent_Impl( sal_uInt16 nColor );
     720             :     sal_uInt16  PercentToColor_Impl( sal_uInt16 nPercent );
     721             : 
     722             :     void ImpColorCountChanged();
     723             : 
     724             : 
     725             :     DECL_LINK( ClickAddHdl_Impl, void * );
     726             :     DECL_LINK( ClickModifyHdl_Impl, void * );
     727             :     DECL_LINK( ClickDeleteHdl_Impl, void * );
     728             :     DECL_LINK( ClickWorkOnHdl_Impl, void * );
     729             : 
     730             :     DECL_LINK( SelectColorLBHdl_Impl, void * );
     731             :     DECL_LINK( SelectValSetHdl_Impl, void * );
     732             :     DECL_LINK( SelectColorModelHdl_Impl, void * );
     733             :     void ChangeColor(const Color &rNewColor);
     734             :     DECL_LINK( ModifiedHdl_Impl, void * );
     735             : 
     736             :     long CheckChanges_Impl();
     737             : 
     738             :     void UpdateModified();
     739             : public:
     740             :     SvxColorTabPage( vcl::Window* pParent, const SfxItemSet& rInAttrs );
     741             :     virtual ~SvxColorTabPage();
     742             :     virtual void dispose() SAL_OVERRIDE;
     743             : 
     744             :     void    Construct();
     745             : 
     746             :     static VclPtr<SfxTabPage> Create( vcl::Window*, const SfxItemSet* );
     747             :     virtual bool FillItemSet( SfxItemSet* ) SAL_OVERRIDE;
     748             :     virtual void Reset( const SfxItemSet * ) SAL_OVERRIDE;
     749             : 
     750             :     virtual void ActivatePage( const SfxItemSet& rSet ) SAL_OVERRIDE;
     751             :     virtual sfxpg DeactivatePage( SfxItemSet* pSet ) SAL_OVERRIDE;
     752             : 
     753             :     XPropertyListRef GetPropertyList( XPropertyListType t );
     754             :     void             SetPropertyList( XPropertyListType t, const XPropertyListRef &xRef );
     755             : 
     756             :     void    SetColorList( XColorListRef pColList );
     757           0 :     XColorListRef GetColorList() { return pColorList; }
     758             :     void    SaveToViewFrame( SfxViewFrame *pViewFrame );
     759             :     void    SetupForViewFrame( SfxViewFrame *pViewFrame );
     760             : 
     761           0 :     void    SetPageType( sal_uInt16* pInType ) { pPageType = pInType; }
     762           0 :     void    SetDlgType( sal_uInt16 nInType ) { nDlgType = nInType; }
     763           0 :     void    SetPos( sal_Int32* pInPos ) { pPos = pInPos; }
     764           0 :     void    SetAreaTP( bool* pIn ) { pbAreaTP = pIn; }
     765             : 
     766           0 :     void    SetColorChgd( ChangeType* pIn ) { pnColorListState = pIn; }
     767             : 
     768             :     virtual void FillUserData() SAL_OVERRIDE;
     769             : 
     770           0 :     bool IsModified()
     771             :     {
     772           0 :         return bool(*pnColorListState & ChangeType::MODIFIED);
     773             :     }
     774           0 :     void SetModified(bool bIsModified)
     775             :     {
     776           0 :         if (bIsModified)
     777           0 :             *pnColorListState |= ChangeType::MODIFIED;
     778             :         else
     779           0 :             *pnColorListState &= ~ChangeType::MODIFIED;
     780           0 :     }
     781           0 :     void AddState(ChangeType nState)
     782             :     {
     783           0 :         *pnColorListState |= nState;
     784           0 :     }
     785             :     void Update(bool bLoaded);
     786             : };
     787             : 
     788             : #endif // INCLUDED_CUI_SOURCE_INC_CUITABAREA_HXX
     789             : 
     790             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.11