office-gobmx/chart2/source/inc/ReferenceSizeProvider.hxx
Kurt Zenker a3acf41195 CWS-TOOLING: integrate CWS chart37
2009-05-22 09:10:36 +0200 iha  r272170 : #i102130# color of pies is not loaded correctly
2009-04-27 17:16:20 +0200 iha  r271294 : #i24203# compiler problem
2009-04-27 16:43:21 +0200 iha  r271292 : #i101281# missing API documentation for secondary axis title properties
2009-04-27 15:26:05 +0200 hde  r271276 : #i100987
2009-04-27 15:24:42 +0200 hde  r271273 : #i100987
2009-04-24 15:08:33 +0200 iha  r271214 : #i100995# crash with some logarithmic scalings
2009-04-22 18:50:56 +0200 dr  r271134 : #i82177# write out deleted point labels
2009-04-22 18:40:48 +0200 iha  r271133 : #i101281# missing API documentation for secondary axis title properties
2009-04-22 16:39:42 +0200 dr  r271128 : #i82177# extensions for bubble charts
2009-04-22 14:37:00 +0200 dr  r271114 : #i82177# import/export data label type and separator
2009-04-22 14:36:24 +0200 dr  r271113 : #i82177# import/export data label type and separator
2009-04-21 15:25:26 +0200 dr  r271038 : #i82177# import data label type and separator from BIFF8 CHFR records
2009-04-21 14:37:16 +0200 dr  r271037 : #i82177# dump BIFF8 chart future records
2009-04-20 17:44:27 +0200 iha  r271002 : #i96898# reduce library exports
2009-04-20 13:01:13 +0200 iha  r270975 : #i24203# rotate data labels - help ids
2009-04-20 11:40:33 +0200 dr  r270969 : #i96600# export of axis scaling/positioning properties
2009-04-16 16:02:31 +0200 dr  r270892 : #i69599# keep Y axis left in 3d charts
2009-04-15 18:16:46 +0200 dr  r270859 : #i69599# import of axis position settings
2009-04-15 18:16:01 +0200 dr  r270858 : #i69599# correct handling of logarithmic crossing axes
2009-04-14 16:27:48 +0200 dr  r270794 : #i96599# handle auto axis position on logarithmic axes
2009-04-09 19:59:51 +0200 dr  r270722 : #i96599# import axis crossing settings, fix import of logarithmic scaling settings
2009-04-09 18:26:00 +0200 iha  r270720 : #i96898# reduce library exports
2009-04-09 15:17:04 +0200 iha  r270710 : #i96898# reduce library exports
2009-04-09 10:50:14 +0200 dr  r270682 : #i24203# import/export of data label rotation, fixed some other broken stuff too
2009-04-08 16:54:54 +0200 dr  r270657 : #i24203# import rotation for data point labels
2009-04-06 18:19:17 +0200 iha  r270571 : #i100876# Axis scaling settings dialog wrong after API usage (anys different from double type)
2009-04-06 15:57:05 +0200 iha  r270567 : #i100105# #i58585# leftover  -> 
2009-04-06 15:55:48 +0200 iha  r270564 : #i58585# leftover  -> 
2009-04-02 16:41:07 +0200 iha  r270422 : #i99721# remove unused code
2009-04-02 14:29:03 +0200 iha  r270407 : #i99721# remove unused code
2009-03-26 10:58:23 +0100 iha  r270059 : #i96898# reduce library exports
2009-03-26 10:13:49 +0100 iha  r270055 : #i96898# reduce library exports
2009-03-25 09:39:13 +0100 iha  r269998 : CWS-TOOLING: rebase CWS chart37 to trunk@269781 (milestone: DEV300:m44)
2009-03-24 17:56:56 +0100 iha  r269986 : #i96898# reduce library exports
2009-03-24 16:56:44 +0100 iha  r269974 : #i99721# remove unused code
2009-03-24 16:48:48 +0100 iha  r269970 : #i89731# remove unused string
2009-03-24 15:44:04 +0100 iha  r269961 : remove unused code
2009-03-24 15:22:45 +0100 iha  r269959 : remove unused code
2009-03-24 15:17:17 +0100 iha  r269957 : remove unused code
2009-03-24 11:14:53 +0100 iha  r269923 : #i24203# rotate data labels
2009-03-09 12:10:25 +0100 hde  r269076 : #i99300#
2009-03-06 15:56:26 +0100 iha  r269011 : #i93953# Source Format for secondary axis without data
2009-02-17 15:59:05 +0100 iha  r268177 : avoid warning during build
2009-02-17 15:01:59 +0100 iha  r268173 : avoid warning during build
2009-02-13 09:39:03 +0100 ufi  r267693 : i96999
2009-02-11 15:12:35 +0100 iha  r267604 : removed unused string
2009-02-11 14:00:29 +0100 iha  r267600 : #i96999# Corrected wording from 'correlation coefficient' to 'coefficient of determination'
2009-02-11 10:56:45 +0100 iha  r267584 : #i89731# typo in resource string
2009-02-11 10:01:29 +0100 iha  r267582 : #i89031# compile error on asian windows systems
2009-02-10 16:15:16 +0100 iha  r267552 : #i24203# rotate data labels
2009-02-04 18:00:33 +0100 iha  r267395 : #i98893# don't export defaults to file
2009-02-04 15:48:15 +0100 iha  r267390 : #i92128# asian typography for chart elements
2009-02-04 15:17:41 +0100 iha  r267386 : #i92128# asian typography for chart elements
2009-01-30 14:41:10 +0100 iha  r267197 : CWS-TOOLING: rebase CWS chart37 to trunk@267171 (milestone: DEV300:m41)
2009-06-04 09:41:18 +00:00

