Kaydet (Commit) 51a423cd authored tarafından Olivier Hallot's avatar Olivier Hallot Kaydeden (comit) Caolán McNamara

Convert chart 3D scene geometry tabpage to widget

Change-Id: I5840d47047880636fb4e8f80ecef1a6f5377d786
Reviewed-on: https://gerrit.libreoffice.org/6840Reviewed-by: 's avatarCaolán McNamara <caolanm@redhat.com>
Tested-by: 's avatarCaolán McNamara <caolanm@redhat.com>
üst 6014e3c9
...@@ -47,7 +47,6 @@ $(eval $(call gb_SrsTarget_add_files,chart2/res,\ ...@@ -47,7 +47,6 @@ $(eval $(call gb_SrsTarget_add_files,chart2/res,\
chart2/source/controller/dialogs/Strings.src \ chart2/source/controller/dialogs/Strings.src \
chart2/source/controller/dialogs/Strings_Statistic.src \ chart2/source/controller/dialogs/Strings_Statistic.src \
chart2/source/controller/dialogs/tp_3D_SceneAppearance.src \ chart2/source/controller/dialogs/tp_3D_SceneAppearance.src \
chart2/source/controller/dialogs/tp_3D_SceneGeometry.src \
chart2/source/controller/dialogs/tp_3D_SceneIllumination.src \ chart2/source/controller/dialogs/tp_3D_SceneIllumination.src \
chart2/source/controller/dialogs/tp_AxisLabel.src \ chart2/source/controller/dialogs/tp_AxisLabel.src \
chart2/source/controller/dialogs/tp_ChartType.src \ chart2/source/controller/dialogs/tp_ChartType.src \
......
...@@ -36,6 +36,7 @@ $(eval $(call gb_UIConfig_add_uifiles,modules/schart,\ ...@@ -36,6 +36,7 @@ $(eval $(call gb_UIConfig_add_uifiles,modules/schart,\
chart2/uiconfig/ui/smoothlinesdlg \ chart2/uiconfig/ui/smoothlinesdlg \
chart2/uiconfig/ui/steppedlinesdlg \ chart2/uiconfig/ui/steppedlinesdlg \
chart2/uiconfig/ui/titlerotationtabpage \ chart2/uiconfig/ui/titlerotationtabpage \
chart2/uiconfig/ui/tp_3D_SceneGeometry \
chart2/uiconfig/ui/tp_axisLabel \ chart2/uiconfig/ui/tp_axisLabel \
chart2/uiconfig/ui/tp_AxisPositions \ chart2/uiconfig/ui/tp_AxisPositions \
chart2/uiconfig/ui/tp_LegendPosition \ chart2/uiconfig/ui/tp_LegendPosition \
......
...@@ -18,8 +18,7 @@ ...@@ -18,8 +18,7 @@
*/ */
#include "tp_3D_SceneGeometry.hxx" #include "tp_3D_SceneGeometry.hxx"
#include "tp_3D_SceneGeometry.hrc"
#include "ResId.hxx"
#include "BaseGFXHelper.hxx" #include "BaseGFXHelper.hxx"
#include "macros.hxx" #include "macros.hxx"
#include "DiagramHelper.hxx" #include "DiagramHelper.hxx"
...@@ -58,17 +57,10 @@ void lcl_SetMetricFieldLimits( MetricField& rField, sal_Int64 nLimit ) ...@@ -58,17 +57,10 @@ void lcl_SetMetricFieldLimits( MetricField& rField, sal_Int64 nLimit )
ThreeD_SceneGeometry_TabPage::ThreeD_SceneGeometry_TabPage( Window* pWindow ThreeD_SceneGeometry_TabPage::ThreeD_SceneGeometry_TabPage( Window* pWindow
, const uno::Reference< beans::XPropertySet > & xSceneProperties , const uno::Reference< beans::XPropertySet > & xSceneProperties
, ControllerLockHelper & rControllerLockHelper ) , ControllerLockHelper & rControllerLockHelper )
: TabPage ( pWindow, SchResId( TP_3D_SCENEGEOMETRY ) ) : TabPage ( pWindow
, "tp_3DSceneGeometry"
, "modules/schart/ui/tp_3D_SceneGeometry.ui")
, m_xSceneProperties( xSceneProperties ) , m_xSceneProperties( xSceneProperties )
, m_aCbxRightAngledAxes( this, SchResId( CBX_RIGHT_ANGLED_AXES ) )
, m_aFtXRotation ( this, SchResId( FT_X_ROTATION ) )
, m_aMFXRotation ( this, SchResId( MTR_FLD_X_ROTATION ) )
, m_aFtYRotation ( this, SchResId( FT_Y_ROTATION ) )
, m_aMFYRotation ( this, SchResId( MTR_FLD_Y_ROTATION ) )
, m_aFtZRotation ( this, SchResId( FT_Z_ROTATION ) )
, m_aMFZRotation ( this, SchResId( MTR_FLD_Z_ROTATION ) )
, m_aCbxPerspective ( this, SchResId( CBX_PERSPECTIVE ) )
, m_aMFPerspective ( this, SchResId( MTR_FLD_PERSPECTIVE ) )
, m_nXRotation(0) , m_nXRotation(0)
, m_nYRotation(0) , m_nYRotation(0)
, m_nZRotation(0) , m_nZRotation(0)
...@@ -76,7 +68,13 @@ ThreeD_SceneGeometry_TabPage::ThreeD_SceneGeometry_TabPage( Window* pWindow ...@@ -76,7 +68,13 @@ ThreeD_SceneGeometry_TabPage::ThreeD_SceneGeometry_TabPage( Window* pWindow
, m_bPerspectiveChangePending( false ) , m_bPerspectiveChangePending( false )
, m_rControllerLockHelper( rControllerLockHelper ) , m_rControllerLockHelper( rControllerLockHelper )
{ {
FreeResource(); get(m_pCbxRightAngledAxes,"CBX_RIGHT_ANGLED_AXES");
get(m_pMFXRotation, "MTR_FLD_X_ROTATION");
get(m_pMFYRotation, "MTR_FLD_Y_ROTATION");
get(m_pFtZRotation, "FT_Z_ROTATION");
get(m_pMFZRotation, "MTR_FLD_Z_ROTATION");
get(m_pCbxPerspective,"CBX_PERSPECTIVE");
get(m_pMFPerspective, "MTR_FLD_PERSPECTIVE");
double fXAngle, fYAngle, fZAngle; double fXAngle, fYAngle, fZAngle;
ThreeDHelper::getRotationAngleFromDiagram( m_xSceneProperties, fXAngle, fYAngle, fZAngle ); ThreeDHelper::getRotationAngleFromDiagram( m_xSceneProperties, fXAngle, fYAngle, fZAngle );
...@@ -87,49 +85,49 @@ ThreeD_SceneGeometry_TabPage::ThreeD_SceneGeometry_TabPage( Window* pWindow ...@@ -87,49 +85,49 @@ ThreeD_SceneGeometry_TabPage::ThreeD_SceneGeometry_TabPage( Window* pWindow
OSL_ENSURE( fZAngle>=-90 && fZAngle<=90, "z angle is out of valid range" ); OSL_ENSURE( fZAngle>=-90 && fZAngle<=90, "z angle is out of valid range" );
lcl_SetMetricFieldLimits( m_aMFZRotation, 90 ); lcl_SetMetricFieldLimits( *m_pMFZRotation, 90 );
m_nXRotation = ::basegfx::fround(fXAngle*pow(10.0,m_aMFXRotation.GetDecimalDigits())); m_nXRotation = ::basegfx::fround(fXAngle*pow(10.0,m_pMFXRotation->GetDecimalDigits()));
m_nYRotation = ::basegfx::fround(-1.0*fYAngle*pow(10.0,m_aMFYRotation.GetDecimalDigits())); m_nYRotation = ::basegfx::fround(-1.0*fYAngle*pow(10.0,m_pMFYRotation->GetDecimalDigits()));
m_nZRotation = ::basegfx::fround(-1.0*fZAngle*pow(10.0,m_aMFZRotation.GetDecimalDigits())); m_nZRotation = ::basegfx::fround(-1.0*fZAngle*pow(10.0,m_pMFZRotation->GetDecimalDigits()));
lcl_shiftAngleToValidRange( m_nXRotation ); lcl_shiftAngleToValidRange( m_nXRotation );
lcl_shiftAngleToValidRange( m_nYRotation ); lcl_shiftAngleToValidRange( m_nYRotation );
lcl_shiftAngleToValidRange( m_nZRotation ); lcl_shiftAngleToValidRange( m_nZRotation );
m_aMFXRotation.SetValue(m_nXRotation); m_pMFXRotation->SetValue(m_nXRotation);
m_aMFYRotation.SetValue(m_nYRotation); m_pMFYRotation->SetValue(m_nYRotation);
m_aMFZRotation.SetValue(m_nZRotation); m_pMFZRotation->SetValue(m_nZRotation);
const sal_uLong nTimeout = 4*EDIT_UPDATEDATA_TIMEOUT; const sal_uLong nTimeout = 4*EDIT_UPDATEDATA_TIMEOUT;
Link aAngleChangedLink( LINK( this, ThreeD_SceneGeometry_TabPage, AngleChanged )); Link aAngleChangedLink( LINK( this, ThreeD_SceneGeometry_TabPage, AngleChanged ));
Link aAngleEditedLink( LINK( this, ThreeD_SceneGeometry_TabPage, AngleEdited )); Link aAngleEditedLink( LINK( this, ThreeD_SceneGeometry_TabPage, AngleEdited ));
m_aMFXRotation.EnableUpdateData( nTimeout ); m_pMFXRotation->EnableUpdateData( nTimeout );
m_aMFXRotation.SetUpdateDataHdl( aAngleChangedLink ); m_pMFXRotation->SetUpdateDataHdl( aAngleChangedLink );
m_aMFXRotation.SetModifyHdl( aAngleEditedLink ); m_pMFXRotation->SetModifyHdl( aAngleEditedLink );
m_aMFYRotation.EnableUpdateData( nTimeout ); m_pMFYRotation->EnableUpdateData( nTimeout );
m_aMFYRotation.SetUpdateDataHdl( aAngleChangedLink ); m_pMFYRotation->SetUpdateDataHdl( aAngleChangedLink );
m_aMFYRotation.SetModifyHdl( aAngleEditedLink ); m_pMFYRotation->SetModifyHdl( aAngleEditedLink );
m_aMFZRotation.EnableUpdateData( nTimeout ); m_pMFZRotation->EnableUpdateData( nTimeout );
m_aMFZRotation.SetUpdateDataHdl( aAngleChangedLink ); m_pMFZRotation->SetUpdateDataHdl( aAngleChangedLink );
m_aMFZRotation.SetModifyHdl( aAngleEditedLink ); m_pMFZRotation->SetModifyHdl( aAngleEditedLink );
drawing::ProjectionMode aProjectionMode = drawing::ProjectionMode_PERSPECTIVE; drawing::ProjectionMode aProjectionMode = drawing::ProjectionMode_PERSPECTIVE;
m_xSceneProperties->getPropertyValue( "D3DScenePerspective" ) >>= aProjectionMode; m_xSceneProperties->getPropertyValue( "D3DScenePerspective" ) >>= aProjectionMode;
m_aCbxPerspective.Check( aProjectionMode == drawing::ProjectionMode_PERSPECTIVE ); m_pCbxPerspective->Check( aProjectionMode == drawing::ProjectionMode_PERSPECTIVE );
m_aCbxPerspective.SetToggleHdl( LINK( this, ThreeD_SceneGeometry_TabPage, PerspectiveToggled )); m_pCbxPerspective->SetToggleHdl( LINK( this, ThreeD_SceneGeometry_TabPage, PerspectiveToggled ));
sal_Int32 nPerspectivePercentage = 20; sal_Int32 nPerspectivePercentage = 20;
m_xSceneProperties->getPropertyValue( "Perspective" ) >>= nPerspectivePercentage; m_xSceneProperties->getPropertyValue( "Perspective" ) >>= nPerspectivePercentage;
m_aMFPerspective.SetValue( nPerspectivePercentage ); m_pMFPerspective->SetValue( nPerspectivePercentage );
m_aMFPerspective.EnableUpdateData( nTimeout ); m_pMFPerspective->EnableUpdateData( nTimeout );
m_aMFPerspective.SetUpdateDataHdl( LINK( this, ThreeD_SceneGeometry_TabPage, PerspectiveChanged ) ); m_pMFPerspective->SetUpdateDataHdl( LINK( this, ThreeD_SceneGeometry_TabPage, PerspectiveChanged ) );
m_aMFPerspective.SetModifyHdl( LINK( this, ThreeD_SceneGeometry_TabPage, PerspectiveEdited ) ); m_pMFPerspective->SetModifyHdl( LINK( this, ThreeD_SceneGeometry_TabPage, PerspectiveEdited ) );
m_aMFPerspective.Enable( m_aCbxPerspective.IsChecked() ); m_pMFPerspective->Enable( m_pCbxPerspective->IsChecked() );
//RightAngledAxes //RightAngledAxes
sal_Bool bRightAngledAxes = false; sal_Bool bRightAngledAxes = false;
...@@ -139,15 +137,15 @@ ThreeD_SceneGeometry_TabPage::ThreeD_SceneGeometry_TabPage( Window* pWindow ...@@ -139,15 +137,15 @@ ThreeD_SceneGeometry_TabPage::ThreeD_SceneGeometry_TabPage( Window* pWindow
DiagramHelper::getChartTypeByIndex( xDiagram, 0 ) ) ) DiagramHelper::getChartTypeByIndex( xDiagram, 0 ) ) )
{ {
m_xSceneProperties->getPropertyValue( "RightAngledAxes" ) >>= bRightAngledAxes; m_xSceneProperties->getPropertyValue( "RightAngledAxes" ) >>= bRightAngledAxes;
m_aCbxRightAngledAxes.SetToggleHdl( LINK( this, ThreeD_SceneGeometry_TabPage, RightAngledAxesToggled )); m_pCbxRightAngledAxes->SetToggleHdl( LINK( this, ThreeD_SceneGeometry_TabPage, RightAngledAxesToggled ));
m_aCbxRightAngledAxes.Check( bRightAngledAxes ); m_pCbxRightAngledAxes->Check( bRightAngledAxes );
} }
else else
{ {
m_aCbxRightAngledAxes.Enable(false); m_pCbxRightAngledAxes->Enable(false);
} }
m_aMFPerspective.SetAccessibleName(m_aCbxPerspective.GetText()); m_pMFPerspective->SetAccessibleName(m_pCbxPerspective->GetText());
m_aMFPerspective.SetAccessibleRelationLabeledBy(&m_aCbxPerspective); m_pMFPerspective->SetAccessibleRelationLabeledBy(m_pCbxPerspective);
} }
ThreeD_SceneGeometry_TabPage::~ThreeD_SceneGeometry_TabPage() ThreeD_SceneGeometry_TabPage::~ThreeD_SceneGeometry_TabPage()
...@@ -170,12 +168,12 @@ void ThreeD_SceneGeometry_TabPage::applyAnglesToModel() ...@@ -170,12 +168,12 @@ void ThreeD_SceneGeometry_TabPage::applyAnglesToModel()
double fXAngle = 0.0, fYAngle = 0.0, fZAngle = 0.0; double fXAngle = 0.0, fYAngle = 0.0, fZAngle = 0.0;
if( !m_aMFZRotation.IsEmptyFieldValue() ) if( !m_pMFZRotation->IsEmptyFieldValue() )
m_nZRotation = m_aMFZRotation.GetValue(); m_nZRotation = m_pMFZRotation->GetValue();
fXAngle = double(m_nXRotation)/double(pow(10.0,m_aMFXRotation.GetDecimalDigits())); fXAngle = double(m_nXRotation)/double(pow(10.0,m_pMFXRotation->GetDecimalDigits()));
fYAngle = double(-1.0*m_nYRotation)/double(pow(10.0,m_aMFYRotation.GetDecimalDigits())); fYAngle = double(-1.0*m_nYRotation)/double(pow(10.0,m_pMFYRotation->GetDecimalDigits()));
fZAngle = double(-1.0*m_nZRotation)/double(pow(10.0,m_aMFZRotation.GetDecimalDigits())); fZAngle = double(-1.0*m_nZRotation)/double(pow(10.0,m_pMFZRotation->GetDecimalDigits()));
fXAngle = BaseGFXHelper::Deg2Rad( fXAngle ); fXAngle = BaseGFXHelper::Deg2Rad( fXAngle );
fYAngle = BaseGFXHelper::Deg2Rad( fYAngle ); fYAngle = BaseGFXHelper::Deg2Rad( fYAngle );
...@@ -188,8 +186,8 @@ void ThreeD_SceneGeometry_TabPage::applyAnglesToModel() ...@@ -188,8 +186,8 @@ void ThreeD_SceneGeometry_TabPage::applyAnglesToModel()
IMPL_LINK_NOARG(ThreeD_SceneGeometry_TabPage, AngleEdited) IMPL_LINK_NOARG(ThreeD_SceneGeometry_TabPage, AngleEdited)
{ {
m_nXRotation = m_aMFXRotation.GetValue(); m_nXRotation = m_pMFXRotation->GetValue();
m_nYRotation = m_aMFYRotation.GetValue(); m_nYRotation = m_pMFYRotation->GetValue();
m_bAngleChangePending = true; m_bAngleChangePending = true;
return 0; return 0;
...@@ -205,14 +203,14 @@ void ThreeD_SceneGeometry_TabPage::applyPerspectiveToModel() ...@@ -205,14 +203,14 @@ void ThreeD_SceneGeometry_TabPage::applyPerspectiveToModel()
{ {
ControllerLockHelperGuard aGuard( m_rControllerLockHelper ); ControllerLockHelperGuard aGuard( m_rControllerLockHelper );
drawing::ProjectionMode aMode = m_aCbxPerspective.IsChecked() drawing::ProjectionMode aMode = m_pCbxPerspective->IsChecked()
? drawing::ProjectionMode_PERSPECTIVE ? drawing::ProjectionMode_PERSPECTIVE
: drawing::ProjectionMode_PARALLEL; : drawing::ProjectionMode_PARALLEL;
try try
{ {
m_xSceneProperties->setPropertyValue( "D3DScenePerspective" , uno::makeAny( aMode )); m_xSceneProperties->setPropertyValue( "D3DScenePerspective" , uno::makeAny( aMode ));
m_xSceneProperties->setPropertyValue( "Perspective" , uno::makeAny( (sal_Int32)m_aMFPerspective.GetValue() )); m_xSceneProperties->setPropertyValue( "Perspective" , uno::makeAny( (sal_Int32)m_pMFPerspective->GetValue() ));
} }
catch( const uno::Exception & ex ) catch( const uno::Exception & ex )
{ {
...@@ -236,7 +234,7 @@ IMPL_LINK_NOARG(ThreeD_SceneGeometry_TabPage, PerspectiveChanged) ...@@ -236,7 +234,7 @@ IMPL_LINK_NOARG(ThreeD_SceneGeometry_TabPage, PerspectiveChanged)
IMPL_LINK_NOARG(ThreeD_SceneGeometry_TabPage, PerspectiveToggled) IMPL_LINK_NOARG(ThreeD_SceneGeometry_TabPage, PerspectiveToggled)
{ {
m_aMFPerspective.Enable( m_aCbxPerspective.IsChecked() ); m_pMFPerspective->Enable( m_pCbxPerspective->IsChecked() );
applyPerspectiveToModel(); applyPerspectiveToModel();
return 0; return 0;
} }
...@@ -245,34 +243,34 @@ IMPL_LINK_NOARG(ThreeD_SceneGeometry_TabPage, RightAngledAxesToggled) ...@@ -245,34 +243,34 @@ IMPL_LINK_NOARG(ThreeD_SceneGeometry_TabPage, RightAngledAxesToggled)
{ {
ControllerLockHelperGuard aGuard( m_rControllerLockHelper ); ControllerLockHelperGuard aGuard( m_rControllerLockHelper );
bool bEnableZ = !m_aCbxRightAngledAxes.IsChecked(); bool bEnableZ = !m_pCbxRightAngledAxes->IsChecked();
m_aFtZRotation.Enable( bEnableZ ); m_pFtZRotation->Enable( bEnableZ );
m_aMFZRotation.Enable( bEnableZ ); m_pMFZRotation->Enable( bEnableZ );
m_aMFZRotation.EnableEmptyFieldValue( !bEnableZ ); m_pMFZRotation->EnableEmptyFieldValue( !bEnableZ );
if( !bEnableZ ) if( !bEnableZ )
{ {
m_nXRotation = m_aMFXRotation.GetValue(); m_nXRotation = m_pMFXRotation->GetValue();
m_nYRotation = m_aMFYRotation.GetValue(); m_nYRotation = m_pMFYRotation->GetValue();
m_nZRotation = m_aMFZRotation.GetValue(); m_nZRotation = m_pMFZRotation->GetValue();
m_aMFXRotation.SetValue(static_cast<sal_Int64>(ThreeDHelper::getValueClippedToRange(static_cast<double>(m_nXRotation), ThreeDHelper::getXDegreeAngleLimitForRightAngledAxes()))); m_pMFXRotation->SetValue(static_cast<sal_Int64>(ThreeDHelper::getValueClippedToRange(static_cast<double>(m_nXRotation), ThreeDHelper::getXDegreeAngleLimitForRightAngledAxes())));
m_aMFYRotation.SetValue(static_cast<sal_Int64>(ThreeDHelper::getValueClippedToRange(static_cast<double>(m_nYRotation), ThreeDHelper::getYDegreeAngleLimitForRightAngledAxes()))); m_pMFYRotation->SetValue(static_cast<sal_Int64>(ThreeDHelper::getValueClippedToRange(static_cast<double>(m_nYRotation), ThreeDHelper::getYDegreeAngleLimitForRightAngledAxes())));
m_aMFZRotation.SetEmptyFieldValue(); m_pMFZRotation->SetEmptyFieldValue();
lcl_SetMetricFieldLimits( m_aMFXRotation, static_cast<sal_Int64>(ThreeDHelper::getXDegreeAngleLimitForRightAngledAxes())); lcl_SetMetricFieldLimits( *m_pMFXRotation, static_cast<sal_Int64>(ThreeDHelper::getXDegreeAngleLimitForRightAngledAxes()));
lcl_SetMetricFieldLimits( m_aMFYRotation, static_cast<sal_Int64>(ThreeDHelper::getYDegreeAngleLimitForRightAngledAxes())); lcl_SetMetricFieldLimits( *m_pMFYRotation, static_cast<sal_Int64>(ThreeDHelper::getYDegreeAngleLimitForRightAngledAxes()));
} }
else else
{ {
lcl_SetMetricFieldLimits( m_aMFXRotation, 180 ); lcl_SetMetricFieldLimits( *m_pMFXRotation, 180 );
lcl_SetMetricFieldLimits( m_aMFYRotation, 180 ); lcl_SetMetricFieldLimits( *m_pMFYRotation, 180 );
m_aMFXRotation.SetValue(m_nXRotation); m_pMFXRotation->SetValue(m_nXRotation);
m_aMFYRotation.SetValue(m_nYRotation); m_pMFYRotation->SetValue(m_nYRotation);
m_aMFZRotation.SetValue(m_nZRotation); m_pMFZRotation->SetValue(m_nZRotation);
} }
ThreeDHelper::switchRightAngledAxes( m_xSceneProperties, m_aCbxRightAngledAxes.IsChecked(), true /*bRotateLights*/ ); ThreeDHelper::switchRightAngledAxes( m_xSceneProperties, m_pCbxRightAngledAxes->IsChecked(), true /*bRotateLights*/ );
return 0; return 0;
} }
......
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#include "ResourceIds.hrc"
#define FT_X_ROTATION 1
#define FT_Y_ROTATION 2
#define FT_Z_ROTATION 3
#define MTR_FLD_X_ROTATION 1
#define MTR_FLD_Y_ROTATION 2
#define MTR_FLD_Z_ROTATION 3
#define MTR_FLD_PERSPECTIVE 4
#define CBX_PERSPECTIVE 1
#define CBX_RIGHT_ANGLED_AXES 2
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
...@@ -68,19 +68,17 @@ private: ...@@ -68,19 +68,17 @@ private:
::com::sun::star::uno::Reference< ::com::sun::star::uno::Reference<
::com::sun::star::beans::XPropertySet > m_xSceneProperties; ::com::sun::star::beans::XPropertySet > m_xSceneProperties;
CheckBox m_aCbxRightAngledAxes; CheckBox* m_pCbxRightAngledAxes;
FixedText m_aFtXRotation; MetricField* m_pMFXRotation;
MetricField m_aMFXRotation;
FixedText m_aFtYRotation; MetricField* m_pMFYRotation;
MetricField m_aMFYRotation;
FixedText m_aFtZRotation; FixedText* m_pFtZRotation;
MetricField m_aMFZRotation; MetricField* m_pMFZRotation;
CheckBox m_aCbxPerspective; CheckBox* m_pCbxPerspective;
MetricField m_aMFPerspective; MetricField* m_pMFPerspective;
//to keep old values when switching to right angled axes //to keep old values when switching to right angled axes
sal_Int64 m_nXRotation; sal_Int64 m_nXRotation;
......
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#include "tp_3D_SceneGeometry.hrc"
#include "dlg_View3D.hrc"
#include "HelpIds.hrc"
#include <svtools/controldims.hrc>
#define WIDTH_FL 108
#define WIDTH_MF 57
#define WIDTH_FT 50
#define HEIGHT_FL 8
#define HEIGHT_MF 12
#define HEIGHT_FT 10
#define POS_X_0 6
#define POS_X_1 6
#define POS_X_2 POS_X_1+WIDTH_FT+4
#define POS_Y_0 (8)
#define POS_Y_1 (POS_Y_0+RSC_CD_FIXEDTEXT_HEIGHT+10)
#define POS_Y_2 (POS_Y_1+RSC_CD_FIXEDTEXT_HEIGHT+8)
#define POS_Y_3 (POS_Y_2+RSC_CD_FIXEDTEXT_HEIGHT+8)
#define POS_Y_4 (POS_Y_3+RSC_CD_FIXEDTEXT_HEIGHT+12)
#define CUSTOMUNITTEXT_DEGREE \
Border = TRUE ; \
TabStop = TRUE ; \
Repeat = TRUE ; \
Spin = TRUE ; \
Minimum = -180 ; \
Maximum = 180 ; \
StrictFormat = TRUE ; \
DecimalDigits = 0 ; \
First = -180 ; \
Last = 180 ; \
SpinSize = 1 ; \
Unit = FUNIT_CUSTOM ; \
CustomUnitText [ en-US ] = " degrees" ;
TabPage TP_3D_SCENEGEOMETRY
{
HelpID = HID_3D_VIEW ;
OutputSize = TRUE ;
SVLook = TRUE ;
Hide = TRUE ;
Size = MAP_APPFONT ( VIEW3D_PAGE_WIDTH , VIEW3D_PAGE_HEIGHT ) ;
CheckBox CBX_RIGHT_ANGLED_AXES
{
HelpID = "chart2:CheckBox:TP_3D_SCENEGEOMETRY:CBX_RIGHT_ANGLED_AXES";
Pos = MAP_APPFONT ( POS_X_1 , POS_Y_0 ) ;
Size = MAP_APPFONT ( (WIDTH_FT+WIDTH_MF) , HEIGHT_FT ) ;
TabStop = TRUE ;
Text [ en-US ] = "~Right-angled axes" ;
};
FixedText FT_X_ROTATION
{
Pos = MAP_APPFONT ( POS_X_1 , POS_Y_1 ) ;
Size = MAP_APPFONT ( WIDTH_FT , HEIGHT_FT ) ;
Text [ en-US ] = "~X rotation" ;
};
FixedText FT_Y_ROTATION
{
Pos = MAP_APPFONT ( POS_X_1 , POS_Y_2 ) ;
Size = MAP_APPFONT ( WIDTH_FT , HEIGHT_FT ) ;
Text [ en-US ] = "~Y rotation" ;
};
FixedText FT_Z_ROTATION
{
Pos = MAP_APPFONT ( POS_X_1 , POS_Y_3 ) ;
Size = MAP_APPFONT ( WIDTH_FT , HEIGHT_FT ) ;
Text [ en-US ] = "~Z rotation" ;
};
MetricField MTR_FLD_X_ROTATION
{
HelpID = "chart2:MetricField:TP_3D_SCENEGEOMETRY:MTR_FLD_X_ROTATION";
Pos = MAP_APPFONT ( POS_X_2 , POS_Y_1-2 ) ;
Size = MAP_APPFONT ( WIDTH_MF , HEIGHT_MF ) ;
CUSTOMUNITTEXT_DEGREE
};
MetricField MTR_FLD_Y_ROTATION
{
HelpID = "chart2:MetricField:TP_3D_SCENEGEOMETRY:MTR_FLD_Y_ROTATION";
Pos = MAP_APPFONT ( POS_X_2 , POS_Y_2-2 ) ;
Size = MAP_APPFONT ( WIDTH_MF , HEIGHT_MF ) ;
CUSTOMUNITTEXT_DEGREE
};
MetricField MTR_FLD_Z_ROTATION
{
HelpID = "chart2:MetricField:TP_3D_SCENEGEOMETRY:MTR_FLD_Z_ROTATION";
Pos = MAP_APPFONT ( POS_X_2 , POS_Y_3-2 ) ;
Size = MAP_APPFONT ( WIDTH_MF , HEIGHT_MF ) ;
CUSTOMUNITTEXT_DEGREE
};
CheckBox CBX_PERSPECTIVE
{
HelpID = "chart2:CheckBox:TP_3D_SCENEGEOMETRY:CBX_PERSPECTIVE";
Pos = MAP_APPFONT ( POS_X_1 , POS_Y_4 ) ;
Size = MAP_APPFONT ( WIDTH_FT , HEIGHT_FT ) ;
TabStop = TRUE ;
Text [ en-US ] = "~Perspective" ;
};
MetricField MTR_FLD_PERSPECTIVE
{
HelpID = "chart2:MetricField:TP_3D_SCENEGEOMETRY:MTR_FLD_PERSPECTIVE";
Pos = MAP_APPFONT ( POS_X_2 , POS_Y_4-2 ) ;
Size = MAP_APPFONT ( WIDTH_MF , HEIGHT_MF ) ;
Border = TRUE ;
TabStop = TRUE ;
Repeat = TRUE ;
Spin = TRUE ;
Minimum = 0 ;
Maximum = 100 ;
StrictFormat = TRUE ;
DecimalDigits = 0 ;
First = 0 ;
Last = 100 ;
SpinSize = 5 ;
Unit = FUNIT_CUSTOM ;
CustomUnitText = "%" ;
};
};
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<!-- interface-requires gtk+ 3.0 -->
<object class="GtkAdjustment" id="adjustmentPERSPECTIVE">
<property name="upper">100</property>
<property name="step_increment">1</property>
<property name="page_increment">10</property>
</object>
<object class="GtkAdjustment" id="adjustmentROTATION">
<property name="lower">-180</property>
<property name="upper">180</property>
<property name="step_increment">1</property>
<property name="page_increment">10</property>
</object>
<object class="GtkGrid" id="tp_3DSceneGeometry">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="row_spacing">6</property>
<property name="column_spacing">12</property>
<child>
<object class="GtkCheckButton" id="CBX_RIGHT_ANGLED_AXES">
<property name="label" translatable="yes">_Right-angled axes</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">2</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="FT_X_ROTATION">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">_X rotation</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">MTR_FLD_X_ROTATION:0degrees</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="FT_Y_ROTATION">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">_Y rotation</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">MTR_FLD_Y_ROTATION:0degrees</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="FT_Z_ROTATION">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">_Z rotation</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">MTR_FLD_Z_ROTATION:0degrees</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="CBX_PERSPECTIVE">
<property name="label" translatable="yes">_Perspective</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">4</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="MTR_FLD_PERSPECTIVE:0%">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="invisible_char"></property>
<property name="adjustment">adjustmentPERSPECTIVE</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">4</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="MTR_FLD_Z_ROTATION:0degrees">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="invisible_char"></property>
<property name="input_purpose">alpha</property>
<property name="adjustment">adjustmentROTATION</property>
<property name="update_policy">if-valid</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="MTR_FLD_Y_ROTATION:0degrees">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="invisible_char"></property>
<property name="adjustment">adjustmentROTATION</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="MTR_FLD_X_ROTATION:0degrees">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="invisible_char"></property>
<property name="adjustment">adjustmentROTATION</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</object>
</interface>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment