LibreOffice Module toolkit (master) 1
geometrycontrolmodel_impl.hxx
Go to the documentation of this file.
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// no include protection. This is included from within geometrycontrolmodel.hxx only
21
22//= OGeometryControlModel
23
24template <class CONTROLMODEL>
26 const css::uno::Reference<css::uno::XComponentContext>& i_factory)
27 : OGeometryControlModel_Base(new CONTROLMODEL(i_factory))
28{
29}
30
31template <class CONTROLMODEL>
33 css::uno::Reference<css::util::XCloneable>& _rxAggregateInstance)
34 : OGeometryControlModel_Base(_rxAggregateInstance)
35{
36}
37
38template <class CONTROLMODEL>
40{
41 return *this->getArrayHelper();
42}
43
44template <class CONTROLMODEL>
46 css::uno::Sequence<css::beans::Property>& _rProps,
47 css::uno::Sequence<css::beans::Property>& _rAggregateProps) const
48{
49 // our own properties
50 OPropertyContainer::describeProperties(_rProps);
51 // the aggregate properties
52 if (m_xAggregateSet.is())
53 _rAggregateProps = m_xAggregateSet->getPropertySetInfo()->getProperties();
54}
55
56template <class CONTROLMODEL>
57css::uno::Sequence<sal_Int8> SAL_CALL OGeometryControlModel<CONTROLMODEL>::getImplementationId()
58{
59 return css::uno::Sequence<sal_Int8>();
60}
61
62template <class CONTROLMODEL>
64 css::uno::Reference<css::util::XCloneable>& _rxAggregateInstance)
65{
66 return new OGeometryControlModel<CONTROLMODEL>(_rxAggregateInstance);
67}
68
69/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
virtual void fillProperties(css::uno::Sequence< css::beans::Property > &_rProps, css::uno::Sequence< css::beans::Property > &_rAggregateProps) const override
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
virtual ::cppu::IPropertyArrayHelper &SAL_CALL getInfoHelper() override
virtual rtl::Reference< OGeometryControlModel_Base > createClone_Impl(css::uno::Reference< css::util::XCloneable > &_rxAggregateInstance) override
OGeometryControlModel(const css::uno::Reference< css::uno::XComponentContext > &i_factory)