LibreOffice Module forms (master) 1
model.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
23#include "propertysetbase.hxx"
24#include <com/sun/star/xforms/XModel2.hpp>
25#include <com/sun/star/xforms/XFormsUIHelper1.hpp>
26#include <com/sun/star/util/XUpdatable.hpp>
27#include <com/sun/star/lang/XServiceInfo.hpp>
28#include <com/sun/star/uno/Reference.hxx>
29#include <rtl/ref.hxx>
30#include "mip.hxx"
31#include <map>
32
33
34// forward declaractions
35namespace com::sun::star
36{
37 namespace xml::dom { class XDocument; }
38 namespace xml::dom { class XNode; }
39 namespace uno { template<typename T> class Sequence; }
40 namespace lang { class IndexOutOfBoundsException; }
41 namespace lang { class IllegalArgumentException; }
42 namespace beans { class XPropertySet; }
43 namespace container { class XSet; }
44 namespace container { class XNameContainer; }
45 namespace frame { class XModel; }
46}
47namespace xforms
48{
49 class BindingCollection;
50 class SubmissionCollection;
51 class InstanceCollection;
52 class EvaluationContext;
53}
54
55
56namespace xforms
57{
58
67typedef cppu::ImplInheritanceHelper<
69 css::xforms::XModel2,
70 css::xforms::XFormsUIHelper1,
71 css::util::XUpdatable,
72 css::lang::XServiceInfo
74class Model : public Model_t
75{
76 // a number of local typedefs, to make the remaining header readable
77 typedef css::uno::Reference<css::xml::dom::XNode> XNode_t;
78 typedef css::uno::Reference<css::beans::XPropertySet> XPropertySet_t;
79
80 typedef std::multimap<XNode_t,std::pair<void*,MIP> > MIPs_t;
81
82
83private:
84
85 OUString msID;
89
90 css::uno::Reference<css::xforms::XDataTypeRepository> mxDataTypes;
91 css::uno::Reference<css::xml::dom::XDocument> mxForeignSchema;
93 OUString msSchemaRef;
94
95 css::uno::Reference<css::container::XNameContainer> mxNamespaces;
96
98
101
103
105
106
107public:
108
110 Model();
111 virtual ~Model() noexcept override;
112
114
115 // get/set that part of the schema, that we can't interpret as data types
116 css::uno::Reference<css::xml::dom::XDocument> getForeignSchema() const { return mxForeignSchema;}
117 void setForeignSchema( const css::uno::Reference<css::xml::dom::XDocument>& );
118
119 // get/set the xforms:model/@schema attribute
120 OUString getSchemaRef() const { return msSchemaRef;}
121 void setSchemaRef( const OUString& );
122
123 // get/set namespaces for entire model
124 css::uno::Reference<css::container::XNameContainer> getNamespaces() const { return mxNamespaces;}
125 void setNamespaces( const css::uno::Reference<css::container::XNameContainer>& );
126
127 // get/set the ExternalData property
128 bool getExternalData() const { return mbExternalData;}
129 void setExternalData( bool _bData );
130
131
132#if OSL_DEBUG_LEVEL > 0 && !defined NDEBUG
133 void dbg_assertInvariant() const;
134#endif
135
136
137 // MIP (model item property) management
138
139
140 // register MIPs which apply to a given node; only to be called by bindings
141 // (The pTag parameter serves only to be able to remove the MIPs
142 // that were added using the same tag. No functions will be
143 // performed on it; hence the void* type.)
144 void addMIP( void* pTag, const XNode_t&, const MIP& );
145 void removeMIPs( void const * pTag );
146
148 MIP queryMIP( const XNode_t& xNode ) const;
149
151 void rebind();
152
154 void deferNotifications( bool );
155
158 bool setSimpleContent( const XNode_t&, const OUString& );
159
161 void loadInstance( sal_Int32 nInstance );
162 void loadInstances();
163
165 bool isInitialized() const { return mbInitialized;}
166
168 bool isValid() const;
169
170
171 // XModel
172 // implement the xforms::XModel implementation
173
174
175 virtual OUString SAL_CALL getID() override;
176
177 virtual void SAL_CALL setID( const OUString& sID ) override;
178
179 virtual void SAL_CALL initialize() override;
180
181 virtual void SAL_CALL rebuild() override;
182
183 virtual void SAL_CALL recalculate() override;
184
185 virtual void SAL_CALL revalidate() override;
186
187 virtual void SAL_CALL refresh() override;
188
189 virtual void SAL_CALL submit( const OUString& sID ) override;
190
191 virtual void SAL_CALL submitWithInteraction( const OUString& id, const css::uno::Reference<css::task::XInteractionHandler>& _rxHandler ) override;
192
193 virtual css::uno::Reference<css::xforms::XDataTypeRepository> SAL_CALL getDataTypeRepository( ) override;
194
195
196 // XModel: instance management
197
198 virtual css::uno::Reference<css::container::XSet> SAL_CALL getInstances() override;
199
200 virtual css::uno::Reference<css::xml::dom::XDocument> SAL_CALL getInstanceDocument( const OUString& ) override;
201
202 virtual css::uno::Reference<css::xml::dom::XDocument> SAL_CALL getDefaultInstance() override;
203
204
205 // XModel: binding management
206
207 virtual css::uno::Reference<css::beans::XPropertySet> SAL_CALL createBinding() override;
208
209 virtual css::uno::Reference<css::beans::XPropertySet> SAL_CALL cloneBinding( const css::uno::Reference<css::beans::XPropertySet>& ) override;
210
211 virtual css::uno::Reference<css::beans::XPropertySet> SAL_CALL getBinding( const OUString& ) override;
212
213 virtual css::uno::Reference<css::container::XSet> SAL_CALL getBindings() override;
214
215
216 // XModel: submission management
217
218 virtual css::uno::Reference<css::xforms::XSubmission> SAL_CALL createSubmission() override;
219
220 virtual css::uno::Reference<css::xforms::XSubmission> SAL_CALL cloneSubmission( const css::uno::Reference<css::beans::XPropertySet>& ) override;
221
222 virtual css::uno::Reference<css::xforms::XSubmission> SAL_CALL getSubmission( const OUString& ) override;
223
224 virtual css::uno::Reference<css::container::XSet> SAL_CALL getSubmissions() override;
225
226 // XPropertySet
227
228 virtual css::uno::Any SAL_CALL getPropertyValue(const OUString& p) override
229 { return PropertySetBase::getPropertyValue(p); }
230
231 virtual void SAL_CALL addPropertyChangeListener(const OUString& p1, const css::uno::Reference<css::beans::XPropertyChangeListener>& p2) override
232 { PropertySetBase::addPropertyChangeListener(p1, p2); }
233
234 virtual void SAL_CALL removePropertyChangeListener(const OUString& p1, const css::uno::Reference<css::beans::XPropertyChangeListener>& p2) override
235 { PropertySetBase::removePropertyChangeListener(p1, p2); }
236
237 virtual void SAL_CALL addVetoableChangeListener(const OUString& p1, const css::uno::Reference<css::beans::XVetoableChangeListener>& p2) override
238 { PropertySetBase::addVetoableChangeListener(p1, p2); }
239
240 virtual void SAL_CALL removeVetoableChangeListener(const OUString& p1, const css::uno::Reference<css::beans::XVetoableChangeListener>& p2) override
241 { PropertySetBase::removeVetoableChangeListener(p1, p2); }
242
243 virtual css::uno::Reference<css::beans::XPropertySetInfo> SAL_CALL getPropertySetInfo() override
245
246 virtual void SAL_CALL setPropertyValue(const OUString& p1, const css::uno::Any& p2) override
247 { PropertySetBase::setPropertyValue(p1, p2); }
248
249
250 // XFormsUIHelper1 & friends:
251 // (implementation in model_ui.cxx)
252
253
256 virtual OUString SAL_CALL getDefaultServiceNameForNode( const css::uno::Reference<css::xml::dom::XNode>& xNode ) override;
257
259 virtual OUString SAL_CALL getDefaultBindingExpressionForNode( const css::uno::Reference<css::xml::dom::XNode>& xNode ) override;
260
265 const XNode_t&,
266 const EvaluationContext& );
267
268 virtual OUString SAL_CALL getNodeDisplayName( const css::uno::Reference<css::xml::dom::XNode>&,
269 sal_Bool bDetail ) override;
270
271 virtual OUString SAL_CALL getNodeName( const css::uno::Reference<css::xml::dom::XNode>& ) override;
272
273 virtual OUString SAL_CALL getBindingName( const css::uno::Reference< ::css::beans::XPropertySet >&,
274 sal_Bool bDetail ) override;
275
276 virtual OUString SAL_CALL getSubmissionName( const css::uno::Reference< ::css::beans::XPropertySet >&,
277 sal_Bool bDetail ) override;
278
279 virtual css::uno::Reference< ::css::beans::XPropertySet > SAL_CALL cloneBindingAsGhost( const css::uno::Reference< ::css::beans::XPropertySet >& ) override;
280
281 virtual void SAL_CALL removeBindingIfUseless( const css::uno::Reference< ::css::beans::XPropertySet >& ) override;
282
283 virtual css::uno::Reference<css::xml::dom::XDocument> SAL_CALL newInstance( const OUString& sName,
284 const OUString& sURL,
285 sal_Bool bURLOnce ) override;
286
287 virtual void SAL_CALL renameInstance( const OUString& sFrom,
288 const OUString& sTo,
289 const OUString& sURL,
290 sal_Bool bURLOnce ) override;
291
292 virtual void SAL_CALL removeInstance( const OUString& sName ) override;
293
294
295 virtual css::uno::Reference<css::xforms::XModel> SAL_CALL newModel( const css::uno::Reference<css::frame::XModel>& xComponent,
296 const OUString& sName ) override;
297 virtual void SAL_CALL renameModel( const css::uno::Reference<css::frame::XModel>& xComponent,
298 const OUString& sFrom,
299 const OUString& sTo ) override;
300
301 virtual void SAL_CALL removeModel( const css::uno::Reference<css::frame::XModel>& xComponent,
302 const OUString& sName ) override;
303
304
305 virtual css::uno::Reference< css::xml::dom::XNode > SAL_CALL createElement(
306 const css::uno::Reference< ::css::xml::dom::XNode >& xParent,
307 const OUString& sName ) override;
308
309 virtual css::uno::Reference< css::xml::dom::XNode > SAL_CALL createAttribute(
310 const css::uno::Reference< ::css::xml::dom::XNode >& xParent,
311 const OUString& sName ) override;
312
313 virtual css::uno::Reference< css::xml::dom::XNode > SAL_CALL renameNode(
314 const css::uno::Reference< ::css::xml::dom::XNode >& xNode,
315 const OUString& sName ) override;
316
317 virtual css::uno::Reference< css::beans::XPropertySet > SAL_CALL getBindingForNode( const
318 css::uno::Reference<css::xml::dom::XNode>&,
319 sal_Bool bCreate ) override;
320
321 virtual void SAL_CALL removeBindingForNode( const css::uno::Reference< ::css::xml::dom::XNode >& ) override;
322
323 virtual OUString SAL_CALL getResultForExpression(
324 const css::uno::Reference< css::beans::XPropertySet >& xBinding,
325 sal_Bool bIsBindingExpression,
326 const OUString& sExpression ) override;
327
328 virtual sal_Bool SAL_CALL isValidXMLName( const OUString& sName ) override;
329
330 virtual sal_Bool SAL_CALL isValidPrefixName( const OUString& sName ) override;
331
332 virtual void SAL_CALL setNodeValue(
333 const css::uno::Reference< ::css::xml::dom::XNode >& xNode,
334 const OUString& sValue ) override;
335
336
337 // XUpdatable
338
339
340public:
341 virtual void SAL_CALL update() override;
342
343
344 // XTypeProvider::getImplementationId
345
346
347public:
348 virtual css::uno::Sequence<sal_Int8> SAL_CALL getImplementationId() override;
349
350 OUString SAL_CALL getImplementationName() override;
351
352 sal_Bool SAL_CALL supportsService(OUString const & ServiceName) override;
353
354 css::uno::Sequence<OUString> SAL_CALL getSupportedServiceNames() override;
355};
356
357} // namespace
358
359/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
bridges two XPropertySet helper implementations
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
define the context for the evaluation of an XPath expression
represents the XForms *m*odel *i*tem *p*roperties (MIPs) for a given XNode in the instance data at a ...
Definition: mip.hxx:31
void setNamespaces(const css::uno::Reference< css::container::XNameContainer > &)
Definition: model.cxx:143
bool mbInitialized
map nodes to their MIPs
Definition: model.hxx:99
void deferNotifications(bool)
call defer notifications on all bindings
Definition: model.cxx:232
virtual void SAL_CALL renameModel(const css::uno::Reference< css::frame::XModel > &xComponent, const OUString &sFrom, const OUString &sTo) override
Definition: model_ui.cxx:517
virtual void SAL_CALL removeInstance(const OUString &sName) override
Definition: model_ui.cxx:478
css::uno::Reference< css::xforms::XDataTypeRepository > mxDataTypes
the instance(s)
Definition: model.hxx:90
virtual OUString SAL_CALL getBindingName(const css::uno::Reference< ::css::beans::XPropertySet > &, sal_Bool bDetail) override
Definition: model_ui.cxx:336
xforms::EvaluationContext getEvaluationContext()
Definition: model.cxx:109
virtual void SAL_CALL rebuild() override
Definition: model.cxx:396
bool getExternalData() const
Definition: model.hxx:128
virtual void SAL_CALL setNodeValue(const css::uno::Reference< ::css::xml::dom::XNode > &xNode, const OUString &sValue) override
Definition: model_ui.cxx:901
virtual OUString SAL_CALL getDefaultServiceNameForNode(const css::uno::Reference< css::xml::dom::XNode > &xNode) override
determine a reasonable control service for a given node (based on data type MIP assigned to the node)
Definition: model_ui.cxx:71
rtl::Reference< BindingCollection > mxBindings
the model ID
Definition: model.hxx:86
void setForeignSchema(const css::uno::Reference< css::xml::dom::XDocument > &)
Definition: model.cxx:131
virtual void SAL_CALL update() override
Definition: model.cxx:572
virtual css::uno::Reference< css::xml::dom::XDocument > SAL_CALL getInstanceDocument(const OUString &) override
Definition: model.cxx:461
virtual void SAL_CALL renameInstance(const OUString &sFrom, const OUString &sTo, const OUString &sURL, sal_Bool bURLOnce) override
Definition: model_ui.cxx:438
bool isValid() const
is model currently valid (for submission)?
Definition: model.cxx:355
bool setSimpleContent(const XNode_t &, const OUString &)
set a data value in the instance (also defers notifications)
Definition: model.cxx:245
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
Definition: model.hxx:243
virtual void SAL_CALL recalculate() override
Definition: model.cxx:404
virtual css::uno::Reference< css::beans::XPropertySet > SAL_CALL getBindingForNode(const css::uno::Reference< css::xml::dom::XNode > &, sal_Bool bCreate) override
Definition: model_ui.cxx:666
virtual void SAL_CALL submitWithInteraction(const OUString &id, const css::uno::Reference< css::task::XInteractionHandler > &_rxHandler) override
Definition: model.cxx:420
rtl::Reference< InstanceCollection > mxInstances
the submissions
Definition: model.hxx:88
virtual css::uno::Reference< css::xforms::XSubmission > SAL_CALL cloneSubmission(const css::uno::Reference< css::beans::XPropertySet > &) override
Definition: model.cxx:521
virtual void SAL_CALL addPropertyChangeListener(const OUString &p1, const css::uno::Reference< css::beans::XPropertyChangeListener > &p2) override
Definition: model.hxx:231
MIPs_t maMIPs
namespaces for entire model
Definition: model.hxx:97
css::uno::Reference< css::beans::XPropertySet > XPropertySet_t
Definition: model.hxx:78
virtual void SAL_CALL initialize() override
Definition: model.cxx:384
css::uno::Reference< css::container::XNameContainer > getNamespaces() const
Definition: model.hxx:124
rtl::Reference< SubmissionCollection > mxSubmissions
the bindings
Definition: model.hxx:87
virtual css::uno::Reference< css::xml::dom::XNode > SAL_CALL renameNode(const css::uno::Reference< ::css::xml::dom::XNode > &xNode, const OUString &sName) override
Definition: model_ui.cxx:581
virtual css::uno::Reference< css::xml::dom::XDocument > SAL_CALL newInstance(const OUString &sName, const OUString &sURL, sal_Bool bURLOnce) override
Definition: model_ui.cxx:389
virtual css::uno::Reference< css::container::XSet > SAL_CALL getBindings() override
Definition: model.cxx:505
void dbg_assertInvariant() const
Definition: model.cxx:156
virtual OUString SAL_CALL getDefaultBindingExpressionForNode(const css::uno::Reference< css::xml::dom::XNode > &xNode) override
call getDefaultBindingExpressionForNode with default evaluation context
Definition: model_ui.cxx:250
virtual css::uno::Reference< ::css::beans::XPropertySet > SAL_CALL cloneBindingAsGhost(const css::uno::Reference< ::css::beans::XPropertySet > &) override
Definition: model_ui.cxx:363
bool isInitialized() const
has model been initialized?
Definition: model.hxx:165
virtual OUString SAL_CALL getNodeDisplayName(const css::uno::Reference< css::xml::dom::XNode > &, sal_Bool bDetail) override
Definition: model_ui.cxx:272
virtual OUString SAL_CALL getSubmissionName(const css::uno::Reference< ::css::beans::XPropertySet > &, sal_Bool bDetail) override
Definition: model_ui.cxx:355
OUString msID
Definition: model.hxx:85
virtual css::uno::Reference< css::xforms::XDataTypeRepository > SAL_CALL getDataTypeRepository() override
Definition: model.cxx:444
sal_Bool SAL_CALL supportsService(OUString const &ServiceName) override
Definition: model.cxx:588
void removeMIPs(void const *pTag)
Definition: model.cxx:175
void loadInstances()
Definition: model.cxx:344
std::multimap< XNode_t, std::pair< void *, MIP > > MIPs_t
Definition: model.hxx:80
void setExternalData(bool _bData)
Definition: model.cxx:150
virtual void SAL_CALL removeVetoableChangeListener(const OUString &p1, const css::uno::Reference< css::beans::XVetoableChangeListener > &p2) override
Definition: model.hxx:240
virtual css::uno::Reference< css::beans::XPropertySet > SAL_CALL createBinding() override
Definition: model.cxx:485
void rebind()
re-bind all bindings
Definition: model.cxx:217
virtual css::uno::Reference< css::xforms::XModel > SAL_CALL newModel(const css::uno::Reference< css::frame::XModel > &xComponent, const OUString &sName) override
Definition: model_ui.cxx:497
virtual css::uno::Reference< css::xml::dom::XDocument > SAL_CALL getDefaultInstance() override
Definition: model.cxx:472
virtual css::uno::Reference< css::container::XSet > SAL_CALL getSubmissions() override
Definition: model.cxx:539
virtual void SAL_CALL removeModel(const css::uno::Reference< css::frame::XModel > &xComponent, const OUString &sName) override
Definition: model_ui.cxx:533
virtual OUString SAL_CALL getResultForExpression(const css::uno::Reference< css::beans::XPropertySet > &xBinding, sal_Bool bIsBindingExpression, const OUString &sExpression) override
Definition: model_ui.cxx:857
void loadInstance(sal_Int32 nInstance)
load instance data
Definition: model.cxx:308
css::uno::Reference< css::xml::dom::XDocument > getForeignSchema() const
Definition: model.hxx:116
virtual void SAL_CALL refresh() override
Definition: model.cxx:414
virtual css::uno::Reference< css::xforms::XSubmission > SAL_CALL getSubmission(const OUString &) override
Definition: model.cxx:530
OUString getSchemaRef() const
Definition: model.hxx:120
css::uno::Reference< css::xml::dom::XDocument > mxForeignSchema
the XSD data-types used
Definition: model.hxx:91
css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
Definition: model.cxx:593
OUString SAL_CALL getImplementationName() override
Definition: model.cxx:583
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
Definition: model.cxx:578
virtual void SAL_CALL revalidate() override
Definition: model.cxx:409
virtual css::uno::Reference< css::container::XSet > SAL_CALL getInstances() override
Definition: model.cxx:456
virtual OUString SAL_CALL getID() override
Definition: model.cxx:372
virtual sal_Bool SAL_CALL isValidPrefixName(const OUString &sName) override
Definition: model_ui.cxx:896
virtual void SAL_CALL addVetoableChangeListener(const OUString &p1, const css::uno::Reference< css::beans::XVetoableChangeListener > &p2) override
Definition: model.hxx:237
virtual void SAL_CALL setPropertyValue(const OUString &p1, const css::uno::Any &p2) override
Definition: model.hxx:246
virtual css::uno::Any SAL_CALL getPropertyValue(const OUString &p) override
Definition: model.hxx:228
void ensureAtLeastOneInstance()
Definition: model.cxx:77
virtual ~Model() noexcept override
Definition: model.cxx:105
Model()
create a new model with an empty, default instance
Definition: model.cxx:88
bool mbExternalData
has model been initialized ?
Definition: model.hxx:100
void addMIP(void *pTag, const XNode_t &, const MIP &)
Definition: model.cxx:166
virtual css::uno::Reference< css::beans::XPropertySet > SAL_CALL cloneBinding(const css::uno::Reference< css::beans::XPropertySet > &) override
Definition: model.cxx:491
OUString msSchemaRef
the XSD-schema part we cannot
Definition: model.hxx:93
virtual css::uno::Reference< css::beans::XPropertySet > SAL_CALL getBinding(const OUString &) override
Definition: model.cxx:499
virtual void SAL_CALL removeBindingForNode(const css::uno::Reference< ::css::xml::dom::XNode > &) override
Definition: model_ui.cxx:722
css::uno::Reference< css::container::XNameContainer > mxNamespaces
xforms:model/@schema attribute
Definition: model.hxx:95
virtual void SAL_CALL setID(const OUString &sID) override
Definition: model.cxx:378
void initializePropertySet()
is the data of this model to be considered an integral part of the document?
Definition: model.cxx:555
virtual void SAL_CALL removeBindingIfUseless(const css::uno::Reference< ::css::beans::XPropertySet > &) override
Definition: model_ui.cxx:379
virtual void SAL_CALL submit(const OUString &sID) override
Definition: model.cxx:439
css::uno::Reference< css::xml::dom::XNode > XNode_t
Definition: model.hxx:77
virtual css::uno::Reference< css::xforms::XSubmission > SAL_CALL createSubmission() override
Definition: model.cxx:515
virtual css::uno::Reference< css::xml::dom::XNode > SAL_CALL createElement(const css::uno::Reference< ::css::xml::dom::XNode > &xParent, const OUString &sName) override
Definition: model_ui.cxx:544
virtual void SAL_CALL removePropertyChangeListener(const OUString &p1, const css::uno::Reference< css::beans::XPropertyChangeListener > &p2) override
Definition: model.hxx:234
virtual OUString SAL_CALL getNodeName(const css::uno::Reference< css::xml::dom::XNode > &) override
Definition: model_ui.cxx:314
virtual sal_Bool SAL_CALL isValidXMLName(const OUString &sName) override
Definition: model_ui.cxx:891
void setSchemaRef(const OUString &)
Definition: model.cxx:137
virtual css::uno::Reference< css::xml::dom::XNode > SAL_CALL createAttribute(const css::uno::Reference< ::css::xml::dom::XNode > &xParent, const OUString &sName) override
Definition: model_ui.cxx:557
MIP queryMIP(const XNode_t &xNode) const
query which MIPs apply to the given node
Definition: model.cxx:191
void * p
class SAL_NO_VTABLE XPropertySet
cppu::ImplInheritanceHelper< PropertySetBase, css::xforms::XModel2, css::xforms::XFormsUIHelper1, css::util::XUpdatable, css::lang::XServiceInfo > Model_t
An XForms Model.
Definition: model.hxx:73
unsigned char sal_Bool