summaryrefslogtreecommitdiff
path: root/svx/source/cui/align.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'svx/source/cui/align.cxx')
-rw-r--r--svx/source/cui/align.cxx303
1 files changed, 0 insertions, 303 deletions
diff --git a/svx/source/cui/align.cxx b/svx/source/cui/align.cxx
deleted file mode 100644
index 8e84817027..0000000000
--- a/svx/source/cui/align.cxx
+++ /dev/null
@@ -1,303 +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: align.cxx,v $
- * $Revision: 1.26.272.1 $
- *
- * 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 ---------------------------------------------------------------
-
-#include <svx/svxenum.hxx>
-
-#include <svx/dialogs.hrc>
-#include "align.hrc"
-#include "rotmodit.hxx"
-
-#include <svx/algitem.hxx>
-#include <svx/frmdiritem.hxx>
-#include "align.hxx"
-#include <svx/dialmgr.hxx>
-#include "dlgutil.hxx"
-#include <tools/shl.hxx>
-#include <sfx2/app.hxx>
-#include <sfx2/module.hxx>
-#include <sfx2/itemconnect.hxx>
-#include <svtools/cjkoptions.hxx>
-#include <svtools/languageoptions.hxx>
-#include <svtools/localresaccess.hxx>
-#include <svx/svxids.hrc> //CHINA001
-#include "flagsdef.hxx" //CHINA001
-#include <svtools/intitem.hxx> //CHINA001
-#include <sfx2/request.hxx> //CHINA001
-
-namespace svx {
-
-// item connections ===========================================================
-
-// horizontal alignment -------------------------------------------------------
-
-typedef sfx::ValueItemWrapper< SvxHorJustifyItem, SvxCellHorJustify, USHORT > HorJustItemWrapper;
-typedef sfx::ListBoxConnection< HorJustItemWrapper > HorJustConnection;
-
-static const HorJustConnection::MapEntryType s_pHorJustMap[] =
-{
- { ALIGNDLG_HORALIGN_STD, SVX_HOR_JUSTIFY_STANDARD },
- { ALIGNDLG_HORALIGN_LEFT, SVX_HOR_JUSTIFY_LEFT },
- { ALIGNDLG_HORALIGN_CENTER, SVX_HOR_JUSTIFY_CENTER },
- { ALIGNDLG_HORALIGN_RIGHT, SVX_HOR_JUSTIFY_RIGHT },
- { ALIGNDLG_HORALIGN_BLOCK, SVX_HOR_JUSTIFY_BLOCK },
- { ALIGNDLG_HORALIGN_FILL, SVX_HOR_JUSTIFY_REPEAT },
- { LISTBOX_ENTRY_NOTFOUND, SVX_HOR_JUSTIFY_STANDARD }
-};
-
-// vertical alignment ---------------------------------------------------------
-
-typedef sfx::ValueItemWrapper< SvxVerJustifyItem, SvxCellVerJustify, USHORT > VerJustItemWrapper;
-typedef sfx::ListBoxConnection< VerJustItemWrapper > VerJustConnection;
-
-static const VerJustConnection::MapEntryType s_pVerJustMap[] =
-{
- { ALIGNDLG_VERALIGN_STD, SVX_VER_JUSTIFY_STANDARD },
- { ALIGNDLG_VERALIGN_TOP, SVX_VER_JUSTIFY_TOP },
- { ALIGNDLG_VERALIGN_MID, SVX_VER_JUSTIFY_CENTER },
- { ALIGNDLG_VERALIGN_BOTTOM, SVX_VER_JUSTIFY_BOTTOM },
- { LISTBOX_ENTRY_NOTFOUND, SVX_VER_JUSTIFY_STANDARD }
-};
-
-// cell rotate mode -----------------------------------------------------------
-
-typedef sfx::ValueItemWrapper< SvxRotateModeItem, SvxRotateMode, USHORT > RotateModeItemWrapper;
-typedef sfx::ValueSetConnection< RotateModeItemWrapper > RotateModeConnection;
-
-static const RotateModeConnection::MapEntryType s_pRotateModeMap[] =
-{
- { IID_BOTTOMLOCK, SVX_ROTATE_MODE_BOTTOM },
- { IID_TOPLOCK, SVX_ROTATE_MODE_TOP },
- { IID_CELLLOCK, SVX_ROTATE_MODE_STANDARD },
- { VALUESET_ITEM_NOTFOUND, SVX_ROTATE_MODE_STANDARD }
-};
-
-// ============================================================================
-
-static USHORT s_pRanges[] =
-{
- SID_ATTR_ALIGN_HOR_JUSTIFY,SID_ATTR_ALIGN_VER_JUSTIFY,
- SID_ATTR_ALIGN_STACKED,SID_ATTR_ALIGN_LINEBREAK,
- SID_ATTR_ALIGN_INDENT,SID_ATTR_ALIGN_INDENT,
- SID_ATTR_ALIGN_DEGREES,SID_ATTR_ALIGN_DEGREES,
- SID_ATTR_ALIGN_LOCKPOS,SID_ATTR_ALIGN_LOCKPOS,
- SID_ATTR_ALIGN_HYPHENATION,SID_ATTR_ALIGN_HYPHENATION,
- SID_ATTR_ALIGN_ASIANVERTICAL,SID_ATTR_ALIGN_ASIANVERTICAL,
- SID_ATTR_FRAMEDIRECTION,SID_ATTR_FRAMEDIRECTION,
- SID_ATTR_ALIGN_SHRINKTOFIT,SID_ATTR_ALIGN_SHRINKTOFIT,
- 0
-};
-
-// ============================================================================
-
-AlignmentTabPage::AlignmentTabPage( Window* pParent, const SfxItemSet& rCoreAttrs ) :
-
- SfxTabPage( pParent, SVX_RES( RID_SVXPAGE_ALIGNMENT ), rCoreAttrs ),
-
- maFlAlignment ( this, SVX_RES( FL_ALIGNMENT ) ),
- maFtHorAlign ( this, SVX_RES( FT_HORALIGN ) ),
- maLbHorAlign ( this, SVX_RES( LB_HORALIGN ) ),
- maFtIndent ( this, SVX_RES( FT_INDENT ) ),
- maEdIndent ( this, SVX_RES( ED_INDENT ) ),
- maFtVerAlign ( this, SVX_RES( FT_VERALIGN ) ),
- maLbVerAlign ( this, SVX_RES( LB_VERALIGN ) ),
-
- maFlOrient ( this, SVX_RES( FL_ORIENTATION ) ),
- maCtrlDial ( this, SVX_RES( CTR_DIAL ) ),
- maFtRotate ( this, SVX_RES( FT_DEGREES ) ),
- maNfRotate ( this, SVX_RES( NF_DEGREES ) ),
- maFtRefEdge ( this, SVX_RES( FT_BORDER_LOCK ) ),
- maVsRefEdge ( this, SVX_RES( CTR_BORDER_LOCK ) ),
- maCbStacked ( this, SVX_RES( BTN_TXTSTACKED ) ),
- maCbAsianMode ( this, SVX_RES( BTN_ASIAN_VERTICAL ) ),
- maOrientHlp ( maCtrlDial, maNfRotate, maCbStacked ),
-
- maFlProperties ( this, SVX_RES( FL_WRAP ) ),
- maBtnWrap ( this, SVX_RES( BTN_WRAP ) ),
- maBtnHyphen ( this, SVX_RES( BTN_HYPH ) ),
- maBtnShrink ( this, SVX_RES( BTN_SHRINK ) ),
- maFtFrameDir ( this, SVX_RES( FT_TEXTFLOW ) ),
- maLbFrameDir ( this, SVX_RES( LB_FRAMEDIR ) )
-{
- InitVsRefEgde();
-
- // windows to be disabled, if stacked text is turned ON
- maOrientHlp.AddDependentWindow( maFtRotate, STATE_CHECK );
- maOrientHlp.AddDependentWindow( maFtRefEdge, STATE_CHECK );
- maOrientHlp.AddDependentWindow( maVsRefEdge, STATE_CHECK );
- // windows to be disabled, if stacked text is turned OFF
- maOrientHlp.AddDependentWindow( maCbAsianMode, STATE_NOCHECK );
-
- Link aLink = LINK( this, AlignmentTabPage, UpdateEnableHdl );
-
- maLbHorAlign.SetSelectHdl( aLink );
- maBtnWrap.SetClickHdl( aLink );
-
- // Asian vertical mode
- maCbAsianMode.Show( SvtCJKOptions().IsVerticalTextEnabled() );
-
- // CTL frame direction
- maLbFrameDir.InsertEntryValue( SVX_RESSTR( RID_SVXSTR_FRAMEDIR_LTR ), FRMDIR_HORI_LEFT_TOP );
- maLbFrameDir.InsertEntryValue( SVX_RESSTR( RID_SVXSTR_FRAMEDIR_RTL ), FRMDIR_HORI_RIGHT_TOP );
- maLbFrameDir.InsertEntryValue( SVX_RESSTR( RID_SVXSTR_FRAMEDIR_SUPER ), FRMDIR_ENVIRONMENT );
- if( !SvtLanguageOptions().IsCTLFontEnabled() )
- {
- maFtFrameDir.Hide();
- maLbFrameDir.Hide();
- }
-
- // diese Page braucht ExchangeSupport
- SetExchangeSupport();
-
- FreeResource();
-
- AddItemConnection( new sfx::DummyItemConnection( SID_ATTR_ALIGN_HOR_JUSTIFY, maFtHorAlign, sfx::ITEMCONN_HIDE_UNKNOWN ) );
- AddItemConnection( new HorJustConnection( SID_ATTR_ALIGN_HOR_JUSTIFY, maLbHorAlign, s_pHorJustMap, sfx::ITEMCONN_HIDE_UNKNOWN ) );
- AddItemConnection( new sfx::DummyItemConnection( SID_ATTR_ALIGN_INDENT, maFtIndent, sfx::ITEMCONN_HIDE_UNKNOWN ) );
- AddItemConnection( new sfx::UInt16MetricConnection( SID_ATTR_ALIGN_INDENT, maEdIndent, FUNIT_TWIP, sfx::ITEMCONN_HIDE_UNKNOWN ) );
- AddItemConnection( new sfx::DummyItemConnection( SID_ATTR_ALIGN_VER_JUSTIFY, maFtVerAlign, sfx::ITEMCONN_HIDE_UNKNOWN ) );
- AddItemConnection( new VerJustConnection( SID_ATTR_ALIGN_VER_JUSTIFY, maLbVerAlign, s_pVerJustMap, sfx::ITEMCONN_HIDE_UNKNOWN ) );
- AddItemConnection( new DialControlConnection( SID_ATTR_ALIGN_DEGREES, maCtrlDial, sfx::ITEMCONN_HIDE_UNKNOWN ) );
- AddItemConnection( new sfx::DummyItemConnection( SID_ATTR_ALIGN_DEGREES, maFtRotate, sfx::ITEMCONN_HIDE_UNKNOWN ) );
- AddItemConnection( new sfx::DummyItemConnection( SID_ATTR_ALIGN_LOCKPOS, maFtRefEdge, sfx::ITEMCONN_HIDE_UNKNOWN ) );
- AddItemConnection( new RotateModeConnection( SID_ATTR_ALIGN_LOCKPOS, maVsRefEdge, s_pRotateModeMap, sfx::ITEMCONN_HIDE_UNKNOWN ) );
- AddItemConnection( new OrientStackedConnection( SID_ATTR_ALIGN_STACKED, maOrientHlp ) );
- AddItemConnection( new sfx::DummyItemConnection( SID_ATTR_ALIGN_STACKED, maCbStacked, sfx::ITEMCONN_HIDE_UNKNOWN ) );
- AddItemConnection( new sfx::CheckBoxConnection( SID_ATTR_ALIGN_ASIANVERTICAL, maCbAsianMode, sfx::ITEMCONN_HIDE_UNKNOWN ) );
- AddItemConnection( new sfx::CheckBoxConnection( SID_ATTR_ALIGN_LINEBREAK, maBtnWrap, sfx::ITEMCONN_HIDE_UNKNOWN ) );
- AddItemConnection( new sfx::CheckBoxConnection( SID_ATTR_ALIGN_HYPHENATION, maBtnHyphen, sfx::ITEMCONN_HIDE_UNKNOWN ) );
- AddItemConnection( new sfx::CheckBoxConnection( SID_ATTR_ALIGN_SHRINKTOFIT, maBtnShrink, sfx::ITEMCONN_HIDE_UNKNOWN ) );
- AddItemConnection( new sfx::DummyItemConnection( SID_ATTR_FRAMEDIRECTION, maFtFrameDir, sfx::ITEMCONN_HIDE_UNKNOWN ) );
- AddItemConnection( new FrameDirListBoxConnection( SID_ATTR_FRAMEDIRECTION, maLbFrameDir, sfx::ITEMCONN_HIDE_UNKNOWN ) );
-}
-
-AlignmentTabPage::~AlignmentTabPage()
-{
-}
-
-SfxTabPage* AlignmentTabPage::Create( Window* pParent, const SfxItemSet& rAttrSet )
-{
- return new AlignmentTabPage( pParent, rAttrSet );
-}
-
-USHORT* AlignmentTabPage::GetRanges()
-{
- return s_pRanges;
-}
-
-void AlignmentTabPage::Reset( const SfxItemSet& rCoreAttrs )
-{
- SfxTabPage::Reset( rCoreAttrs );
- UpdateEnableControls();
-}
-
-int AlignmentTabPage::DeactivatePage( SfxItemSet* _pSet )
-{
- if( _pSet )
- FillItemSet( *_pSet );
- return LEAVE_PAGE;
-}
-
-void AlignmentTabPage::DataChanged( const DataChangedEvent& rDCEvt )
-{
- SfxTabPage::DataChanged( rDCEvt );
- if( (rDCEvt.GetType() == DATACHANGED_SETTINGS) && (rDCEvt.GetFlags() & SETTINGS_STYLE) )
- {
- svt::OLocalResourceAccess aLocalResAcc( SVX_RES( RID_SVXPAGE_ALIGNMENT ), RSC_TABPAGE );
- InitVsRefEgde();
- }
-}
-
-void AlignmentTabPage::InitVsRefEgde()
-{
- // remember selection - is deleted in call to ValueSet::Clear()
- USHORT nSel = maVsRefEdge.GetSelectItemId();
-
- ResId aResId( GetSettings().GetStyleSettings().GetHighContrastMode() ? IL_LOCK_BMPS_HC : IL_LOCK_BMPS, DIALOG_MGR() );
- ImageList aImageList( aResId );
- Size aItemSize( aImageList.GetImage( IID_BOTTOMLOCK ).GetSizePixel() );
-
- maVsRefEdge.Clear();
- maVsRefEdge.SetStyle( maVsRefEdge.GetStyle() | WB_ITEMBORDER | WB_DOUBLEBORDER );
-
- maVsRefEdge.SetColCount( 3 );
- maVsRefEdge.InsertItem( IID_BOTTOMLOCK, aImageList.GetImage( IID_BOTTOMLOCK ), String( SVX_RES( STR_BOTTOMLOCK ) ) );
- maVsRefEdge.InsertItem( IID_TOPLOCK, aImageList.GetImage( IID_TOPLOCK ), String( SVX_RES( STR_TOPLOCK ) ) );
- maVsRefEdge.InsertItem( IID_CELLLOCK, aImageList.GetImage( IID_CELLLOCK ), String( SVX_RES( STR_CELLLOCK ) ) );
-
- maVsRefEdge.SetSizePixel( maVsRefEdge.CalcWindowSizePixel( aItemSize ) );
-
- maVsRefEdge.SelectItem( nSel );
-}
-
-void AlignmentTabPage::UpdateEnableControls()
-{
- USHORT nHorAlign = maLbHorAlign.GetSelectEntryPos();
- bool bHorLeft = (nHorAlign == ALIGNDLG_HORALIGN_LEFT);
- bool bHorBlock = (nHorAlign == ALIGNDLG_HORALIGN_BLOCK);
- bool bHorFill = (nHorAlign == ALIGNDLG_HORALIGN_FILL);
-
- // indent edit field only for left alignment
- maFtIndent.Enable( bHorLeft );
- maEdIndent.Enable( bHorLeft );
-
- // rotation/stacked disabled for fill alignment
- maOrientHlp.Enable( !bHorFill );
-
- // hyphenation only for automatic line breaks or for block alignment
- maBtnHyphen.Enable( maBtnWrap.IsChecked() || bHorBlock );
-
- // shrink only without automatic line break, and not for block and fill
- maBtnShrink.Enable( (maBtnWrap.GetState() == STATE_NOCHECK) && !bHorBlock && !bHorFill );
-
- // visibility of fixed lines
- maFlAlignment.Show( maLbHorAlign.IsVisible() || maEdIndent.IsVisible() || maLbVerAlign.IsVisible() );
- maFlOrient.Show( maCtrlDial.IsVisible() || maVsRefEdge.IsVisible() || maCbStacked.IsVisible() || maCbAsianMode.IsVisible() );
- maFlProperties.Show( maBtnWrap.IsVisible() || maBtnHyphen.IsVisible() || maBtnShrink.IsVisible() || maLbFrameDir.IsVisible() );
-}
-
-IMPL_LINK( AlignmentTabPage, UpdateEnableHdl, void*, EMPTYARG )
-{
- UpdateEnableControls();
- return 0;
-}
-
-// ============================================================================
-
-} // namespace svx
-