Files
libreoffice/svx/source/dialog/dstribut.cxx
Rüdiger Timm 365b24bb88 INTEGRATION: CWS ooo19126 (1.6.430); FILE MERGED
2005/09/05 14:19:25 rt 1.6.430.1: #i54170# Change license header: remove SISSL
2005-09-08 20:02:49 +00:00

260 lines
8.7 KiB
C++

/*************************************************************************
*
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: dstribut.cxx,v $
*
* $Revision: 1.7 $
*
* last change: $Author: rt $ $Date: 2005-09-08 21:02:49 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
*
*
* GNU Lesser General Public License Version 2.1
* =============================================
* Copyright 2005 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
*
************************************************************************/
#ifdef SVX_DLLIMPLEMENTATION
#undef SVX_DLLIMPLEMENTATION
#endif
#ifndef _BASEDLGS_HXX
#include <sfx2/basedlgs.hxx>
#endif
#include "dialogs.hrc"
#include "dstribut.hxx"
#include "dstribut.hrc"
#include "svddef.hxx"
#include "dialmgr.hxx"
#ifndef _SHL_HXX
#include <tools/shl.hxx>
#endif
static USHORT pRanges[] =
{
SDRATTR_MEASURE_FIRST,
SDRATTR_MEASURE_LAST,
0
};
/*************************************************************************
|*
|* Dialog
|*
\************************************************************************/
SvxDistributeDialog::SvxDistributeDialog(
Window* pParent,
const SfxItemSet& rInAttrs,
SvxDistributeHorizontal eHor,
SvxDistributeVertical eVer)
: SfxSingleTabDialog(pParent, rInAttrs, RID_SVXPAGE_DISTRIBUTE ),
mpPage(0L)
{
mpPage = new SvxDistributePage(this, rInAttrs, eHor, eVer);
SetTabPage(mpPage);
SetText(mpPage->GetText());
}
/*************************************************************************
|*
|* Dtor
|*
\************************************************************************/
SvxDistributeDialog::~SvxDistributeDialog()
{
}
/*************************************************************************
|*
|* Tabpage
|*
\************************************************************************/
SvxDistributePage::SvxDistributePage(
Window* pWindow,
const SfxItemSet& rInAttrs,
SvxDistributeHorizontal eHor,
SvxDistributeVertical eVer)
: SvxTabPage(pWindow, ResId(RID_SVXPAGE_DISTRIBUTE, DIALOG_MGR()), rInAttrs),
meDistributeHor(eHor),
meDistributeVer(eVer),
maFlHorizontal (this, ResId(FL_HORIZONTAL )),
maBtnHorNone (this, ResId(BTN_HOR_NONE )),
maBtnHorLeft (this, ResId(BTN_HOR_LEFT )),
maBtnHorCenter (this, ResId(BTN_HOR_CENTER )),
maBtnHorDistance (this, ResId(BTN_HOR_DISTANCE )),
maBtnHorRight (this, ResId(BTN_HOR_RIGHT )),
maHorLow (this, ResId(IMG_HOR_LOW )),
maHorCenter (this, ResId(IMG_HOR_CENTER )),
maHorDistance (this, ResId(IMG_HOR_DISTANCE )),
maHorHigh (this, ResId(IMG_HOR_HIGH )),
maFlVertical (this, ResId(FL_VERTICAL )),
maBtnVerNone (this, ResId(BTN_VER_NONE )),
maBtnVerTop (this, ResId(BTN_VER_TOP )),
maBtnVerCenter (this, ResId(BTN_VER_CENTER )),
maBtnVerDistance (this, ResId(BTN_VER_DISTANCE )),
maBtnVerBottom (this, ResId(BTN_VER_BOTTOM )),
maVerDistance (this, ResId(IMG_VER_DISTANCE )),
maVerLow (this, ResId(IMG_VER_LOW )),
maVerCenter (this, ResId(IMG_VER_CENTER )),
maVerHigh (this, ResId(IMG_VER_HIGH ))
{
maHorLow.SetModeImage( Image( ResId( IMG_HOR_LOW_H ) ), BMP_COLOR_HIGHCONTRAST );
maHorCenter.SetModeImage( Image( ResId( IMG_HOR_CENTER_H ) ), BMP_COLOR_HIGHCONTRAST );
maHorDistance.SetModeImage( Image( ResId( IMG_HOR_DISTANCE_H ) ), BMP_COLOR_HIGHCONTRAST );
maHorHigh.SetModeImage( Image( ResId( IMG_HOR_HIGH_H ) ), BMP_COLOR_HIGHCONTRAST );
maVerDistance.SetModeImage( Image( ResId( IMG_VER_DISTANCE_H ) ), BMP_COLOR_HIGHCONTRAST );
maVerLow.SetModeImage( Image( ResId( IMG_VER_LOW_H ) ), BMP_COLOR_HIGHCONTRAST );
maVerCenter.SetModeImage( Image( ResId( IMG_VER_CENTER_H ) ), BMP_COLOR_HIGHCONTRAST );
maVerHigh.SetModeImage( Image( ResId( IMG_VER_HIGH_H ) ), BMP_COLOR_HIGHCONTRAST );
FreeResource();
}
/*************************************************************************
|*
|* Dtor
|*
\************************************************************************/
SvxDistributePage::~SvxDistributePage()
{
}
/*************************************************************************
|*
|* create the tabpage
|*
\************************************************************************/
SfxTabPage* SvxDistributePage::Create(Window* pWindow, const SfxItemSet& rAttrs,
SvxDistributeHorizontal eHor, SvxDistributeVertical eVer)
{
return(new SvxDistributePage(pWindow, rAttrs, eHor, eVer));
}
/*************************************************************************
|*
|*
|*
\************************************************************************/
UINT16* SvxDistributePage::GetRanges()
{
return(pRanges);
}
/*************************************************************************
|*
|*
|*
\************************************************************************/
void SvxDistributePage::PointChanged(Window* pWindow, RECT_POINT eRP)
{
}
/*************************************************************************
|*
|* read the delivered Item-Set
|*
\************************************************************************/
void __EXPORT SvxDistributePage::Reset(const SfxItemSet& rAttrs)
{
maBtnHorNone.SetState(FALSE);
maBtnHorLeft.SetState(FALSE);
maBtnHorCenter.SetState(FALSE);
maBtnHorDistance.SetState(FALSE);
maBtnHorRight.SetState(FALSE);
switch(meDistributeHor)
{
case SvxDistributeHorizontalNone : maBtnHorNone.SetState(TRUE); break;
case SvxDistributeHorizontalLeft : maBtnHorLeft.SetState(TRUE); break;
case SvxDistributeHorizontalCenter : maBtnHorCenter.SetState(TRUE); break;
case SvxDistributeHorizontalDistance : maBtnHorDistance.SetState(TRUE); break;
case SvxDistributeHorizontalRight : maBtnHorRight.SetState(TRUE); break;
}
maBtnVerNone.SetState(FALSE);
maBtnVerTop.SetState(FALSE);
maBtnVerCenter.SetState(FALSE);
maBtnVerDistance.SetState(FALSE);
maBtnVerBottom.SetState(FALSE);
switch(meDistributeVer)
{
case SvxDistributeVerticalNone : maBtnVerNone.SetState(TRUE); break;
case SvxDistributeVerticalTop : maBtnVerTop.SetState(TRUE); break;
case SvxDistributeVerticalCenter : maBtnVerCenter.SetState(TRUE); break;
case SvxDistributeVerticalDistance : maBtnVerDistance.SetState(TRUE); break;
case SvxDistributeVerticalBottom : maBtnVerBottom.SetState(TRUE); break;
}
}
/*************************************************************************
|*
|* Fill the delivered Item-Set with dialogbox-attributes
|*
\************************************************************************/
BOOL SvxDistributePage::FillItemSet( SfxItemSet& rAttrs)
{
SvxDistributeHorizontal eDistributeHor(SvxDistributeHorizontalNone);
SvxDistributeVertical eDistributeVer(SvxDistributeVerticalNone);
if(maBtnHorLeft.IsChecked())
eDistributeHor = SvxDistributeHorizontalLeft;
else if(maBtnHorCenter.IsChecked())
eDistributeHor = SvxDistributeHorizontalCenter;
else if(maBtnHorDistance.IsChecked())
eDistributeHor = SvxDistributeHorizontalDistance;
else if(maBtnHorRight.IsChecked())
eDistributeHor = SvxDistributeHorizontalRight;
if(maBtnVerTop.IsChecked())
eDistributeVer = SvxDistributeVerticalTop;
else if(maBtnVerCenter.IsChecked())
eDistributeVer = SvxDistributeVerticalCenter;
else if(maBtnVerDistance.IsChecked())
eDistributeVer = SvxDistributeVerticalDistance;
else if(maBtnVerBottom.IsChecked())
eDistributeVer = SvxDistributeVerticalBottom;
if(eDistributeHor != meDistributeHor || eDistributeVer != meDistributeVer)
{
meDistributeHor = eDistributeHor;
meDistributeVer = eDistributeVer;
return TRUE;
}
return FALSE;
}