Files
libreoffice/svx/source/dialog/cuitabarea.hxx
Kurt Zenker 9f84a127b4 INTEGRATION: CWS visibility01 (1.2.434); FILE MERGED
2004/12/06 08:11:25 mnicel 1.2.434.1: Part of symbol visibility markup - #i35758#
2005-01-21 15:33:11 +00:00

837 lines
28 KiB
C++
Raw Blame History

/*************************************************************************
*
* $RCSfile: cuitabarea.hxx,v $
*
* $Revision: 1.3 $
*
* last change: $Author: kz $ $Date: 2005-01-21 16:33:11 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
*
* - GNU Lesser General Public License Version 2.1
* - Sun Industry Standards Source License Version 1.1
*
* Sun Microsystems Inc., October, 2000
*
* GNU Lesser General Public License Version 2.1
* =============================================
* Copyright 2000 by Sun Microsystems, Inc.
* 901 San Antonio Road, Palo Alto, CA 94303, USA
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License version 2.1, as published by the Free Software Foundation.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*
*
* Sun Industry Standards Source License Version 1.1
* =================================================
* The contents of this file are subject to the Sun Industry Standards
* Source License Version 1.1 (the "License"); You may not use this file
* except in compliance with the License. You may obtain a copy of the
* License at http://www.openoffice.org/license.html.
*
* Software provided under this License is provided on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
* WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
* MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
* See the License for the specific provisions governing your rights and
* obligations concerning the Software.
*
* The Initial Developer of the Original Code is: Sun Microsystems, Inc.
*
* Copyright: 2000 by Sun Microsystems, Inc.
*
* All Rights Reserved.
*
* Contributor(s): _______________________________________
*
*
************************************************************************/
#ifndef _CUI_TAB_AREA_HXX
#define _CUI_TAB_AREA_HXX
// include ---------------------------------------------------------------
#ifndef INCLUDED_SVXDLLAPI_H
#include "svx/svxdllapi.h"
#endif
#include "tabarea.hxx"
/*************************************************************************
|*
|* Fl"achen-Tab-Dialog
|*
\************************************************************************/
class SvxAreaTabDialog : public SfxTabDialog
{
private:
SdrModel* pDrawModel;
const SdrView* pView;
XColorTable* pColorTab;
XColorTable* pNewColorTab;
XGradientList* pGradientList;
XGradientList* pNewGradientList;
XHatchList* pHatchingList;
XHatchList* pNewHatchingList;
XBitmapList* pBitmapList;
XBitmapList* pNewBitmapList;
const SfxItemSet& rOutAttrs;
ChangeType nColorTableState;
ChangeType nBitmapListState;
ChangeType nGradientListState;
ChangeType nHatchingListState;
USHORT nPageType;
USHORT nDlgType;
USHORT nPos;
BOOL bAreaTP;
BOOL bDeleteColorTable;
virtual void PageCreated( USHORT nId, SfxTabPage &rPage );
protected:
virtual short Ok();
#ifdef _SVX_TABAREA_CXX
DECL_LINK( CancelHdl, void * );
void SavePalettes();
#endif
public:
SvxAreaTabDialog( Window* pParent,
const SfxItemSet* pAttr, SdrModel* pModel,
const SdrView* pSdrView = NULL );
~SvxAreaTabDialog();
void SetNewColorTable( XColorTable* pColTab )
{ pNewColorTab = pColTab; }
XColorTable* GetNewColorTable() const { return pNewColorTab; }
const XColorTable* GetColorTable() const { return pColorTab; }
void SetNewGradientList( XGradientList* pGrdLst)
{ pNewGradientList = pGrdLst; }
XGradientList* GetNewGradientList() const
{ return pNewGradientList; }
const XGradientList* GetGradientList() const { return pGradientList; }
void SetNewHatchingList( XHatchList* pHtchLst)
{ pNewHatchingList = pHtchLst; }
XHatchList* GetNewHatchingList() const
{ return pNewHatchingList; }
const XHatchList* GetHatchingList() const { return pHatchingList; }
void SetNewBitmapList( XBitmapList* pBmpLst)
{ pNewBitmapList = pBmpLst; }
XBitmapList* GetNewBitmapList() const { return pNewBitmapList; }
const XBitmapList* GetBitmapList() const { return pBitmapList; }
void DontDeleteColorTable() { bDeleteColorTable = FALSE; }
};
/*************************************************************************
|*
|* Transparence-Tab-Page
|*
\************************************************************************/
class SVX_DLLPUBLIC SvxTransparenceTabPage : public SvxTabPage
{
const SfxItemSet& rOutAttrs;
RECT_POINT eRP;
//CHINA001 UINT16* pPageType;
//CHINA001 UINT16* pDlgType;
UINT16 nPageType; //add CHINA001
UINT16 nDlgType; //add CHINA001
// main selection
FixedLine aFlProp;
RadioButton aRbtTransOff;
RadioButton aRbtTransLinear;
RadioButton aRbtTransGradient;
// linear transparency
MetricField aMtrTransparent;
// gradient transparency
FixedText aFtTrgrType;
ListBox aLbTrgrGradientType;
FixedText aFtTrgrCenterX;
MetricField aMtrTrgrCenterX;
FixedText aFtTrgrCenterY;
MetricField aMtrTrgrCenterY;
FixedText aFtTrgrAngle;
MetricField aMtrTrgrAngle;
FixedText aFtTrgrBorder;
MetricField aMtrTrgrBorder;
FixedText aFtTrgrStartValue;
MetricField aMtrTrgrStartValue;
FixedText aFtTrgrEndValue;
MetricField aMtrTrgrEndValue;
// preview
SvxXRectPreview aCtlBitmapPreview;
SvxXRectPreview aCtlXRectPreview;
XOutputDevice XOutBmp;
XOutputDevice XOut;
BOOL bBitmap;
XOutdevItemPool* pXPool;
XFillAttrSetItem aXFillAttr;
SfxItemSet& rXFSet;
#ifdef _SVX_TPAREA_CXX
DECL_LINK(ClickTransOffHdl_Impl, void * );
DECL_LINK(ClickTransLinearHdl_Impl, void * );
DECL_LINK(ClickTransGradientHdl_Impl, void * );
DECL_LINK(ModifyTransparentHdl_Impl, void*);
DECL_LINK(ChangeTrgrTypeHdl_Impl, void*);
DECL_LINK(ModifiedTrgrHdl_Impl, void*);
#endif
void ActivateLinear(BOOL bActivate);
void ActivateGradient(BOOL bActivate);
void SetControlState_Impl(XGradientStyle eXGS);
BOOL InitPreview ( const SfxItemSet& rSet );
void InvalidatePreview (BOOL bEnable = TRUE );
public:
SvxTransparenceTabPage(Window* pParent, const SfxItemSet& rInAttrs);
void Construct();
static SfxTabPage* Create(Window*, const SfxItemSet&);
static UINT16* GetRanges();
virtual BOOL FillItemSet(SfxItemSet&);
virtual void Reset(const SfxItemSet&);
virtual void ActivatePage(const SfxItemSet& rSet);
virtual int DeactivatePage(SfxItemSet* pSet);
virtual void PointChanged(Window* pWindow, RECT_POINT eRP);
//CHINA001 void SetPageType(UINT16 *pInType) { pPageType = pInType; }
//CHINA001 void SetDlgType(UINT16* pInType) { pDlgType = pInType; }
void SetPageType(UINT16 nInType) { nPageType = nInType; } //add CHINA001
void SetDlgType(UINT16 nInType) { nDlgType = nInType; }//add CHINA001
virtual void PageCreated (SfxAllItemSet aSet); //add CHINA001
};
/*************************************************************************
|*
|* Fl"achen-Tab-Page
|*
\************************************************************************/
class SVX_DLLPUBLIC SvxAreaTabPage : public SvxTabPage
{
private:
FixedLine aFlProp;
RadioButton aRbtNoFill;
RadioButton aRbtColor;
RadioButton aRbtGradient;
RadioButton aRbtHatch;
RadioButton aRbtBitmap;
// ListBox aDlgType;
ColorLB aLbColor;
GradientLB aLbGradient;
HatchingLB aLbHatching;
BitmapLB aLbBitmap;
SvxXRectPreview aCtlBitmapPreview;
TriStateBox aTsbStepCount;
FixedLine aFlStepCount;
NumericField aNumFldStepCount;
CheckBox aCbxHatchBckgrd;
ColorLB aLbHatchBckgrdColor;
FixedLine aFlSize;
TriStateBox aTsbOriginal;
TriStateBox aTsbScale;
FixedText aFtXSize;
MetricField aMtrFldXSize;
FixedText aFtYSize;
MetricField aMtrFldYSize;
FixedLine aFlPosition;
SvxRectCtl aCtlPosition;
FixedText aFtXOffset;
MetricField aMtrFldXOffset;
FixedText aFtYOffset;
MetricField aMtrFldYOffset;
TriStateBox aTsbTile;
TriStateBox aTsbStretch;
FixedLine aFlOffset;
RadioButton aRbtRow;
RadioButton aRbtColumn;
MetricField aMtrFldOffset;
SvxXRectPreview aCtlXRectPreview;
const SfxItemSet& rOutAttrs;
RECT_POINT eRP;
XColorTable* pColorTab;
XGradientList* pGradientList;
XHatchList* pHatchingList;
XBitmapList* pBitmapList;
ChangeType* pnColorTableState;
ChangeType* pnBitmapListState;
ChangeType* pnGradientListState;
ChangeType* pnHatchingListState;
//CHINA001 USHORT* pPageType;
//CHINA001 USHORT* pDlgType;
//CHINA001 USHORT* pPos;
UINT16 nPageType; //add CHINA001
UINT16 nDlgType;//add CHINA001
UINT16 nPos; //add CHINA001
BOOL* pbAreaTP;
XOutdevItemPool* pXPool;
XOutputDevice XOut;
XOutputDevice XOutBmp;
XFillAttrSetItem aXFillAttr;
SfxItemSet& rXFSet;
SfxMapUnit ePoolUnit;
FieldUnit eFUnit;
#ifdef _SVX_TPAREA_CXX
DECL_LINK( SelectDialogType_Impl, void * );
DECL_LINK( ClickInvisibleHdl_Impl, void * );
DECL_LINK( ClickColorHdl_Impl, void * );
DECL_LINK( ModifyColorHdl_Impl, void * );
DECL_LINK( ModifyHatchBckgrdColorHdl_Impl, void * );
DECL_LINK( ClickGradientHdl_Impl, void * );
DECL_LINK( ModifyGradientHdl_Impl, void * );
DECL_LINK( ClickHatchingHdl_Impl, void * );
DECL_LINK( ModifyHatchingHdl_Impl, void * );
DECL_LINK( ToggleHatchBckgrdColorHdl_Impl, void * );
DECL_LINK( ClickBitmapHdl_Impl, void * );
DECL_LINK( ModifyBitmapHdl_Impl, void * );
// DECL_LINK( ModifyTransparentHdl_Impl, void * );
DECL_LINK( ModifyStepCountHdl_Impl, void * );
DECL_LINK( ModifyTileHdl_Impl, void * );
DECL_LINK( ClickScaleHdl_Impl, void * );
#endif
public:
SvxAreaTabPage( Window* pParent, const SfxItemSet& rInAttrs );
void Construct();
static SfxTabPage* Create( Window*, const SfxItemSet& );
static USHORT* GetRanges();
virtual BOOL FillItemSet( SfxItemSet& );
virtual void Reset( const SfxItemSet & );
virtual void ActivatePage( const SfxItemSet& rSet );
virtual int DeactivatePage( SfxItemSet* pSet );
virtual void PointChanged( Window* pWindow, RECT_POINT eRP );
void SetColorTable( XColorTable* pColTab ) { pColorTab = pColTab; }
void SetGradientList( XGradientList* pGrdLst)
{ pGradientList = pGrdLst; }
void SetHatchingList( XHatchList* pHtchLst)
{ pHatchingList = pHtchLst; }
void SetBitmapList( XBitmapList* pBmpLst) { pBitmapList = pBmpLst; }
//CHINA001 void SetPageType( USHORT* pInType ) { pPageType = pInType; }
void SetPageType( UINT16 nInType ) { nPageType = nInType; } //add CHINA001
//CHINA001 void SetDlgType( USHORT* pInType ) { pDlgType = pInType; }
void SetDlgType( UINT16 nInType ) { nDlgType = nInType; }//add CHINA001
//CHINA001 void SetPos( USHORT* pInPos ) { pPos = pInPos; }
void SetPos( UINT16 nInPos ) { nPos = nInPos; }//add CHINA001
void SetAreaTP( BOOL* pIn ) { pbAreaTP = pIn; }
virtual void PageCreated (SfxAllItemSet aSet); //add CHINA001
void SetColorChgd( ChangeType* pIn ) { pnColorTableState = pIn; }
void SetGrdChgd( ChangeType* pIn ) { pnGradientListState = pIn; }
void SetHtchChgd( ChangeType* pIn ) { pnHatchingListState = pIn; }
void SetBmpChgd( ChangeType* pIn ) { pnBitmapListState = pIn; }
};
/*************************************************************************
|*
|* Schatten-Tab-Page
|*
\************************************************************************/
class SvxShadowTabPage : public SvxTabPage
{
private:
FixedLine aFlProp;
TriStateBox aTsbShowShadow;
FixedText aFtPosition;
SvxRectCtl aCtlPosition;
FixedText aFtDistance;
MetricField aMtrDistance;
FixedText aFtShadowColor;
ColorLB aLbShadowColor;
FixedText aFtTransparent;
MetricField aMtrTransparent;
SvxXShadowPreview aCtlXRectPreview;
const SfxItemSet& rOutAttrs;
RECT_POINT eRP;
XColorTable* pColorTab;
ChangeType* pnColorTableState;
//CHINA001 USHORT* pPageType;
//CHINA001 USHORT* pDlgType;
UINT16 nPageType; //add CHINA001
UINT16 nDlgType; //add CHINA001
USHORT* pPos;
BOOL* pbAreaTP;
BOOL bDisable;
XOutdevItemPool* pXPool;
XOutputDevice XOut;
XFillAttrSetItem aXFillAttr;
SfxItemSet& rXFSet;
SfxMapUnit ePoolUnit;
#ifdef _SVX_TPSHADOW_CXX
DECL_LINK( ClickShadowHdl_Impl, void * );
DECL_LINK( ModifyShadowHdl_Impl, void * );
#endif
public:
SvxShadowTabPage( Window* pParent, const SfxItemSet& rInAttrs );
void Construct();
static SfxTabPage* Create( Window*, const SfxItemSet& );
static USHORT* GetRanges();
virtual BOOL FillItemSet( SfxItemSet& );
virtual void Reset( const SfxItemSet & );
virtual void ActivatePage( const SfxItemSet& rSet );
virtual int DeactivatePage( SfxItemSet* pSet );
virtual void PointChanged( Window* pWindow, RECT_POINT eRP );
void SetColorTable( XColorTable* pColTab ) { pColorTab = pColTab; }
//CHINA001 void SetPageType( USHORT* pInType ) { pPageType = pInType; }
//CHINA001 void SetDlgType( USHORT* pInType ) { pDlgType = pInType; }
void SetPageType( UINT16 nInType ) { nPageType = nInType; } //add CHINA001
void SetDlgType( UINT16 nInType ) { nDlgType = nInType; } //add CHINA001
void SetAreaTP( BOOL* pIn ) { pbAreaTP = pIn; }
void SetColorChgd( ChangeType* pIn ) { pnColorTableState = pIn; }
virtual void PageCreated (SfxAllItemSet aSet); //add CHINA001
void DisablePage( BOOL bIn ) { bDisable = bIn; }
};
/*************************************************************************
|*
|* Farbverlauf-Tab-Page
|*
\************************************************************************/
class SvxGradientTabPage : public SfxTabPage
{
private:
FixedLine aFlProp;
FixedText aFtType;
ListBox aLbGradientType;
FixedText aFtCenterX;
MetricField aMtrCenterX;
FixedText aFtCenterY;
MetricField aMtrCenterY;
FixedText aFtAngle;
MetricField aMtrAngle;
FixedText aFtBorder;
MetricField aMtrBorder;
FixedText aFtColorFrom;
ColorLB aLbColorFrom;
MetricField aMtrColorFrom;
FixedText aFtColorTo;
ColorLB aLbColorTo;
MetricField aMtrColorTo;
GradientLB aLbGradients;
SvxXRectPreview aCtlPreview;
PushButton aBtnAdd;
PushButton aBtnModify;
PushButton aBtnDelete;
ImageButton aBtnLoad;
ImageButton aBtnSave;
const SfxItemSet& rOutAttrs;
XColorTable* pColorTab;
XGradientList* pGradientList;
ChangeType* pnGradientListState;
ChangeType* pnColorTableState;
USHORT* pPageType;
USHORT* pDlgType;
USHORT* pPos;
BOOL* pbAreaTP;
XOutdevItemPool* pXPool;
XOutputDevice XOut;
XFillStyleItem aXFStyleItem;
XFillGradientItem aXGradientItem;
XFillAttrSetItem aXFillAttr;
SfxItemSet& rXFSet;
#ifdef _SVX_TPGRADNT_CXX
DECL_LINK( ClickAddHdl_Impl, void * );
DECL_LINK( ClickModifyHdl_Impl, void * );
DECL_LINK( ClickDeleteHdl_Impl, void * );
DECL_LINK( ChangeGradientHdl_Impl, void * );
DECL_LINK( ModifiedHdl_Impl, void * );
DECL_LINK( ClickLoadHdl_Impl, void * );
DECL_LINK( ClickSaveHdl_Impl, void * );
long CheckChanges_Impl();
void SetControlState_Impl( XGradientStyle eXGS );
#endif
public:
SvxGradientTabPage( Window* pParent, const SfxItemSet& rInAttrs );
void Construct();
static SfxTabPage* Create( Window*, const SfxItemSet& );
virtual BOOL FillItemSet( SfxItemSet& );
virtual void Reset( const SfxItemSet & );
virtual void ActivatePage( const SfxItemSet& rSet );
virtual int DeactivatePage( SfxItemSet* pSet );
void SetColorTable( XColorTable* pColTab ) { pColorTab = pColTab; }
void SetGradientList( XGradientList* pGrdLst)
{ pGradientList = pGrdLst; }
void SetPageType( USHORT* pInType ) { pPageType = pInType; }
void SetDlgType( USHORT* pInType ) { pDlgType = pInType; }
void SetPos( USHORT* pInPos ) { pPos = pInPos; }
void SetAreaTP( BOOL* pIn ) { pbAreaTP = pIn; }
void SetGrdChgd( ChangeType* pIn ) { pnGradientListState = pIn; }
void SetColorChgd( ChangeType* pIn ) { pnColorTableState = pIn; }
};
/*************************************************************************
|*
|* Schraffuren-Tab-Page
|*
\************************************************************************/
class SvxHatchTabPage : public SvxTabPage
{
private:
FixedText aFtDistance;
MetricField aMtrDistance;
FixedText aFtAngle;
MetricField aMtrAngle;
SvxRectCtl aCtlAngle;
FixedLine aFlProp;
FixedText aFtLineType;
ListBox aLbLineType;
FixedText aFtLineColor;
ColorLB aLbLineColor;
HatchingLB aLbHatchings;
SvxXRectPreview aCtlPreview;
PushButton aBtnAdd;
PushButton aBtnModify;
PushButton aBtnDelete;
ImageButton aBtnLoad;
ImageButton aBtnSave;
const SfxItemSet& rOutAttrs;
RECT_POINT eRP;
XColorTable* pColorTab;
XHatchList* pHatchingList;
ChangeType* pnHatchingListState;
ChangeType* pnColorTableState;
USHORT* pPageType;
USHORT* pDlgType;
USHORT* pPos;
BOOL* pbAreaTP;
XOutdevItemPool* pXPool;
XOutputDevice XOut;
XFillStyleItem aXFStyleItem;
XFillHatchItem aXHatchItem;
XFillAttrSetItem aXFillAttr;
SfxItemSet& rXFSet;
SfxMapUnit ePoolUnit;
#ifdef _SVX_TPHATCH_CXX
DECL_LINK( ChangeHatchHdl_Impl, void * );
DECL_LINK( ModifiedHdl_Impl, void * );
DECL_LINK( ClickAddHdl_Impl, void * );
DECL_LINK( ClickModifyHdl_Impl, void * );
DECL_LINK( ClickDeleteHdl_Impl, void * );
DECL_LINK( ClickLoadHdl_Impl, void * );
DECL_LINK( ClickSaveHdl_Impl, void * );
long CheckChanges_Impl();
#endif
public:
SvxHatchTabPage( Window* pParent, const SfxItemSet& rInAttrs );
void Construct();
static SfxTabPage* Create( Window*, const SfxItemSet& );
virtual BOOL FillItemSet( SfxItemSet& );
virtual void Reset( const SfxItemSet & );
virtual void ActivatePage( const SfxItemSet& rSet );
virtual int DeactivatePage( SfxItemSet* pSet );
virtual void PointChanged( Window* pWindow, RECT_POINT eRP );
void SetColorTable( XColorTable* pColTab ) { pColorTab = pColTab; }
void SetHatchingList( XHatchList* pHtchLst)
{ pHatchingList = pHtchLst; }
void SetPageType( USHORT* pInType ) { pPageType = pInType; }
void SetDlgType( USHORT* pInType ) { pDlgType = pInType; }
void SetPos( USHORT* pInPos ) { pPos = pInPos; }
void SetAreaTP( BOOL* pIn ) { pbAreaTP = pIn; }
void SetHtchChgd( ChangeType* pIn ) { pnHatchingListState = pIn; }
void SetColorChgd( ChangeType* pIn ) { pnColorTableState = pIn; }
virtual void DataChanged( const DataChangedEvent& rDCEvt );
};
/*************************************************************************
|*
|* Bitmap-Tab-Page
|*
\************************************************************************/
class SvxBitmapTabPage : public SvxTabPage
{
private:
SvxPixelCtl aCtlPixel;
FixedText aFtPixelEdit;
FixedText aFtColor;
ColorLB aLbColor;
FixedText aFtBackgroundColor;
ColorLB aLbBackgroundColor;
FixedText aLbBitmapsHidden;
BitmapLB aLbBitmaps;
FixedLine aFlProp;
SvxXRectPreview aCtlPreview;
PushButton aBtnAdd;
PushButton aBtnModify;
PushButton aBtnImport;
PushButton aBtnDelete;
ImageButton aBtnLoad;
ImageButton aBtnSave;
SvxBitmapCtl aBitmapCtl;
const SfxItemSet& rOutAttrs;
XColorTable* pColorTab;
XBitmapList* pBitmapList;
ChangeType* pnBitmapListState;
ChangeType* pnColorTableState;
USHORT* pPageType;
USHORT* pDlgType;
USHORT* pPos;
BOOL* pbAreaTP;
BOOL bBmpChanged;
XOutdevItemPool* pXPool;
XOutputDevice XOut;
XFillStyleItem aXFStyleItem;
XFillBitmapItem aXBitmapItem;
XFillAttrSetItem aXFillAttr;
SfxItemSet& rXFSet;
#ifdef _SVX_TPBITMAP_CXX
DECL_LINK( ClickAddHdl_Impl, void * );
DECL_LINK( ClickImportHdl_Impl, void * );
DECL_LINK( ClickModifyHdl_Impl, void * );
DECL_LINK( ClickDeleteHdl_Impl, void * );
DECL_LINK( ChangeBitmapHdl_Impl, void * );
DECL_LINK( ChangePixelColorHdl_Impl, void * );
DECL_LINK( ChangeBackgrndColorHdl_Impl, void * );
DECL_LINK( ClickLoadHdl_Impl, void * );
DECL_LINK( ClickSaveHdl_Impl, void * );
long CheckChanges_Impl();
#endif
public:
SvxBitmapTabPage( Window* pParent, const SfxItemSet& rInAttrs );
void Construct();
static SfxTabPage* Create( Window*, const SfxItemSet& );
virtual BOOL FillItemSet( SfxItemSet& );
virtual void Reset( const SfxItemSet & );
virtual void ActivatePage( const SfxItemSet& rSet );
virtual int DeactivatePage( SfxItemSet* pSet );
virtual void PointChanged( Window* pWindow, RECT_POINT eRP );
void SetColorTable( XColorTable* pColTab ) { pColorTab = pColTab; }
void SetBitmapList( XBitmapList* pBmpLst) { pBitmapList = pBmpLst; }
void SetPageType( USHORT* pInType ) { pPageType = pInType; }
void SetDlgType( USHORT* pInType ) { pDlgType = pInType; }
void SetPos( USHORT* pInPos ) { pPos = pInPos; }
void SetAreaTP( BOOL* pIn ) { pbAreaTP = pIn; }
void SetBmpChgd( ChangeType* pIn ) { pnBitmapListState = pIn; }
void SetColorChgd( ChangeType* pIn ) { pnColorTableState = pIn; }
/** Return a label that is associated with the given control. This
label is used to the determine the name for the control.
@param pLabeled
The control for which to return a label.
@return
Return a label control that provides a name for the specified
control.
*/
virtual Window* GetParentLabeledBy( const Window* pLabeled ) const;
};
/*************************************************************************
|*
|* Farben-Tab-Page
|*
\************************************************************************/
class SvxColorTabPage : public SfxTabPage
{
private:
FixedLine aFlProp;
FixedText aFtName;
Edit aEdtName;
FixedText aFtColor;
ColorLB aLbColor;
FixedText aTableNameFT;
ValueSet aValSetColorTable;
SvxXRectPreview aCtlPreviewOld;
SvxXRectPreview aCtlPreviewNew;
ListBox aLbColorModel;
FixedText aFtColorModel1;
MetricField aMtrFldColorModel1;
FixedText aFtColorModel2;
MetricField aMtrFldColorModel2;
FixedText aFtColorModel3;
MetricField aMtrFldColorModel3;
FixedText aFtColorModel4;
MetricField aMtrFldColorModel4;
PushButton aBtnAdd;
PushButton aBtnModify;
PushButton aBtnWorkOn;
PushButton aBtnDelete;
ImageButton aBtnLoad;
ImageButton aBtnSave;
const SfxItemSet& rOutAttrs;
XColorTable* pColorTab;
ChangeType* pnColorTableState;
USHORT* pPageType;
USHORT* pDlgType;
USHORT* pPos;
BOOL* pbAreaTP;
BOOL bDeleteColorTable;
XOutdevItemPool* pXPool;
XOutputDevice XOutOld;
XOutputDevice XOutNew;
XFillStyleItem aXFStyleItem;
XFillColorItem aXFillColorItem;
XFillAttrSetItem aXFillAttr;
SfxItemSet& rXFSet;
ColorModel eCM;
Color aAktuellColor;
#ifdef _SVX_TPCOLOR_CXX
void ConvertColorValues (Color& rColor, ColorModel eModell);
void RgbToCmyk_Impl( Color& rColor, USHORT& rK );
void CmykToRgb_Impl( Color& rColor, const USHORT nKey );
USHORT ColorToPercent_Impl( USHORT nColor );
USHORT PercentToColor_Impl( USHORT nPercent );
void FillValueSet_Impl( ValueSet& rVs );
//-----------------------------------------------------------------------------------------------------
DECL_LINK( ClickAddHdl_Impl, void * ); // Button 'Hinzufuegen'
DECL_LINK( ClickModifyHdl_Impl, void * ); // Button 'Aendern'
DECL_LINK( ClickDeleteHdl_Impl, void * ); // Button 'loeschen'
DECL_LINK( ClickWorkOnHdl_Impl, void * ); // Button 'Bearbeiten'
DECL_LINK( SelectColorLBHdl_Impl, void * ); // Farbe aus Listbox ausw<73>hlen
DECL_LINK( SelectValSetHdl_Impl, void * ); // Farbe aus Farbpalette (links) ausw<73>hlen
DECL_LINK( SelectColorModelHdl_Impl, void * ); // Auswahl Listbox 'Farbmodell'
long ChangeColorHdl_Impl( void* p );
DECL_LINK( ModifiedHdl_Impl, void * ); // Inhalt der Farbwerte-Felder wurde ver<65>ndert
DECL_LINK( ClickLoadHdl_Impl, void * ); // Button 'Farbtabelle laden'
DECL_LINK( ClickSaveHdl_Impl, void * ); // Button 'Farbtabelle sichern'
long CheckChanges_Impl();
#endif
public:
SvxColorTabPage( Window* pParent, const SfxItemSet& rInAttrs );
void Construct();
static SfxTabPage* Create( Window*, const SfxItemSet& );
virtual BOOL FillItemSet( SfxItemSet& );
virtual void Reset( const SfxItemSet & );
virtual void ActivatePage( const SfxItemSet& rSet );
virtual int DeactivatePage( SfxItemSet* pSet );
void SetColorTable( XColorTable* pColTab ) { pColorTab = pColTab; }
void SetPageType( USHORT* pInType ) { pPageType = pInType; }
void SetDlgType( USHORT* pInType ) { pDlgType = pInType; }
void SetPos( USHORT* pInPos ) { pPos = pInPos; }
void SetAreaTP( BOOL* pIn ) { pbAreaTP = pIn; }
void SetColorChgd( ChangeType* pIn ) { pnColorTableState = pIn; }
void SetDeleteColorTable( BOOL bIn ) { bDeleteColorTable = bIn; }
virtual void FillUserData();
};
#endif // _CUI_TAB_AREA_HXX