summaryrefslogtreecommitdiff
path: root/svx/source/cui/borderconn.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'svx/source/cui/borderconn.cxx')
-rw-r--r--svx/source/cui/borderconn.cxx318
1 files changed, 0 insertions, 318 deletions
diff --git a/svx/source/cui/borderconn.cxx b/svx/source/cui/borderconn.cxx
deleted file mode 100644
index 82f51bf2b8..0000000000
--- a/svx/source/cui/borderconn.cxx
+++ /dev/null
@@ -1,318 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2008 by Sun Microsystems, Inc.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * $RCSfile: borderconn.cxx,v $
- * $Revision: 1.8 $
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org 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 version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_svx.hxx"
-
-#ifdef SVX_DLLIMPLEMENTATION
-#undef SVX_DLLIMPLEMENTATION
-#endif
-
-#include "borderconn.hxx"
-#include <svx/frmsel.hxx>
-#include "bolnitem.hxx"
-#include <svx/boxitem.hxx>
-#include <svx/algitem.hxx>
-#include <svx/shaditem.hxx>
-
-namespace svx {
-
-/* ============================================================================
-SvxLineItem connection
-----------------------
-Connects an SvxLineItem (that contains the style of one line of a cell border)
-with one frame border from a svx::FrameSelector control. If this connection is
-used, no additional code is needed in the Reset() and FillItemSet() functions
-of the tab page.
-============================================================================ */
-
-// 1st: item wrappers ---------------------------------------------------------
-
-class LineItemWrapper : public sfx::SingleItemWrapper< SvxLineItem, const SvxBorderLine* >
-{
-public:
- inline explicit LineItemWrapper( USHORT nSlot ) : SingleItemWrapperType( nSlot ) {}
-
- virtual const SvxBorderLine* GetItemValue( const SvxLineItem& rItem ) const
- { return rItem.GetLine(); }
- virtual void SetItemValue( SvxLineItem& rItem, const SvxBorderLine* pLine ) const
- { rItem.SetLine( pLine ); }
-};
-
-// 2nd: control wrappers ------------------------------------------------------
-
-class FrameSelectorWrapper : public sfx::SingleControlWrapper< FrameSelector, const SvxBorderLine* >
-{
-public:
- inline explicit FrameSelectorWrapper( FrameSelector& rFrameSel, FrameBorderType eBorder ) :
- SingleControlWrapperType( rFrameSel ), meBorder( eBorder ) {}
-
- virtual bool IsControlDontKnow() const;
- virtual void SetControlDontKnow( bool bSet );
-
- virtual const SvxBorderLine* GetControlValue() const;
- virtual void SetControlValue( const SvxBorderLine* pLine );
-
-private:
- FrameBorderType meBorder; /// The line this wrapper works with.
-};
-
-bool FrameSelectorWrapper::IsControlDontKnow() const
-{
- return GetControl().GetFrameBorderState( meBorder ) == FRAMESTATE_DONTCARE;
-}
-
-void FrameSelectorWrapper::SetControlDontKnow( bool bSet )
-{
- if( bSet )
- GetControl().SetBorderDontCare( meBorder );
-}
-
-const SvxBorderLine* FrameSelectorWrapper::GetControlValue() const
-{
- return GetControl().GetFrameBorderStyle( meBorder );
-}
-
-void FrameSelectorWrapper::SetControlValue( const SvxBorderLine* pLine )
-{
- GetControl().ShowBorder( meBorder, pLine );
-}
-
-// 3rd: connection ------------------------------------------------------------
-
-typedef sfx::ItemControlConnection< LineItemWrapper, FrameSelectorWrapper > FrameLineConnection;
-
-/* ============================================================================
-SvxMarginItem connection
-------------------------
-Connects an SvxMarginItem (that contains the inner margin of all cell borders)
-with the numerical edit controls of the SvxBorderTabPage. If this connection is
-used, no additional code is needed in the Reset() and FillItemSet() functions
-of the tab page.
-============================================================================ */
-
-// 1st: item wrappers ---------------------------------------------------------
-
-typedef sfx::IdentItemWrapper< SvxMarginItem > MarginItemWrapper;
-
-// 2nd: control wrappers ------------------------------------------------------
-
-class MarginControlsWrapper : public sfx::MultiControlWrapper< SvxMarginItem >
-{
-public:
- explicit MarginControlsWrapper(
- MetricField& rMfLeft, MetricField& rMfRight,
- MetricField& rMfTop, MetricField& rMfBottom );
-
- virtual SvxMarginItem GetControlValue() const;
- virtual void SetControlValue( SvxMarginItem aItem );
-
-private:
- sfx::Int16MetricFieldWrapper maLeftWrp;
- sfx::Int16MetricFieldWrapper maRightWrp;
- sfx::Int16MetricFieldWrapper maTopWrp;
- sfx::Int16MetricFieldWrapper maBottomWrp;
-};
-
-MarginControlsWrapper::MarginControlsWrapper(
- MetricField& rMfLeft, MetricField& rMfRight, MetricField& rMfTop, MetricField& rMfBottom ) :
- maLeftWrp( rMfLeft, FUNIT_TWIP ),
- maRightWrp( rMfRight, FUNIT_TWIP ),
- maTopWrp( rMfTop, FUNIT_TWIP ),
- maBottomWrp( rMfBottom, FUNIT_TWIP )
-{
- RegisterControlWrapper( maLeftWrp );
- RegisterControlWrapper( maRightWrp );
- RegisterControlWrapper( maTopWrp );
- RegisterControlWrapper( maBottomWrp );
-}
-
-SvxMarginItem MarginControlsWrapper::GetControlValue() const
-{
- SvxMarginItem aItem( GetDefaultValue() );
- if( !maLeftWrp.IsControlDontKnow() )
- aItem.SetLeftMargin( maLeftWrp.GetControlValue() );
- if( !maRightWrp.IsControlDontKnow() )
- aItem.SetRightMargin( maRightWrp.GetControlValue() );
- if( !maTopWrp.IsControlDontKnow() )
- aItem.SetTopMargin( maTopWrp.GetControlValue() );
- if( !maBottomWrp.IsControlDontKnow() )
- aItem.SetBottomMargin( maBottomWrp.GetControlValue() );
- return aItem;
-}
-
-void MarginControlsWrapper::SetControlValue( SvxMarginItem aItem )
-{
- maLeftWrp.SetControlValue( aItem.GetLeftMargin() );
- maRightWrp.SetControlValue( aItem.GetRightMargin() );
- maTopWrp.SetControlValue( aItem.GetTopMargin() );
- maBottomWrp.SetControlValue( aItem.GetBottomMargin() );
-}
-
-// 3rd: connection ------------------------------------------------------------
-
-class MarginConnection : public sfx::ItemControlConnection< MarginItemWrapper, MarginControlsWrapper >
-{
-public:
- explicit MarginConnection( const SfxItemSet& rItemSet,
- MetricField& rMfLeft, MetricField& rMfRight,
- MetricField& rMfTop, MetricField& rMfBottom,
- sfx::ItemConnFlags nFlags = sfx::ITEMCONN_DEFAULT );
-};
-
-MarginConnection::MarginConnection( const SfxItemSet& rItemSet,
- MetricField& rMfLeft, MetricField& rMfRight, MetricField& rMfTop, MetricField& rMfBottom,
- sfx::ItemConnFlags nFlags ) :
- ItemControlConnectionType( SID_ATTR_ALIGN_MARGIN, new MarginControlsWrapper( rMfLeft, rMfRight, rMfTop, rMfBottom ), nFlags )
-{
- mxCtrlWrp->SetDefaultValue( maItemWrp.GetDefaultItem( rItemSet ) );
-}
-
-/* ============================================================================
-SvxShadowItem connection
-------------------------
-Connects an SvxShadowItem (that contains shadow position, size, and color) with
-the controls of the SvxBorderTabPage. If this connection is used, no additional
-code is needed in the Reset() and FillItemSet() functions of the tab page.
-============================================================================ */
-
-// 1st: item wrappers ---------------------------------------------------------
-
-typedef sfx::IdentItemWrapper< SvxShadowItem > ShadowItemWrapper;
-
-// 2nd: control wrappers ------------------------------------------------------
-
-typedef sfx::ValueSetWrapper< SvxShadowLocation > ShadowPosWrapper;
-static const ShadowPosWrapper::MapEntryType s_pShadowPosMap[] =
-{
- { 1, SVX_SHADOW_NONE },
- { 2, SVX_SHADOW_BOTTOMRIGHT },
- { 3, SVX_SHADOW_TOPRIGHT },
- { 4, SVX_SHADOW_BOTTOMLEFT },
- { 5, SVX_SHADOW_TOPLEFT },
- { VALUESET_ITEM_NOTFOUND, SVX_SHADOW_NONE }
-};
-
-class ShadowControlsWrapper : public sfx::MultiControlWrapper< SvxShadowItem >
-{
-public:
- explicit ShadowControlsWrapper( ValueSet& rVsPos, MetricField& rMfSize, ColorListBox& rLbColor );
-
- virtual SvxShadowItem GetControlValue() const;
- virtual void SetControlValue( SvxShadowItem aItem );
-
-private:
- ShadowPosWrapper maPosWrp;
- sfx::UShortMetricFieldWrapper maSizeWrp;
- sfx::ColorListBoxWrapper maColorWrp;
-};
-
-ShadowControlsWrapper::ShadowControlsWrapper(
- ValueSet& rVsPos, MetricField& rMfSize, ColorListBox& rLbColor ) :
- maPosWrp( rVsPos, s_pShadowPosMap ),
- maSizeWrp( rMfSize, FUNIT_TWIP ),
- maColorWrp( rLbColor )
-{
- RegisterControlWrapper( maPosWrp );
- RegisterControlWrapper( maSizeWrp );
- RegisterControlWrapper( maColorWrp );
-}
-
-SvxShadowItem ShadowControlsWrapper::GetControlValue() const
-{
- SvxShadowItem aItem( GetDefaultValue() );
- if( !maPosWrp.IsControlDontKnow() )
- aItem.SetLocation( maPosWrp.GetControlValue() );
- if( !maSizeWrp.IsControlDontKnow() )
- aItem.SetWidth( maSizeWrp.GetControlValue() );
- if( !maColorWrp.IsControlDontKnow() )
- aItem.SetColor( maColorWrp.GetControlValue() );
- return aItem;
-}
-
-void ShadowControlsWrapper::SetControlValue( SvxShadowItem aItem )
-{
- maPosWrp.SetControlValue( aItem.GetLocation() );
- maSizeWrp.SetControlValue( aItem.GetWidth() );
- maColorWrp.SetControlValue( aItem.GetColor() );
-}
-
-// 3rd: connection ------------------------------------------------------------
-
-class ShadowConnection : public sfx::ItemControlConnection< ShadowItemWrapper, ShadowControlsWrapper >
-{
-public:
- explicit ShadowConnection( const SfxItemSet& rItemSet,
- ValueSet& rVsPos, MetricField& rMfSize, ColorListBox& rLbColor,
- sfx::ItemConnFlags nFlags = sfx::ITEMCONN_DEFAULT );
-};
-
-ShadowConnection::ShadowConnection( const SfxItemSet& rItemSet,
- ValueSet& rVsPos, MetricField& rMfSize, ColorListBox& rLbColor, sfx::ItemConnFlags nFlags ) :
- ItemControlConnectionType( SID_ATTR_BORDER_SHADOW, new ShadowControlsWrapper( rVsPos, rMfSize, rLbColor ), nFlags )
-{
- mxCtrlWrp->SetDefaultValue( maItemWrp.GetDefaultItem( rItemSet ) );
-}
-
-// ============================================================================
-// ============================================================================
-
-sfx::ItemConnectionBase* CreateFrameLineConnection( USHORT nSlot,
- FrameSelector& rFrameSel, FrameBorderType eBorder, sfx::ItemConnFlags nFlags )
-{
- return new FrameLineConnection( nSlot, new FrameSelectorWrapper( rFrameSel, eBorder ), nFlags );
-}
-
-sfx::ItemConnectionBase* CreateFrameBoxConnection( USHORT /*nBoxSlot*/, USHORT /*nBoxInfoSlot*/,
- FrameSelector& /*rFrameSel*/, FrameBorderType /*eBorder*/, sfx::ItemConnFlags /*nFlags*/ )
-{
- DBG_ERRORFILE( "svx::CreateFrameBoxConnection - not implemented" );
- return 0;
-}
-
-sfx::ItemConnectionBase* CreateMarginConnection( const SfxItemSet& rItemSet,
- MetricField& rMfLeft, MetricField& rMfRight,
- MetricField& rMfTop, MetricField& rMfBottom,
- sfx::ItemConnFlags nFlags )
-{
- return new MarginConnection( rItemSet, rMfLeft, rMfRight, rMfTop, rMfBottom, nFlags );
-}
-
-sfx::ItemConnectionBase* CreateShadowConnection( const SfxItemSet& rItemSet,
- ValueSet& rVsPos, MetricField& rMfSize, ColorListBox& rLbColor,
- sfx::ItemConnFlags nFlags )
-{
- return new ShadowConnection( rItemSet, rVsPos, rMfSize, rLbColor, nFlags );
-}
-
-// ============================================================================
-
-} // namespace svx
-