LCOV - code coverage report
Current view: top level - libreoffice/sc/source/ui/pagedlg - tptable.cxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 0 217 0.0 %
Date: 2012-12-27 Functions: 0 25 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : /*
       3             :  * This file is part of the LibreOffice project.
       4             :  *
       5             :  * This Source Code Form is subject to the terms of the Mozilla Public
       6             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       7             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       8             :  *
       9             :  * This file incorporates work covered by the following license notice:
      10             :  *
      11             :  *   Licensed to the Apache Software Foundation (ASF) under one or more
      12             :  *   contributor license agreements. See the NOTICE file distributed
      13             :  *   with this work for additional information regarding copyright
      14             :  *   ownership. The ASF licenses this file to you under the Apache
      15             :  *   License, Version 2.0 (the "License"); you may not use this file
      16             :  *   except in compliance with the License. You may obtain a copy of
      17             :  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
      18             :  */
      19             : 
      20             : 
      21             : #undef SC_DLLIMPLEMENTATION
      22             : 
      23             : 
      24             : 
      25             : //------------------------------------------------------------------
      26             : 
      27             : #include "scitems.hxx"
      28             : 
      29             : #include "tptable.hxx"
      30             : #include "global.hxx"
      31             : #include "attrib.hxx"
      32             : #include "scresid.hxx"
      33             : #include "sc.hrc"
      34             : #include "pagedlg.hrc"
      35             : 
      36             : // =======================================================================
      37             : 
      38           0 : void EmptyNumericField::Modify()
      39             : {
      40           0 :     if( GetText().Len() )
      41           0 :         NumericField::Modify();
      42             :     else
      43           0 :         SetEmptyFieldValue();
      44           0 : }
      45             : 
      46           0 : void EmptyNumericField::SetValue( sal_Int64 nValue )
      47             : {
      48           0 :     if( nValue == 0 )
      49           0 :         SetEmptyFieldValue();
      50             :     else
      51           0 :         NumericField::SetValue( nValue );
      52           0 : }
      53             : 
      54           0 : sal_Int64 EmptyNumericField::GetValue() const
      55             : {
      56           0 :     return IsEmptyFieldValue() ? 0 : NumericField::GetValue();
      57             : }
      58             : 
      59             : // =======================================================================
      60             : 
      61             : // STATIC DATA -----------------------------------------------------------
      62             : 
      63             : static sal_uInt16 pPageTableRanges[] =
      64             : {
      65             :     ATTR_PAGE_NOTES, ATTR_PAGE_FIRSTPAGENO,
      66             :     0
      67             : };
      68             : 
      69             : static sal_Bool lcl_PutVObjModeItem( sal_uInt16            nWhich,
      70             :                           SfxItemSet&       rCoreSet,
      71             :                           const SfxItemSet& rOldSet,
      72             :                           const CheckBox&   rBtn );
      73             : 
      74             : static sal_Bool lcl_PutScaleItem( sal_uInt16               nWhich,
      75             :                        SfxItemSet&          rCoreSet,
      76             :                        const SfxItemSet&    rOldSet,
      77             :                        const ListBox&       rListBox,
      78             :                        sal_uInt16               nLBEntry,
      79             :                        const SpinField&     rEd,
      80             :                        sal_uInt16               nValue );
      81             : 
      82             : static sal_Bool lcl_PutScaleItem2( sal_uInt16               nWhich,
      83             :                        SfxItemSet&          rCoreSet,
      84             :                        const SfxItemSet&    rOldSet,
      85             :                        const ListBox&       rListBox,
      86             :                        sal_uInt16               nLBEntry,
      87             :                        const NumericField&  rEd1,
      88             :                        const NumericField&  rEd2 );
      89             : 
      90             : static sal_Bool lcl_PutBoolItem( sal_uInt16            nWhich,
      91             :                       SfxItemSet&       rCoreSet,
      92             :                       const SfxItemSet& rOldSet,
      93             :                       sal_Bool              bIsChecked,
      94             :                       sal_Bool              bSavedValue );
      95             : 
      96             : //------------------------------------------------------------------------
      97             : 
      98             : #define PAGENO_HDL          LINK(this,ScTablePage,PageNoHdl)
      99             : #define PAGEDIR_HDL         LINK(this,ScTablePage,PageDirHdl)
     100             : #define SCALE_HDL           LINK(this,ScTablePage,ScaleHdl)
     101             : 
     102             : #define WAS_DEFAULT(w,s)    (SFX_ITEM_DEFAULT==(s).GetItemState((w),sal_True))
     103             : #define GET_BOOL(sid,set)   ((const SfxBoolItem&)((set).Get(GetWhich((sid))))).GetValue()
     104             : #define GET_USHORT(sid,set) (sal_uInt16)((const SfxUInt16Item&)((set).Get(GetWhich((sid))))).GetValue()
     105             : #define GET_SHOW(sid,set)   ( ScVObjMode( ((const ScViewObjectModeItem&)((set).Get(GetWhich((sid))))).GetValue() ) \
     106             :                               == VOBJ_MODE_SHOW )
     107             : 
     108             : //========================================================================
     109             : 
     110           0 : ScTablePage::ScTablePage( Window* pParent, const SfxItemSet& rCoreAttrs ) :
     111             : 
     112             :         SfxTabPage( pParent, ScResId( RID_SCPAGE_TABLE ), rCoreAttrs ),
     113             : 
     114             :         aFlPageDir          ( this, ScResId( FL_PAGEDIR ) ),
     115             :         aBtnTopDown         ( this, ScResId( BTN_TOPDOWN ) ),
     116             :         aBtnLeftRight       ( this, ScResId( BTN_LEFTRIGHT ) ),
     117             :         aBmpPageDir         ( this, ScResId( BMP_PAGEDIR ) ),
     118             :         aImgLeftRight       (       ScResId( IMG_LEFTRIGHT ) ),
     119             :         aImgTopDown         (       ScResId( IMG_TOPDOWN ) ),
     120             :         aBtnPageNo          ( this, ScResId( BTN_PAGENO ) ),
     121             :         aEdPageNo           ( this, ScResId( ED_PAGENO ) ),
     122             :         aFlPrint            ( this, ScResId( FL_PRINT ) ),
     123             :         aBtnHeaders         ( this, ScResId( BTN_HEADER ) ),
     124             :         aBtnGrid            ( this, ScResId( BTN_GRID ) ),
     125             :         aBtnNotes           ( this, ScResId( BTN_NOTES ) ),
     126             :         aBtnObjects         ( this, ScResId( BTN_OBJECTS ) ),
     127             :         aBtnCharts          ( this, ScResId( BTN_CHARTS ) ),
     128             :         aBtnDrawings        ( this, ScResId( BTN_DRAWINGS ) ),
     129             :         aBtnFormulas        ( this, ScResId( BTN_FORMULAS ) ),
     130             :         aBtnNullVals        ( this, ScResId( BTN_NULLVALS ) ),
     131             :         aFlScale            ( this, ScResId( FL_SCALE ) ),
     132             :         aFtScaleMode        ( this, ScResId( FT_SCALEMODE ) ),
     133             :         aLbScaleMode        ( this, ScResId( LB_SCALEMODE ) ),
     134             :         aFtScaleAll         ( this, ScResId( FT_SCALEFACTOR ) ),
     135             :         aEdScaleAll         ( this, ScResId( ED_SCALEALL ) ),
     136             :         aFtScalePageWidth   ( this, ScResId( FT_SCALEPAGEWIDTH ) ),
     137             :         aEdScalePageWidth   ( this, ScResId( ED_SCALEPAGEWIDTH ) ),
     138             :         aFtScalePageHeight  ( this, ScResId( FT_SCALEPAGEHEIGHT ) ),
     139             :         aEdScalePageHeight  ( this, ScResId( ED_SCALEPAGEHEIGHT ) ),
     140             :         aFtScalePageNum     ( this, ScResId( FT_SCALEPAGENUM ) ),
     141           0 :         aEdScalePageNum     ( this, ScResId( ED_SCALEPAGENUM ) )
     142             : {
     143           0 :     SetExchangeSupport();
     144           0 :     aBtnPageNo.SetClickHdl( PAGENO_HDL );
     145           0 :     aBtnTopDown.SetClickHdl( PAGEDIR_HDL );
     146           0 :     aBtnLeftRight.SetClickHdl( PAGEDIR_HDL );
     147           0 :     aLbScaleMode.SetSelectHdl( SCALE_HDL );
     148             : 
     149           0 :     Size aBmpSize = Image( ScResId( IMG_LEFTRIGHT ) ).GetSizePixel();
     150           0 :     aBmpPageDir.SetOutputSizePixel( aBmpSize );
     151             : 
     152           0 :     FreeResource();
     153             : 
     154           0 :     aEdPageNo.SetAccessibleName(aBtnPageNo.GetText());
     155           0 :     aEdPageNo.SetAccessibleRelationLabeledBy(&aBtnPageNo);
     156           0 : }
     157             : 
     158             : // -----------------------------------------------------------------------
     159             : 
     160           0 : void ScTablePage::ShowImage()
     161             : {
     162           0 :     bool bLeftRight = aBtnLeftRight.IsChecked();
     163           0 :     aBmpPageDir.SetImage( (bLeftRight ? aImgLeftRight : aImgTopDown) );
     164           0 : }
     165             : 
     166             : // -----------------------------------------------------------------------
     167             : 
     168           0 : ScTablePage::~ScTablePage()
     169             : {
     170           0 : }
     171             : 
     172             : //------------------------------------------------------------------------
     173             : 
     174           0 : sal_uInt16* ScTablePage::GetRanges()
     175             : {
     176           0 :     return pPageTableRanges;
     177             : }
     178             : 
     179             : // -----------------------------------------------------------------------
     180             : 
     181           0 : SfxTabPage* ScTablePage::Create( Window* pParent, const SfxItemSet& rCoreSet )
     182             : {
     183           0 :     return ( new ScTablePage( pParent, rCoreSet ) );
     184             : }
     185             : 
     186             : // -----------------------------------------------------------------------
     187             : 
     188           0 : void ScTablePage::Reset( const SfxItemSet& rCoreSet )
     189             : {
     190           0 :     sal_Bool    bTopDown = GET_BOOL( SID_SCATTR_PAGE_TOPDOWN, rCoreSet );
     191           0 :     sal_uInt16  nWhich   = 0;
     192             : 
     193             :     //-----------
     194             :     // sal_Bool-Flags
     195             :     //-----------
     196           0 :     aBtnNotes       .Check( GET_BOOL(SID_SCATTR_PAGE_NOTES,rCoreSet) );
     197           0 :     aBtnGrid        .Check( GET_BOOL(SID_SCATTR_PAGE_GRID,rCoreSet) );
     198           0 :     aBtnHeaders     .Check( GET_BOOL(SID_SCATTR_PAGE_HEADERS,rCoreSet) );
     199           0 :     aBtnFormulas    .Check( GET_BOOL(SID_SCATTR_PAGE_FORMULAS,rCoreSet) );
     200           0 :     aBtnNullVals    .Check( GET_BOOL(SID_SCATTR_PAGE_NULLVALS,rCoreSet) );
     201           0 :     aBtnTopDown     .Check( bTopDown );
     202           0 :     aBtnLeftRight   .Check( !bTopDown );
     203             : 
     204             :     //------------------
     205             :     // Erste Druckseite:
     206             :     //------------------
     207           0 :     sal_uInt16 nPage = GET_USHORT(SID_SCATTR_PAGE_FIRSTPAGENO,rCoreSet);
     208           0 :     aBtnPageNo.Check( nPage != 0 );
     209           0 :     aEdPageNo.SetValue( (nPage != 0) ? nPage : 1 );
     210           0 :     PageNoHdl( NULL );
     211             : 
     212             :     //-------------------
     213             :     // Objektdarstellung:
     214             :     //-------------------
     215           0 :     aBtnCharts      .Check( GET_SHOW( SID_SCATTR_PAGE_CHARTS, rCoreSet ) );
     216           0 :     aBtnObjects     .Check( GET_SHOW( SID_SCATTR_PAGE_OBJECTS, rCoreSet ) );
     217           0 :     aBtnDrawings    .Check( GET_SHOW( SID_SCATTR_PAGE_DRAWINGS, rCoreSet ) );
     218             : 
     219             :     //------------
     220             :     // Skalierung:
     221             :     //------------
     222             : 
     223           0 :     nWhich = GetWhich(SID_SCATTR_PAGE_SCALE);
     224           0 :     if ( rCoreSet.GetItemState( nWhich, sal_True ) >= SFX_ITEM_AVAILABLE )
     225             :     {
     226           0 :         sal_uInt16 nScale = ((const SfxUInt16Item&)rCoreSet.Get(nWhich)).GetValue();
     227           0 :         if( nScale > 0 )
     228           0 :             aLbScaleMode.SelectEntryPos( SC_TPTABLE_SCALE_PERCENT );
     229           0 :         aEdScaleAll.SetValue( (nScale > 0) ? nScale : 100 );
     230             :     }
     231             : 
     232           0 :     nWhich = GetWhich(SID_SCATTR_PAGE_SCALETO);
     233           0 :     if ( rCoreSet.GetItemState( nWhich, sal_True ) >= SFX_ITEM_AVAILABLE )
     234             :     {
     235           0 :         const ScPageScaleToItem& rItem = static_cast< const ScPageScaleToItem& >( rCoreSet.Get( nWhich ) );
     236           0 :         sal_uInt16 nWidth = rItem.GetWidth();
     237           0 :         sal_uInt16 nHeight = rItem.GetHeight();
     238             : 
     239             :         /*  width==0 and height==0 is invalid state, used as "not selected".
     240             :             Dialog shows width=height=1 then. */
     241           0 :         bool bValid = nWidth || nHeight;
     242           0 :         if( bValid )
     243           0 :             aLbScaleMode.SelectEntryPos( SC_TPTABLE_SCALE_TO );
     244           0 :         aEdScalePageWidth.SetValue( bValid ? nWidth : 1 );
     245           0 :         aEdScalePageHeight.SetValue( bValid ? nHeight : 1 );
     246             :     }
     247             : 
     248           0 :     nWhich = GetWhich(SID_SCATTR_PAGE_SCALETOPAGES);
     249           0 :     if ( rCoreSet.GetItemState( nWhich, sal_True ) >= SFX_ITEM_AVAILABLE )
     250             :     {
     251           0 :         sal_uInt16 nPages = ((const SfxUInt16Item&)rCoreSet.Get(nWhich)).GetValue();
     252           0 :         if( nPages > 0 )
     253           0 :             aLbScaleMode.SelectEntryPos( SC_TPTABLE_SCALE_TO_PAGES );
     254           0 :         aEdScalePageNum.SetValue( (nPages > 0) ? nPages : 1 );
     255             :     }
     256             : 
     257           0 :     if( aLbScaleMode.GetSelectEntryCount() == 0 )
     258             :     {
     259             :         // fall back to 100%
     260             :         OSL_FAIL( "ScTablePage::Reset - missing scaling item" );
     261           0 :         aLbScaleMode.SelectEntryPos( SC_TPTABLE_SCALE_PERCENT );
     262           0 :         aEdScaleAll.SetValue( 100 );
     263             :     }
     264             : 
     265           0 :     PageDirHdl( NULL );
     266           0 :     ScaleHdl( NULL );
     267             : 
     268             :     // merken fuer FillItemSet
     269           0 :     aBtnFormulas    .SaveValue();
     270           0 :     aBtnNullVals    .SaveValue();
     271           0 :     aBtnNotes       .SaveValue();
     272           0 :     aBtnGrid        .SaveValue();
     273           0 :     aBtnHeaders     .SaveValue();
     274           0 :     aBtnTopDown     .SaveValue();
     275           0 :     aBtnLeftRight   .SaveValue();
     276           0 :     aLbScaleMode    .SaveValue();
     277           0 :     aBtnCharts      .SaveValue();
     278           0 :     aBtnObjects     .SaveValue();
     279           0 :     aBtnDrawings    .SaveValue();
     280           0 :     aBtnPageNo      .SaveValue();
     281           0 :     aEdPageNo       .SaveValue();
     282           0 :     aEdScaleAll     .SaveValue();
     283           0 :     aEdScalePageWidth.SaveValue();
     284           0 :     aEdScalePageHeight.SaveValue();
     285           0 :     aEdScalePageNum .SaveValue();
     286           0 : }
     287             : 
     288             : // -----------------------------------------------------------------------
     289             : 
     290           0 : sal_Bool ScTablePage::FillItemSet( SfxItemSet& rCoreSet )
     291             : {
     292           0 :     const SfxItemSet&   rOldSet      = GetItemSet();
     293           0 :     sal_uInt16              nWhichPageNo = GetWhich(SID_SCATTR_PAGE_FIRSTPAGENO);
     294           0 :     sal_Bool                bDataChanged = false;
     295             : 
     296             :     //-----------
     297             :     // sal_Bool-Flags
     298             :     //-----------
     299             : 
     300           0 :     bDataChanged |= lcl_PutBoolItem( GetWhich(SID_SCATTR_PAGE_NOTES),
     301             :                                      rCoreSet, rOldSet,
     302           0 :                                      aBtnNotes.IsChecked(),
     303           0 :                                      aBtnNotes.GetSavedValue() != STATE_NOCHECK );
     304             : 
     305           0 :     bDataChanged |= lcl_PutBoolItem( GetWhich(SID_SCATTR_PAGE_GRID),
     306             :                                      rCoreSet, rOldSet,
     307           0 :                                      aBtnGrid.IsChecked(),
     308           0 :                                      aBtnGrid.GetSavedValue() != STATE_NOCHECK );
     309             : 
     310           0 :     bDataChanged |= lcl_PutBoolItem( GetWhich(SID_SCATTR_PAGE_HEADERS),
     311             :                                      rCoreSet, rOldSet,
     312           0 :                                      aBtnHeaders.IsChecked(),
     313           0 :                                      aBtnHeaders.GetSavedValue() != STATE_NOCHECK );
     314             : 
     315           0 :     bDataChanged |= lcl_PutBoolItem( GetWhich(SID_SCATTR_PAGE_TOPDOWN),
     316             :                                      rCoreSet, rOldSet,
     317           0 :                                      aBtnTopDown.IsChecked(),
     318           0 :                                      aBtnTopDown.GetSavedValue() );
     319             : 
     320           0 :     bDataChanged |= lcl_PutBoolItem( GetWhich(SID_SCATTR_PAGE_FORMULAS),
     321             :                                      rCoreSet, rOldSet,
     322           0 :                                      aBtnFormulas.IsChecked(),
     323           0 :                                      aBtnFormulas.GetSavedValue() != STATE_NOCHECK );
     324             : 
     325           0 :     bDataChanged |= lcl_PutBoolItem( GetWhich(SID_SCATTR_PAGE_NULLVALS),
     326             :                                      rCoreSet, rOldSet,
     327           0 :                                      aBtnNullVals.IsChecked(),
     328           0 :                                      aBtnNullVals.GetSavedValue() != STATE_NOCHECK );
     329             : 
     330             :     //------------------
     331             :     // Erste Druckseite:
     332             :     //------------------
     333           0 :     sal_Bool bUseValue = aBtnPageNo.IsChecked();
     334             : 
     335           0 :     if (   WAS_DEFAULT(nWhichPageNo,rOldSet)
     336           0 :         && (    (!bUseValue && bUseValue == aBtnPageNo.GetSavedValue())
     337           0 :             || (   bUseValue && bUseValue == aBtnPageNo.GetSavedValue()
     338           0 :                 && aEdPageNo.GetText() == aEdPageNo.GetSavedValue() ) ) )
     339             :     {
     340           0 :             rCoreSet.ClearItem( nWhichPageNo );
     341             :     }
     342             :     else
     343             :     {
     344           0 :         sal_uInt16 nPage = (sal_uInt16)( aBtnPageNo.IsChecked()
     345           0 :                                     ? aEdPageNo.GetValue()
     346           0 :                                     : 0 );
     347             : 
     348           0 :         rCoreSet.Put( SfxUInt16Item( nWhichPageNo, nPage ) );
     349           0 :         bDataChanged = sal_True;
     350             :     }
     351             : 
     352             :     //-------------------
     353             :     // Objektdarstellung:
     354             :     //-------------------
     355             : 
     356           0 :     bDataChanged |= lcl_PutVObjModeItem( GetWhich(SID_SCATTR_PAGE_CHARTS),
     357           0 :                                          rCoreSet, rOldSet, aBtnCharts );
     358             : 
     359           0 :     bDataChanged |= lcl_PutVObjModeItem( GetWhich(SID_SCATTR_PAGE_OBJECTS),
     360           0 :                                          rCoreSet, rOldSet, aBtnObjects );
     361             : 
     362           0 :     bDataChanged |= lcl_PutVObjModeItem( GetWhich(SID_SCATTR_PAGE_DRAWINGS),
     363           0 :                                          rCoreSet, rOldSet, aBtnDrawings );
     364             : 
     365             :     //------------
     366             :     // Skalierung:
     367             :     //------------
     368             : 
     369           0 :     if( !aEdScalePageWidth.GetValue() && !aEdScalePageHeight.GetValue() )
     370             :     {
     371           0 :         aLbScaleMode.SelectEntryPos( SC_TPTABLE_SCALE_PERCENT );
     372           0 :         aEdScaleAll.SetValue( 100 );
     373             :     }
     374             : 
     375           0 :     bDataChanged |= lcl_PutScaleItem( GetWhich(SID_SCATTR_PAGE_SCALE),
     376             :                                       rCoreSet, rOldSet,
     377             :                                       aLbScaleMode, SC_TPTABLE_SCALE_PERCENT,
     378           0 :                                       aEdScaleAll, (sal_uInt16)aEdScaleAll.GetValue() );
     379             : 
     380           0 :     bDataChanged |= lcl_PutScaleItem2( GetWhich(SID_SCATTR_PAGE_SCALETO),
     381             :                                       rCoreSet, rOldSet,
     382             :                                       aLbScaleMode, SC_TPTABLE_SCALE_TO,
     383           0 :                                       aEdScalePageWidth, aEdScalePageHeight );
     384             : 
     385           0 :     bDataChanged |= lcl_PutScaleItem( GetWhich(SID_SCATTR_PAGE_SCALETOPAGES),
     386             :                                       rCoreSet, rOldSet,
     387             :                                       aLbScaleMode, SC_TPTABLE_SCALE_TO_PAGES,
     388           0 :                                       aEdScalePageNum, (sal_uInt16)aEdScalePageNum.GetValue() );
     389             : 
     390           0 :     return bDataChanged;
     391             : }
     392             : 
     393             : //------------------------------------------------------------------------
     394             : 
     395           0 : int ScTablePage::DeactivatePage( SfxItemSet* pSetP )
     396             : {
     397           0 :     if ( pSetP )
     398           0 :         FillItemSet( *pSetP );
     399             : 
     400           0 :     return LEAVE_PAGE;
     401             : }
     402             : 
     403             : //------------------------------------------------------------------------
     404             : 
     405           0 : void ScTablePage::DataChanged( const DataChangedEvent& rDCEvt )
     406             : {
     407           0 :     if( (rDCEvt.GetType() == DATACHANGED_SETTINGS) && (rDCEvt.GetFlags() & SETTINGS_STYLE) )
     408           0 :         ShowImage();
     409           0 :     SfxTabPage::DataChanged( rDCEvt );
     410           0 : }
     411             : 
     412             : //------------------------------------------------------------------------
     413             : // Handler:
     414             : //------------------------------------------------------------------------
     415             : 
     416           0 : IMPL_LINK_NOARG(ScTablePage, PageDirHdl)
     417             : {
     418           0 :     ShowImage();
     419           0 :     return 0;
     420             : }
     421             : 
     422             : //------------------------------------------------------------------------
     423             : 
     424           0 : IMPL_LINK( ScTablePage, PageNoHdl, CheckBox*, pBtn )
     425             : {
     426           0 :     if ( aBtnPageNo.IsChecked() )
     427             :     {
     428           0 :         aEdPageNo.Enable();
     429           0 :         if ( pBtn )
     430           0 :             aEdPageNo.GrabFocus();
     431             :     }
     432             :     else
     433           0 :         aEdPageNo.Disable();
     434             : 
     435           0 :     return 0;
     436             : }
     437             : 
     438             : //------------------------------------------------------------------------
     439             : 
     440           0 : IMPL_LINK_NOARG(ScTablePage, ScaleHdl)
     441             : {
     442             :     // controls for "Reduce/enlarge"
     443           0 :     bool bPercent = (aLbScaleMode.GetSelectEntryPos() == SC_TPTABLE_SCALE_PERCENT);
     444           0 :     aFtScaleAll.Show( bPercent );
     445           0 :     aEdScaleAll.Show( bPercent );
     446             : 
     447             :     // controls for "Scale to width/height"
     448           0 :     bool bScaleTo = (aLbScaleMode.GetSelectEntryPos() == SC_TPTABLE_SCALE_TO);
     449           0 :     aFtScalePageWidth.Show( bScaleTo );
     450           0 :     aEdScalePageWidth.Show( bScaleTo );
     451           0 :     aFtScalePageHeight.Show( bScaleTo );
     452           0 :     aEdScalePageHeight.Show( bScaleTo );
     453             : 
     454             :     // controls for "Scale to pages"
     455           0 :     bool bScalePages = (aLbScaleMode.GetSelectEntryPos() == SC_TPTABLE_SCALE_TO_PAGES);
     456           0 :     aFtScalePageNum.Show( bScalePages );
     457           0 :     aEdScalePageNum.Show( bScalePages );
     458             : 
     459           0 :     return 0;
     460             : }
     461             : 
     462             : //========================================================================
     463             : // Hilfsfunktionen fuer FillItemSet:
     464             : //========================================================================
     465             : 
     466           0 : static sal_Bool lcl_PutBoolItem( sal_uInt16            nWhich,
     467             :                      SfxItemSet&        rCoreSet,
     468             :                      const SfxItemSet&  rOldSet,
     469             :                      sal_Bool               bIsChecked,
     470             :                      sal_Bool               bSavedValue )
     471             : {
     472             :     sal_Bool bDataChanged = (   bSavedValue == bIsChecked
     473           0 :                          && WAS_DEFAULT(nWhich,rOldSet) );
     474             : 
     475           0 :     if ( bDataChanged )
     476           0 :         rCoreSet.ClearItem(nWhich);
     477             :     else
     478           0 :         rCoreSet.Put( SfxBoolItem( nWhich, bIsChecked ) );
     479             : 
     480           0 :     return bDataChanged;
     481             : }
     482             : 
     483             : //------------------------------------------------------------------------
     484             : 
     485           0 : static sal_Bool lcl_PutVObjModeItem( sal_uInt16            nWhich,
     486             :                          SfxItemSet&        rCoreSet,
     487             :                          const SfxItemSet&  rOldSet,
     488             :                          const CheckBox&    rBtn )
     489             : {
     490           0 :     sal_Bool bIsChecked   = rBtn.IsChecked();
     491           0 :     sal_Bool bDataChanged = (   rBtn.GetSavedValue() == bIsChecked
     492           0 :                          && WAS_DEFAULT(nWhich,rOldSet) );
     493             : 
     494           0 :     if ( bDataChanged )
     495           0 :         rCoreSet.ClearItem( nWhich );
     496             : 
     497             :     else
     498             :         rCoreSet.Put( ScViewObjectModeItem( nWhich, bIsChecked
     499             :                                                     ? VOBJ_MODE_SHOW
     500           0 :                                                     : VOBJ_MODE_HIDE ) );
     501           0 :     return bDataChanged;
     502             : }
     503             : 
     504             : //------------------------------------------------------------------------
     505             : 
     506           0 : static sal_Bool lcl_PutScaleItem( sal_uInt16               nWhich,
     507             :                       SfxItemSet&           rCoreSet,
     508             :                       const SfxItemSet&     rOldSet,
     509             :                       const ListBox&        rListBox,
     510             :                       sal_uInt16                nLBEntry,
     511             :                       const SpinField&      rEd,
     512             :                       sal_uInt16                nValue )
     513             : {
     514           0 :     sal_Bool bIsSel = (rListBox.GetSelectEntryPos() == nLBEntry);
     515           0 :     sal_Bool bDataChanged = (rListBox.GetSavedValue() != nLBEntry) ||
     516           0 :                         (rEd.GetSavedValue() != rEd.GetText()) ||
     517           0 :                         !WAS_DEFAULT( nWhich, rOldSet );
     518             : 
     519           0 :     if( bDataChanged )
     520           0 :         rCoreSet.Put( SfxUInt16Item( nWhich, bIsSel ? nValue : 0 ) );
     521             :     else
     522           0 :         rCoreSet.ClearItem( nWhich );
     523             : 
     524           0 :     return bDataChanged;
     525             : }
     526             : 
     527             : 
     528           0 : static sal_Bool lcl_PutScaleItem2( sal_uInt16               nWhich,
     529             :                       SfxItemSet&           rCoreSet,
     530             :                       const SfxItemSet&     rOldSet,
     531             :                       const ListBox&        rListBox,
     532             :                       sal_uInt16                nLBEntry,
     533             :                       const NumericField&   rEd1,
     534             :                       const NumericField&   rEd2 )
     535             : {
     536           0 :     sal_uInt16 nValue1 = (sal_uInt16)rEd1.GetValue();
     537           0 :     sal_uInt16 nValue2 = (sal_uInt16)rEd2.GetValue();
     538           0 :     sal_Bool bIsSel = (rListBox.GetSelectEntryPos() == nLBEntry);
     539           0 :     sal_Bool bDataChanged = (rListBox.GetSavedValue() != nLBEntry) ||
     540           0 :                         (rEd1.GetSavedValue() != rEd1.GetText()) ||
     541           0 :                         (rEd2.GetSavedValue() != rEd2.GetText()) ||
     542           0 :                         !WAS_DEFAULT( nWhich, rOldSet );
     543             : 
     544           0 :     if( bDataChanged )
     545             :     {
     546           0 :         ScPageScaleToItem aItem;
     547           0 :         if( bIsSel )
     548           0 :             aItem.Set( nValue1, nValue2 );
     549           0 :         rCoreSet.Put( aItem );
     550             :     }
     551             :     else
     552           0 :         rCoreSet.ClearItem( nWhich );
     553             : 
     554           0 :     return bDataChanged;
     555           0 : }
     556             : 
     557             : 
     558             : 
     559             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10