LCOV - code coverage report
Current view: top level - cui/source/tabpages - textanim.cxx (source / functions) Hit Total Coverage
Test: commit 0e63ca4fde4e446f346e35849c756a30ca294aab Lines: 0 315 0.0 %
Date: 2014-04-11 Functions: 0 23 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             : #include <sfx2/app.hxx>
      21             : #include <sfx2/module.hxx>
      22             : #include <tools/shl.hxx>
      23             : 
      24             : #include <cuires.hrc>
      25             : #include <svx/dialogs.hrc>
      26             : 
      27             : #include "textanim.hxx"
      28             : #include "textattr.hxx"
      29             : #include <dialmgr.hxx>
      30             : #include "svx/dlgutil.hxx"
      31             : 
      32             : static sal_uInt16 pRanges[] =
      33             : {
      34             :     SDRATTR_TEXT_ANIKIND,
      35             :     SDRATTR_TEXT_ANIAMOUNT,
      36             :     0
      37             : };
      38             : 
      39             : /*************************************************************************
      40             : |*
      41             : |* constructor of the tab dialog: adds pages to the dialog
      42             : |*
      43             : \************************************************************************/
      44             : 
      45           0 : SvxTextTabDialog::SvxTextTabDialog( Window* pParent,
      46             :                                 const SfxItemSet* pAttr,
      47             :                                 const SdrView* pSdrView ) :
      48             :         SfxTabDialog        ( pParent
      49             :                               ,"TextDialog"
      50             :                               ,"cui/ui/textdialog.ui"
      51             :                               , pAttr ),
      52           0 :         pView               ( pSdrView )
      53             : {
      54           0 :     m_nTextId = AddTabPage( "RID_SVXPAGE_TEXTATTR", SvxTextAttrPage::Create, 0);
      55           0 :     m_nTextAnimId = AddTabPage( "RID_SVXPAGE_TEXTANIMATION", SvxTextAnimationPage::Create, 0);
      56           0 : }
      57             : 
      58             : /*************************************************************************
      59             : |*
      60             : |* PageCreated()
      61             : |*
      62             : \************************************************************************/
      63             : 
      64           0 : void SvxTextTabDialog::PageCreated( sal_uInt16 nId, SfxTabPage &rPage )
      65             : {
      66           0 :     if (nId == m_nTextId)
      67             :         {
      68           0 :             ( (SvxTextAttrPage&) rPage ).SetView( pView );
      69           0 :             ( (SvxTextAttrPage&) rPage ).Construct();
      70             :         }
      71           0 : }
      72             : 
      73             : 
      74             : /*************************************************************************
      75             : |*
      76             : |* Page
      77             : |*
      78             : \************************************************************************/
      79             : 
      80           0 : SvxTextAnimationPage::SvxTextAnimationPage( Window* pWindow, const SfxItemSet& rInAttrs ) :
      81             :                 SfxTabPage      ( pWindow
      82             :                                   ,"TextAnimation"
      83             :                                   ,"cui/ui/textanimtabpage.ui"
      84             :                                   ,rInAttrs ),
      85             :                 rOutAttrs       ( rInAttrs ),
      86           0 :                 eAniKind        ( SDRTEXTANI_NONE )
      87             : {
      88           0 :     get(m_pLbEffect, "LB_EFFECT");
      89           0 :     get(m_pBoxDirection,"boxDIRECTION");
      90           0 :     get(m_pBtnUp, "BTN_UP");
      91           0 :     get(m_pBtnLeft, "BTN_LEFT");
      92           0 :     get(m_pBtnRight, "BTN_RIGHT");
      93           0 :     get(m_pBtnDown, "BTN_DOWN");
      94             : 
      95           0 :     get(m_pFlProperties, "FL_PROPERTIES");
      96           0 :     get(m_pTsbStartInside, "TSB_START_INSIDE");
      97           0 :     get(m_pTsbStopInside, "TSB_STOP_INSIDE");
      98             : 
      99           0 :     get(m_pBoxCount, "boxCOUNT");
     100           0 :     get(m_pTsbEndless,"TSB_ENDLESS");
     101           0 :     get(m_pNumFldCount,"NUM_FLD_COUNT");
     102             : 
     103           0 :     get(m_pTsbPixel, "TSB_PIXEL");
     104           0 :     get(m_pMtrFldAmount, "MTR_FLD_AMOUNT");
     105             : 
     106           0 :     get(m_pTsbAuto, "TSB_AUTO");
     107           0 :     get(m_pMtrFldDelay, "MTR_FLD_DELAY");
     108             : 
     109           0 :     eFUnit = GetModuleFieldUnit( rInAttrs );
     110           0 :     SfxItemPool* pPool = rOutAttrs.GetPool();
     111             :     DBG_ASSERT( pPool, "Wo ist der Pool" );
     112           0 :     eUnit = pPool->GetMetric( SDRATTR_TEXT_LEFTDIST );
     113             : 
     114           0 :     m_pLbEffect->SetSelectHdl( LINK( this, SvxTextAnimationPage, SelectEffectHdl_Impl ) );
     115           0 :     m_pTsbEndless->SetClickHdl( LINK( this, SvxTextAnimationPage, ClickEndlessHdl_Impl ) );
     116           0 :     m_pTsbAuto->SetClickHdl( LINK( this, SvxTextAnimationPage, ClickAutoHdl_Impl ) );
     117           0 :     m_pTsbPixel->SetClickHdl( LINK( this, SvxTextAnimationPage, ClickPixelHdl_Impl ) );
     118             : 
     119           0 :     Link aLink( LINK( this, SvxTextAnimationPage, ClickDirectionHdl_Impl ) );
     120           0 :     m_pBtnUp->SetClickHdl( aLink );
     121           0 :     m_pBtnLeft->SetClickHdl( aLink );
     122           0 :     m_pBtnRight->SetClickHdl( aLink );
     123           0 :     m_pBtnDown->SetClickHdl( aLink );
     124           0 : }
     125             : 
     126             : /*************************************************************************
     127             : |*
     128             : |* Dtor
     129             : |*
     130             : \************************************************************************/
     131             : 
     132           0 : SvxTextAnimationPage::~SvxTextAnimationPage()
     133             : {
     134           0 : }
     135             : 
     136             : /*************************************************************************
     137             : |*
     138             : |* reads the passed item set
     139             : |*
     140             : \************************************************************************/
     141             : 
     142           0 : void SvxTextAnimationPage::Reset( const SfxItemSet& rAttrs )
     143             : {
     144           0 :     const SfxItemPool* pPool = rAttrs.GetPool();
     145             : 
     146             :     // animation type
     147           0 :     const SfxPoolItem* pItem = GetItem( rAttrs, SDRATTR_TEXT_ANIKIND );
     148             : 
     149           0 :     if( !pItem )
     150           0 :         pItem = &pPool->GetDefaultItem( SDRATTR_TEXT_ANIKIND );
     151           0 :     if( pItem )
     152             :     {
     153           0 :         eAniKind = ( ( const SdrTextAniKindItem* )pItem )->GetValue();
     154           0 :         m_pLbEffect->SelectEntryPos( sal::static_int_cast< sal_Int32 >(eAniKind) );
     155             :     }
     156             :     else
     157           0 :         m_pLbEffect->SetNoSelection();
     158           0 :     m_pLbEffect->SaveValue();
     159             : 
     160             :     // animation direction
     161           0 :     pItem = GetItem( rAttrs, SDRATTR_TEXT_ANIDIRECTION );
     162           0 :     if( !pItem )
     163           0 :         pItem = &pPool->GetDefaultItem( SDRATTR_TEXT_ANIDIRECTION );
     164           0 :     if( pItem )
     165             :     {
     166           0 :         SdrTextAniDirection eValue = ( ( const SdrTextAniDirectionItem* )pItem )->GetValue();
     167           0 :         SelectDirection( eValue );
     168             :     }
     169             :     else
     170             :     {
     171           0 :         m_pBtnUp->Check( false );
     172           0 :         m_pBtnLeft->Check( false );
     173           0 :         m_pBtnRight->Check( false );
     174           0 :         m_pBtnDown->Check( false );
     175             :     }
     176           0 :     m_pBtnUp->SaveValue();
     177           0 :     m_pBtnLeft->SaveValue();
     178           0 :     m_pBtnRight->SaveValue();
     179           0 :     m_pBtnDown->SaveValue();
     180             : 
     181             :     // Start inside
     182           0 :     pItem = GetItem( rAttrs, SDRATTR_TEXT_ANISTARTINSIDE );
     183           0 :     if( !pItem )
     184           0 :         pItem = &pPool->GetDefaultItem( SDRATTR_TEXT_ANISTARTINSIDE );
     185           0 :     if( pItem )
     186             :     {
     187           0 :         m_pTsbStartInside->EnableTriState( false );
     188           0 :         sal_Bool bValue = ( ( const SdrTextAniStartInsideItem* )pItem )->GetValue();
     189           0 :         if( bValue )
     190           0 :             m_pTsbStartInside->SetState( TRISTATE_TRUE );
     191             :         else
     192           0 :             m_pTsbStartInside->SetState( TRISTATE_FALSE );
     193             :     }
     194             :     else
     195           0 :         m_pTsbStartInside->SetState( TRISTATE_INDET );
     196           0 :     m_pTsbStartInside->SaveValue();
     197             : 
     198             :     // Stop inside
     199           0 :     pItem = GetItem( rAttrs, SDRATTR_TEXT_ANISTOPINSIDE );
     200           0 :     if( !pItem )
     201           0 :         pItem = &pPool->GetDefaultItem( SDRATTR_TEXT_ANISTOPINSIDE );
     202           0 :     if( pItem )
     203             :     {
     204           0 :         m_pTsbStopInside->EnableTriState( false );
     205           0 :         sal_Bool bValue = ( ( const SdrTextAniStopInsideItem* )pItem )->GetValue();
     206           0 :         if( bValue )
     207           0 :             m_pTsbStopInside->SetState( TRISTATE_TRUE );
     208             :         else
     209           0 :             m_pTsbStopInside->SetState( TRISTATE_FALSE );
     210             :     }
     211             :     else
     212           0 :         m_pTsbStopInside->SetState( TRISTATE_INDET );
     213           0 :     m_pTsbStopInside->SaveValue();
     214             : 
     215             :     // quantity
     216           0 :     pItem = GetItem( rAttrs, SDRATTR_TEXT_ANICOUNT );
     217           0 :     if( !pItem )
     218           0 :         pItem = &pPool->GetDefaultItem( SDRATTR_TEXT_ANICOUNT );
     219           0 :     if( pItem )
     220             :     {
     221           0 :         m_pTsbEndless->EnableTriState( false );
     222           0 :         long nValue = (long) ( ( const SdrTextAniCountItem* )pItem )->GetValue();
     223           0 :         m_pNumFldCount->SetValue( nValue );
     224           0 :         if( nValue == 0 )
     225             :         {
     226           0 :             if( eAniKind == SDRTEXTANI_SLIDE )
     227             :             {
     228           0 :                 m_pTsbEndless->SetState( TRISTATE_FALSE );
     229           0 :                 m_pTsbEndless->Enable( false );
     230             :             }
     231             :             else
     232             :             {
     233           0 :                 m_pTsbEndless->SetState( TRISTATE_TRUE );
     234           0 :                 m_pNumFldCount->SetEmptyFieldValue();
     235             :             }
     236             :         }
     237             :         else
     238           0 :             m_pTsbEndless->SetState( TRISTATE_FALSE );
     239             :     }
     240             :     else
     241             :     {
     242           0 :         m_pNumFldCount->SetEmptyFieldValue();
     243           0 :         m_pTsbEndless->SetState( TRISTATE_INDET );
     244             :     }
     245           0 :     m_pTsbEndless->SaveValue();
     246           0 :     m_pNumFldCount->SaveValue();
     247             : 
     248             :     // delay
     249           0 :     pItem = GetItem( rAttrs, SDRATTR_TEXT_ANIDELAY );
     250           0 :     if( !pItem )
     251           0 :         pItem = &pPool->GetDefaultItem( SDRATTR_TEXT_ANIDELAY );
     252           0 :     if( pItem )
     253             :     {
     254           0 :         m_pTsbAuto->EnableTriState( false );
     255           0 :         long nValue = (long) ( ( const SdrTextAniDelayItem* )pItem )->GetValue();
     256           0 :         m_pMtrFldDelay->SetValue( nValue );
     257           0 :         if( nValue == 0 )
     258             :         {
     259           0 :             m_pTsbAuto->SetState( TRISTATE_TRUE );
     260           0 :             m_pMtrFldDelay->SetEmptyFieldValue();
     261             :         }
     262             :         else
     263           0 :             m_pTsbAuto->SetState( TRISTATE_FALSE );
     264             :     }
     265             :     else
     266             :     {
     267           0 :         m_pMtrFldDelay->SetEmptyFieldValue();
     268           0 :         m_pTsbAuto->SetState( TRISTATE_INDET );
     269             :     }
     270           0 :     m_pTsbAuto->SaveValue();
     271           0 :     m_pMtrFldDelay->SaveValue();
     272             : 
     273             :     // step size
     274           0 :     pItem = GetItem( rAttrs, SDRATTR_TEXT_ANIAMOUNT );
     275           0 :     if( !pItem )
     276           0 :         pItem = &pPool->GetDefaultItem( SDRATTR_TEXT_ANIAMOUNT );
     277           0 :     if( pItem )
     278             :     {
     279           0 :         m_pTsbPixel->EnableTriState( false );
     280           0 :         long nValue = (long) ( ( const SdrTextAniAmountItem* )pItem )->GetValue();
     281           0 :         if( nValue <= 0 )
     282             :         {
     283           0 :             m_pTsbPixel->SetState( TRISTATE_TRUE );
     284           0 :             nValue = -nValue;
     285           0 :             if( nValue == 0 )
     286           0 :                 nValue++;
     287           0 :             m_pMtrFldAmount->SetUnit( FUNIT_CUSTOM );
     288           0 :             m_pMtrFldAmount->SetDecimalDigits( 0 );
     289             : 
     290           0 :             m_pMtrFldAmount->SetSpinSize( 1 );
     291           0 :             m_pMtrFldAmount->SetMin( 1 );
     292           0 :             m_pMtrFldAmount->SetFirst( 1 );
     293           0 :             m_pMtrFldAmount->SetMax( 100 );
     294           0 :             m_pMtrFldAmount->SetLast( 100 );
     295             : 
     296           0 :             m_pMtrFldAmount->SetValue( nValue );
     297             :         }
     298             :         else
     299             :         {
     300           0 :             m_pTsbPixel->SetState( TRISTATE_FALSE );
     301           0 :             m_pMtrFldAmount->SetUnit( eFUnit );
     302           0 :             m_pMtrFldAmount->SetDecimalDigits( 2 );
     303             : 
     304           0 :             m_pMtrFldAmount->SetSpinSize( 10 );
     305           0 :             m_pMtrFldAmount->SetMin( 1 );
     306           0 :             m_pMtrFldAmount->SetFirst( 1 );
     307           0 :             m_pMtrFldAmount->SetMax( 10000 );
     308           0 :             m_pMtrFldAmount->SetLast( 10000 );
     309             : 
     310           0 :             SetMetricValue( *m_pMtrFldAmount, nValue, eUnit );
     311             :         }
     312             :     }
     313             :     else
     314             :     {
     315           0 :         m_pMtrFldAmount->Disable();
     316           0 :         m_pMtrFldAmount->SetEmptyFieldValue();
     317           0 :         m_pTsbPixel->SetState( TRISTATE_INDET );
     318             :     }
     319           0 :     m_pTsbPixel->SaveValue();
     320           0 :     m_pMtrFldAmount->SaveValue();
     321             : 
     322             : 
     323           0 :     SelectEffectHdl_Impl( NULL );
     324           0 :     ClickEndlessHdl_Impl( NULL );
     325           0 :     ClickAutoHdl_Impl( NULL );
     326             :     //ClickPixelHdl_Impl( NULL );
     327           0 : }
     328             : 
     329             : /*************************************************************************
     330             : |*
     331             : |* fills the passed item set with dialog box attributes
     332             : |*
     333             : \************************************************************************/
     334             : 
     335           0 : bool SvxTextAnimationPage::FillItemSet( SfxItemSet& rAttrs)
     336             : {
     337           0 :     sal_Bool bModified = sal_False;
     338             :     sal_Int32 nPos;
     339             :     TriState eState;
     340             : 
     341             :     // animation type
     342           0 :     nPos = m_pLbEffect->GetSelectEntryPos();
     343           0 :     if( nPos != LISTBOX_ENTRY_NOTFOUND &&
     344           0 :         nPos != m_pLbEffect->GetSavedValue() )
     345             :     {
     346           0 :         rAttrs.Put( SdrTextAniKindItem( (SdrTextAniKind) nPos ) );
     347           0 :         bModified = sal_True;
     348             :     }
     349             : 
     350             :     // animation direction
     351           0 :     if( m_pBtnUp->GetSavedValue() != TriState(m_pBtnUp->IsChecked()) ||
     352           0 :         m_pBtnLeft->GetSavedValue() != TriState(m_pBtnLeft->IsChecked()) ||
     353           0 :         m_pBtnRight->GetSavedValue() != TriState(m_pBtnRight->IsChecked()) ||
     354           0 :         m_pBtnDown->GetSavedValue() != TriState(m_pBtnDown->IsChecked()) )
     355             :     {
     356           0 :         SdrTextAniDirection eValue = (SdrTextAniDirection) GetSelectedDirection();
     357           0 :         rAttrs.Put( SdrTextAniDirectionItem( eValue ) );
     358           0 :         bModified = sal_True;
     359             :     }
     360             : 
     361             :     // Start inside
     362           0 :     eState = m_pTsbStartInside->GetState();
     363           0 :     if( eState != m_pTsbStartInside->GetSavedValue() )
     364             :     {
     365           0 :         rAttrs.Put( SdrTextAniStartInsideItem( (sal_Bool) TRISTATE_TRUE == eState ) );
     366           0 :         bModified = sal_True;
     367             :     }
     368             : 
     369             :     // Stop inside
     370           0 :     eState = m_pTsbStopInside->GetState();
     371           0 :     if( eState != m_pTsbStopInside->GetSavedValue() )
     372             :     {
     373           0 :         rAttrs.Put( SdrTextAniStopInsideItem( (sal_Bool) TRISTATE_TRUE == eState ) );
     374           0 :         bModified = sal_True;
     375             :     }
     376             : 
     377             :     // quantity
     378           0 :     eState = m_pTsbEndless->GetState();
     379           0 :     OUString aStr = m_pNumFldCount->GetText();
     380           0 :     if( eState != m_pTsbEndless->GetSavedValue() ||
     381           0 :         aStr != m_pNumFldCount->GetSavedValue() )
     382             :     {
     383           0 :         sal_Int64 nValue = 0;
     384           0 :         if( eState == TRISTATE_TRUE /*#89844#*/ && m_pTsbEndless->IsEnabled())
     385           0 :             bModified = sal_True;
     386             :         else
     387             :         {
     388           0 :             if( aStr != m_pNumFldCount->GetSavedValue() )
     389             :             {
     390           0 :                 nValue = m_pNumFldCount->GetValue();
     391           0 :                 bModified = sal_True;
     392             :             }
     393             :         }
     394           0 :         if( bModified )
     395           0 :             rAttrs.Put( SdrTextAniCountItem( (sal_uInt16) nValue ) );
     396             :     }
     397             : 
     398             :     // delay
     399           0 :     eState = m_pTsbAuto->GetState();
     400           0 :     aStr = m_pMtrFldDelay->GetText();
     401           0 :     if( eState != m_pTsbAuto->GetSavedValue() ||
     402           0 :         aStr != m_pMtrFldDelay->GetSavedValue() )
     403             :     {
     404           0 :         sal_Int64 nValue = 0;
     405           0 :         if( eState == TRISTATE_TRUE )
     406           0 :             bModified = sal_True;
     407             :         else
     408             :         {
     409           0 :             if( aStr != m_pMtrFldDelay->GetSavedValue() )
     410             :             {
     411           0 :                 nValue = m_pMtrFldDelay->GetValue();
     412           0 :                 bModified = sal_True;
     413             :             }
     414             :         }
     415           0 :         if( bModified )
     416           0 :             rAttrs.Put( SdrTextAniDelayItem( (sal_uInt16) nValue ) );
     417             :     }
     418             : 
     419             :     // step size
     420           0 :     eState = m_pTsbPixel->GetState();
     421           0 :     aStr = m_pMtrFldAmount->GetText();
     422           0 :     if( eState != m_pTsbPixel->GetSavedValue() ||
     423           0 :         aStr != m_pMtrFldAmount->GetSavedValue() )
     424             :     {
     425           0 :         sal_Int64 nValue = 0;
     426           0 :         if( eState == TRISTATE_TRUE )
     427             :         {
     428           0 :             nValue = m_pMtrFldAmount->GetValue();
     429           0 :             nValue = -nValue;
     430             :         }
     431             :         else
     432             :         {
     433           0 :             nValue = GetCoreValue( *m_pMtrFldAmount, eUnit );
     434             :         }
     435           0 :         rAttrs.Put( SdrTextAniAmountItem( (sal_Int16) nValue ) );
     436             : 
     437           0 :         bModified = sal_True;
     438             :     }
     439             : 
     440           0 :     return( bModified );
     441             : }
     442             : 
     443           0 : sal_uInt16* SvxTextAnimationPage::GetRanges()
     444             : {
     445           0 :     return( pRanges );
     446             : }
     447             : 
     448             : /*************************************************************************
     449             : |*
     450             : |* creates the page
     451             : |*
     452             : \************************************************************************/
     453             : 
     454           0 : SfxTabPage* SvxTextAnimationPage::Create( Window* pWindow,
     455             :                 const SfxItemSet& rAttrs )
     456             : {
     457           0 :     return( new SvxTextAnimationPage( pWindow, rAttrs ) );
     458             : }
     459             : 
     460           0 : IMPL_LINK_NOARG(SvxTextAnimationPage, SelectEffectHdl_Impl)
     461             : {
     462           0 :     sal_Int32 nPos = m_pLbEffect->GetSelectEntryPos();
     463           0 :     if( nPos != LISTBOX_ENTRY_NOTFOUND )
     464             :     {
     465           0 :         eAniKind = (SdrTextAniKind) nPos;
     466           0 :         switch( eAniKind )
     467             :         {
     468             :             case SDRTEXTANI_NONE:
     469             :             {
     470           0 :                 m_pBoxDirection->Disable();
     471           0 :                 m_pFlProperties->Disable();
     472             :             }
     473           0 :             break;
     474             : 
     475             :             case SDRTEXTANI_BLINK:
     476             :             case SDRTEXTANI_SCROLL:
     477             :             case SDRTEXTANI_ALTERNATE:
     478             :             case SDRTEXTANI_SLIDE:
     479             :             {
     480           0 :                 m_pFlProperties->Enable();
     481           0 :                 if( eAniKind == SDRTEXTANI_SLIDE )
     482             :                 {
     483           0 :                     m_pTsbStartInside->Disable();
     484           0 :                     m_pTsbStopInside->Disable();
     485           0 :                     m_pTsbEndless->Disable();
     486           0 :                     m_pNumFldCount->Enable();
     487           0 :                     m_pNumFldCount->SetValue( m_pNumFldCount->GetValue() );
     488             :                 }
     489             :                 else
     490             :                 {
     491           0 :                     m_pTsbStartInside->Enable();
     492           0 :                     m_pTsbStopInside->Enable();
     493           0 :                     m_pTsbEndless->Enable();
     494           0 :                     ClickEndlessHdl_Impl( NULL );
     495             :                 }
     496             : 
     497           0 :                 m_pTsbAuto->Enable();
     498           0 :                 ClickAutoHdl_Impl( NULL );
     499             : 
     500           0 :                 if( eAniKind == SDRTEXTANI_BLINK )
     501             :                 {
     502           0 :                     m_pBoxDirection->Disable();
     503           0 :                     m_pBoxCount->Disable();
     504             :                 }
     505             :                 else
     506             :                 {
     507           0 :                     m_pBoxDirection->Enable();
     508           0 :                     m_pBoxCount->Enable();
     509             :                 }
     510             :             }
     511           0 :             break;
     512             :         }
     513             : 
     514             :     }
     515           0 :     return( 0L );
     516             : }
     517             : 
     518           0 : IMPL_LINK_NOARG(SvxTextAnimationPage, ClickEndlessHdl_Impl)
     519             : {
     520             : 
     521           0 :     if( eAniKind != SDRTEXTANI_SLIDE )
     522             :     {
     523           0 :         TriState eState = m_pTsbEndless->GetState();
     524           0 :         if( eState != TRISTATE_FALSE )
     525             :         {
     526           0 :             m_pNumFldCount->Disable();
     527           0 :             m_pNumFldCount->SetEmptyFieldValue();
     528             :         }
     529             :         else
     530             :         {
     531           0 :             m_pNumFldCount->Enable();
     532           0 :             m_pNumFldCount->SetValue( m_pNumFldCount->GetValue() );
     533             :         }
     534             :     }
     535           0 :     return( 0L );
     536             : }
     537             : 
     538           0 : IMPL_LINK_NOARG(SvxTextAnimationPage, ClickAutoHdl_Impl)
     539             : {
     540           0 :     TriState eState = m_pTsbAuto->GetState();
     541           0 :     if( eState != TRISTATE_FALSE )
     542             :     {
     543           0 :         m_pMtrFldDelay->Disable();
     544           0 :         m_pMtrFldDelay->SetEmptyFieldValue();
     545             :     }
     546             :     else
     547             :     {
     548           0 :         m_pMtrFldDelay->Enable();
     549           0 :         m_pMtrFldDelay->SetValue( m_pMtrFldDelay->GetValue() );
     550             :     }
     551             : 
     552           0 :     return( 0L );
     553             : }
     554             : 
     555           0 : IMPL_LINK_NOARG(SvxTextAnimationPage, ClickPixelHdl_Impl)
     556             : {
     557           0 :     TriState eState = m_pTsbPixel->GetState();
     558           0 :     if( eState == TRISTATE_TRUE )
     559             :     {
     560           0 :         sal_Int64 nValue = m_pMtrFldAmount->GetValue() / 10;
     561           0 :         m_pMtrFldAmount->Enable();
     562           0 :         m_pMtrFldAmount->SetUnit( FUNIT_CUSTOM );
     563             :         //SetFieldUnit( aMtrFldAmount, FUNIT_CUSTOM );
     564           0 :         m_pMtrFldAmount->SetDecimalDigits( 0 );
     565             : 
     566           0 :         m_pMtrFldAmount->SetSpinSize( 1 );
     567           0 :         m_pMtrFldAmount->SetMin( 1 );
     568           0 :         m_pMtrFldAmount->SetFirst( 1 );
     569           0 :         m_pMtrFldAmount->SetMax( 100 );
     570           0 :         m_pMtrFldAmount->SetLast( 100 );
     571             : 
     572           0 :         m_pMtrFldAmount->SetValue( nValue );
     573             :     }
     574           0 :     else if( eState == TRISTATE_FALSE )
     575             :     {
     576           0 :         sal_Int64 nValue = m_pMtrFldAmount->GetValue() * 10;
     577           0 :         m_pMtrFldAmount->Enable();
     578           0 :         m_pMtrFldAmount->SetUnit( eFUnit );
     579             :         //SetFieldUnit( aMtrFldAmount, eFUnit );
     580           0 :         m_pMtrFldAmount->SetDecimalDigits( 2 );
     581             : 
     582           0 :         m_pMtrFldAmount->SetSpinSize( 10 );
     583           0 :         m_pMtrFldAmount->SetMin( 1 );
     584           0 :         m_pMtrFldAmount->SetFirst( 1 );
     585           0 :         m_pMtrFldAmount->SetMax( 10000 );
     586           0 :         m_pMtrFldAmount->SetLast( 10000 );
     587             : 
     588           0 :         m_pMtrFldAmount->SetValue( nValue );
     589             :     }
     590             : 
     591           0 :     return( 0L );
     592             : }
     593             : 
     594           0 : IMPL_LINK( SvxTextAnimationPage, ClickDirectionHdl_Impl, ImageButton *, pBtn )
     595             : {
     596           0 :     m_pBtnUp->Check( pBtn == m_pBtnUp );
     597           0 :     m_pBtnLeft->Check( pBtn == m_pBtnLeft );
     598           0 :     m_pBtnRight->Check( pBtn == m_pBtnRight );
     599           0 :     m_pBtnDown->Check( pBtn == m_pBtnDown );
     600             : 
     601           0 :     return( 0L );
     602             : }
     603             : 
     604           0 : void SvxTextAnimationPage::SelectDirection( SdrTextAniDirection nValue )
     605             : {
     606           0 :     m_pBtnUp->Check( nValue == SDRTEXTANI_UP );
     607           0 :     m_pBtnLeft->Check( nValue == SDRTEXTANI_LEFT );
     608           0 :     m_pBtnRight->Check( nValue == SDRTEXTANI_RIGHT );
     609           0 :     m_pBtnDown->Check( nValue == SDRTEXTANI_DOWN );
     610           0 : }
     611             : 
     612           0 : sal_uInt16 SvxTextAnimationPage::GetSelectedDirection()
     613             : {
     614           0 :     sal_uInt16 nValue = 0;
     615             : 
     616           0 :     if( m_pBtnUp->IsChecked() )
     617           0 :         nValue = SDRTEXTANI_UP;
     618           0 :     else if( m_pBtnLeft->IsChecked() )
     619           0 :         nValue = SDRTEXTANI_LEFT;
     620           0 :     else if( m_pBtnRight->IsChecked() )
     621           0 :         nValue = SDRTEXTANI_RIGHT;
     622           0 :     else if( m_pBtnDown->IsChecked() )
     623           0 :         nValue = SDRTEXTANI_DOWN;
     624             : 
     625           0 :     return( nValue );
     626           0 : }
     627             : 
     628             : 
     629             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10