LCOV - code coverage report
Current view: top level - libreoffice/cui/source/inc - cuitabarea.hxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 0 85 0.0 %
Date: 2012-12-27 Functions: 0 75 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 _CUI_TAB_AREA_HXX
      20             : #define _CUI_TAB_AREA_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             : 
      31             : class SdrModel;
      32             : class SdrView;
      33             : 
      34             : /************************************************************************/
      35             : 
      36             : class SvxAreaTabDialog : public SfxTabDialog
      37             : {
      38             : private:
      39             :     SdrModel*           mpDrawModel;
      40             : 
      41             :     XColorListRef         mpColorList;
      42             :     XColorListRef         mpNewColorList;
      43             :     XGradientListRef      mpGradientList;
      44             :     XGradientListRef      mpNewGradientList;
      45             :     XHatchListRef         mpHatchingList;
      46             :     XHatchListRef         mpNewHatchingList;
      47             :     XBitmapListRef        mpBitmapList;
      48             :     XBitmapListRef        mpNewBitmapList;
      49             : 
      50             :     const SfxItemSet&   mrOutAttrs;
      51             : 
      52             :     ChangeType          mnColorListState;
      53             :     ChangeType          mnBitmapListState;
      54             :     ChangeType          mnGradientListState;
      55             :     ChangeType          mnHatchingListState;
      56             : 
      57             :     sal_uInt16              mnPageType;
      58             :     sal_uInt16              mnDlgType;
      59             :     sal_uInt16              mnPos;
      60             :     sal_Bool                mbAreaTP;
      61             : 
      62             :     virtual void        PageCreated( sal_uInt16 nId, SfxTabPage &rPage );
      63             : 
      64             : protected:
      65             :     virtual short       Ok();
      66             : #ifdef _SVX_TABAREA_CXX
      67             :     DECL_LINK( CancelHdlImpl, void * );
      68             :     void                SavePalettes();
      69             : #endif
      70             : 
      71             : public:
      72             :     SvxAreaTabDialog( Window* pParent,
      73             :                       const SfxItemSet* pAttr, SdrModel* pModel,
      74             :                       const SdrView* pSdrView = NULL );
      75             :     ~SvxAreaTabDialog();
      76             : 
      77           0 :     void                SetNewColorList( XColorListRef pColTab )
      78           0 :                             { mpNewColorList = pColTab; }
      79           0 :     XColorListRef         GetNewColorList() const { return mpNewColorList; }
      80           0 :     const XColorListRef   GetColorList() const { return mpColorList; }
      81             : 
      82           0 :     void                SetNewGradientList( XGradientListRef pGrdLst)
      83           0 :                             { mpNewGradientList = pGrdLst; }
      84           0 :     XGradientListRef       GetNewGradientList() const
      85           0 :                             { return mpNewGradientList; }
      86             :     const XGradientListRef GetGradientList() const { return mpGradientList; }
      87             : 
      88           0 :     void                 SetNewHatchingList( XHatchListRef pHtchLst)
      89           0 :                             { mpNewHatchingList = pHtchLst; }
      90           0 :     XHatchListRef          GetNewHatchingList() const
      91           0 :                             { return mpNewHatchingList; }
      92             :     const XHatchListRef    GetHatchingList() const { return mpHatchingList; }
      93             : 
      94           0 :     void                 SetNewBitmapList( XBitmapListRef pBmpLst)
      95           0 :                             { mpNewBitmapList = pBmpLst; }
      96           0 :     XBitmapListRef         GetNewBitmapList() const { return mpNewBitmapList; }
      97             :     const XBitmapListRef   GetBitmapList() const { return mpBitmapList; }
      98             : };
      99             : 
     100             : /************************************************************************/
     101             : 
     102           0 : class SvxTransparenceTabPage : public SvxTabPage
     103             : {
     104             :     using TabPage::ActivatePage;
     105             :     using TabPage::DeactivatePage;
     106             : 
     107             :     const SfxItemSet&   rOutAttrs;
     108             :     RECT_POINT          eRP;
     109             : 
     110             :     sal_uInt16          nPageType;
     111             :     sal_uInt16          nDlgType;
     112             : 
     113             :     // main selection
     114             :     FixedLine           aFlProp;
     115             :     RadioButton         aRbtTransOff;
     116             :     RadioButton         aRbtTransLinear;
     117             :     RadioButton         aRbtTransGradient;
     118             : 
     119             :     /// linear transparency
     120             :     MetricField         aMtrTransparent;
     121             : 
     122             :     // gradient transparency
     123             :     FixedText           aFtTrgrType;
     124             :     ListBox             aLbTrgrGradientType;
     125             :     FixedText           aFtTrgrCenterX;
     126             :     MetricField         aMtrTrgrCenterX;
     127             :     FixedText           aFtTrgrCenterY;
     128             :     MetricField         aMtrTrgrCenterY;
     129             :     FixedText           aFtTrgrAngle;
     130             :     MetricField         aMtrTrgrAngle;
     131             :     FixedText           aFtTrgrBorder;
     132             :     MetricField         aMtrTrgrBorder;
     133             :     FixedText           aFtTrgrStartValue;
     134             :     MetricField         aMtrTrgrStartValue;
     135             :     FixedText           aFtTrgrEndValue;
     136             :     MetricField         aMtrTrgrEndValue;
     137             : 
     138             :     // preview
     139             :     SvxXRectPreview     aCtlBitmapPreview;
     140             :     SvxXRectPreview     aCtlXRectPreview;
     141             :     sal_Bool                bBitmap;
     142             : 
     143             :     XOutdevItemPool*    pXPool;
     144             :     XFillAttrSetItem    aXFillAttr;
     145             :     SfxItemSet&         rXFSet;
     146             : 
     147             : #ifdef _SVX_TPAREA_CXX
     148             :     DECL_LINK(ClickTransOffHdl_Impl, void * );
     149             :     DECL_LINK(ClickTransLinearHdl_Impl, void * );
     150             :     DECL_LINK(ClickTransGradientHdl_Impl, void * );
     151             :     DECL_LINK(ModifyTransparentHdl_Impl, void*);
     152             :     DECL_LINK(ChangeTrgrTypeHdl_Impl, void*);
     153             :     DECL_LINK(ModifiedTrgrHdl_Impl, void*);
     154             : #endif
     155             : 
     156             :     void ActivateLinear(sal_Bool bActivate);
     157             :     void ActivateGradient(sal_Bool bActivate);
     158             :     void SetControlState_Impl(XGradientStyle eXGS);
     159             : 
     160             :     sal_Bool InitPreview ( const SfxItemSet& rSet );
     161             :     void InvalidatePreview (sal_Bool bEnable = sal_True );
     162             : 
     163             : public:
     164             :     SvxTransparenceTabPage(Window* pParent, const SfxItemSet& rInAttrs);
     165             :     void Construct();
     166             : 
     167             :     static SfxTabPage* Create(Window*, const SfxItemSet&);
     168             :     static sal_uInt16* GetRanges();
     169             : 
     170             :     virtual sal_Bool FillItemSet(SfxItemSet&);
     171             :     virtual void Reset(const SfxItemSet&);
     172             :     virtual void ActivatePage(const SfxItemSet& rSet);
     173             :     virtual int  DeactivatePage(SfxItemSet* pSet);
     174             :     virtual void PointChanged(Window* pWindow, RECT_POINT eRP);
     175             : 
     176           0 :     void SetPageType(sal_uInt16 nInType) { nPageType = nInType; }
     177           0 :     void SetDlgType(sal_uInt16 nInType) { nDlgType = nInType; }
     178             :     virtual void PageCreated (SfxAllItemSet aSet);
     179             : };
     180             : 
     181             : /************************************************************************/
     182             : 
     183           0 : class SvxAreaTabPage : public SvxTabPage
     184             : {
     185             :     using TabPage::ActivatePage;
     186             :     using TabPage::DeactivatePage;
     187             : 
     188             : private:
     189             :     FixedLine           aFlProp;
     190             :     ListBox             aTypeLB;
     191             : 
     192             :     ColorLB             aLbColor;
     193             :     GradientLB          aLbGradient;
     194             :     HatchingLB          aLbHatching;
     195             :     BitmapLB            aLbBitmap;
     196             :     SvxXRectPreview     aCtlBitmapPreview;
     197             : 
     198             :     TriStateBox         aTsbStepCount;
     199             :     FixedLine           aFlStepCount;
     200             :     NumericField        aNumFldStepCount;
     201             : 
     202             :     CheckBox            aCbxHatchBckgrd;
     203             :     ColorLB             aLbHatchBckgrdColor;
     204             : 
     205             :     FixedLine           aFlSize;
     206             :     TriStateBox         aTsbOriginal;
     207             :     TriStateBox         aTsbScale;
     208             :     FixedText           aFtXSize;
     209             :     MetricField         aMtrFldXSize;
     210             :     FixedText           aFtYSize;
     211             :     MetricField         aMtrFldYSize;
     212             :     FixedLine           aFlPosition;
     213             :     SvxRectCtl          aCtlPosition;
     214             :     FixedText           aFtXOffset;
     215             :     MetricField         aMtrFldXOffset;
     216             :     FixedText           aFtYOffset;
     217             :     MetricField         aMtrFldYOffset;
     218             :     TriStateBox         aTsbTile;
     219             :     TriStateBox         aTsbStretch;
     220             :     FixedLine           aFlOffset;
     221             :     RadioButton         aRbtRow;
     222             :     RadioButton         aRbtColumn;
     223             :     MetricField         aMtrFldOffset;
     224             : 
     225             :     SvxXRectPreview     aCtlXRectPreview;
     226             : 
     227             :     const SfxItemSet&   rOutAttrs;
     228             :     RECT_POINT          eRP;
     229             : 
     230             :     XColorListRef         pColorList;
     231             :     XGradientListRef      pGradientList;
     232             :     XHatchListRef         pHatchingList;
     233             :     XBitmapListRef        pBitmapList;
     234             : 
     235             :     ChangeType*         pnColorListState;
     236             :     ChangeType*         pnBitmapListState;
     237             :     ChangeType*         pnGradientListState;
     238             :     ChangeType*         pnHatchingListState;
     239             : 
     240             :     sal_uInt16 nPageType;
     241             :     sal_uInt16 nDlgType;
     242             :     sal_uInt16 nPos;
     243             : 
     244             :     sal_Bool*               pbAreaTP;
     245             : 
     246             :     XOutdevItemPool*    pXPool;
     247             :     XFillAttrSetItem    aXFillAttr;
     248             :     SfxItemSet&         rXFSet;
     249             : 
     250             :     SfxMapUnit          ePoolUnit;
     251             :     FieldUnit           eFUnit;
     252             : 
     253             : #ifdef _SVX_TPAREA_CXX
     254             :     DECL_LINK(SelectDialogTypeHdl_Impl, void *);
     255             :     DECL_LINK( ModifyColorHdl_Impl, void * );
     256             :     DECL_LINK( ModifyHatchBckgrdColorHdl_Impl, void * );
     257             :     DECL_LINK( ModifyGradientHdl_Impl, void * );
     258             :     DECL_LINK( ModifyHatchingHdl_Impl, void * );
     259             :     DECL_LINK( ToggleHatchBckgrdColorHdl_Impl, void * );
     260             :     DECL_LINK( ModifyBitmapHdl_Impl, void * );
     261             :     DECL_LINK( ModifyStepCountHdl_Impl, void * );
     262             :     DECL_LINK( ModifyTileHdl_Impl, void * );
     263             :     DECL_LINK( ClickScaleHdl_Impl, void * );
     264             :     void ClickInvisibleHdl_Impl();
     265             :     void ClickHatchingHdl_Impl();
     266             :     void ClickGradientHdl_Impl();
     267             :     void ClickColorHdl_Impl();
     268             :     void ClickBitmapHdl_Impl();
     269             : #endif
     270             : 
     271             : public:
     272             :     SvxAreaTabPage( Window* pParent, const SfxItemSet& rInAttrs  );
     273             : 
     274             :     void    Construct();
     275             : 
     276             :     static  SfxTabPage* Create( Window*, const SfxItemSet& );
     277             :     static  sal_uInt16*     GetRanges();
     278             : 
     279             :     virtual sal_Bool FillItemSet( SfxItemSet& );
     280             :     virtual void Reset( const SfxItemSet & );
     281             :     virtual void ActivatePage( const SfxItemSet& rSet );
     282             :     virtual int  DeactivatePage( SfxItemSet* pSet );
     283             :     virtual void PointChanged( Window* pWindow, RECT_POINT eRP );
     284             : 
     285           0 :     void    SetColorList( XColorListRef pColTab ) { pColorList = pColTab; }
     286           0 :     void    SetGradientList( XGradientListRef pGrdLst)
     287           0 :                 { pGradientList = pGrdLst; }
     288           0 :     void    SetHatchingList( XHatchListRef pHtchLst)
     289           0 :                 { pHatchingList = pHtchLst; }
     290           0 :     void    SetBitmapList( XBitmapListRef pBmpLst) { pBitmapList = pBmpLst; }
     291             : 
     292           0 :     void    SetPageType( sal_uInt16 nInType ) { nPageType = nInType; }
     293           0 :     void    SetDlgType( sal_uInt16 nInType ) { nDlgType = nInType; }
     294           0 :     void    SetPos( sal_uInt16 nInPos ) { nPos = nInPos; }
     295           0 :     void    SetAreaTP( sal_Bool* pIn ) { pbAreaTP = pIn; }
     296             :     virtual void PageCreated (SfxAllItemSet aSet);
     297           0 :     void    SetColorChgd( ChangeType* pIn ) { pnColorListState = pIn; }
     298           0 :     void    SetGrdChgd( ChangeType* pIn ) { pnGradientListState = pIn; }
     299           0 :     void    SetHtchChgd( ChangeType* pIn ) { pnHatchingListState = pIn; }
     300           0 :     void    SetBmpChgd( ChangeType* pIn ) { pnBitmapListState = pIn; }
     301             : };
     302             : 
     303             : 
     304           0 : class SvxShadowTabPage : public SvxTabPage
     305             : {
     306             :     using TabPage::ActivatePage;
     307             :     using TabPage::DeactivatePage;
     308             : 
     309             : private:
     310             :     FixedLine           aFlProp;
     311             :     TriStateBox         aTsbShowShadow;
     312             :     FixedText           aFtPosition;
     313             :     SvxRectCtl          aCtlPosition;
     314             :     FixedText           aFtDistance;
     315             :     MetricField         aMtrDistance;
     316             :     FixedText           aFtShadowColor;
     317             :     ColorLB             aLbShadowColor;
     318             :     FixedText           aFtTransparent;
     319             :     MetricField         aMtrTransparent;
     320             :     SvxXShadowPreview   aCtlXRectPreview;
     321             : 
     322             :     const SfxItemSet&   rOutAttrs;
     323             :     RECT_POINT          eRP;
     324             : 
     325             :     XColorListRef         pColorList;
     326             :     ChangeType*         pnColorListState;
     327             :     sal_uInt16              nPageType;
     328             :     sal_uInt16              nDlgType;
     329             :     sal_Bool*               pbAreaTP;
     330             : 
     331             :     sal_Bool                bDisable;
     332             : 
     333             :     XOutdevItemPool*    pXPool;
     334             :     XFillAttrSetItem    aXFillAttr;
     335             :     SfxItemSet&         rXFSet;
     336             :     SfxMapUnit          ePoolUnit;
     337             : 
     338             : #ifdef _SVX_TPSHADOW_CXX
     339             :     DECL_LINK( ClickShadowHdl_Impl, void * );
     340             :     DECL_LINK( ModifyShadowHdl_Impl, void * );
     341             : #endif
     342             : 
     343             : public:
     344             :     SvxShadowTabPage( Window* pParent, const SfxItemSet& rInAttrs  );
     345             : 
     346             :     void    Construct();
     347             :     static  SfxTabPage* Create( Window*, const SfxItemSet& );
     348             :     static  sal_uInt16*     GetRanges();
     349             : 
     350             :     virtual sal_Bool FillItemSet( SfxItemSet& );
     351             :     virtual void Reset( const SfxItemSet & );
     352             :     virtual void ActivatePage( const SfxItemSet& rSet );
     353             :     virtual int  DeactivatePage( SfxItemSet* pSet );
     354             :     virtual void PointChanged( Window* pWindow, RECT_POINT eRP );
     355             : 
     356           0 :     void    SetColorList( XColorListRef pColTab ) { pColorList = pColTab; }
     357           0 :     void    SetPageType( sal_uInt16 nInType ) { nPageType = nInType; }
     358           0 :     void    SetDlgType( sal_uInt16 nInType ) { nDlgType = nInType; }
     359           0 :     void    SetAreaTP( sal_Bool* pIn ) { pbAreaTP = pIn; }
     360           0 :     void    SetColorChgd( ChangeType* pIn ) { pnColorListState = pIn; }
     361             :     virtual void PageCreated (SfxAllItemSet aSet);
     362             :     void    DisablePage( sal_Bool bIn ) { bDisable = bIn; }
     363             : };
     364             : 
     365             : /************************************************************************/
     366             : 
     367           0 : class SvxGradientTabPage : public SfxTabPage
     368             : {
     369             :     using TabPage::ActivatePage;
     370             :     using TabPage::DeactivatePage;
     371             : 
     372             : private:
     373             :     FixedLine           aFlProp;
     374             :     FixedText           aFtType;
     375             :     ListBox             aLbGradientType;
     376             :     FixedText           aFtCenterX;
     377             :     MetricField         aMtrCenterX;
     378             :     FixedText           aFtCenterY;
     379             :     MetricField         aMtrCenterY;
     380             :     FixedText           aFtAngle;
     381             :     MetricField         aMtrAngle;
     382             :     FixedText           aFtBorder;
     383             :     MetricField         aMtrBorder;
     384             :     FixedText           aFtColorFrom;
     385             :     ColorLB             aLbColorFrom;
     386             :     MetricField         aMtrColorFrom;
     387             :     FixedText           aFtColorTo;
     388             :     ColorLB             aLbColorTo;
     389             :     MetricField         aMtrColorTo;
     390             :     GradientLB          aLbGradients;
     391             :     SvxXRectPreview     aCtlPreview;
     392             :     PushButton          aBtnAdd;
     393             :     PushButton          aBtnModify;
     394             :     PushButton          aBtnDelete;
     395             :     ImageButton         aBtnLoad;
     396             :     ImageButton         aBtnSave;
     397             : 
     398             :     const SfxItemSet&   rOutAttrs;
     399             : 
     400             :     XColorListRef         pColorList;
     401             :     XGradientListRef      pGradientList;
     402             : 
     403             :     ChangeType*         pnGradientListState;
     404             :     ChangeType*         pnColorListState;
     405             :     sal_uInt16*             pPageType;
     406             :     sal_uInt16*             pDlgType;
     407             :     sal_uInt16*             pPos;
     408             :     sal_Bool*               pbAreaTP;
     409             : 
     410             :     XOutdevItemPool*    pXPool;
     411             :     XFillStyleItem      aXFStyleItem;
     412             :     XFillGradientItem   aXGradientItem;
     413             :     XFillAttrSetItem    aXFillAttr;
     414             :     SfxItemSet&         rXFSet;
     415             : 
     416             : #ifdef _SVX_TPGRADNT_CXX
     417             :     DECL_LINK( ClickAddHdl_Impl, void * );
     418             :     DECL_LINK( ClickModifyHdl_Impl, void * );
     419             :     DECL_LINK( ClickDeleteHdl_Impl, void * );
     420             :     DECL_LINK( ChangeGradientHdl_Impl, void * );
     421             :     DECL_LINK( ModifiedHdl_Impl, void * );
     422             :     DECL_LINK( ClickLoadHdl_Impl, void * );
     423             :     DECL_LINK( ClickSaveHdl_Impl, void * );
     424             : 
     425             :     long CheckChanges_Impl();
     426             :     void SetControlState_Impl( XGradientStyle eXGS );
     427             : #endif
     428             : 
     429             : public:
     430             :     SvxGradientTabPage( Window* pParent, const SfxItemSet& rInAttrs  );
     431             : 
     432             :     void    Construct();
     433             : 
     434             :     static  SfxTabPage* Create( Window*, const SfxItemSet& );
     435             :     virtual sal_Bool FillItemSet( SfxItemSet& );
     436             :     virtual void Reset( const SfxItemSet & );
     437             : 
     438             :     virtual void ActivatePage( const SfxItemSet& rSet );
     439             :     virtual int  DeactivatePage( SfxItemSet* pSet );
     440             : 
     441           0 :     void    SetColorList( XColorListRef pColTab ) { pColorList = pColTab; }
     442           0 :     void    SetGradientList( XGradientListRef pGrdLst)
     443           0 :                 { pGradientList = pGrdLst; }
     444             : 
     445           0 :     void    SetPageType( sal_uInt16* pInType ) { pPageType = pInType; }
     446           0 :     void    SetDlgType( sal_uInt16* pInType ) { pDlgType = pInType; }
     447           0 :     void    SetPos( sal_uInt16* pInPos ) { pPos = pInPos; }
     448           0 :     void    SetAreaTP( sal_Bool* pIn ) { pbAreaTP = pIn; }
     449             : 
     450           0 :     void    SetGrdChgd( ChangeType* pIn ) { pnGradientListState = pIn; }
     451           0 :     void    SetColorChgd( ChangeType* pIn ) { pnColorListState = pIn; }
     452             : };
     453             : 
     454             : /************************************************************************/
     455             : 
     456           0 : class SvxHatchTabPage : public SvxTabPage
     457             : {
     458             :     using TabPage::ActivatePage;
     459             :     using TabPage::DeactivatePage;
     460             : 
     461             : private:
     462             :     FixedText           aFtDistance;
     463             :     MetricField         aMtrDistance;
     464             :     FixedText           aFtAngle;
     465             :     MetricField         aMtrAngle;
     466             :     SvxRectCtl          aCtlAngle;
     467             :     FixedLine           aFlProp;
     468             :     FixedText           aFtLineType;
     469             :     ListBox             aLbLineType;
     470             :     FixedText           aFtLineColor;
     471             :     ColorLB             aLbLineColor;
     472             :     HatchingLB          aLbHatchings;
     473             :     SvxXRectPreview     aCtlPreview;
     474             :     PushButton          aBtnAdd;
     475             :     PushButton          aBtnModify;
     476             :     PushButton          aBtnDelete;
     477             :     ImageButton         aBtnLoad;
     478             :     ImageButton         aBtnSave;
     479             : 
     480             :     const SfxItemSet&   rOutAttrs;
     481             : 
     482             :     XColorListRef         pColorList;
     483             :     XHatchListRef         pHatchingList;
     484             : 
     485             :     ChangeType*         pnHatchingListState;
     486             :     ChangeType*         pnColorListState;
     487             :     sal_uInt16*             pPageType;
     488             :     sal_uInt16*             pDlgType;
     489             :     sal_uInt16*             pPos;
     490             :     sal_Bool*               pbAreaTP;
     491             : 
     492             :     XOutdevItemPool*    pXPool;
     493             :     XFillStyleItem      aXFStyleItem;
     494             :     XFillHatchItem      aXHatchItem;
     495             :     XFillAttrSetItem    aXFillAttr;
     496             :     SfxItemSet&         rXFSet;
     497             : 
     498             :     SfxMapUnit          ePoolUnit;
     499             : 
     500             : #ifdef _SVX_TPHATCH_CXX
     501             :     DECL_LINK( ChangeHatchHdl_Impl, void * );
     502             :     DECL_LINK( ModifiedHdl_Impl, void * );
     503             :     DECL_LINK( ClickAddHdl_Impl, void * );
     504             :     DECL_LINK( ClickModifyHdl_Impl, void * );
     505             :     DECL_LINK( ClickDeleteHdl_Impl, void * );
     506             :     DECL_LINK( ClickLoadHdl_Impl, void * );
     507             :     DECL_LINK( ClickSaveHdl_Impl, void * );
     508             : 
     509             :     long CheckChanges_Impl();
     510             : #endif
     511             : 
     512             : public:
     513             :     SvxHatchTabPage( Window* pParent, const SfxItemSet& rInAttrs  );
     514             : 
     515             :     void    Construct();
     516             : 
     517             :     static  SfxTabPage* Create( Window*, const SfxItemSet& );
     518             :     virtual sal_Bool FillItemSet( SfxItemSet& );
     519             :     virtual void Reset( const SfxItemSet & );
     520             : 
     521             :     virtual void ActivatePage( const SfxItemSet& rSet );
     522             :     virtual int  DeactivatePage( SfxItemSet* pSet );
     523             : 
     524             :     virtual void PointChanged( Window* pWindow, RECT_POINT eRP );
     525             : 
     526           0 :     void    SetColorList( XColorListRef pColTab ) { pColorList = pColTab; }
     527           0 :     void    SetHatchingList( XHatchListRef pHtchLst)
     528           0 :                 { pHatchingList = pHtchLst; }
     529             : 
     530           0 :     void    SetPageType( sal_uInt16* pInType ) { pPageType = pInType; }
     531           0 :     void    SetDlgType( sal_uInt16* pInType ) { pDlgType = pInType; }
     532           0 :     void    SetPos( sal_uInt16* pInPos ) { pPos = pInPos; }
     533           0 :     void    SetAreaTP( sal_Bool* pIn ) { pbAreaTP = pIn; }
     534             : 
     535           0 :     void    SetHtchChgd( ChangeType* pIn ) { pnHatchingListState = pIn; }
     536           0 :     void    SetColorChgd( ChangeType* pIn ) { pnColorListState = pIn; }
     537             : 
     538             :     virtual void        DataChanged( const DataChangedEvent& rDCEvt );
     539             : };
     540             : 
     541             : /************************************************************************/
     542             : 
     543           0 : class SvxBitmapTabPage : public SvxTabPage
     544             : {
     545             :     using TabPage::ActivatePage;
     546             :     using TabPage::DeactivatePage;
     547             : 
     548             : private:
     549             :     SvxPixelCtl         aCtlPixel;
     550             :     FixedText           aFtPixelEdit;
     551             :     FixedText           aFtColor;
     552             :     ColorLB             aLbColor;
     553             :     FixedText           aFtBackgroundColor;
     554             :     ColorLB             aLbBackgroundColor;
     555             :     FixedText           aLbBitmapsHidden;
     556             :     BitmapLB            aLbBitmaps;
     557             :     FixedLine           aFlProp;
     558             :     SvxXRectPreview     aCtlPreview;
     559             :     PushButton          aBtnAdd;
     560             :     PushButton          aBtnModify;
     561             :     PushButton          aBtnImport;
     562             :     PushButton          aBtnDelete;
     563             :     ImageButton         aBtnLoad;
     564             :     ImageButton         aBtnSave;
     565             : 
     566             :     SvxBitmapCtl        aBitmapCtl;
     567             : 
     568             :     const SfxItemSet&   rOutAttrs;
     569             : 
     570             :     XColorListRef         pColorList;
     571             :     XBitmapListRef        pBitmapList;
     572             : 
     573             :     ChangeType*         pnBitmapListState;
     574             :     ChangeType*         pnColorListState;
     575             :     sal_uInt16*             pPageType;
     576             :     sal_uInt16*             pDlgType;
     577             :     sal_uInt16*             pPos;
     578             :     sal_Bool*               pbAreaTP;
     579             : 
     580             :     sal_Bool                bBmpChanged;
     581             : 
     582             :     XOutdevItemPool*    pXPool;
     583             :     XFillStyleItem      aXFStyleItem;
     584             :     XFillBitmapItem     aXBitmapItem;
     585             :     XFillAttrSetItem    aXFillAttr;
     586             :     SfxItemSet&         rXFSet;
     587             : 
     588             : #ifdef _SVX_TPBITMAP_CXX
     589             :     DECL_LINK( ClickAddHdl_Impl, void * );
     590             :     DECL_LINK( ClickImportHdl_Impl, void * );
     591             :     DECL_LINK( ClickModifyHdl_Impl, void * );
     592             :     DECL_LINK( ClickDeleteHdl_Impl, void * );
     593             :     DECL_LINK( ChangeBitmapHdl_Impl, void * );
     594             :     DECL_LINK( ChangePixelColorHdl_Impl, void * );
     595             :     DECL_LINK( ChangeBackgrndColorHdl_Impl, void * );
     596             :     DECL_LINK( ClickLoadHdl_Impl, void * );
     597             :     DECL_LINK( ClickSaveHdl_Impl, void * );
     598             : 
     599             :     long CheckChanges_Impl();
     600             : #endif
     601             : 
     602             : public:
     603             :     SvxBitmapTabPage( Window* pParent, const SfxItemSet& rInAttrs  );
     604             : 
     605             :     void    Construct();
     606             : 
     607             :     static  SfxTabPage* Create( Window*, const SfxItemSet& );
     608             :     virtual sal_Bool FillItemSet( SfxItemSet& );
     609             :     virtual void Reset( const SfxItemSet & );
     610             : 
     611             :     virtual void ActivatePage( const SfxItemSet& rSet );
     612             :     virtual int  DeactivatePage( SfxItemSet* pSet );
     613             : 
     614             :     virtual void PointChanged( Window* pWindow, RECT_POINT eRP );
     615             : 
     616           0 :     void    SetColorList( XColorListRef pColTab ) { pColorList = pColTab; }
     617           0 :     void    SetBitmapList( XBitmapListRef pBmpLst) { pBitmapList = pBmpLst; }
     618             : 
     619           0 :     void    SetPageType( sal_uInt16* pInType ) { pPageType = pInType; }
     620           0 :     void    SetDlgType( sal_uInt16* pInType ) { pDlgType = pInType; }
     621           0 :     void    SetPos( sal_uInt16* pInPos ) { pPos = pInPos; }
     622           0 :     void    SetAreaTP( sal_Bool* pIn ) { pbAreaTP = pIn; }
     623             : 
     624           0 :     void    SetBmpChgd( ChangeType* pIn ) { pnBitmapListState = pIn; }
     625           0 :     void    SetColorChgd( ChangeType* pIn ) { pnColorListState = pIn; }
     626             : 
     627             :     /** Return a label that is associated with the given control.  This
     628             :         label is used to the determine the name for the control.
     629             :         @param pLabeled
     630             :             The control for which to return a label.
     631             :         @return
     632             :             Return a label control that provides a name for the specified
     633             :             control.
     634             :     */
     635             :     virtual Window* GetParentLabeledBy( const Window* pLabeled ) const;
     636             : };
     637             : 
     638             : /// Load save embed functionality
     639             : class SvxLoadSaveEmbed {
     640             :     XPropertyListType   meType;
     641             :     XOutdevItemPool*    mpXPool;
     642             : 
     643             :     Window             *mpTopDlg;
     644             :     CheckBox            maBoxEmbed;
     645             :     ImageButton         maBtnLoad;
     646             :     ImageButton         maBtnSave;
     647             :     FixedText           maTableName;
     648             : 
     649             :     DECL_LINK( EmbedToggleHdl_Impl, void * );
     650             :     DECL_LINK( ClickLoadHdl_Impl, void * );
     651             :     DECL_LINK( ClickSaveHdl_Impl, void * );
     652             : public:
     653             :     SvxLoadSaveEmbed( Window *pParent, Window *pDialog,
     654             :                       const ResId &aLoad, const ResId &aSave,
     655             :                       const ResId &aEmbed, const ResId &aTableName,
     656             :                       XPropertyListType t, XOutdevItemPool* mpXPool );
     657           0 :     virtual ~SvxLoadSaveEmbed() {};
     658             :     XPropertyListRef GetList();
     659             :     void HideLoadSaveEmbed();
     660             :     bool GetEmbed();
     661             :     void SetEmbed( bool bEmbed );
     662             :     void UpdateTableName();
     663             :     void EnableSave( bool bCanSave );
     664             : 
     665             :     virtual bool IsModified() = 0;
     666             :     virtual void SetModified(bool bIsModified) = 0;
     667             :     virtual void AddState(ChangeType nState) = 0;
     668             :     virtual void Update(bool bLoaded) = 0;
     669             : };
     670             : 
     671             : /************************************************************************/
     672             : 
     673             : struct SvxColorTabPageShadow;
     674             : class SvxColorTabPage : public SfxTabPage, public SvxLoadSaveEmbed
     675             : {
     676             :     using TabPage::ActivatePage;
     677             :     using TabPage::DeactivatePage;
     678             : 
     679             : private:
     680             :     SvxColorTabPageShadow *pShadow;
     681             :     FixedLine           aFlProp;
     682             :     FixedText           aFtName;
     683             :     Edit                aEdtName;
     684             :     FixedText           aFtColor;
     685             :     ColorLB             aLbColor;
     686             : 
     687             :     ValueSet            aValSetColorList;
     688             : 
     689             :     SvxXRectPreview     aCtlPreviewOld;
     690             :     SvxXRectPreview     aCtlPreviewNew;
     691             : 
     692             :     ListBox             aLbColorModel;
     693             :     FixedText           aFtColorModel1;
     694             :     MetricField         aMtrFldColorModel1;
     695             :     FixedText           aFtColorModel2;
     696             :     MetricField         aMtrFldColorModel2;
     697             :     FixedText           aFtColorModel3;
     698             :     MetricField         aMtrFldColorModel3;
     699             : 
     700             :     FixedText           aFtColorModel4;
     701             :     MetricField         aMtrFldColorModel4;
     702             : 
     703             :     PushButton          aBtnAdd;
     704             :     PushButton          aBtnModify;
     705             :     PushButton          aBtnWorkOn;
     706             :     PushButton          aBtnDelete;
     707             : 
     708             :     const SfxItemSet&   rOutAttrs;
     709             : 
     710             :     XColorListRef         pColorList;
     711             : 
     712             :     ChangeType*         pnColorListState;
     713             :     sal_uInt16*             pPageType;
     714             :     sal_uInt16*             pDlgType;
     715             :     sal_uInt16*             pPos;
     716             :     sal_Bool*               pbAreaTP;
     717             : 
     718             :     XFillStyleItem      aXFStyleItem;
     719             :     XFillColorItem      aXFillColorItem;
     720             :     XFillAttrSetItem    aXFillAttr;
     721             :     SfxItemSet&         rXFSet;
     722             : 
     723             :     ColorModel          eCM;
     724             : 
     725             :     Color               aAktuellColor;
     726             : 
     727             : #ifdef _SVX_TPCOLOR_CXX
     728             :     void    ConvertColorValues (Color& rColor, ColorModel eModell);
     729             :     void    RgbToCmyk_Impl( Color& rColor, sal_uInt16& rK );
     730             :     void    CmykToRgb_Impl( Color& rColor, const sal_uInt16 nKey );
     731             :     sal_uInt16  ColorToPercent_Impl( sal_uInt16 nColor );
     732             :     sal_uInt16  PercentToColor_Impl( sal_uInt16 nPercent );
     733             : 
     734             :     void    FillValueSet_Impl( ValueSet& rVs );
     735             :     //-----------------------------------------------------------------------------------------------------
     736             :     DECL_LINK( ClickAddHdl_Impl, void * );
     737             :     DECL_LINK( ClickModifyHdl_Impl, void * );
     738             :     DECL_LINK( ClickDeleteHdl_Impl, void * );
     739             :     DECL_LINK( ClickWorkOnHdl_Impl, void * );
     740             : 
     741             :     DECL_LINK( SelectColorLBHdl_Impl, void * );
     742             :     DECL_LINK( SelectValSetHdl_Impl, void * );
     743             :     DECL_LINK( SelectColorModelHdl_Impl, void * );
     744             :     long ChangeColorHdl_Impl( void* p );
     745             :     DECL_LINK( ModifiedHdl_Impl, void * );
     746             :     DECL_LINK( ClickLoadHdl_Impl, void * );
     747             :     DECL_LINK( ClickSaveHdl_Impl, void * );
     748             : 
     749             :     long CheckChanges_Impl();
     750             : #endif
     751             : 
     752             :     void UpdateModified();
     753             : public:
     754             :     SvxColorTabPage( Window* pParent, const SfxItemSet& rInAttrs );
     755             :     ~SvxColorTabPage();
     756             : 
     757             :     void    Construct();
     758             : 
     759             :     static  SfxTabPage* Create( Window*, const SfxItemSet& );
     760             :     virtual sal_Bool FillItemSet( SfxItemSet& );
     761             :     virtual void Reset( const SfxItemSet & );
     762             : 
     763             :     virtual void ActivatePage( const SfxItemSet& rSet );
     764             :     virtual int  DeactivatePage( SfxItemSet* pSet );
     765             : 
     766             :     virtual XPropertyListRef GetPropertyList( XPropertyListType t );
     767             :     virtual void             SetPropertyList( XPropertyListType t, const XPropertyListRef &xRef );
     768             : 
     769             :     void    SetColorList( XColorListRef pColList );
     770           0 :     XColorListRef GetColorList() { return pColorList; }
     771             :     void    SaveToViewFrame( SfxViewFrame *pViewFrame );
     772             :     void    SetupForViewFrame( SfxViewFrame *pViewFrame );
     773             : 
     774           0 :     void    SetPageType( sal_uInt16* pInType ) { pPageType = pInType; }
     775           0 :     void    SetDlgType( sal_uInt16* pInType ) { pDlgType = pInType; }
     776           0 :     void    SetPos( sal_uInt16* pInPos ) { pPos = pInPos; }
     777           0 :     void    SetAreaTP( sal_Bool* pIn ) { pbAreaTP = pIn; }
     778             : 
     779           0 :     void    SetColorChgd( ChangeType* pIn ) { pnColorListState = pIn; }
     780             : 
     781             :     virtual void FillUserData();
     782             : 
     783           0 :     virtual bool IsModified()
     784             :     {
     785           0 :         return *pnColorListState & CT_MODIFIED;
     786             :     }
     787           0 :     virtual void SetModified(bool bIsModified)
     788             :     {
     789           0 :         if (bIsModified)
     790           0 :             *pnColorListState |= CT_MODIFIED;
     791             :         else
     792           0 :             *pnColorListState &= ~CT_MODIFIED;
     793           0 :     }
     794           0 :     virtual void AddState(ChangeType nState)
     795             :     {
     796           0 :         *pnColorListState |= nState;
     797           0 :     }
     798             :     virtual void Update(bool bLoaded);
     799             : };
     800             : 
     801             : #endif // _CUI_TAB_AREA_HXX
     802             : 
     803             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10