| /************************************************************** |
| * |
| * 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. |
| * |
| *************************************************************/ |
| |
| |
| |
| // MARKER(update_precomp.py): autogen include statement, do not remove |
| #include "precompiled_sc.hxx" |
| |
| #undef SC_DLLIMPLEMENTATION |
| |
| |
| |
| //------------------------------------------------------------------ |
| |
| #include "scitems.hxx" |
| #include "tpview.hxx" |
| #include "global.hxx" |
| #include "viewopti.hxx" |
| #include "tabvwsh.hxx" |
| #include "uiitems.hxx" |
| #include "scresid.hxx" |
| #include "docsh.hxx" |
| #include "sc.hrc" // -> Slot-IDs |
| #include "optdlg.hrc" |
| #include "globstr.hrc" |
| #include <appoptio.hxx> |
| #include <scmod.hxx> |
| #include <svx/dlgutil.hxx> |
| #include <svx/drawitem.hxx> |
| #include <svx/xtable.hxx> |
| |
| |
| // STATIC DATA ----------------------------------------------------------- |
| |
| |
| |
| /*-----------------11.01.97 10.52------------------- |
| Optionen Inhalte |
| --------------------------------------------------*/ |
| |
| ScTpContentOptions::ScTpContentOptions( Window* pParent, |
| const SfxItemSet& rArgSet ) : |
| SfxTabPage(pParent, ScResId( RID_SCPAGE_CONTENT ), rArgSet), |
| |
| aLinesGB( this, ScResId(GB_LINES )), |
| aGridCB( this, ScResId(CB_GRID )), |
| aColorFT( this, ScResId(FT_COLOR )), |
| aColorLB( this, ScResId(LB_COLOR )), |
| aBreakCB( this, ScResId(CB_PAGEBREAKS )), |
| aGuideLineCB( this, ScResId(CB_GUIDELINE )), |
| aHandleCB( this, ScResId(CB_HANDLES )), |
| aBigHandleCB( this, ScResId(CB_BIGHANDLES )), |
| |
| aSeparator1FL (this, ScResId(FL_SEPARATOR1 )), |
| aDisplayGB( this, ScResId(GB_DISPLAY)), |
| aFormulaCB( this, ScResId(CB_FORMULA)), |
| aNilCB( this, ScResId(CB_NIL )), |
| aAnnotCB( this, ScResId(CB_ANNOT )), |
| aValueCB( this, ScResId(CB_VALUE )), |
| aAnchorCB( this, ScResId(CB_ANCHOR )), |
| aClipMarkCB( this, ScResId(CB_CLIP )), |
| aRangeFindCB( this, ScResId( CB_RFIND )), |
| |
| aObjectGB( this, ScResId(GB_OBJECT )), |
| aObjGrfFT( this, ScResId(FT_OBJGRF )), |
| aObjGrfLB( this, ScResId(LB_OBJGRF )), |
| aDiagramFT( this, ScResId(FT_DIAGRAM)), |
| aDiagramLB( this, ScResId(LB_DIAGRAM)), |
| aDrawFT( this, ScResId(FT_DRAW )), |
| aDrawLB( this, ScResId(LB_DRAW )), |
| |
| aZoomGB( this, ScResId(GB_ZOOM) ), |
| aSyncZoomCB( this, ScResId(CB_SYNCZOOM) ), |
| |
| aSeparator2FL (this, ScResId(FL_SEPARATOR2)), |
| aWindowGB( this, ScResId(GB_WINDOW )), |
| aRowColHeaderCB(this, ScResId(CB_ROWCOLHEADER )), |
| aHScrollCB( this, ScResId(CB_HSCROLL )), |
| aVScrollCB( this, ScResId(CB_VSCROLL )), |
| aTblRegCB( this, ScResId(CB_TBLREG )), |
| aOutlineCB( this, ScResId(CB_OUTLINE )), |
| pLocalOptions(0) |
| { |
| FreeResource(); |
| aSeparator1FL.SetStyle( aSeparator1FL.GetStyle() | WB_VERT ); |
| aSeparator2FL.SetStyle( aSeparator2FL.GetStyle() | WB_VERT ); |
| SetExchangeSupport(); |
| Link aSelObjHdl(LINK( this, ScTpContentOptions, SelLbObjHdl ) ); |
| aObjGrfLB. SetSelectHdl(aSelObjHdl); |
| aDiagramLB. SetSelectHdl(aSelObjHdl); |
| aDrawLB. SetSelectHdl(aSelObjHdl); |
| |
| Link aCBHdl(LINK( this, ScTpContentOptions, CBHdl ) ); |
| aFormulaCB .SetClickHdl(aCBHdl); |
| aNilCB .SetClickHdl(aCBHdl); |
| aAnnotCB .SetClickHdl(aCBHdl); |
| aValueCB .SetClickHdl(aCBHdl); |
| aAnchorCB .SetClickHdl(aCBHdl); |
| aClipMarkCB .SetClickHdl(aCBHdl); |
| |
| aVScrollCB .SetClickHdl(aCBHdl); |
| aHScrollCB .SetClickHdl(aCBHdl); |
| aTblRegCB .SetClickHdl(aCBHdl); |
| aOutlineCB .SetClickHdl(aCBHdl); |
| aBreakCB .SetClickHdl(aCBHdl); |
| aGuideLineCB.SetClickHdl(aCBHdl); |
| aHandleCB .SetClickHdl(aCBHdl); |
| aBigHandleCB.SetClickHdl(aCBHdl); |
| aRowColHeaderCB.SetClickHdl(aCBHdl); |
| |
| aGridCB .SetClickHdl( LINK( this, ScTpContentOptions, GridHdl ) ); |
| } |
| /*-----------------11.01.97 10.52------------------- |
| |
| --------------------------------------------------*/ |
| |
| ScTpContentOptions::~ScTpContentOptions() |
| { |
| delete pLocalOptions; |
| } |
| /*-----------------11.01.97 10.52------------------- |
| |
| --------------------------------------------------*/ |
| |
| SfxTabPage* ScTpContentOptions::Create( Window* pParent, |
| const SfxItemSet& rCoreSet ) |
| { |
| return new ScTpContentOptions(pParent, rCoreSet); |
| } |
| /*-----------------11.01.97 10.52------------------- |
| |
| --------------------------------------------------*/ |
| sal_Bool ScTpContentOptions::FillItemSet( SfxItemSet& rCoreSet ) |
| { |
| sal_Bool bRet = sal_False; |
| if( aFormulaCB .GetSavedValue() != aFormulaCB .IsChecked() || |
| aNilCB .GetSavedValue() != aNilCB .IsChecked() || |
| aAnnotCB .GetSavedValue() != aAnnotCB .IsChecked() || |
| aValueCB .GetSavedValue() != aValueCB .IsChecked() || |
| aAnchorCB .GetSavedValue() != aAnchorCB .IsChecked() || |
| aClipMarkCB .GetSavedValue() != aClipMarkCB .IsChecked() || |
| aObjGrfLB .GetSavedValue() != aObjGrfLB .GetSelectEntryPos() || |
| aDiagramLB .GetSavedValue() != aDiagramLB .GetSelectEntryPos() || |
| aDrawLB .GetSavedValue() != aDrawLB .GetSelectEntryPos() || |
| aGridCB .GetSavedValue() != aGridCB.IsChecked() || |
| aRowColHeaderCB .GetSavedValue() != aRowColHeaderCB.IsChecked() || |
| aHScrollCB .GetSavedValue() != aHScrollCB .IsChecked() || |
| aVScrollCB .GetSavedValue() != aVScrollCB .IsChecked() || |
| aTblRegCB .GetSavedValue() != aTblRegCB .IsChecked() || |
| aOutlineCB .GetSavedValue() != aOutlineCB .IsChecked() || |
| aColorLB .GetSavedValue() != aColorLB .GetSelectEntryPos() || |
| aBreakCB .GetSavedValue() != aBreakCB .IsChecked() || |
| aGuideLineCB .GetSavedValue() != aGuideLineCB .IsChecked() || |
| aHandleCB .GetSavedValue() != aHandleCB .IsChecked() || |
| aBigHandleCB .GetSavedValue() != aBigHandleCB .IsChecked()) |
| { |
| pLocalOptions->SetGridColor( aColorLB.GetSelectEntryColor(), |
| aColorLB.GetSelectEntry() ); |
| rCoreSet.Put(ScTpViewItem(SID_SCVIEWOPTIONS, *pLocalOptions)); |
| bRet = sal_True; |
| } |
| if(aRangeFindCB.GetSavedValue() != aRangeFindCB.IsChecked()) |
| { |
| rCoreSet.Put(SfxBoolItem(SID_SC_INPUT_RANGEFINDER, aRangeFindCB.IsChecked())); |
| bRet = sal_True; |
| } |
| if(aSyncZoomCB.GetSavedValue() != aSyncZoomCB.IsChecked()) |
| { |
| rCoreSet.Put(SfxBoolItem(SID_SC_OPT_SYNCZOOM, aSyncZoomCB.IsChecked())); |
| bRet = sal_True; |
| } |
| |
| |
| return bRet; |
| } |
| /*-----------------11.01.97 10.53------------------- |
| |
| --------------------------------------------------*/ |
| |
| void ScTpContentOptions::Reset( const SfxItemSet& rCoreSet ) |
| { |
| const SfxPoolItem* pItem; |
| if(SFX_ITEM_SET == rCoreSet.GetItemState(SID_SCVIEWOPTIONS, sal_False , &pItem)) |
| pLocalOptions = new ScViewOptions( |
| ((const ScTpViewItem*)pItem)->GetViewOptions() ); |
| else |
| pLocalOptions = new ScViewOptions; |
| aFormulaCB .Check(pLocalOptions->GetOption(VOPT_FORMULAS)); |
| aNilCB .Check(pLocalOptions->GetOption(VOPT_NULLVALS)); |
| aAnnotCB .Check(pLocalOptions->GetOption(VOPT_NOTES)); |
| aValueCB .Check(pLocalOptions->GetOption(VOPT_SYNTAX)); |
| aAnchorCB .Check(pLocalOptions->GetOption(VOPT_ANCHOR)); |
| aClipMarkCB .Check(pLocalOptions->GetOption(VOPT_CLIPMARKS)); |
| |
| aObjGrfLB .SelectEntryPos( (sal_uInt16)pLocalOptions->GetObjMode(VOBJ_TYPE_OLE) ); |
| aDiagramLB .SelectEntryPos( (sal_uInt16)pLocalOptions->GetObjMode(VOBJ_TYPE_CHART) ); |
| aDrawLB .SelectEntryPos( (sal_uInt16)pLocalOptions->GetObjMode(VOBJ_TYPE_DRAW) ); |
| |
| aRowColHeaderCB.Check( pLocalOptions->GetOption(VOPT_HEADER) ); |
| aHScrollCB .Check( pLocalOptions->GetOption(VOPT_HSCROLL) ); |
| aVScrollCB .Check( pLocalOptions->GetOption(VOPT_VSCROLL) ); |
| aTblRegCB .Check( pLocalOptions->GetOption(VOPT_TABCONTROLS) ); |
| aOutlineCB .Check( pLocalOptions->GetOption(VOPT_OUTLINER) ); |
| |
| InitGridOpt(); |
| |
| aBreakCB.Check( pLocalOptions->GetOption(VOPT_PAGEBREAKS) ); |
| aGuideLineCB.Check( pLocalOptions->GetOption(VOPT_HELPLINES) ); |
| aHandleCB.Check( !pLocalOptions->GetOption(VOPT_SOLIDHANDLES) ); // inverted |
| aBigHandleCB.Check( pLocalOptions->GetOption(VOPT_BIGHANDLES) ); |
| |
| if(SFX_ITEM_SET == rCoreSet.GetItemState(SID_SC_INPUT_RANGEFINDER, sal_False, &pItem)) |
| aRangeFindCB.Check(((const SfxBoolItem*)pItem)->GetValue()); |
| if(SFX_ITEM_SET == rCoreSet.GetItemState(SID_SC_OPT_SYNCZOOM, sal_False, &pItem)) |
| aSyncZoomCB.Check(((const SfxBoolItem*)pItem)->GetValue()); |
| |
| aRangeFindCB.SaveValue(); |
| aSyncZoomCB.SaveValue(); |
| |
| aFormulaCB .SaveValue(); |
| aNilCB .SaveValue(); |
| aAnnotCB .SaveValue(); |
| aValueCB .SaveValue(); |
| aAnchorCB .SaveValue(); |
| aClipMarkCB .SaveValue(); |
| aObjGrfLB .SaveValue(); |
| aDiagramLB .SaveValue(); |
| aDrawLB .SaveValue(); |
| aRowColHeaderCB .SaveValue(); |
| aHScrollCB .SaveValue(); |
| aVScrollCB .SaveValue(); |
| aTblRegCB .SaveValue(); |
| aOutlineCB .SaveValue(); |
| aGridCB .SaveValue(); |
| aColorLB .SaveValue(); |
| aBreakCB .SaveValue(); |
| aGuideLineCB .SaveValue(); |
| aHandleCB .SaveValue(); |
| aBigHandleCB .SaveValue(); |
| } |
| /*-----------------11.01.97 12.45------------------- |
| |
| --------------------------------------------------*/ |
| |
| void ScTpContentOptions::ActivatePage( const SfxItemSet& rSet) |
| { |
| const SfxPoolItem* pItem; |
| if(SFX_ITEM_SET == rSet.GetItemState(SID_SCVIEWOPTIONS, sal_False , &pItem)) |
| *pLocalOptions = ((const ScTpViewItem*)pItem)->GetViewOptions(); |
| } |
| /*-----------------11.01.97 12.45------------------- |
| |
| --------------------------------------------------*/ |
| |
| int ScTpContentOptions::DeactivatePage( SfxItemSet* pSetP ) |
| { |
| if(pSetP) |
| FillItemSet(*pSetP); |
| return SfxTabPage::LEAVE_PAGE; |
| } |
| /*-----------------11.01.97 13.43------------------- |
| |
| --------------------------------------------------*/ |
| |
| IMPL_LINK( ScTpContentOptions, SelLbObjHdl, ListBox*, pLb ) |
| { |
| sal_uInt16 nSelPos = pLb->GetSelectEntryPos(); |
| ScVObjMode eMode = ScVObjMode(nSelPos); |
| ScVObjType eType = VOBJ_TYPE_OLE; |
| |
| if ( pLb == &aDiagramLB ) |
| eType = VOBJ_TYPE_CHART; |
| else if ( pLb == &aDrawLB ) |
| eType = VOBJ_TYPE_DRAW; |
| |
| pLocalOptions->SetObjMode( eType, eMode ); |
| |
| return 0; |
| } |
| |
| /*-----------------11.01.97 14.25------------------- |
| |
| --------------------------------------------------*/ |
| |
| IMPL_LINK( ScTpContentOptions, CBHdl, CheckBox*, pBtn ) |
| { |
| ScViewOption eOption = VOPT_FORMULAS; |
| sal_Bool bChecked = pBtn->IsChecked(); |
| |
| if ( &aFormulaCB == pBtn ) eOption = VOPT_FORMULAS; |
| else if ( &aNilCB == pBtn ) eOption = VOPT_NULLVALS; |
| else if ( &aAnnotCB == pBtn ) eOption = VOPT_NOTES; |
| else if ( &aValueCB == pBtn ) eOption = VOPT_SYNTAX; |
| else if ( &aAnchorCB == pBtn ) eOption = VOPT_ANCHOR; |
| else if ( &aClipMarkCB == pBtn ) eOption = VOPT_CLIPMARKS; |
| else if ( &aVScrollCB == pBtn ) eOption = VOPT_VSCROLL; |
| else if ( &aHScrollCB == pBtn ) eOption = VOPT_HSCROLL; |
| else if ( &aTblRegCB == pBtn ) eOption = VOPT_TABCONTROLS; |
| else if ( &aOutlineCB == pBtn ) eOption = VOPT_OUTLINER; |
| else if ( &aBreakCB == pBtn ) eOption = VOPT_PAGEBREAKS; |
| else if ( &aGuideLineCB == pBtn ) eOption = VOPT_HELPLINES; |
| else if ( &aHandleCB == pBtn ) eOption = VOPT_SOLIDHANDLES; |
| else if ( &aBigHandleCB == pBtn ) eOption = VOPT_BIGHANDLES; |
| else if ( &aRowColHeaderCB == pBtn ) eOption = VOPT_HEADER; |
| |
| // VOPT_SOLIDHANDLES is inverted (CheckBox is "simple handles") |
| if ( eOption == VOPT_SOLIDHANDLES ) |
| pLocalOptions->SetOption( eOption, !bChecked ); |
| else |
| pLocalOptions->SetOption( eOption, bChecked ); |
| |
| |
| return 0; |
| } |
| /*-----------------11.01.97 13.13------------------- |
| |
| --------------------------------------------------*/ |
| |
| void ScTpContentOptions::InitGridOpt() |
| { |
| sal_Bool bGrid = pLocalOptions->GetOption( VOPT_GRID ); |
| |
| aGridCB.Check( bGrid ); |
| |
| if ( bGrid ) |
| aColorFT.Enable(), aColorLB.Enable(); |
| else |
| aColorFT.Disable(), aColorLB.Disable(); |
| |
| if ( aColorLB.GetEntryCount() == 0 ) |
| { |
| SfxObjectShell* pDocSh = SfxObjectShell::Current(); |
| // hier koennte auch eine andere DocShell kommen! |
| pDocSh = PTR_CAST(ScDocShell, pDocSh); |
| |
| XColorListSharedPtr aColorTable; |
| |
| if ( pDocSh ) |
| { |
| const SfxPoolItem* pItem = pDocSh->GetItem( SID_COLOR_TABLE ); |
| |
| if ( pItem ) |
| aColorTable = static_cast< const SvxColorTableItem* >(pItem)->GetColorTable(); |
| } |
| else |
| aColorTable = XColorList::GetStdColorList(); |
| |
| if ( !aColorTable.get() ) |
| return; |
| |
| //------------------------------------------------------ |
| |
| aColorLB.SetUpdateMode( sal_False ); |
| |
| // Eintraege aus der Colortable |
| |
| long nCount = aColorTable->Count(); |
| for ( long n=0; n<nCount; n++ ) |
| { |
| XColorEntry* pEntry = aColorTable->GetColor(n); |
| aColorLB.InsertEntry( pEntry->GetColor(), pEntry->GetName() ); |
| } |
| |
| // Standard-Gitterfarbe |
| |
| Color aStdCol( SC_STD_GRIDCOLOR ); // wie Default in ScViewOptions |
| if ( LISTBOX_ENTRY_NOTFOUND == |
| aColorLB.GetEntryPos( aStdCol ) ) |
| aColorLB.InsertEntry( aStdCol, ScGlobal::GetRscString( STR_GRIDCOLOR ) ); |
| |
| aColorLB.SetUpdateMode( sal_True ); |
| |
| Invalidate(); |
| } |
| |
| // #79720# also select grid color entry on subsequent calls |
| |
| String aName; |
| Color aCol = pLocalOptions->GetGridColor( &aName ); |
| sal_uInt16 nSelPos = aColorLB.GetEntryPos( aCol ); |
| |
| if ( LISTBOX_ENTRY_NOTFOUND != nSelPos ) |
| aColorLB.SelectEntryPos( nSelPos ); |
| else |
| aColorLB.SelectEntryPos( aColorLB.InsertEntry( aCol, aName ) ); |
| } |
| /*-----------------11.01.97 13.40------------------- |
| |
| --------------------------------------------------*/ |
| |
| IMPL_LINK( ScTpContentOptions, GridHdl, CheckBox*, pBox ) |
| { |
| sal_Bool bChecked = pBox->IsChecked(); |
| aColorFT.Enable(bChecked); |
| aColorLB.Enable(bChecked); |
| pLocalOptions->SetOption( VOPT_GRID, bChecked ); |
| return 0; |
| } |
| /*-----------------11.01.97 10.53------------------- |
| |
| --------------------------------------------------*/ |
| |
| ScTpLayoutOptions::ScTpLayoutOptions( Window* pParent, |
| const SfxItemSet& rArgSet ) : |
| SfxTabPage(pParent, ScResId( RID_SCPAGE_LAYOUT ), rArgSet), |
| aUnitGB( this, ScResId(GB_UNIT )), |
| aUnitFT( this, ScResId(FT_UNIT )), |
| aUnitLB( this, ScResId(LB_UNIT )), |
| aTabFT( this, ScResId( FT_TAB )), |
| aTabMF( this, ScResId( MF_TAB )), |
| aSeparatorFL( this, ScResId( FL_SEPARATOR )), |
| aLinkGB (this, ScResId(GB_LINK )), |
| aLinkFT(this, ScResId(FT_UPDATE_LINKS )), |
| aAlwaysRB (this, ScResId(RB_ALWAYS )), |
| aRequestRB (this, ScResId(RB_REQUEST )), |
| aNeverRB (this, ScResId(RB_NEVER )), |
| |
| aOptionsGB( this, ScResId( GB_OPTIONS )), |
| aAlignCB ( this, ScResId( CB_ALIGN )), |
| aAlignLB ( this, ScResId( LB_ALIGN )), |
| aEditModeCB( this, ScResId( CB_EDITMODE )), |
| aFormatCB( this, ScResId( CB_FORMAT )), |
| aExpRefCB( this, ScResId( CB_EXPREF )), |
| aMarkHdrCB( this, ScResId( CB_MARKHDR )), |
| aTextFmtCB( this, ScResId( CB_TEXTFMT )), |
| aReplWarnCB( this, ScResId( CB_REPLWARN )), |
| aUnitArr( ScResId(ST_UNIT )), |
| pDoc(NULL) |
| { |
| FreeResource(); |
| aSeparatorFL.SetStyle( aSeparatorFL.GetStyle() | WB_VERT ); |
| SetExchangeSupport(); |
| |
| aUnitLB. SetSelectHdl( LINK( this, ScTpLayoutOptions, MetricHdl ) ); |
| |
| aAlignCB.SetClickHdl(LINK(this, ScTpLayoutOptions, AlignHdl)); |
| |
| |
| for ( sal_uInt16 i = 0; i < aUnitArr.Count(); ++i ) |
| { |
| String sMetric = aUnitArr.GetStringByPos( i ); |
| FieldUnit eFUnit = (FieldUnit)aUnitArr.GetValue( i ); |
| |
| switch ( eFUnit ) |
| { |
| case FUNIT_MM: |
| case FUNIT_CM: |
| case FUNIT_POINT: |
| case FUNIT_PICA: |
| case FUNIT_INCH: |
| { |
| // nur diese Metriken benutzen |
| sal_uInt16 nPos = aUnitLB.InsertEntry( sMetric ); |
| aUnitLB.SetEntryData( nPos, (void*)(long)eFUnit ); |
| } |
| break; |
| default: |
| { |
| // added to avoid warnings |
| } |
| } |
| } |
| |
| } |
| /*-----------------11.01.97 10.53------------------- |
| |
| --------------------------------------------------*/ |
| |
| ScTpLayoutOptions::~ScTpLayoutOptions() |
| { |
| } |
| /*-----------------11.01.97 10.53------------------- |
| |
| --------------------------------------------------*/ |
| |
| SfxTabPage* ScTpLayoutOptions::Create( Window* pParent, |
| const SfxItemSet& rCoreSet ) |
| { |
| ScTpLayoutOptions* pNew = new ScTpLayoutOptions(pParent, rCoreSet); |
| ScDocShell* pDocSh = PTR_CAST(ScDocShell,SfxObjectShell::Current()); |
| |
| if(pDocSh!=NULL) |
| pNew->SetDocument(pDocSh->GetDocument()); |
| return pNew; |
| } |
| /*-----------------11.01.97 10.53------------------- |
| |
| --------------------------------------------------*/ |
| |
| sal_Bool ScTpLayoutOptions::FillItemSet( SfxItemSet& rCoreSet ) |
| { |
| sal_Bool bRet = sal_True; |
| const sal_uInt16 nMPos = aUnitLB.GetSelectEntryPos(); |
| if ( nMPos != aUnitLB.GetSavedValue() ) |
| { |
| sal_uInt16 nFieldUnit = (sal_uInt16)(long)aUnitLB.GetEntryData( nMPos ); |
| rCoreSet.Put( SfxUInt16Item( SID_ATTR_METRIC, |
| (sal_uInt16)nFieldUnit ) ); |
| bRet = sal_True; |
| } |
| |
| if(aTabMF.GetText() != aTabMF.GetSavedValue()) |
| { |
| rCoreSet.Put(SfxUInt16Item(SID_ATTR_DEFTABSTOP, |
| sal::static_int_cast<sal_uInt16>( aTabMF.Denormalize(aTabMF.GetValue(FUNIT_TWIP)) ))); |
| bRet = sal_True; |
| } |
| |
| ScLkUpdMode nSet=LM_ALWAYS; |
| |
| if(aRequestRB.IsChecked()) |
| { |
| nSet=LM_ON_DEMAND; |
| } |
| else if(aNeverRB.IsChecked()) |
| { |
| nSet=LM_NEVER; |
| } |
| |
| if(aRequestRB.IsChecked() != aRequestRB.GetSavedValue() || |
| aNeverRB.IsChecked() != aNeverRB.GetSavedValue() ) |
| { |
| if(pDoc) |
| pDoc->SetLinkMode(nSet); |
| ScAppOptions aAppOptions=SC_MOD()->GetAppOptions(); |
| aAppOptions.SetLinkMode(nSet ); |
| SC_MOD()->SetAppOptions(aAppOptions); |
| bRet = sal_True; |
| } |
| if(aAlignCB.GetSavedValue() != aAlignCB.IsChecked()) |
| { |
| rCoreSet.Put(SfxBoolItem(SID_SC_INPUT_SELECTION, aAlignCB.IsChecked())); |
| bRet = sal_True; |
| } |
| |
| if(aAlignLB.GetSavedValue() != aAlignLB.GetSelectEntryPos()) |
| { |
| rCoreSet.Put(SfxUInt16Item(SID_SC_INPUT_SELECTIONPOS, aAlignLB.GetSelectEntryPos())); |
| bRet = sal_True; |
| } |
| |
| if(aEditModeCB.GetSavedValue() != aEditModeCB.IsChecked()) |
| { |
| rCoreSet.Put(SfxBoolItem(SID_SC_INPUT_EDITMODE, aEditModeCB.IsChecked())); |
| bRet = sal_True; |
| } |
| |
| if(aFormatCB.GetSavedValue() != aFormatCB.IsChecked()) |
| { |
| rCoreSet.Put(SfxBoolItem(SID_SC_INPUT_FMT_EXPAND, aFormatCB.IsChecked())); |
| bRet = sal_True; |
| } |
| |
| |
| if(aExpRefCB.GetSavedValue() != aExpRefCB.IsChecked()) |
| { |
| rCoreSet.Put(SfxBoolItem(SID_SC_INPUT_REF_EXPAND, aExpRefCB.IsChecked())); |
| bRet = sal_True; |
| } |
| |
| if(aMarkHdrCB.GetSavedValue() != aMarkHdrCB.IsChecked()) |
| { |
| rCoreSet.Put(SfxBoolItem(SID_SC_INPUT_MARK_HEADER, aMarkHdrCB.IsChecked())); |
| bRet = sal_True; |
| } |
| |
| if(aTextFmtCB.GetSavedValue() != aTextFmtCB.IsChecked()) |
| { |
| rCoreSet.Put(SfxBoolItem(SID_SC_INPUT_TEXTWYSIWYG, aTextFmtCB.IsChecked())); |
| bRet = sal_True; |
| } |
| |
| if( aReplWarnCB.GetSavedValue() != aReplWarnCB.IsChecked() ) |
| { |
| rCoreSet.Put( SfxBoolItem( SID_SC_INPUT_REPLCELLSWARN, aReplWarnCB.IsChecked() ) ); |
| bRet = sal_True; |
| } |
| |
| return bRet; |
| } |
| /*-----------------11.01.97 10.53------------------- |
| |
| --------------------------------------------------*/ |
| |
| void ScTpLayoutOptions::Reset( const SfxItemSet& rCoreSet ) |
| { |
| aUnitLB.SetNoSelection(); |
| if ( rCoreSet.GetItemState( SID_ATTR_METRIC ) >= SFX_ITEM_AVAILABLE ) |
| { |
| const SfxUInt16Item& rItem = (SfxUInt16Item&)rCoreSet.Get( SID_ATTR_METRIC ); |
| FieldUnit eFieldUnit = (FieldUnit)rItem.GetValue(); |
| |
| for ( sal_uInt16 i = 0; i < aUnitLB.GetEntryCount(); ++i ) |
| { |
| if ( (FieldUnit)(long)aUnitLB.GetEntryData( i ) == eFieldUnit ) |
| { |
| aUnitLB.SelectEntryPos( i ); |
| break; |
| } |
| } |
| ::SetFieldUnit(aTabMF, eFieldUnit); |
| } |
| aUnitLB.SaveValue(); |
| |
| const SfxPoolItem* pItem; |
| if(SFX_ITEM_SET == rCoreSet.GetItemState(SID_ATTR_DEFTABSTOP, sal_False, &pItem)) |
| aTabMF.SetValue(aTabMF.Normalize(((SfxUInt16Item*)pItem)->GetValue()), FUNIT_TWIP); |
| aTabMF.SaveValue(); |
| |
| aUnitLB .SaveValue(); |
| aTabMF .SaveValue(); |
| |
| ScLkUpdMode nSet=LM_UNKNOWN; |
| |
| if(pDoc!=NULL) |
| { |
| nSet=pDoc->GetLinkMode(); |
| } |
| |
| if(nSet==LM_UNKNOWN) |
| { |
| ScAppOptions aAppOptions=SC_MOD()->GetAppOptions(); |
| nSet=aAppOptions.GetLinkMode(); |
| } |
| |
| switch(nSet) |
| { |
| case LM_ALWAYS: aAlwaysRB. Check(); break; |
| case LM_NEVER: aNeverRB. Check(); break; |
| case LM_ON_DEMAND: aRequestRB. Check(); break; |
| default: |
| { |
| // added to avoid warnings |
| } |
| } |
| if(SFX_ITEM_SET == rCoreSet.GetItemState(SID_SC_INPUT_SELECTION, sal_False, &pItem)) |
| aAlignCB.Check(((const SfxBoolItem*)pItem)->GetValue()); |
| |
| if(SFX_ITEM_SET == rCoreSet.GetItemState(SID_SC_INPUT_SELECTIONPOS, sal_False, &pItem)) |
| aAlignLB.SelectEntryPos(((const SfxUInt16Item*)pItem)->GetValue()); |
| |
| if(SFX_ITEM_SET == rCoreSet.GetItemState(SID_SC_INPUT_EDITMODE, sal_False, &pItem)) |
| aEditModeCB.Check(((const SfxBoolItem*)pItem)->GetValue()); |
| |
| if(SFX_ITEM_SET == rCoreSet.GetItemState(SID_SC_INPUT_FMT_EXPAND, sal_False, &pItem)) |
| aFormatCB.Check(((const SfxBoolItem*)pItem)->GetValue()); |
| |
| |
| if(SFX_ITEM_SET == rCoreSet.GetItemState(SID_SC_INPUT_REF_EXPAND, sal_False, &pItem)) |
| aExpRefCB.Check(((const SfxBoolItem*)pItem)->GetValue()); |
| |
| if(SFX_ITEM_SET == rCoreSet.GetItemState(SID_SC_INPUT_MARK_HEADER, sal_False, &pItem)) |
| aMarkHdrCB.Check(((const SfxBoolItem*)pItem)->GetValue()); |
| |
| if(SFX_ITEM_SET == rCoreSet.GetItemState(SID_SC_INPUT_TEXTWYSIWYG, sal_False, &pItem)) |
| aTextFmtCB.Check(((const SfxBoolItem*)pItem)->GetValue()); |
| |
| if( SFX_ITEM_SET == rCoreSet.GetItemState( SID_SC_INPUT_REPLCELLSWARN, sal_False, &pItem ) ) |
| aReplWarnCB.Check( ( (const SfxBoolItem*)pItem)->GetValue() ); |
| |
| aAlignCB .SaveValue(); |
| aAlignLB .SaveValue(); |
| aEditModeCB .SaveValue(); |
| aFormatCB .SaveValue(); |
| |
| aExpRefCB .SaveValue(); |
| aMarkHdrCB .SaveValue(); |
| aTextFmtCB .SaveValue(); |
| aReplWarnCB .SaveValue(); |
| AlignHdl(&aAlignCB); |
| |
| aAlwaysRB.SaveValue(); |
| aNeverRB.SaveValue(); |
| aRequestRB.SaveValue(); |
| } |
| |
| /*-----------------11.01.97 12.46------------------- |
| |
| --------------------------------------------------*/ |
| |
| void ScTpLayoutOptions::ActivatePage( const SfxItemSet& /* rCoreSet */ ) |
| { |
| } |
| /*-----------------11.01.97 12.46------------------- |
| |
| --------------------------------------------------*/ |
| |
| int ScTpLayoutOptions::DeactivatePage( SfxItemSet* pSetP ) |
| { |
| if(pSetP) |
| FillItemSet(*pSetP); |
| return SfxTabPage::LEAVE_PAGE; |
| } |
| |
| |
| /*-----------------13.01.97 14.44------------------- |
| Metric des Deftabstops umschalten |
| --------------------------------------------------*/ |
| |
| IMPL_LINK(ScTpLayoutOptions, MetricHdl, ListBox*, EMPTYARG) |
| { |
| const sal_uInt16 nMPos = aUnitLB.GetSelectEntryPos(); |
| if(nMPos != USHRT_MAX) |
| { |
| FieldUnit eFieldUnit = (FieldUnit)(long)aUnitLB.GetEntryData( nMPos ); |
| sal_Int64 nVal = |
| aTabMF.Denormalize( aTabMF.GetValue( FUNIT_TWIP ) ); |
| ::SetFieldUnit( aTabMF, eFieldUnit ); |
| aTabMF.SetValue( aTabMF.Normalize( nVal ), FUNIT_TWIP ); |
| } |
| |
| return 0; |
| } |
| /*-----------------11.01.97 15.30------------------- |
| |
| --------------------------------------------------*/ |
| IMPL_LINK( ScTpLayoutOptions, AlignHdl, CheckBox*, pBox ) |
| { |
| aAlignLB.Enable(pBox->IsChecked()); |
| return 0; |
| } |
| |
| |