148 lines
5.4 KiB
C++

/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2008 by Sun Microsystems, Inc.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: ReferenceSizeProvider.hxx,v $
* $Revision: 1.3.44.1 $
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice.org. If not, see
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 License.
*
************************************************************************/
#ifndef CHART2_REFERENCESIZEPROVIDER_HXX
#define CHART2_REFERENCESIZEPROVIDER_HXX
#include <com/sun/star/uno/Reference.hxx>
#include <com/sun/star/chart2/XChartDocument.hpp>
#include <com/sun/star/awt/Size.hpp>
#include "charttoolsdllapi.hxx"
namespace com { namespace sun { namespace star {
namespace chart2 {
class XTitle;
class XTitled;
}
}}}
// ----------------------------------------
namespace chart
{
class OOO_DLLPUBLIC_CHARTTOOLS ReferenceSizeProvider
{
public:
enum AutoResizeState
{
AUTO_RESIZE_YES,
AUTO_RESIZE_NO,
AUTO_RESIZE_AMBIGUOUS,
AUTO_RESIZE_UNKNOWN
};
ReferenceSizeProvider(
::com::sun::star::awt::Size aPageSize,
const ::com::sun::star::uno::Reference<
::com::sun::star::chart2::XChartDocument > & xChartDoc );
::com::sun::star::awt::Size getPageSize() const;
/** Retrieves the state auto-resize from all objects that support this
feature. If all objects return the same state, AUTO_RESIZE_YES or
AUTO_RESIZE_NO is returned.
If no object supporting the feature is found, AUTO_RESIZE_UNKNOWN is
returned. If there are multiple objects, some with state YES and some
with state NO, AUTO_RESIZE_AMBIGUOUS is returned.
*/
static AutoResizeState getAutoResizeState(
const ::com::sun::star::uno::Reference<
::com::sun::star::chart2::XChartDocument > & xChartDoc );
/** sets or resets the auto-resize at all objects that support this feature
for text to the opposite of the current setting. If the current state
is ambiguous, it is turned on. If the current state is unknown it stays
unknown.
*/
void toggleAutoResizeState();
/** Sets the ReferencePageSize according to the internal settings of this
class at the XPropertySet, and the adapted font sizes if bAdaptFontSizes
is </TRUE>.
*/
SAL_DLLPRIVATE void setValuesAtPropertySet(
const ::com::sun::star::uno::Reference<
::com::sun::star::beans::XPropertySet > & xProp,
bool bAdaptFontSizes = true );
/** Sets the ReferencePageSize according to the internal settings of this
class at the XTitle, and the adapted font sizes at the contained
XFormattedStrings
*/
SAL_DLLPRIVATE void setValuesAtTitle(
const ::com::sun::star::uno::Reference<
::com::sun::star::chart2::XTitle > & xTitle );
/** Sets the internal value at all data series in the currently set model.
This is useful, if you have changed a chart-type and thus probably added
some new data series via model functionality.
*/
void setValuesAtAllDataSeries();
private:
SAL_DLLPRIVATE bool useAutoScale() const;
/** sets the auto-resize at all objects that support this feature for text.
eNewState must be either AUTO_RESIZE_YES or AUTO_RESIZE_NO
*/
SAL_DLLPRIVATE void setAutoResizeState( AutoResizeState eNewState );
/** Retrieves the auto-resize state from the given propertyset. The result
will be put into eInOutState. If you initialize eInOutState with
AUTO_RESIZE_UNKNOWN, you will get the actual state. If you pass any
other state, the result will be the accumulated state,
esp. AUTO_RESIZE_AMBIGUOUS, if the value was NO before, and is YES for
the current property set, or the other way round.
*/
SAL_DLLPRIVATE static void getAutoResizeFromPropSet(
const ::com::sun::star::uno::Reference<
::com::sun::star::beans::XPropertySet > & xProp,
AutoResizeState & rInOutState );
SAL_DLLPRIVATE void impl_setValuesAtTitled(
const ::com::sun::star::uno::Reference<
::com::sun::star::chart2::XTitled > & xTitled );
SAL_DLLPRIVATE static void impl_getAutoResizeFromTitled(
const ::com::sun::star::uno::Reference<
::com::sun::star::chart2::XTitled > & xTitled,
AutoResizeState & rInOutState );
::com::sun::star::awt::Size m_aPageSize;
::com::sun::star::uno::Reference<
::com::sun::star::chart2::XChartDocument > m_xChartDoc;
bool m_bUseAutoScale;
};
} // namespace chart
// CHART2_REFERENCESIZEPROVIDER_HXX
#endif