blob: 469aa10884145721d20491a05193243d95307c7a [file] [log] [blame]
/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#ifndef _SVX_OPTGRID_HXX
#define _SVX_OPTGRID_HXX
// include ---------------------------------------------------------------
#include <sfx2/tabdlg.hxx>
#include <svl/eitem.hxx>
#include <vcl/group.hxx>
#include <vcl/fixed.hxx>
#include <vcl/field.hxx>
#include "svx/svxdllapi.h"
class SvxGridTabPage;
// class SvxOptionsGrid --------------------------------------------------
class SVX_DLLPUBLIC SvxOptionsGrid
{
protected:
sal_uInt32 nFldDrawX;
sal_uInt32 nFldDivisionX;
sal_uInt32 nFldDrawY;
sal_uInt32 nFldDivisionY;
sal_uInt32 nFldSnapX;
sal_uInt32 nFldSnapY;
sal_Bool bUseGridsnap:1;
sal_Bool bSynchronize:1;
sal_Bool bGridVisible:1;
sal_Bool bEqualGrid: 1;
public:
SvxOptionsGrid();
~SvxOptionsGrid();
void SetFldDrawX( sal_uInt32 nSet){nFldDrawX = nSet;}
void SetFldDivisionX(sal_uInt32 nSet){nFldDivisionX = nSet;}
void SetFldDrawY ( sal_uInt32 nSet){nFldDrawY = nSet;}
void SetFldDivisionY(sal_uInt32 nSet){nFldDivisionY = nSet;}
void SetFldSnapX( sal_uInt32 nSet){nFldSnapX = nSet;}
void SetFldSnapY ( sal_uInt32 nSet){nFldSnapY = nSet;}
void SetUseGridSnap( sal_Bool bSet ) {bUseGridsnap = bSet;}
void SetSynchronize( sal_Bool bSet ) {bSynchronize = bSet;}
void SetGridVisible( sal_Bool bSet ) {bGridVisible = bSet;}
void SetEqualGrid( sal_Bool bSet ) {bEqualGrid = bSet;}
sal_uInt32 GetFldDrawX( ) const { return nFldDrawX; }
sal_uInt32 GetFldDivisionX() const { return nFldDivisionX;}
sal_uInt32 GetFldDrawY ( ) const { return nFldDrawY; }
sal_uInt32 GetFldDivisionY() const { return nFldDivisionY;}
sal_uInt32 GetFldSnapX( ) const { return nFldSnapX; }
sal_uInt32 GetFldSnapY ( ) const { return nFldSnapY; }
sal_Bool GetUseGridSnap( ) const { return bUseGridsnap; }
sal_Bool GetSynchronize( ) const { return bSynchronize; }
sal_Bool GetGridVisible( ) const { return bGridVisible; }
sal_Bool GetEqualGrid() const { return bEqualGrid; }
};
// class SvxGridItem -----------------------------------------------------
class SVX_DLLPUBLIC SvxGridItem : public SvxOptionsGrid, public SfxPoolItem
{
// #i9076#
friend class SvxGridTabPage;
public:
SvxGridItem( sal_uInt16 _nWhich) : SfxPoolItem(_nWhich){};
SvxGridItem( const SvxGridItem& pTestItem );
virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const;
virtual int operator==( const SfxPoolItem& ) const;
virtual SfxItemPresentation GetPresentation( SfxItemPresentation ePres,
SfxMapUnit eCoreMetric,
SfxMapUnit ePresMetric,
String &rText, const IntlWrapper * = 0 ) const;
};
// class SvxGridTabPage --------------------------------------------------
class SVX_DLLPUBLIC SvxGridTabPage : public SfxTabPage
{
using TabPage::ActivatePage;
using TabPage::DeactivatePage;
public:
SvxGridTabPage( Window* pParent, const SfxItemSet& rSet );
static SfxTabPage* Create( Window* pParent, const SfxItemSet& rAttrSet );
virtual sal_Bool FillItemSet( SfxItemSet& rSet );
virtual void Reset( const SfxItemSet& rSet );
virtual void ActivatePage( const SfxItemSet& rSet );
virtual int DeactivatePage( SfxItemSet* pSet );
private:
CheckBox aCbxUseGridsnap;
CheckBox aCbxGridVisible;
FixedLine aFlResolution;
FixedText aFtDrawX;
MetricField aMtrFldDrawX;
FixedText aFtDrawY;
MetricField aMtrFldDrawY;
FixedLine aFlDivision;
FixedText aFtDivisionX;
NumericField aNumFldDivisionX;
FixedText aDivisionPointX;
FixedText aFtDivisionY;
NumericField aNumFldDivisionY;
FixedText aDivisionPointY;
CheckBox aCbxSynchronize;
FixedLine aGrpDrawGrid; // Neu
protected:
//these controls are used in draw and impress
FixedLine aGrpSnap;
CheckBox aCbxSnapHelplines;
CheckBox aCbxSnapBorder;
CheckBox aCbxSnapFrame;
CheckBox aCbxSnapPoints;
FixedText aFtSnapArea;
MetricField aMtrFldSnapArea;
FixedLine aSeparatorFL;
FixedLine aGrpOrtho;
CheckBox aCbxOrtho;
CheckBox aCbxBigOrtho;
CheckBox aCbxRotate;
MetricField aMtrFldAngle;
FixedText aFtBezAngle;
MetricField aMtrFldBezAngle;
private:
sal_Bool bAttrModified;
// sal_Bool bEqualGrid; // Neu
#ifdef _SVX_OPTGRID_CXX
DECL_LINK( ClickRotateHdl_Impl, void * );
DECL_LINK( ChangeDrawHdl_Impl, MetricField * );
DECL_LINK( ChangeGridsnapHdl_Impl, void * );
DECL_LINK( ChangeDivisionHdl_Impl, NumericField * );
#endif
};
#endif