summaryrefslogtreecommitdiff
path: root/reportdesign/source/ui/inc/GeometryHandler.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'reportdesign/source/ui/inc/GeometryHandler.hxx')
-rw-r--r--reportdesign/source/ui/inc/GeometryHandler.hxx324
1 files changed, 0 insertions, 324 deletions
diff --git a/reportdesign/source/ui/inc/GeometryHandler.hxx b/reportdesign/source/ui/inc/GeometryHandler.hxx
deleted file mode 100644
index ece943f76..000000000
--- a/reportdesign/source/ui/inc/GeometryHandler.hxx
+++ /dev/null
@@ -1,324 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * 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 RPT_GEOMETRYHANDLER_HXX
-#define RPT_GEOMETRYHANDLER_HXX
-
-#include "sal/config.h"
-#include "com/sun/star/uno/XComponentContext.hpp"
-#include "cppuhelper/compbase3.hxx"
-#include "cppuhelper/basemutex.hxx"
-#include "com/sun/star/inspection/XPropertyHandler.hpp"
-#include "com/sun/star/script/XTypeConverter.hpp"
-#include "com/sun/star/beans/XPropertySet.hpp"
-#include "com/sun/star/lang/XServiceInfo.hpp"
-#include "com/sun/star/report/XReportComponent.hpp"
-#include "com/sun/star/report/XFunction.hpp"
-#include <com/sun/star/beans/XPropertyChangeListener.hpp>
-#include <com/sun/star/sdbc/XRowSet.hpp>
-#include <memory>
-#include <comphelper/stl_types.hxx>
-#include <comphelper/listenernotification.hxx>
-#include "metadata.hxx"
-
-//........................................................................
-namespace rptui
-{
-//........................................................................
-
- struct DefaultFunction
- {
- com::sun::star::beans::Optional< ::rtl::OUString> m_sInitialFormula;
- ::rtl::OUString m_sName;
- ::rtl::OUString m_sSearchString;
- ::rtl::OUString m_sFormula;
- ::sal_Bool m_bPreEvaluated;
- ::sal_Bool m_bDeepTraversing;
-
- inline ::rtl::OUString getName() const { return m_sName; }
- } ;
-
- class OPropertyInfoService;
- typedef ::std::pair< ::com::sun::star::uno::Reference< ::com::sun::star::report::XFunction>, ::com::sun::star::uno::Reference< ::com::sun::star::report::XFunctionsSupplier> > TFunctionPair;
- typedef ::std::multimap< ::rtl::OUString,TFunctionPair, ::comphelper::UStringMixLess > TFunctions;
- typedef ::comphelper::OSimpleListenerContainer < ::com::sun::star::beans::XPropertyChangeListener
- , ::com::sun::star::beans::PropertyChangeEvent
- > PropertyChangeListeners;
- typedef ::cppu::WeakComponentImplHelper3< ::com::sun::star::inspection::XPropertyHandler
- , ::com::sun::star::beans::XPropertyChangeListener
- , ::com::sun::star::lang::XServiceInfo> GeometryHandler_Base;
-
- class GeometryHandler:
- private ::cppu::BaseMutex,
- public GeometryHandler_Base
- {
- /** sets the counter function at the data field.
- * If the counter function doesn't exist it will be created.
- */
- void impl_setCounterFunction_throw();
-
- /** executes a dialog for chosing a filter criterion for a database report
- @param _out_rSelectedClause
- the filter or order clause as chosen by the user
- @precond
- we're really inspecting a database form (well, a RowSet at least)
- @return
- <TRUE/> if and only if the user successfully chose a clause
- */
- bool impl_dialogFilter_nothrow( ::rtl::OUString& _out_rSelectedClause, ::osl::ClearableMutexGuard& _rClearBeforeDialog ) const;
-
- /** returns the data field type depending on the data field of the report control
- *
- * \param _sDataField if the data field is not empty it will be used as data field, otherwise the data field will be used.
- * \return the data field type
- */
- sal_uInt32 impl_getDataFieldType_throw(const ::rtl::OUString& _sDataField = ::rtl::OUString()) const;
-
- ::com::sun::star::uno::Any getConstantValue(sal_Bool bToControlValue,sal_uInt16 nResId,const ::com::sun::star::uno::Any& _aValue,const ::rtl::OUString& _sConstantName,const ::rtl::OUString & PropertyName );
- ::com::sun::star::beans::Property getProperty(const ::rtl::OUString & PropertyName);
- void implCreateListLikeControl(
- const ::com::sun::star::uno::Reference< ::com::sun::star::inspection::XPropertyControlFactory >& _rxControlFactory
- ,::com::sun::star::inspection::LineDescriptor & out_Descriptor
- ,sal_uInt16 _nResId
- ,sal_Bool _bReadOnlyControl
- ,sal_Bool _bTrueIfListBoxFalseIfComboBox
- );
- void implCreateListLikeControl(
- const ::com::sun::star::uno::Reference< ::com::sun::star::inspection::XPropertyControlFactory >& _rxControlFactory
- ,::com::sun::star::inspection::LineDescriptor & out_Descriptor
- ,const ::std::vector< ::rtl::OUString>& _aEntries
- ,sal_Bool _bReadOnlyControl
- ,sal_Bool _bTrueIfListBoxFalseIfComboBox
- );
- void checkPosAndSize( const ::com::sun::star::awt::Point& _aNewPos,
- const ::com::sun::star::awt::Size& _aSize);
-
- ::rtl::OUString impl_convertToFormula( const ::com::sun::star::uno::Any& _rControlValue );
-
- void impl_initFieldList_nothrow( ::com::sun::star::uno::Sequence< ::rtl::OUString >& _rFieldNames ) const;
-
- /** Creates the function defined by the function template
- *
- * \param _sFunctionName the function name
- * \param _sDataField the data field
- * \param _aFunction the function template
- */
- void impl_createFunction(const ::rtl::OUString& _sFunctionName,const ::rtl::OUString& _sDataField,const DefaultFunction& _aFunction);
-
- /** check whether the given function name is a countr function.
- *
- * \param _sQuotedFunctionName the quoted function name to check
- * \param _Out_sScope the scope of the function
- * \return When true it is a counter functions otherwise false.
- */
- bool impl_isCounterFunction_throw(const ::rtl::OUString& _sQuotedFunctionName,::rtl::OUString& _Out_sScope) const;
-
- /** clear the own properties like function and scope and send a notification
- *
- * \param _aGuard
- * \param _sOldFunctionName
- * \param _sOldScope
- * \param _nOldDataFieldType
- */
- void resetOwnProperties(::osl::ResettableMutexGuard& _aGuard,const ::rtl::OUString& _sOldFunctionName,const ::rtl::OUString& _sOldScope,const sal_uInt32 _nOldDataFieldType);
-
- /** checks whether the name is a field or a parameter
- *
- * \param _sName the name to check
- * \return true when it is a field or parameter otherwise false
- */
- bool impl_isDataField(const ::rtl::OUString& _sName) const;
-
- /**return all formula in a semicolon seperated list
- *
- * \param _rList the localized function names
- */
- void impl_fillFormulaList_nothrow(::std::vector< ::rtl::OUString >& _out_rList) const;
-
- /** return all group names in a semicolon seperated list starting with the group where this control is contained in.
- *
- * \param _rList fills the list with all scope names.
- */
- void impl_fillScopeList_nothrow(::std::vector< ::rtl::OUString >& _out_rList) const;
-
- /** return all supported output formats of the report definition
- *
- * \param _rList fills the list with all mime types
- */
- void impl_fillMimeTypes_nothrow(::std::vector< ::rtl::OUString >& _out_rList) const;
-
- /** return the one supported output formats of the report definition
- *
- * \param _sMimetype the mimetype
- */
- ::rtl::OUString impl_ConvertMimeTypeToUI_nothrow(const ::rtl::OUString& _sMimetype) const;
-
- /** return the MimeType for the given UI Name
- *
- * \param _sUIName the doc ui name
- */
- ::rtl::OUString impl_ConvertUIToMimeType_nothrow(const ::rtl::OUString& _sUIName) const;
-
- /** get the functions supplier for the set scope, default is the surrounding group.
- *
- * \param _rsNamePostFix the name post fix which canbe used when the scope as name part is needed
- * \return the function supplier
- */
- ::com::sun::star::uno::Reference< ::com::sun::star::report::XFunctionsSupplier> fillScope_throw(::rtl::OUString& _rsNamePostFix);
-
- /** checks if the given function is a default function we know.
- *
- * \param _sQuotedFunction the quoted function name
- * \param _Out_rDataField the data field which is used in the function
- * \param _xFunctionsSupplier teh function supplier to search or empty if not used
- * \param _bSet If set to sal_True than the m_sDefaultFunction and m_sScope vars will be set if successful.
- * \return sal_True with known otherwise sal_False
- */
- sal_Bool isDefaultFunction(const ::rtl::OUString& _sQuotedFunction
- ,::rtl::OUString& _Out_rDataField
- ,const ::com::sun::star::uno::Reference< ::com::sun::star::report::XFunctionsSupplier>& _xFunctionsSupplier = ::com::sun::star::uno::Reference< ::com::sun::star::report::XFunctionsSupplier>()
- ,bool _bSet = false) const;
-
- /** checks if the given function is a default function we know.
- *
- * \param _xFunction
- * \param _rDataField
- * \param _rsDefaultFunctionName
- * \return
- */
- sal_Bool impl_isDefaultFunction_nothrow( const ::com::sun::star::uno::Reference< ::com::sun::star::report::XFunction>& _xFunction
- ,::rtl::OUString& _rDataField
- ,::rtl::OUString& _rsDefaultFunctionName) const;
-
- /** fills the memeber m_aDefaultFunctions
- *
- */
- void loadDefaultFunctions();
-
- /** creates a default functionof the _sFunction for the data field _sDataField
- * The new function will only be created if it didn't exist.
- *
- * \param _aGuard Will be cleared, when a new function was created.
- * \param _sFunction The name of the function.
- * \param _sDataField The name of the data field.
- */
- void createDefaultFunction(::osl::ResettableMutexGuard& _aGuard ,const ::rtl::OUString& _sFunction,const ::rtl::OUString& _sDataField);
-
- void removeFunction();
-
- class OBlocker
- {
- bool& m_bIn;
- public:
- OBlocker(bool& _bIn) : m_bIn(_bIn){ m_bIn = true; }
- ~OBlocker() { m_bIn = false; }
- };
-
-
- // XEventListener
- virtual void SAL_CALL disposing(const ::com::sun::star::lang::EventObject& Source) throw( ::com::sun::star::uno::RuntimeException );
- // XPropertyChangeListener
- virtual void SAL_CALL propertyChange(const ::com::sun::star::beans::PropertyChangeEvent& evt) throw(::com::sun::star::uno::RuntimeException);
-
- public:
- // XServiceInfo - static versions
- static ::rtl::OUString getImplementationName_Static( ) throw(::com::sun::star::uno::RuntimeException);
- static ::com::sun::star::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_static( ) throw(::com::sun::star::uno::RuntimeException);
- static ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL
- create(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >&);
-
- public:
- explicit GeometryHandler(::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > const & context);
-
- // XServiceInfo
- virtual ::rtl::OUString SAL_CALL getImplementationName( ) throw(::com::sun::star::uno::RuntimeException);
- virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw(::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw(::com::sun::star::uno::RuntimeException);
-
- // ::com::sun::star::lang::XComponent:
- virtual void SAL_CALL addEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & xListener) throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL removeEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & aListener) throw (::com::sun::star::uno::RuntimeException);
-
- // ::com::sun::star::inspection::XPropertyHandler:
- virtual void SAL_CALL inspect(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > & Component) throw (::com::sun::star::uno::RuntimeException, ::com::sun::star::lang::NullPointerException);
- virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue(const ::rtl::OUString & PropertyName) throw (::com::sun::star::uno::RuntimeException, ::com::sun::star::beans::UnknownPropertyException);
- virtual void SAL_CALL setPropertyValue(const ::rtl::OUString & PropertyName, const ::com::sun::star::uno::Any & Value) throw (::com::sun::star::uno::RuntimeException, ::com::sun::star::beans::UnknownPropertyException);
- virtual ::com::sun::star::beans::PropertyState SAL_CALL getPropertyState(const ::rtl::OUString & PropertyName) throw (::com::sun::star::uno::RuntimeException, ::com::sun::star::beans::UnknownPropertyException);
- virtual ::com::sun::star::inspection::LineDescriptor SAL_CALL describePropertyLine(const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::inspection::XPropertyControlFactory >& ControlFactory ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::NullPointerException, ::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Any SAL_CALL convertToPropertyValue(const ::rtl::OUString & PropertyName, const ::com::sun::star::uno::Any & ControlValue) throw (::com::sun::star::uno::RuntimeException, ::com::sun::star::beans::UnknownPropertyException);
- virtual ::com::sun::star::uno::Any SAL_CALL convertToControlValue(const ::rtl::OUString & PropertyName, const ::com::sun::star::uno::Any & PropertyValue, const ::com::sun::star::uno::Type & ControlValueType) throw (::com::sun::star::uno::RuntimeException, ::com::sun::star::beans::UnknownPropertyException);
- virtual void SAL_CALL addPropertyChangeListener(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener > & Listener) throw (::com::sun::star::uno::RuntimeException, ::com::sun::star::lang::NullPointerException);
- virtual void SAL_CALL removePropertyChangeListener(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener > & _rxListener) throw (::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::Property > SAL_CALL getSupportedProperties() throw (::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupersededProperties() throw (::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getActuatingProperties() throw (::com::sun::star::uno::RuntimeException);
- virtual ::sal_Bool SAL_CALL isComposable(const ::rtl::OUString & PropertyName) throw (::com::sun::star::uno::RuntimeException, ::com::sun::star::beans::UnknownPropertyException);
- virtual ::com::sun::star::inspection::InteractiveSelectionResult SAL_CALL onInteractivePropertySelection(const ::rtl::OUString & PropertyName, ::sal_Bool Primary, ::com::sun::star::uno::Any & out_Data, const ::com::sun::star::uno::Reference< ::com::sun::star::inspection::XObjectInspectorUI > & InspectorUI) throw (::com::sun::star::uno::RuntimeException, ::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::NullPointerException);
- virtual void SAL_CALL actuatingPropertyChanged(const ::rtl::OUString & ActuatingPropertyName, const ::com::sun::star::uno::Any & NewValue, const ::com::sun::star::uno::Any & OldValue, const ::com::sun::star::uno::Reference< ::com::sun::star::inspection::XObjectInspectorUI > & InspectorUI, ::sal_Bool FirstTimeInit) throw (::com::sun::star::uno::RuntimeException, ::com::sun::star::lang::NullPointerException);
- virtual ::sal_Bool SAL_CALL suspend(::sal_Bool Suspend) throw (::com::sun::star::uno::RuntimeException);
-
- protected:
- virtual ~GeometryHandler();
- private:
- GeometryHandler(GeometryHandler &); // not defined
- void operator =(GeometryHandler &); // not defined
-
- // overload WeakComponentImplHelperBase::disposing()
- // This function is called upon disposing the component,
- // if your component needs special work when it becomes
- // disposed, do it here.
- virtual void SAL_CALL disposing();
-
- PropertyChangeListeners m_aPropertyListeners;
- ::com::sun::star::uno::Sequence< ::rtl::OUString > m_aFieldNames;
- ::com::sun::star::uno::Sequence< ::rtl::OUString > m_aParamNames;
- TFunctions m_aFunctionNames;
- ::std::vector< DefaultFunction > m_aDefaultFunctions;
- DefaultFunction m_aCounterFunction;
- ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > m_xContext;
- mutable ::com::sun::star::uno::Reference< ::com::sun::star::report::XFunction> m_xFunction;
- ::com::sun::star::uno::Reference< ::com::sun::star::inspection::XPropertyHandler > m_xFormComponentHandler; /// delegatee
- ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > m_xReportComponent; /// inspectee
- mutable ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet > m_xRowSet;
- /// type converter, needed on various occasions
- ::com::sun::star::uno::Reference< ::com::sun::star::script::XTypeConverter > m_xTypeConverter;
- /// access to property meta data
- ::std::auto_ptr< OPropertyInfoService > m_pInfoService;
- mutable ::rtl::OUString m_sDefaultFunction;
- mutable ::rtl::OUString m_sScope;
- sal_uInt32 m_nDataFieldType;
- mutable bool m_bNewFunction;
- bool m_bIn;
- };
-//........................................................................
-} // namespace rptui
-//........................................................................
-
-#endif // RPT_GeometryHandler_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */