LCOV - code coverage report
Current view: top level - chart2/source/controller/dialogs - tp_3D_SceneIllumination.cxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 0 326 0.0 %
Date: 2012-08-25 Functions: 0 36 0.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 0 726 0.0 %

           Branch data     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                 :            : #include "tp_3D_SceneIllumination.hxx"
      22                 :            : #include "tp_3D_SceneIllumination.hrc"
      23                 :            : #include "ResId.hxx"
      24                 :            : #include "Strings.hrc"
      25                 :            : #include "Bitmaps.hrc"
      26                 :            : #include "CommonConverters.hxx"
      27                 :            : #include "NoWarningThisInCTOR.hxx"
      28                 :            : 
      29                 :            : #include "svx/dialogs.hrc"
      30                 :            : // header for define SVX_RES
      31                 :            : #include <svx/dialmgr.hxx>
      32                 :            : #include <rtl/math.hxx>
      33                 :            : 
      34                 :            : // header for class SvColorDialog
      35                 :            : #include <svtools/colrdlg.hxx>
      36                 :            : 
      37                 :            : // header for define RET_OK
      38                 :            : #include <vcl/msgbox.hxx>
      39                 :            : 
      40                 :            : #include <svx/svx3ditems.hxx>
      41                 :            : #include <svx/svddef.hxx>
      42                 :            : 
      43                 :            : //.............................................................................
      44                 :            : namespace chart
      45                 :            : {
      46                 :            : //.............................................................................
      47                 :            : 
      48                 :            : using namespace ::com::sun::star;
      49                 :            : using namespace ::com::sun::star::chart2;
      50                 :            : 
      51                 :          0 : LightButton::LightButton( Window* pParent, const ResId& rResId, sal_Int32 nLightNumber )
      52                 :            :             : ImageButton( pParent, rResId )
      53                 :          0 :             , m_bLightOn(false)
      54                 :            : {
      55 [ #  # ][ #  # ]:          0 :     SetModeImage( Image( SVX_RES(RID_SVXIMAGE_LIGHT_OFF)   ) );
         [ #  # ][ #  # ]
      56                 :            : 
      57 [ #  # ][ #  # ]:          0 :     String aTipHelpStr( SchResId(STR_TIP_LIGHTSOURCE_X) );
      58         [ #  # ]:          0 :     rtl::OUString aTipHelp( aTipHelpStr  );
      59         [ #  # ]:          0 :     const rtl::OUString aReplacementStr( RTL_CONSTASCII_USTRINGPARAM( "%LIGHTNUMBER" ));
      60                 :          0 :     sal_Int32 nIndex = aTipHelp.indexOf( aReplacementStr );
      61         [ #  # ]:          0 :     if( nIndex != -1 )
      62                 :            :     {
      63                 :            :         aTipHelp = aTipHelp.replaceAt(nIndex, aReplacementStr.getLength(),
      64                 :          0 :             rtl::OUString::valueOf( nLightNumber ) );
      65                 :            :     }
      66 [ #  # ][ #  # ]:          0 :     this->SetQuickHelpText( String( aTipHelp ) );
         [ #  # ][ #  # ]
      67                 :          0 : }
      68                 :            : 
      69                 :          0 : LightButton::~LightButton()
      70                 :            : {
      71         [ #  # ]:          0 : }
      72                 :            : 
      73                 :          0 : void LightButton::switchLightOn(bool bOn)
      74                 :            : {
      75         [ #  # ]:          0 :     if( m_bLightOn==bOn )
      76                 :          0 :         return;
      77                 :          0 :     m_bLightOn = bOn;
      78         [ #  # ]:          0 :     if(m_bLightOn)
      79                 :            :     {
      80 [ #  # ][ #  # ]:          0 :         SetModeImage( Image( SVX_RES(RID_SVXIMAGE_LIGHT_ON) ) );
                 [ #  # ]
      81                 :            :     }
      82                 :            :     else
      83                 :            :     {
      84 [ #  # ][ #  # ]:          0 :         SetModeImage( Image( SVX_RES(RID_SVXIMAGE_LIGHT_OFF) ) );
                 [ #  # ]
      85                 :            :     }
      86                 :            : }
      87                 :            : 
      88                 :          0 : bool LightButton::isLightOn() const
      89                 :            : {
      90                 :          0 :     return m_bLightOn;
      91                 :            : }
      92                 :            : 
      93                 :            : //-----------------------------------------------------------------------------
      94                 :            : 
      95                 :          0 : ColorButton::ColorButton( Window* pParent, const ResId& rResId )
      96                 :          0 :             : ImageButton( pParent, rResId )
      97                 :            : {
      98 [ #  # ][ #  # ]:          0 :     SetModeImage( Image( SVX_RES(RID_SVXIMAGE_COLORDLG) ) );
         [ #  # ][ #  # ]
      99 [ #  # ][ #  # ]:          0 :     this->SetQuickHelpText( String( SchResId(STR_TIP_CHOOSECOLOR) ) );
         [ #  # ][ #  # ]
     100                 :          0 : }
     101                 :            : 
     102                 :          0 : ColorButton::~ColorButton()
     103                 :            : {
     104         [ #  # ]:          0 : }
     105                 :            : 
     106                 :            : //-----------------------------------------------------------------------------
     107                 :            : 
     108                 :            : struct LightSource
     109                 :            : {
     110                 :            :     long nDiffuseColor;
     111                 :            :     ::com::sun::star::drawing::Direction3D aDirection;
     112                 :            :     bool bIsEnabled;
     113                 :            : 
     114                 :          0 :     LightSource() :
     115                 :            :             nDiffuseColor( 0xcccccc ),
     116                 :            :             aDirection( 1.0, 1.0, -1.0 ),
     117                 :          0 :             bIsEnabled( false )
     118                 :          0 :     {}
     119                 :            : };
     120                 :            : 
     121                 :            : struct LightSourceInfo
     122                 :            : {
     123                 :            :     LightButton* pButton;
     124                 :            :     LightSource  aLightSource;
     125                 :            : 
     126                 :            :     LightSourceInfo();
     127                 :            :     void initButtonFromSource();
     128                 :            : };
     129                 :            : 
     130                 :          0 : LightSourceInfo::LightSourceInfo()
     131                 :            :     : pButton(0)
     132                 :          0 :     , aLightSource()
     133                 :            : {
     134                 :          0 :     aLightSource.nDiffuseColor = 0xffffff; // white
     135                 :          0 :     aLightSource.aDirection = drawing::Direction3D(1,1,1);
     136                 :          0 :     aLightSource.bIsEnabled = sal_False;
     137                 :          0 : }
     138                 :            : 
     139                 :          0 : void LightSourceInfo::initButtonFromSource()
     140                 :            : {
     141         [ #  # ]:          0 :     if(!pButton)
     142                 :          0 :         return;
     143                 :          0 :     pButton->SetModeImage( Image( SVX_RES(
     144                 :            :         aLightSource.bIsEnabled ? RID_SVXIMAGE_LIGHT_ON : RID_SVXIMAGE_LIGHT_OFF
     145 [ #  # ][ #  # ]:          0 :     ) ) );
         [ #  # ][ #  # ]
     146                 :            : }
     147                 :            : 
     148                 :            : //-----------------------------------------------------------------------------
     149                 :            : 
     150                 :            : namespace
     151                 :            : {
     152                 :          0 :     rtl::OUString lcl_makeColorName( Color rColor )
     153                 :            :     {
     154 [ #  # ][ #  # ]:          0 :         rtl::OUStringBuffer aStr(SVX_RESSTR(RID_SVXFLOAT3D_FIX_R));
                 [ #  # ]
     155         [ #  # ]:          0 :         aStr.append((sal_Int32)rColor.GetRed());
     156         [ #  # ]:          0 :         aStr.append(' ');
     157 [ #  # ][ #  # ]:          0 :         aStr.append(SVX_RESSTR(RID_SVXFLOAT3D_FIX_G));
                 [ #  # ]
     158         [ #  # ]:          0 :         aStr.append((sal_Int32)rColor.GetGreen());
     159         [ #  # ]:          0 :         aStr.append(' ');
     160 [ #  # ][ #  # ]:          0 :         aStr.append(SVX_RESSTR(RID_SVXFLOAT3D_FIX_B));
                 [ #  # ]
     161         [ #  # ]:          0 :         aStr.append((sal_Int32)rColor.GetBlue());
     162         [ #  # ]:          0 :         return aStr.makeStringAndClear();
     163                 :            :     }
     164                 :          0 :     void lcl_selectColor( ColorListBox& rListBox, const Color& rColor )
     165                 :            :     {
     166                 :          0 :         rListBox.SetNoSelection();
     167                 :          0 :         rListBox.SelectEntry( rColor );
     168         [ #  # ]:          0 :         if( rListBox.GetSelectEntryCount() == 0 )
     169                 :            :         {
     170 [ #  # ][ #  # ]:          0 :             sal_uInt16 nPos = rListBox.InsertEntry( rColor, lcl_makeColorName( rColor ) );
                 [ #  # ]
     171                 :          0 :             rListBox.SelectEntryPos( nPos );
     172                 :            :         }
     173                 :          0 :     }
     174                 :            : 
     175                 :          0 :     ::chart::LightSource lcl_getLightSourceFromProperties(
     176                 :            :         const uno::Reference< beans::XPropertySet > & xSceneProperties,
     177                 :            :         sal_Int32 nIndex )
     178                 :            :     {
     179                 :          0 :         ::chart::LightSource aResult;
     180 [ #  # ][ #  # ]:          0 :         if( 0 <= nIndex && nIndex < 8 )
     181                 :            :         {
     182         [ #  # ]:          0 :             ::rtl::OUString aColorPropertyPrefix( RTL_CONSTASCII_USTRINGPARAM("D3DSceneLightColor"));
     183         [ #  # ]:          0 :             ::rtl::OUString aDirectionPropertyPrefix( RTL_CONSTASCII_USTRINGPARAM("D3DSceneLightDirection"));
     184         [ #  # ]:          0 :             ::rtl::OUString aEnabledPropertyPrefix( RTL_CONSTASCII_USTRINGPARAM("D3DSceneLightOn"));
     185                 :          0 :             ::rtl::OUString aIndex( ::rtl::OUString::valueOf( nIndex + 1 ));
     186                 :            : 
     187                 :            :             try
     188                 :            :             {
     189 [ #  # ][ #  # ]:          0 :                 xSceneProperties->getPropertyValue( aColorPropertyPrefix + aIndex ) >>= aResult.nDiffuseColor;
     190 [ #  # ][ #  # ]:          0 :                 xSceneProperties->getPropertyValue( aDirectionPropertyPrefix + aIndex ) >>= aResult.aDirection;
                 [ #  # ]
     191 [ #  # ][ #  # ]:          0 :                 xSceneProperties->getPropertyValue( aEnabledPropertyPrefix + aIndex ) >>= aResult.bIsEnabled;
                 [ #  # ]
     192                 :            :             }
     193         [ #  # ]:          0 :             catch( const uno::Exception & ex )
     194                 :            :             {
     195                 :            :                 (void)(ex); // no warning in non-debug builds
     196                 :            :                 OSL_FAIL( ::rtl::OUStringToOString(
     197                 :            :                                 ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Property Exception caught. Message: " )) +
     198                 :            :                                 ex.Message, RTL_TEXTENCODING_ASCII_US ).getStr());
     199                 :          0 :             }
     200                 :            :         }
     201                 :          0 :         return aResult;
     202                 :            :     }
     203                 :            : 
     204                 :          0 :     void lcl_setLightSource(
     205                 :            :         const uno::Reference< beans::XPropertySet > & xSceneProperties,
     206                 :            :         const ::chart::LightSource & rLightSource,
     207                 :            :         sal_Int32 nIndex )
     208                 :            :     {
     209 [ #  # ][ #  # ]:          0 :         if( 0 <= nIndex && nIndex < 8 )
     210                 :            :         {
     211         [ #  # ]:          0 :             ::rtl::OUString aColorPropertyPrefix( RTL_CONSTASCII_USTRINGPARAM("D3DSceneLightColor"));
     212         [ #  # ]:          0 :             ::rtl::OUString aDirectionPropertyPrefix( RTL_CONSTASCII_USTRINGPARAM("D3DSceneLightDirection"));
     213         [ #  # ]:          0 :             ::rtl::OUString aEnabledPropertyPrefix( RTL_CONSTASCII_USTRINGPARAM("D3DSceneLightOn"));
     214                 :          0 :             ::rtl::OUString aIndex( ::rtl::OUString::valueOf( nIndex + 1 ));
     215                 :            : 
     216                 :            :             try
     217                 :            :             {
     218         [ #  # ]:          0 :                 xSceneProperties->setPropertyValue( aColorPropertyPrefix + aIndex,
     219 [ #  # ][ #  # ]:          0 :                                                     uno::makeAny( rLightSource.nDiffuseColor ));
     220         [ #  # ]:          0 :                 xSceneProperties->setPropertyValue( aDirectionPropertyPrefix + aIndex,
     221 [ #  # ][ #  # ]:          0 :                                                     uno::makeAny( rLightSource.aDirection ));
     222         [ #  # ]:          0 :                 xSceneProperties->setPropertyValue( aEnabledPropertyPrefix + aIndex,
     223 [ #  # ][ #  # ]:          0 :                                                     uno::makeAny( rLightSource.bIsEnabled ));
                 [ #  # ]
     224                 :            :             }
     225         [ #  # ]:          0 :             catch( const uno::Exception & ex )
     226                 :            :             {
     227                 :            :                 (void)(ex); // no warning in non-debug builds
     228                 :            :                 OSL_FAIL( ::rtl::OUStringToOString(
     229                 :            :                                 ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Property Exception caught. Message: " )) +
     230                 :            :                                 ex.Message, RTL_TEXTENCODING_ASCII_US ).getStr());
     231                 :          0 :             }
     232                 :            :         }
     233                 :          0 :     }
     234                 :            : 
     235                 :          0 :     Color lcl_getAmbientColor(
     236                 :            :         const uno::Reference< beans::XPropertySet > & xSceneProperties )
     237                 :            :     {
     238                 :          0 :         sal_Int32 nResult = 0x000000;
     239                 :            :         try
     240                 :            :         {
     241         [ #  # ]:          0 :             xSceneProperties->getPropertyValue(
     242 [ #  # ][ #  # ]:          0 :                 ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("D3DSceneAmbientColor"))) >>= nResult;
                 [ #  # ]
     243                 :            :         }
     244         [ #  # ]:          0 :         catch( const uno::Exception & ex )
     245                 :            :         {
     246                 :            :             (void)(ex); // no warning in non-debug builds
     247                 :            :             OSL_FAIL( ::rtl::OUStringToOString(
     248                 :            :                             ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Property Exception caught. Message: " )) +
     249                 :            :                             ex.Message, RTL_TEXTENCODING_ASCII_US ).getStr());
     250                 :            :         }
     251                 :          0 :         return Color( nResult );
     252                 :            :     }
     253                 :            : 
     254                 :          0 :     void lcl_setAmbientColor(
     255                 :            :         const uno::Reference< beans::XPropertySet > & xSceneProperties,
     256                 :            :         const Color & rColor )
     257                 :            :     {
     258                 :            :         try
     259                 :            :         {
     260         [ #  # ]:          0 :             xSceneProperties->setPropertyValue(
     261                 :            :                 ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("D3DSceneAmbientColor")),
     262 [ #  # ][ #  # ]:          0 :                 uno::makeAny( rColor.GetColor()));
         [ #  # ][ #  # ]
     263                 :            :         }
     264                 :          0 :         catch( const uno::Exception & ex )
     265                 :            :         {
     266                 :            :             (void)(ex); // no warning in non-debug builds
     267                 :            :             OSL_FAIL( ::rtl::OUStringToOString(
     268                 :            :                             ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Property Exception caught. Message: " )) +
     269                 :            :                             ex.Message, RTL_TEXTENCODING_ASCII_US ).getStr());
     270                 :            :         }
     271                 :          0 :     }
     272                 :            : }
     273                 :            : 
     274                 :            : //-----------------------------------------------------------------------------
     275                 :            : 
     276                 :          0 : ThreeD_SceneIllumination_TabPage::ThreeD_SceneIllumination_TabPage( Window* pWindow
     277                 :            :                 , const uno::Reference< beans::XPropertySet > & xSceneProperties
     278                 :            :                 , const uno::Reference< frame::XModel >& xChartModel
     279                 :            :                 , const XColorListRef & pColorTable )
     280                 :            :                 : TabPage           ( pWindow, SchResId( TP_3D_SCENEILLUMINATION ) )
     281                 :            :                 , m_aFT_LightSource( this, SchResId( FT_LIGHTSOURCE ) )
     282                 :            :                 , m_aBtn_Light1( this, SchResId( BTN_LIGHT_1 ), 1 )
     283                 :            :                 , m_aBtn_Light2( this, SchResId( BTN_LIGHT_2 ), 2 )
     284                 :            :                 , m_aBtn_Light3( this, SchResId( BTN_LIGHT_3 ), 3 )
     285                 :            :                 , m_aBtn_Light4( this, SchResId( BTN_LIGHT_4 ), 4 )
     286                 :            :                 , m_aBtn_Light5( this, SchResId( BTN_LIGHT_5 ), 5 )
     287                 :            :                 , m_aBtn_Light6( this, SchResId( BTN_LIGHT_6 ), 6 )
     288                 :            :                 , m_aBtn_Light7( this, SchResId( BTN_LIGHT_7 ), 7 )
     289                 :            :                 , m_aBtn_Light8( this, SchResId( BTN_LIGHT_8 ), 8 )
     290                 :            :                 , m_aLB_LightSource( this, SchResId( LB_LIGHTSOURCE ) )
     291                 :            :                 , m_aBtn_LightSource_Color( this, SchResId( BTN_LIGHTSOURCE_COLOR ) )
     292                 :            :                 , m_aFT_AmbientLight( this, SchResId( FT_AMBIENTLIGHT ) )
     293                 :            :                 , m_aLB_AmbientLight( this, SchResId( LB_AMBIENTLIGHT ) )
     294                 :            :                 , m_aBtn_AmbientLight_Color( this, SchResId( BTN_AMBIENT_COLOR ) )
     295                 :            :                 , m_aCtl_Preview( this, SchResId( CTL_LIGHT_PREVIEW ) )
     296                 :            :                 , m_pLightSourceInfoList(0)
     297                 :            :                 , m_xSceneProperties( xSceneProperties )
     298                 :            :                 , m_aTimerTriggeredControllerLock( xChartModel )
     299                 :            :                 , m_bInCommitToModel( false )
     300                 :            :                 , m_aModelChangeListener( LINK( this, ThreeD_SceneIllumination_TabPage, fillControlsFromModel ) )
     301 [ #  # ][ #  # ]:          0 :                 , m_xChartModel( xChartModel )
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
     302                 :            : {
     303         [ #  # ]:          0 :     FreeResource();
     304                 :            : 
     305         [ #  # ]:          0 :     if( pColorTable.is() )
     306                 :            :     {
     307         [ #  # ]:          0 :         m_aLB_AmbientLight.Fill( pColorTable );
     308         [ #  # ]:          0 :         m_aLB_LightSource.Fill( pColorTable );
     309                 :            :     }
     310         [ #  # ]:          0 :     m_aLB_AmbientLight.SetDropDownLineCount(10);
     311         [ #  # ]:          0 :     m_aLB_LightSource.SetDropDownLineCount(10);
     312                 :            : 
     313 [ #  # ][ #  # ]:          0 :     m_pLightSourceInfoList = new LightSourceInfo[8];
     314                 :          0 :     m_pLightSourceInfoList[0].pButton = &m_aBtn_Light1;
     315                 :          0 :     m_pLightSourceInfoList[1].pButton = &m_aBtn_Light2;
     316                 :          0 :     m_pLightSourceInfoList[2].pButton = &m_aBtn_Light3;
     317                 :          0 :     m_pLightSourceInfoList[3].pButton = &m_aBtn_Light4;
     318                 :          0 :     m_pLightSourceInfoList[4].pButton = &m_aBtn_Light5;
     319                 :          0 :     m_pLightSourceInfoList[5].pButton = &m_aBtn_Light6;
     320                 :          0 :     m_pLightSourceInfoList[6].pButton = &m_aBtn_Light7;
     321                 :          0 :     m_pLightSourceInfoList[7].pButton = &m_aBtn_Light8;
     322                 :            : 
     323         [ #  # ]:          0 :     fillControlsFromModel(0);
     324                 :            : 
     325         [ #  # ]:          0 :     m_aBtn_Light1.SetClickHdl( LINK( this, ThreeD_SceneIllumination_TabPage, ClickLightSourceButtonHdl ) );
     326         [ #  # ]:          0 :     m_aBtn_Light2.SetClickHdl( LINK( this, ThreeD_SceneIllumination_TabPage, ClickLightSourceButtonHdl ) );
     327         [ #  # ]:          0 :     m_aBtn_Light3.SetClickHdl( LINK( this, ThreeD_SceneIllumination_TabPage, ClickLightSourceButtonHdl ) );
     328         [ #  # ]:          0 :     m_aBtn_Light4.SetClickHdl( LINK( this, ThreeD_SceneIllumination_TabPage, ClickLightSourceButtonHdl ) );
     329         [ #  # ]:          0 :     m_aBtn_Light5.SetClickHdl( LINK( this, ThreeD_SceneIllumination_TabPage, ClickLightSourceButtonHdl ) );
     330         [ #  # ]:          0 :     m_aBtn_Light6.SetClickHdl( LINK( this, ThreeD_SceneIllumination_TabPage, ClickLightSourceButtonHdl ) );
     331         [ #  # ]:          0 :     m_aBtn_Light7.SetClickHdl( LINK( this, ThreeD_SceneIllumination_TabPage, ClickLightSourceButtonHdl ) );
     332         [ #  # ]:          0 :     m_aBtn_Light8.SetClickHdl( LINK( this, ThreeD_SceneIllumination_TabPage, ClickLightSourceButtonHdl ) );
     333                 :            : 
     334         [ #  # ]:          0 :     m_aLB_AmbientLight.SetSelectHdl( LINK( this, ThreeD_SceneIllumination_TabPage, SelectColorHdl ) );
     335         [ #  # ]:          0 :     m_aLB_LightSource.SetSelectHdl( LINK( this, ThreeD_SceneIllumination_TabPage, SelectColorHdl ) );
     336                 :            : 
     337         [ #  # ]:          0 :     m_aBtn_AmbientLight_Color.SetClickHdl( LINK( this, ThreeD_SceneIllumination_TabPage, ColorDialogHdl ) );
     338         [ #  # ]:          0 :     m_aBtn_LightSource_Color.SetClickHdl( LINK( this, ThreeD_SceneIllumination_TabPage, ColorDialogHdl ) );
     339                 :            : 
     340         [ #  # ]:          0 :     m_aCtl_Preview.SetUserInteractiveChangeCallback( LINK( this, ThreeD_SceneIllumination_TabPage, PreviewChangeHdl ) );
     341         [ #  # ]:          0 :     m_aCtl_Preview.SetUserSelectionChangeCallback( LINK( this, ThreeD_SceneIllumination_TabPage, PreviewSelectHdl ) );
     342                 :            : 
     343         [ #  # ]:          0 :     ClickLightSourceButtonHdl(&m_aBtn_Light2);
     344                 :            : 
     345 [ #  # ][ #  # ]:          0 :     m_aModelChangeListener.startListening( uno::Reference< util::XModifyBroadcaster >(m_xSceneProperties, uno::UNO_QUERY) );
     346         [ #  # ]:          0 :     m_aBtn_Light1.SetAccessibleRelationLabeledBy(&m_aFT_LightSource);
     347         [ #  # ]:          0 :     m_aBtn_Light2.SetAccessibleRelationLabeledBy(&m_aFT_LightSource);
     348         [ #  # ]:          0 :     m_aBtn_Light3.SetAccessibleRelationLabeledBy(&m_aFT_LightSource);
     349         [ #  # ]:          0 :     m_aBtn_Light4.SetAccessibleRelationLabeledBy(&m_aFT_LightSource);
     350         [ #  # ]:          0 :     m_aBtn_Light5.SetAccessibleRelationLabeledBy(&m_aFT_LightSource);
     351         [ #  # ]:          0 :     m_aBtn_Light6.SetAccessibleRelationLabeledBy(&m_aFT_LightSource);
     352         [ #  # ]:          0 :     m_aBtn_Light7.SetAccessibleRelationLabeledBy(&m_aFT_LightSource);
     353         [ #  # ]:          0 :     m_aBtn_Light8.SetAccessibleRelationLabeledBy(&m_aFT_LightSource);
     354 [ #  # ][ #  # ]:          0 :     m_aCtl_Preview.SetAccessibleName(String(SchResId( STR_LIGHT_PREVIEW )));
         [ #  # ][ #  # ]
     355                 :          0 : }
     356                 :            : 
     357 [ #  # ][ #  # ]:          0 : ThreeD_SceneIllumination_TabPage::~ThreeD_SceneIllumination_TabPage()
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
         [ #  # ][ #  # ]
                 [ #  # ]
     358                 :            : {
     359         [ #  # ]:          0 :     delete[] m_pLightSourceInfoList;
     360         [ #  # ]:          0 : }
     361                 :            : 
     362                 :          0 : void ThreeD_SceneIllumination_TabPage::commitPendingChanges()
     363                 :            : {
     364                 :          0 : }
     365                 :            : 
     366                 :          0 : IMPL_LINK_NOARG(ThreeD_SceneIllumination_TabPage, fillControlsFromModel)
     367                 :            : {
     368         [ #  # ]:          0 :     if( m_bInCommitToModel )//don't read own changes
     369                 :          0 :         return 0;
     370                 :            : 
     371                 :          0 :     sal_Int32 nL=0;
     372         [ #  # ]:          0 :     for( nL=0; nL<8; nL++)
     373                 :          0 :         m_pLightSourceInfoList[nL].aLightSource = lcl_getLightSourceFromProperties( m_xSceneProperties, nL );
     374         [ #  # ]:          0 :     for( nL=0; nL<8; nL++)
     375                 :          0 :         m_pLightSourceInfoList[nL].initButtonFromSource();
     376                 :            : 
     377         [ #  # ]:          0 :     lcl_selectColor( m_aLB_AmbientLight, lcl_getAmbientColor( m_xSceneProperties ));
     378                 :            : 
     379                 :          0 :     this->updatePreview();
     380                 :            : 
     381                 :          0 :     return 0;
     382                 :            : }
     383                 :            : 
     384                 :          0 : void ThreeD_SceneIllumination_TabPage::applyLightSourceToModel( sal_uInt32 nLightNumber )
     385                 :            : {
     386         [ #  # ]:          0 :     ControllerLockGuard aGuard( m_xChartModel );
     387                 :          0 :     m_bInCommitToModel = true;
     388                 :          0 :     sal_Int32 nIndex( nLightNumber );
     389         [ #  # ]:          0 :     lcl_setLightSource( m_xSceneProperties, m_pLightSourceInfoList[nIndex].aLightSource, nIndex );
     390         [ #  # ]:          0 :     m_bInCommitToModel = false;
     391                 :          0 : }
     392                 :            : 
     393                 :          0 : void ThreeD_SceneIllumination_TabPage::applyLightSourcesToModel()
     394                 :            : {
     395         [ #  # ]:          0 :     m_aTimerTriggeredControllerLock.startTimer();
     396         [ #  # ]:          0 :     ControllerLockGuard aGuard( m_xChartModel );
     397         [ #  # ]:          0 :     for( sal_Int32 nL=0; nL<8; nL++)
     398         [ #  # ]:          0 :         applyLightSourceToModel( nL );
     399 [ #  # ][ #  # ]:          0 :     m_aTimerTriggeredControllerLock.startTimer();
     400                 :          0 : }
     401                 :            : 
     402                 :          0 : IMPL_LINK_NOARG(ThreeD_SceneIllumination_TabPage, PreviewChangeHdl)
     403                 :            : {
     404         [ #  # ]:          0 :     m_aTimerTriggeredControllerLock.startTimer();
     405                 :            : 
     406                 :            :     //update m_pLightSourceInfoList from preview
     407         [ #  # ]:          0 :     const SfxItemSet a3DLightAttributes(m_aCtl_Preview.GetSvx3DLightControl().Get3DAttributes());
     408                 :          0 :     LightSourceInfo* pInfo = &m_pLightSourceInfoList[0];
     409                 :            : 
     410         [ #  # ]:          0 :     pInfo->aLightSource.nDiffuseColor = ((const Svx3DLightcolor1Item&)a3DLightAttributes.Get(SDRATTR_3DSCENE_LIGHTCOLOR_1)).GetValue().GetColor();
     411         [ #  # ]:          0 :     pInfo->aLightSource.bIsEnabled = ((const Svx3DLightOnOff1Item&)a3DLightAttributes.Get(SDRATTR_3DSCENE_LIGHTON_1)).GetValue();
     412 [ #  # ][ #  # ]:          0 :     pInfo->aLightSource.aDirection = B3DVectorToDirection3D(((const Svx3DLightDirection1Item&)a3DLightAttributes.Get(SDRATTR_3DSCENE_LIGHTDIRECTION_1)).GetValue());
     413                 :            : 
     414                 :          0 :     pInfo = &m_pLightSourceInfoList[1];
     415         [ #  # ]:          0 :     pInfo->aLightSource.nDiffuseColor = ((const Svx3DLightcolor2Item&)a3DLightAttributes.Get(SDRATTR_3DSCENE_LIGHTCOLOR_2)).GetValue().GetColor();
     416         [ #  # ]:          0 :     pInfo->aLightSource.bIsEnabled = ((const Svx3DLightOnOff2Item&)a3DLightAttributes.Get(SDRATTR_3DSCENE_LIGHTON_2)).GetValue();
     417 [ #  # ][ #  # ]:          0 :     pInfo->aLightSource.aDirection = B3DVectorToDirection3D(((const Svx3DLightDirection2Item&)a3DLightAttributes.Get(SDRATTR_3DSCENE_LIGHTDIRECTION_2)).GetValue());
     418                 :            : 
     419                 :          0 :     pInfo = &m_pLightSourceInfoList[2];
     420         [ #  # ]:          0 :     pInfo->aLightSource.nDiffuseColor = ((const Svx3DLightcolor3Item&)a3DLightAttributes.Get(SDRATTR_3DSCENE_LIGHTCOLOR_3)).GetValue().GetColor();
     421         [ #  # ]:          0 :     pInfo->aLightSource.bIsEnabled = ((const Svx3DLightOnOff3Item&)a3DLightAttributes.Get(SDRATTR_3DSCENE_LIGHTON_3)).GetValue();
     422 [ #  # ][ #  # ]:          0 :     pInfo->aLightSource.aDirection = B3DVectorToDirection3D(((const Svx3DLightDirection3Item&)a3DLightAttributes.Get(SDRATTR_3DSCENE_LIGHTDIRECTION_3)).GetValue());
     423                 :            : 
     424                 :          0 :     pInfo = &m_pLightSourceInfoList[3];
     425         [ #  # ]:          0 :     pInfo->aLightSource.nDiffuseColor = ((const Svx3DLightcolor4Item&)a3DLightAttributes.Get(SDRATTR_3DSCENE_LIGHTCOLOR_4)).GetValue().GetColor();
     426         [ #  # ]:          0 :     pInfo->aLightSource.bIsEnabled = ((const Svx3DLightOnOff4Item&)a3DLightAttributes.Get(SDRATTR_3DSCENE_LIGHTON_4)).GetValue();
     427 [ #  # ][ #  # ]:          0 :     pInfo->aLightSource.aDirection = B3DVectorToDirection3D(((const Svx3DLightDirection4Item&)a3DLightAttributes.Get(SDRATTR_3DSCENE_LIGHTDIRECTION_4)).GetValue());
     428                 :            : 
     429                 :          0 :     pInfo = &m_pLightSourceInfoList[4];
     430         [ #  # ]:          0 :     pInfo->aLightSource.nDiffuseColor = ((const Svx3DLightcolor5Item&)a3DLightAttributes.Get(SDRATTR_3DSCENE_LIGHTCOLOR_5)).GetValue().GetColor();
     431         [ #  # ]:          0 :     pInfo->aLightSource.bIsEnabled = ((const Svx3DLightOnOff5Item&)a3DLightAttributes.Get(SDRATTR_3DSCENE_LIGHTON_5)).GetValue();
     432 [ #  # ][ #  # ]:          0 :     pInfo->aLightSource.aDirection = B3DVectorToDirection3D(((const Svx3DLightDirection5Item&)a3DLightAttributes.Get(SDRATTR_3DSCENE_LIGHTDIRECTION_5)).GetValue());
     433                 :            : 
     434                 :          0 :     pInfo = &m_pLightSourceInfoList[5];
     435         [ #  # ]:          0 :     pInfo->aLightSource.nDiffuseColor = ((const Svx3DLightcolor6Item&)a3DLightAttributes.Get(SDRATTR_3DSCENE_LIGHTCOLOR_6)).GetValue().GetColor();
     436         [ #  # ]:          0 :     pInfo->aLightSource.bIsEnabled = ((const Svx3DLightOnOff6Item&)a3DLightAttributes.Get(SDRATTR_3DSCENE_LIGHTON_6)).GetValue();
     437 [ #  # ][ #  # ]:          0 :     pInfo->aLightSource.aDirection = B3DVectorToDirection3D(((const Svx3DLightDirection6Item&)a3DLightAttributes.Get(SDRATTR_3DSCENE_LIGHTDIRECTION_6)).GetValue());
     438                 :            : 
     439                 :          0 :     pInfo = &m_pLightSourceInfoList[6];
     440         [ #  # ]:          0 :     pInfo->aLightSource.nDiffuseColor = ((const Svx3DLightcolor7Item&)a3DLightAttributes.Get(SDRATTR_3DSCENE_LIGHTCOLOR_7)).GetValue().GetColor();
     441         [ #  # ]:          0 :     pInfo->aLightSource.bIsEnabled = ((const Svx3DLightOnOff7Item&)a3DLightAttributes.Get(SDRATTR_3DSCENE_LIGHTON_7)).GetValue();
     442 [ #  # ][ #  # ]:          0 :     pInfo->aLightSource.aDirection = B3DVectorToDirection3D(((const Svx3DLightDirection7Item&)a3DLightAttributes.Get(SDRATTR_3DSCENE_LIGHTDIRECTION_7)).GetValue());
     443                 :            : 
     444                 :          0 :     pInfo = &m_pLightSourceInfoList[7];
     445         [ #  # ]:          0 :     pInfo->aLightSource.nDiffuseColor = ((const Svx3DLightcolor8Item&)a3DLightAttributes.Get(SDRATTR_3DSCENE_LIGHTCOLOR_8)).GetValue().GetColor();
     446         [ #  # ]:          0 :     pInfo->aLightSource.bIsEnabled = ((const Svx3DLightOnOff8Item&)a3DLightAttributes.Get(SDRATTR_3DSCENE_LIGHTON_8)).GetValue();
     447 [ #  # ][ #  # ]:          0 :     pInfo->aLightSource.aDirection = B3DVectorToDirection3D(((const Svx3DLightDirection8Item&)a3DLightAttributes.Get(SDRATTR_3DSCENE_LIGHTDIRECTION_8)).GetValue());
     448                 :            : 
     449         [ #  # ]:          0 :     applyLightSourcesToModel();
     450                 :            : 
     451         [ #  # ]:          0 :     return 0;
     452                 :            : }
     453                 :            : 
     454                 :          0 : IMPL_LINK_NOARG(ThreeD_SceneIllumination_TabPage, PreviewSelectHdl)
     455                 :            : {
     456                 :          0 :     sal_uInt32 nLightNumber = m_aCtl_Preview.GetSvx3DLightControl().GetSelectedLight();
     457         [ #  # ]:          0 :     if(nLightNumber<8)
     458                 :            :     {
     459                 :          0 :         LightButton* pButton = m_pLightSourceInfoList[nLightNumber].pButton;
     460         [ #  # ]:          0 :         if(!pButton->IsChecked())
     461                 :          0 :             ClickLightSourceButtonHdl(pButton);
     462                 :            : 
     463                 :          0 :         applyLightSourcesToModel();
     464                 :            :     }
     465                 :          0 :     return 0;
     466                 :            : }
     467                 :            : 
     468                 :          0 : IMPL_LINK( ThreeD_SceneIllumination_TabPage, ColorDialogHdl, Button*, pButton )
     469                 :            : {
     470                 :          0 :     bool bIsAmbientLight = (pButton==&m_aBtn_AmbientLight_Color);
     471         [ #  # ]:          0 :     ColorLB* pListBox = ( bIsAmbientLight ? &m_aLB_AmbientLight : &m_aLB_LightSource);
     472                 :            : 
     473         [ #  # ]:          0 :     SvColorDialog aColorDlg( this );
     474 [ #  # ][ #  # ]:          0 :     aColorDlg.SetColor( pListBox->GetSelectEntryColor() );
     475 [ #  # ][ #  # ]:          0 :     if( aColorDlg.Execute() == RET_OK )
     476                 :            :     {
     477         [ #  # ]:          0 :         Color aColor( aColorDlg.GetColor());
     478         [ #  # ]:          0 :         lcl_selectColor( *pListBox, aColor );
     479         [ #  # ]:          0 :         if( bIsAmbientLight )
     480                 :            :         {
     481                 :          0 :             m_bInCommitToModel = true;
     482         [ #  # ]:          0 :             lcl_setAmbientColor( m_xSceneProperties, aColor );
     483                 :          0 :             m_bInCommitToModel = false;
     484                 :            :         }
     485                 :            :         else
     486                 :            :         {
     487                 :            :         //get active lightsource:
     488                 :          0 :             LightSourceInfo* pInfo = 0;
     489                 :          0 :             sal_Int32 nL=0;
     490         [ #  # ]:          0 :             for( nL=0; nL<8; nL++)
     491                 :            :             {
     492                 :          0 :                 pInfo = &m_pLightSourceInfoList[nL];
     493 [ #  # ][ #  # ]:          0 :                 if(pInfo->pButton->IsChecked())
     494                 :          0 :                     break;
     495                 :          0 :                 pInfo = 0;
     496                 :            :             }
     497         [ #  # ]:          0 :             if(pInfo)
     498         [ #  # ]:          0 :                 applyLightSourceToModel( nL );
     499                 :            :         }
     500         [ #  # ]:          0 :         SelectColorHdl( pListBox );
     501                 :            :     }
     502         [ #  # ]:          0 :     return 0;
     503                 :            : }
     504                 :            : 
     505                 :          0 : IMPL_LINK( ThreeD_SceneIllumination_TabPage, SelectColorHdl, ColorLB*, pListBox )
     506                 :            : {
     507         [ #  # ]:          0 :     if(pListBox==&m_aLB_AmbientLight)
     508                 :            :     {
     509                 :          0 :         m_bInCommitToModel = true;
     510         [ #  # ]:          0 :         lcl_setAmbientColor( m_xSceneProperties, pListBox->GetSelectEntryColor().GetColor());
     511                 :          0 :         m_bInCommitToModel = false;
     512                 :            :     }
     513         [ #  # ]:          0 :     else if(pListBox==&m_aLB_LightSource)
     514                 :            :     {
     515                 :            :         //get active lightsource:
     516                 :          0 :         LightSourceInfo* pInfo = 0;
     517                 :          0 :         sal_Int32 nL=0;
     518         [ #  # ]:          0 :         for( nL=0; nL<8; nL++)
     519                 :            :         {
     520                 :          0 :             pInfo = &m_pLightSourceInfoList[nL];
     521         [ #  # ]:          0 :             if(pInfo->pButton->IsChecked())
     522                 :          0 :                 break;
     523                 :          0 :             pInfo = 0;
     524                 :            :         }
     525         [ #  # ]:          0 :         if(pInfo)
     526                 :            :         {
     527                 :          0 :             pInfo->aLightSource.nDiffuseColor = pListBox->GetSelectEntryColor().GetColor();
     528                 :          0 :             applyLightSourceToModel( nL );
     529                 :            :         }
     530                 :            :     }
     531                 :          0 :     this->updatePreview();
     532                 :          0 :     return 0;
     533                 :            : }
     534                 :            : 
     535                 :          0 : IMPL_LINK( ThreeD_SceneIllumination_TabPage, ClickLightSourceButtonHdl, LightButton*, pButton )
     536                 :            : {
     537         [ #  # ]:          0 :     if( !pButton )
     538                 :          0 :         return 0;
     539                 :            : 
     540                 :          0 :     LightSourceInfo* pInfo = 0;
     541                 :          0 :     sal_Int32 nL=0;
     542         [ #  # ]:          0 :     for( nL=0; nL<8; nL++)
     543                 :            :     {
     544         [ #  # ]:          0 :         if( m_pLightSourceInfoList[nL].pButton == pButton )
     545                 :            :         {
     546                 :          0 :             pInfo = &m_pLightSourceInfoList[nL];
     547                 :          0 :             break;
     548                 :            :         }
     549                 :            :     }
     550                 :            : 
     551                 :            :     //update light button
     552                 :          0 :     bool bIsChecked = pButton->IsChecked();
     553         [ #  # ]:          0 :     if(bIsChecked)
     554                 :            :     {
     555                 :          0 :         pButton->switchLightOn(!pButton->isLightOn());
     556         [ #  # ]:          0 :         if(pInfo)
     557                 :            :         {
     558                 :          0 :             pInfo->aLightSource.bIsEnabled=pButton->isLightOn();
     559                 :          0 :             applyLightSourceToModel( nL );
     560                 :            :         }
     561                 :            :     }
     562                 :            :     else
     563                 :            :     {
     564         [ #  # ]:          0 :         ControllerLockGuard aGuard( m_xChartModel );
     565         [ #  # ]:          0 :         for( nL=0; nL<8; nL++)
     566                 :            :         {
     567                 :          0 :             LightButton* pLightButton = m_pLightSourceInfoList[nL].pButton;
     568         [ #  # ]:          0 :             pLightButton->Check( pLightButton == pButton );
     569         [ #  # ]:          0 :         }
     570                 :            :     }
     571                 :            : 
     572                 :            :     //update color list box
     573         [ #  # ]:          0 :     if(pInfo)
     574                 :            :     {
     575         [ #  # ]:          0 :         lcl_selectColor( m_aLB_LightSource, pInfo->aLightSource.nDiffuseColor );
     576                 :            :     }
     577                 :          0 :     this->updatePreview();
     578                 :          0 :     return 0;
     579                 :            : }
     580                 :            : 
     581                 :          0 : void ThreeD_SceneIllumination_TabPage::updatePreview()
     582                 :            : {
     583         [ #  # ]:          0 :     SfxItemSet aItemSet(m_aCtl_Preview.GetSvx3DLightControl().Get3DAttributes());
     584                 :          0 :     LightSourceInfo* pInfo = &m_pLightSourceInfoList[0];
     585                 :            : 
     586                 :            :     // AmbientColor
     587 [ #  # ][ #  # ]:          0 :     aItemSet.Put(Svx3DAmbientcolorItem(m_aLB_AmbientLight.GetSelectEntryColor()));
         [ #  # ][ #  # ]
     588                 :            : 
     589 [ #  # ][ #  # ]:          0 :     aItemSet.Put(Svx3DLightcolor1Item(pInfo->aLightSource.nDiffuseColor));
                 [ #  # ]
     590 [ #  # ][ #  # ]:          0 :     aItemSet.Put(Svx3DLightOnOff1Item(pInfo->aLightSource.bIsEnabled));
                 [ #  # ]
     591 [ #  # ][ #  # ]:          0 :     aItemSet.Put(Svx3DLightDirection1Item(Direction3DToB3DVector(pInfo->aLightSource.aDirection)));
         [ #  # ][ #  # ]
     592                 :            : 
     593                 :          0 :     pInfo = &m_pLightSourceInfoList[1];
     594 [ #  # ][ #  # ]:          0 :     aItemSet.Put(Svx3DLightcolor2Item(pInfo->aLightSource.nDiffuseColor));
                 [ #  # ]
     595 [ #  # ][ #  # ]:          0 :     aItemSet.Put(Svx3DLightOnOff2Item(pInfo->aLightSource.bIsEnabled));
                 [ #  # ]
     596 [ #  # ][ #  # ]:          0 :     aItemSet.Put(Svx3DLightDirection2Item(Direction3DToB3DVector(pInfo->aLightSource.aDirection)));
         [ #  # ][ #  # ]
     597                 :            : 
     598                 :          0 :     pInfo = &m_pLightSourceInfoList[2];
     599 [ #  # ][ #  # ]:          0 :     aItemSet.Put(Svx3DLightcolor3Item(pInfo->aLightSource.nDiffuseColor));
                 [ #  # ]
     600 [ #  # ][ #  # ]:          0 :     aItemSet.Put(Svx3DLightOnOff3Item(pInfo->aLightSource.bIsEnabled));
                 [ #  # ]
     601 [ #  # ][ #  # ]:          0 :     aItemSet.Put(Svx3DLightDirection3Item(Direction3DToB3DVector(pInfo->aLightSource.aDirection)));
         [ #  # ][ #  # ]
     602                 :            : 
     603                 :          0 :     pInfo = &m_pLightSourceInfoList[3];
     604 [ #  # ][ #  # ]:          0 :     aItemSet.Put(Svx3DLightcolor4Item(pInfo->aLightSource.nDiffuseColor));
                 [ #  # ]
     605 [ #  # ][ #  # ]:          0 :     aItemSet.Put(Svx3DLightOnOff4Item(pInfo->aLightSource.bIsEnabled));
                 [ #  # ]
     606 [ #  # ][ #  # ]:          0 :     aItemSet.Put(Svx3DLightDirection4Item(Direction3DToB3DVector(pInfo->aLightSource.aDirection)));
         [ #  # ][ #  # ]
     607                 :            : 
     608                 :          0 :     pInfo = &m_pLightSourceInfoList[4];
     609 [ #  # ][ #  # ]:          0 :     aItemSet.Put(Svx3DLightcolor5Item(pInfo->aLightSource.nDiffuseColor));
                 [ #  # ]
     610 [ #  # ][ #  # ]:          0 :     aItemSet.Put(Svx3DLightOnOff5Item(pInfo->aLightSource.bIsEnabled));
                 [ #  # ]
     611 [ #  # ][ #  # ]:          0 :     aItemSet.Put(Svx3DLightDirection5Item(Direction3DToB3DVector(pInfo->aLightSource.aDirection)));
         [ #  # ][ #  # ]
     612                 :            : 
     613                 :          0 :     pInfo = &m_pLightSourceInfoList[5];
     614 [ #  # ][ #  # ]:          0 :     aItemSet.Put(Svx3DLightcolor6Item(pInfo->aLightSource.nDiffuseColor));
                 [ #  # ]
     615 [ #  # ][ #  # ]:          0 :     aItemSet.Put(Svx3DLightOnOff6Item(pInfo->aLightSource.bIsEnabled));
                 [ #  # ]
     616 [ #  # ][ #  # ]:          0 :     aItemSet.Put(Svx3DLightDirection6Item(Direction3DToB3DVector(pInfo->aLightSource.aDirection)));
         [ #  # ][ #  # ]
     617                 :            : 
     618                 :          0 :     pInfo = &m_pLightSourceInfoList[6];
     619 [ #  # ][ #  # ]:          0 :     aItemSet.Put(Svx3DLightcolor7Item(pInfo->aLightSource.nDiffuseColor));
                 [ #  # ]
     620 [ #  # ][ #  # ]:          0 :     aItemSet.Put(Svx3DLightOnOff7Item(pInfo->aLightSource.bIsEnabled));
                 [ #  # ]
     621 [ #  # ][ #  # ]:          0 :     aItemSet.Put(Svx3DLightDirection7Item(Direction3DToB3DVector(pInfo->aLightSource.aDirection)));
         [ #  # ][ #  # ]
     622                 :            : 
     623                 :          0 :     pInfo = &m_pLightSourceInfoList[7];
     624 [ #  # ][ #  # ]:          0 :     aItemSet.Put(Svx3DLightcolor8Item(pInfo->aLightSource.nDiffuseColor));
                 [ #  # ]
     625 [ #  # ][ #  # ]:          0 :     aItemSet.Put(Svx3DLightOnOff8Item(pInfo->aLightSource.bIsEnabled));
                 [ #  # ]
     626 [ #  # ][ #  # ]:          0 :     aItemSet.Put(Svx3DLightDirection8Item(Direction3DToB3DVector(pInfo->aLightSource.aDirection)));
         [ #  # ][ #  # ]
     627                 :            : 
     628                 :            :     // set lights and ambient light
     629         [ #  # ]:          0 :     m_aCtl_Preview.GetSvx3DLightControl().Set3DAttributes(aItemSet);
     630                 :            : 
     631                 :            :     // select light
     632         [ #  # ]:          0 :     for(sal_uInt32 a(0); a < 8; a++)
     633                 :            :     {
     634 [ #  # ][ #  # ]:          0 :         if(m_pLightSourceInfoList[a].pButton->IsChecked())
     635                 :            :         {
     636         [ #  # ]:          0 :             m_aCtl_Preview.GetSvx3DLightControl().SelectLight(a);
     637         [ #  # ]:          0 :             m_aCtl_Preview.CheckSelection();
     638                 :          0 :             break;
     639                 :            :         }
     640         [ #  # ]:          0 :     }
     641                 :          0 : }
     642                 :            : 
     643                 :            : //.............................................................................
     644                 :            : } //namespace chart
     645                 :            : //.............................................................................
     646                 :            : 
     647                 :            : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10