LanguageTool: don't crash if REST protocol isn't set
[LibreOffice.git] / forms / source / component / Pattern.hxx
blobd0923c13cf58c7f88a34cdae6854fa7427f49974
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
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/.
9 * This file incorporates work covered by the following license notice:
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 .
20 #pragma once
22 #include "EditBase.hxx"
24 #include <connectivity/formattedcolumnvalue.hxx>
26 #include <memory>
29 namespace frm
32 class OPatternModel
33 :public OEditBaseModel
35 private:
36 css::uno::Any m_aLastKnownValue;
37 ::std::unique_ptr< ::dbtools::FormattedColumnValue >
38 m_pFormattedValue;
40 public:
41 OPatternModel(
42 const css::uno::Reference< css::uno::XComponentContext>& _rxFactory
44 OPatternModel(
45 const OPatternModel* _pOriginal,
46 const css::uno::Reference< css::uno::XComponentContext>& _rxFactory
48 virtual ~OPatternModel() override;
50 // css::lang::XServiceInfo
51 OUString SAL_CALL getImplementationName() override
52 { return "com.sun.star.form.OPatternModel"; }
54 virtual css::uno::Sequence<OUString> SAL_CALL getSupportedServiceNames() override;
56 // css::io::XPersistObject
57 virtual OUString SAL_CALL getServiceName() override;
59 // OControlModel's property handling
60 virtual void describeFixedProperties(
61 css::uno::Sequence< css::beans::Property >& /* [out] */ _rProps
62 ) const override;
64 protected:
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;
71 virtual css::uno::Any getDefaultForReset() const override;
72 virtual void resetNoBroadcast() override;
74 protected:
75 virtual css::uno::Reference< css::util::XCloneable > SAL_CALL createClone( ) override;
78 class OPatternControl: public OBoundControl
80 public:
81 explicit OPatternControl(const css::uno::Reference< css::uno::XComponentContext>& _rxFactory);
83 // css::lang::XServiceInfo
84 OUString SAL_CALL getImplementationName() override
85 { return "com.sun.star.form.OPatternControl"; }
87 virtual css::uno::Sequence<OUString> SAL_CALL getSupportedServiceNames() override;
91 } // namespace frm
94 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */