LibreOffice Module forms (master) 1
Pattern.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#pragma once
21
22#include "EditBase.hxx"
23
25
26#include <memory>
27
28
29namespace frm
30{
31
33 :public OEditBaseModel
34{
35private:
36 css::uno::Any m_aLastKnownValue;
37 ::std::unique_ptr< ::dbtools::FormattedColumnValue >
39
40public:
42 const css::uno::Reference< css::uno::XComponentContext>& _rxFactory
43 );
45 const OPatternModel* _pOriginal,
46 const css::uno::Reference< css::uno::XComponentContext>& _rxFactory
47 );
48 virtual ~OPatternModel() override;
49
50 // css::lang::XServiceInfo
51 OUString SAL_CALL getImplementationName() override
52 { return "com.sun.star.form.OPatternModel"; }
53
54 virtual css::uno::Sequence<OUString> SAL_CALL getSupportedServiceNames() override;
55
56 // css::io::XPersistObject
57 virtual OUString SAL_CALL getServiceName() override;
58
59 // OControlModel's property handling
60 virtual void describeFixedProperties(
61 css::uno::Sequence< css::beans::Property >& /* [out] */ _rProps
62 ) const override;
63
64protected:
65 // OBoundControlModel overridables
66 virtual css::uno::Any translateDbColumnToControlValue( ) override;
67 virtual bool commitControlValueToDbColumn( bool _bPostReset ) override;
68 virtual void onConnectedDbColumn( const css::uno::Reference< css::uno::XInterface >& _rxForm ) override;
69 virtual void onDisconnectedDbColumn() override;
70
71 virtual css::uno::Any getDefaultForReset() const override;
72 virtual void resetNoBroadcast() override;
73
74protected:
75 virtual css::uno::Reference< css::util::XCloneable > SAL_CALL createClone( ) override;
76};
77
79{
80public:
81 explicit OPatternControl(const css::uno::Reference< css::uno::XComponentContext>& _rxFactory);
82
83 // css::lang::XServiceInfo
84 OUString SAL_CALL getImplementationName() override
85 { return "com.sun.star.form.OPatternControl"; }
86
87 virtual css::uno::Sequence<OUString> SAL_CALL getSupportedServiceNames() override;
88};
89
90
91} // namespace frm
92
93
94/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
OPatternControl(const css::uno::Reference< css::uno::XComponentContext > &_rxFactory)
Definition: Pattern.cxx:41
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
Definition: Pattern.cxx:46
OUString SAL_CALL getImplementationName() override
Definition: Pattern.hxx:84
virtual bool commitControlValueToDbColumn(bool _bPostReset) override
commits the current control value to the database column we're bound to @precond we're properly bound...
Definition: Pattern.cxx:126
virtual void onConnectedDbColumn(const css::uno::Reference< css::uno::XInterface > &_rxForm) override
called whenever a connection to a database column has been established
Definition: Pattern.cxx:161
virtual void resetNoBroadcast() override
called to reset the control to some kind of default.
Definition: Pattern.cxx:215
::std::unique_ptr< ::dbtools::FormattedColumnValue > m_pFormattedValue
Definition: Pattern.hxx:38
virtual css::uno::Any translateDbColumnToControlValue() override
translates a db column value into a control value.
Definition: Pattern.cxx:181
virtual void onDisconnectedDbColumn() override
called whenever a connection to a database column has been suspended
Definition: Pattern.cxx:173
virtual ~OPatternModel() override
Definition: Pattern.cxx:77
virtual css::uno::Reference< css::util::XCloneable > SAL_CALL createClone() override
Definition: Pattern.cxx:83
OUString SAL_CALL getImplementationName() override
Definition: Pattern.hxx:51
css::uno::Any m_aLastKnownValue
Definition: Pattern.hxx:36
OPatternModel(const css::uno::Reference< css::uno::XComponentContext > &_rxFactory)
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
Definition: Pattern.cxx:92
virtual css::uno::Any getDefaultForReset() const override
returns the default which should be used when resetting the control
Definition: Pattern.cxx:210
virtual void describeFixedProperties(css::uno::Sequence< css::beans::Property > &_rProps) const override
describes the properties provided by this class, or its respective derived class
Definition: Pattern.cxx:105
OPatternModel(const OPatternModel *_pOriginal, const css::uno::Reference< css::uno::XComponentContext > &_rxFactory)
virtual OUString SAL_CALL getServiceName() override
Definition: Pattern.cxx:120
ListBox is a bit confusing / different from other form components, so here are a few notes:
Definition: BaseListBox.hxx:25