LibreOffice Module svx (master) 1
datanavi.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#ifndef INCLUDED_SVX_SOURCE_INC_DATANAVI_HXX
20#define INCLUDED_SVX_SOURCE_INC_DATANAVI_HXX
21
22#include <config_options.h>
24#include <vcl/builderpage.hxx>
25#include <vcl/idle.hxx>
26#include <vcl/transfer.hxx>
27#include <vcl/weld.hxx>
28#include <svtools/inettbc.hxx>
29#include <sfx2/dockwin.hxx>
30#include <sfx2/childwin.hxx>
31#include <sfx2/ctrlitem.hxx>
32#include <svx/dialmgr.hxx>
33#include <svx/strings.hrc>
34#include <svx/svxdllapi.h>
35#include <rtl/ref.hxx>
36#include <com/sun/star/beans/XPropertySet.hpp>
37#include <com/sun/star/container/XContainer.hpp>
38#include <com/sun/star/container/XNameContainer.hpp>
39#include <com/sun/star/frame/XFrame.hpp>
40#include <com/sun/star/xforms/XFormsUIHelper1.hpp>
41#include <com/sun/star/xforms/XModel.hpp>
42#include <com/sun/star/xforms/XSubmission.hpp>
43#include <com/sun/star/xml/dom/XNode.hpp>
44#include <com/sun/star/xml/dom/events/XEventTarget.hpp>
45
46#include "datalistener.hxx"
47
48#include <memory>
49#include <string_view>
50#include <vector>
51
52class FmFormShell;
53
54
55namespace svxform
56{
57
58
60 {
65 };
66
68 {
74 };
75
76 struct ItemNode;
77 class XFormsPage;
78 class DataNavigatorWindow;
79 class AddInstanceDialog;
80
82 {
83 OUString m_sDoc_UI;
85 OUString m_sNone_UI;
86
87 static constexpr OUStringLiteral m_sDoc_API = u"all";
88 static constexpr OUStringLiteral m_sInstance_API = u"instance";
89 static constexpr OUStringLiteral m_sNone_API = u"none";
90
91 ReplaceString( const ReplaceString& ) = delete;
92
93 public:
95 {
96 m_sDoc_UI = SvxResId(RID_STR_REPLACE_DOC);
97 m_sInstance_UI = SvxResId(RID_STR_REPLACE_INST);
98 m_sNone_UI = SvxResId(RID_STR_REPLACE_NONE);
99 }
100
103 OUString const & toUI( std::u16string_view rStr ) const
104 {
105 if( rStr == m_sDoc_API )
106 return m_sDoc_UI;
107 else if( rStr == m_sInstance_API )
108 return m_sInstance_UI;
109 else
110 return m_sNone_UI;
111 }
112
115 OUString toAPI( std::u16string_view rStr ) const
116 {
117 if( rStr == m_sDoc_UI )
118 return m_sDoc_API;
119 else if( rStr == m_sInstance_UI )
120 return m_sInstance_API;
121 else
122 return m_sNone_API;
123 }
124 };
125
127 {
128 OUString m_sPost_UI;
129 OUString m_sPut_UI;
130 OUString m_sGet_UI;
131
132 static constexpr OUStringLiteral m_sPost_API = u"post";
133 static constexpr OUStringLiteral m_sPut_API = u"put";
134 static constexpr OUStringLiteral m_sGet_API = u"get";
135
136 MethodString( const MethodString& ) = delete;
137
138 public:
139
141 {
142 m_sPost_UI = SvxResId(RID_STR_METHOD_POST);
143 m_sPut_UI = SvxResId(RID_STR_METHOD_PUT);
144 m_sGet_UI = SvxResId(RID_STR_METHOD_GET);
145 }
146
148 OUString const & toUI( std::u16string_view rStr ) const
149 {
150 if( rStr == m_sGet_API )
151 return m_sGet_UI;
152 else if( rStr == m_sPost_API )
153 return m_sPost_UI;
154 else
155 return m_sPut_UI;
156 }
157
159 OUString toAPI( std::u16string_view rStr ) const
160 {
161 if( rStr == m_sGet_UI )
162 return m_sGet_API;
163 else if( rStr == m_sPost_UI )
164 return m_sPost_API;
165 else
166 return m_sPut_API;
167 }
168 };
169
170 class DataTreeDropTarget final : public DropTargetHelper
171 {
172 private:
173 virtual sal_Int8 AcceptDrop(const AcceptDropEvent& rEvt) override;
174 virtual sal_Int8 ExecuteDrop(const ExecuteDropEvent& rEvt) override;
175
176 public:
178 };
179
180 class XFormsPage final : public BuilderPage
181 {
182 private:
185
187 std::unique_ptr<weld::Toolbar> m_xToolBox;
188 std::unique_ptr<weld::Menu> m_xMenu;
189 std::unique_ptr<weld::TreeView> m_xItemList;
190 std::unique_ptr<weld::TreeIter> m_xScratchIter;
191
193
195
196 css::uno::Reference< css::xforms::XFormsUIHelper1 >
198
202 // these strings are not valid on the Submission and Binding Page
203 // mb: furthermore these are properties of an instance, thus
204 // it would be much better to get/set them through the UIHelper
205 // interface.
209
210 DECL_LINK(TbxSelectHdl, const OUString&, void);
211 DECL_LINK(ItemSelectHdl, weld::TreeView&, void);
212 DECL_LINK(KeyInputHdl, const KeyEvent&, bool);
213 DECL_LINK(PopupMenuHdl, const CommandEvent&, bool);
214
215 void AddChildren(const weld::TreeIter* _pParent,
216 const css::uno::Reference< css::xml::dom::XNode >& _xNode);
217 bool DoToolBoxAction(std::u16string_view rToolBoxID);
218 void AddEntry(std::unique_ptr<ItemNode> _pNewNode, bool _bIsElement, weld::TreeIter* pRet = nullptr);
219 void AddEntry(const css::uno::Reference< css::beans::XPropertySet >& _rPropSet, weld::TreeIter* pRet = nullptr);
220 void EditEntry( const css::uno::Reference< css::beans::XPropertySet >& _rPropSet );
221 bool RemoveEntry();
222
223 void PrepDnD();
224
225 void DeleteAndClearTree();
226
227 void SetMenuEntrySensitive(const OUString& rIdent, bool bSensitive);
228
229 public:
230 XFormsPage(weld::Container* pParent, DataNavigatorWindow* _pNaviWin, DataGroupType _eGroup);
231 virtual ~XFormsPage() override;
232
233 bool HasModel() const { return m_bHasModel; }
234 OUString SetModel( const css::uno::Reference< css::xforms::XModel > & _xModel, int _nPagePos );
235 void ClearModel();
236 OUString LoadInstance(const css::uno::Sequence< css::beans::PropertyValue >& _xPropSeq);
237
238 bool DoMenuAction(std::u16string_view rMenuID);
239 void EnableMenuItems();
240 void SelectFirstEntry();
241
242 const OUString& GetInstanceName() const { return m_sInstanceName; }
243 const OUString& GetInstanceURL() const { return m_sInstanceURL; }
244 bool GetLinkOnce() const { return m_bLinkOnce; }
245 void SetInstanceName( const OUString &name ) { m_sInstanceName=name; }
246 void SetInstanceURL( const OUString &url ) { m_sInstanceURL=url; }
247 void SetLinkOnce( bool bLinkOnce ) { m_bLinkOnce=bLinkOnce; }
248
249 css::uno::Reference<css::beans::XPropertySet>
250 GetBindingForNode( const css::uno::Reference<css::xml::dom::XNode> &xNode ) { return m_xUIHelper->getBindingForNode(xNode,true); }
251 OUString GetServiceNameForNode( const css::uno::Reference<css::xml::dom::XNode> &xNode ) { return m_xUIHelper->getDefaultServiceNameForNode(xNode); }
252 const css::uno::Reference< css::xforms::XFormsUIHelper1 >&
253 GetXFormsHelper() const { return m_xUIHelper; }
254 };
255
257 {
258 private:
260 std::unique_ptr<weld::ComboBox> m_xModelsBox;
261 std::unique_ptr<weld::MenuButton> m_xModelBtn;
262 std::unique_ptr<weld::Notebook> m_xTabCtrl;
263 std::unique_ptr<weld::MenuButton> m_xInstanceBtn;
264
265 std::unique_ptr<XFormsPage> m_xInstPage;
266 std::unique_ptr<XFormsPage> m_xSubmissionPage;
267 std::unique_ptr<XFormsPage> m_xBindingPage;
268
272 std::vector< std::unique_ptr<XFormsPage> >
274 std::vector< css::uno::Reference< css::container::XContainer > >
276 std::vector< css::uno::Reference< css::xml::dom::events::XEventTarget > >
279
282 css::uno::Reference< css::container::XNameContainer >
284 css::uno::Reference< css::frame::XFrame >
286 css::uno::Reference< css::frame::XModel >
288
289 DECL_LINK( ModelSelectListBoxHdl, weld::ComboBox&, void );
290 DECL_LINK( MenuSelectHdl, const OUString&, void );
291 DECL_LINK( MenuActivateHdl, weld::Toggleable&, void );
292 DECL_LINK( ActivatePageHdl, const OUString&, void);
293 DECL_LINK( UpdateHdl, Timer *, void);
294 void ModelSelectHdl(const weld::ComboBox*);
295 OUString GetCurrentPage() const;
296 XFormsPage* GetPage(const OUString& rCurId);
297 void LoadModels();
298 void SetPageModel(const OUString& rCurId);
299 void ClearAllPageModels( bool bClearPages );
300 void InitPages();
301 void CreateInstancePage( const css::uno::Sequence< css::beans::PropertyValue >& _xPropSeq );
302 bool HasFirstInstancePage() const;
303 OUString GetNewPageId() const;
304
305 static bool IsAdditionalPage(std::u16string_view rIdent);
306
307 public:
308 DataNavigatorWindow(vcl::Window* pParent, weld::Builder& rBuilder, SfxBindings const * pBindings);
310
311 static void SetDocModified();
312 void NotifyChanges( bool _bLoadAll = false );
313 void AddContainerBroadcaster( const css::uno::Reference< css::container::XContainer > & xContainer );
314 void AddEventBroadcaster( const css::uno::Reference< css::xml::dom::events::XEventTarget >& xTarget );
315 void RemoveBroadcaster();
316
317 weld::Window* GetFrameWeld() const { return m_xParent->GetFrameWeld(); }
318
319 bool IsShowDetails() const { return m_bShowDetails; }
320 void DisableNotify( bool _bDisable ) { m_bIsNotifyDisabled = _bDisable; }
321 };
322
324 {
325 private:
326 std::unique_ptr<DataNavigatorWindow> m_xDataWin;
327
328 virtual Size CalcDockingSize( SfxChildAlignment ) override;
330
331 public:
333 virtual ~DataNavigator() override;
334 virtual void dispose() override;
335
337
338 void StateChangedAtToolBoxControl( sal_uInt16 nSID, SfxItemState eState,
339 const SfxPoolItem* pState ) override;
340 };
341
342 class UNLESS_MERGELIBS(SVXCORE_DLLPUBLIC) DataNavigatorManager final : public SfxChildWindow
343 {
344 public:
345 SVX_DLLPRIVATE DataNavigatorManager( vcl::Window* pParent, sal_uInt16 nId,
346 SfxBindings* pBindings, SfxChildWinInfo* pInfo );
347 SFX_DECL_CHILDWINDOW( DataNavigatorManager );
348 };
349
351 {
352 private:
353 css::uno::Reference< css::xforms::XFormsUIHelper1 >
355 css::uno::Reference< css::beans::XPropertySet >
357 css::uno::Reference< css::beans::XPropertySet >
359
366
367 std::unique_ptr<weld::Frame> m_xItemFrame;
368 std::unique_ptr<weld::Label> m_xNameFT;
369 std::unique_ptr<weld::Entry> m_xNameED;
370 std::unique_ptr<weld::Label> m_xDefaultFT;
371 std::unique_ptr<weld::Entry> m_xDefaultED;
372 std::unique_ptr<weld::Button> m_xDefaultBtn;
373 std::unique_ptr<weld::Widget> m_xSettingsFrame;
374 std::unique_ptr<weld::ComboBox> m_xDataTypeLB;
375 std::unique_ptr<weld::CheckButton> m_xRequiredCB;
376 std::unique_ptr<weld::Button> m_xRequiredBtn;
377 std::unique_ptr<weld::CheckButton> m_xRelevantCB;
378 std::unique_ptr<weld::Button> m_xRelevantBtn;
379 std::unique_ptr<weld::CheckButton> m_xConstraintCB;
380 std::unique_ptr<weld::Button> m_xConstraintBtn;
381 std::unique_ptr<weld::CheckButton> m_xReadonlyCB;
382 std::unique_ptr<weld::Button> m_xReadonlyBtn;
383 std::unique_ptr<weld::CheckButton> m_xCalculateCB;
384 std::unique_ptr<weld::Button> m_xCalculateBtn;
385 std::unique_ptr<weld::Button> m_xOKBtn;
386
387 void Check(const weld::Toggleable* pBox);
388 DECL_LINK(CheckHdl, weld::Toggleable&, void);
389 DECL_LINK(ConditionHdl, weld::Button&, void);
390 DECL_LINK(OKHdl, weld::Button&, void);
391
392 void InitDialog();
393 void InitFromNode();
394 void InitDataTypeBox();
395
396 public:
398 weld::Window* pParent, ItemNode* _pNode,
399 const css::uno::Reference< css::xforms::XFormsUIHelper1 >& _rUIHelper );
400 virtual ~AddDataItemDialog() override;
401
402 void InitText( DataItemType _eType );
403 };
404
406 {
407 private:
410
411 css::uno::Reference< css::xforms::XFormsUIHelper1 >
413 css::uno::Reference< css::beans::XPropertySet >
415
416 std::unique_ptr<weld::TextView> m_xConditionED;
417 std::unique_ptr<weld::TextView> m_xResultWin;
418 std::unique_ptr<weld::Button> m_xEditNamespacesBtn;
419 std::unique_ptr<weld::Button> m_xOKBtn;
420
421 DECL_LINK(ModifyHdl, weld::TextView&, void);
422 DECL_LINK(ResultHdl, Timer *, void);
423 DECL_LINK(EditHdl, weld::Button&, void);
424 DECL_LINK(OKHdl, weld::Button&, void);
425
426 public:
428 OUString _aPropertyName, const css::uno::Reference< css::beans::XPropertySet >& _rBinding);
429 virtual ~AddConditionDialog() override;
430
431 const css::uno::Reference< css::xforms::XFormsUIHelper1 >& GetUIHelper() const { return m_xUIHelper; }
432 OUString GetCondition() const { return m_xConditionED->get_text(); }
433 void SetCondition(const OUString& _rCondition)
434 {
435 m_xConditionED->set_text(_rCondition);
436 m_aResultIdle.Start();
437 }
438 };
439
441 {
442 private:
444 std::vector< OUString > m_aRemovedList;
445
446 css::uno::Reference< css::container::XNameContainer >&
448
449 std::unique_ptr<weld::TreeView> m_xNamespacesList;
450 std::unique_ptr<weld::Button> m_xAddNamespaceBtn;
451 std::unique_ptr<weld::Button> m_xEditNamespaceBtn;
452 std::unique_ptr<weld::Button> m_xDeleteNamespaceBtn;
453 std::unique_ptr<weld::Button> m_xOKBtn;
454
455 DECL_LINK(SelectHdl, weld::TreeView&, void);
456 DECL_LINK(ClickHdl, weld::Button&, void);
457 DECL_LINK(OKHdl, weld::Button&, void);
458
459 void LoadNamespaces();
460
461 public:
462 NamespaceItemDialog(AddConditionDialog* pParent, css::uno::Reference< css::container::XNameContainer >& _rContainer);
463 virtual ~NamespaceItemDialog() override;
464 };
465
467 {
468 private:
470
471 std::unique_ptr<weld::Entry> m_xPrefixED;
472 std::unique_ptr<weld::Entry> m_xUrlED;
473 std::unique_ptr<weld::Button> m_xOKBtn;
474 std::unique_ptr<weld::Label> m_xAltTitle;
475
476 DECL_LINK(OKHdl, weld::Button&, void);
477
478 public:
479 ManageNamespaceDialog(weld::Window* pParent, AddConditionDialog* _pCondDlg, bool bIsEdit);
480 virtual ~ManageNamespaceDialog() override;
481
482 void SetNamespace(const OUString& _rPrefix, const OUString& _rURL)
483 {
484 m_xPrefixED->set_text(_rPrefix);
485 m_xUrlED->set_text(_rURL);
486 }
487 OUString GetPrefix() const { return m_xPrefixED->get_text(); }
488 OUString GetURL() const { return m_xUrlED->get_text(); }
489 };
490
492 {
493 private:
496
498
499 css::uno::Reference< css::xforms::XFormsUIHelper1 >
501 css::uno::Reference< css::xforms::XSubmission >
503 css::uno::Reference< css::beans::XPropertySet >
505 css::uno::Reference< css::beans::XPropertySet >
507 css::uno::Reference< css::beans::XPropertySet >
509
510 std::unique_ptr<weld::Entry> m_xNameED;
511 std::unique_ptr<weld::Entry> m_xActionED;
512 std::unique_ptr<weld::ComboBox> m_xMethodLB;
513 std::unique_ptr<weld::Entry> m_xRefED;
514 std::unique_ptr<weld::Button> m_xRefBtn;
515 std::unique_ptr<weld::ComboBox> m_xBindLB;
516 std::unique_ptr<weld::ComboBox> m_xReplaceLB;
517 std::unique_ptr<weld::Button> m_xOKBtn;
518
519 DECL_LINK(RefHdl, weld::Button&, void);
520 DECL_LINK(OKHdl, weld::Button&, void);
521
522 void FillAllBoxes();
523
524 public:
526 const css::uno::Reference< css::xforms::XFormsUIHelper1 >& rUIHelper);
527 virtual ~AddSubmissionDialog() override;
528
529 const css::uno::Reference< css::xforms::XSubmission >& GetNewSubmission() const { return m_xNewSubmission; }
530 };
531
533 {
534 private:
535 std::unique_ptr<weld::Entry> m_xNameED;
536 std::unique_ptr<weld::CheckButton> m_xModifyCB;
537 std::unique_ptr<weld::Label> m_xAltTitle;
538
539 public:
540 AddModelDialog(weld::Window* pParent, bool _bEdit);
541 virtual ~AddModelDialog() override;
542
543 OUString GetName() const { return m_xNameED->get_text(); }
544 void SetName( const OUString& _rName ) { m_xNameED->set_text( _rName );}
545
546 bool GetModifyDoc() const { return m_xModifyCB->get_active(); }
547 void SetModifyDoc( const bool bModify ) { m_xModifyCB->set_active(bModify); }
548 };
549
551 {
552 private:
554
555 std::unique_ptr<weld::Entry> m_xNameED;
556 std::unique_ptr<SvtURLBox> m_xURLED;
557 std::unique_ptr<weld::Button> m_xFilePickerBtn;
558 std::unique_ptr<weld::CheckButton> m_xLinkInstanceCB;
559 std::unique_ptr<weld::Label> m_xAltTitle;
560
561 DECL_LINK(FilePickerHdl, weld::Button&, void);
562
563 public:
564 AddInstanceDialog(weld::Window* pParent, bool _bEdit);
565 virtual ~AddInstanceDialog() override;
566
567 OUString GetName() const { return m_xNameED->get_text(); }
568 void SetName( const OUString& rName ) { m_xNameED->set_text( rName );}
569 OUString GetURL() const { return m_xURLED->get_active_text(); }
570 void SetURL( const OUString& rURL ) { m_xURLED->set_entry_text( rURL );}
571 bool IsLinkInstance() const { return m_xLinkInstanceCB->get_active(); }
572 void SetLinkInstance( bool bLink ) { m_xLinkInstanceCB->set_active(bLink); }
573 };
574
576 {
577 public:
579 };
580}
581
582
583#endif // INCLUDED_SVX_SOURCE_INC_DATANAVI_HXX
584
585/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
SfxChildAlignment
#define SFX_DECL_CHILDWINDOW(Class)
virtual void Start(bool bStartTimer=true) override
SfxBindings * pBindings
virtual void StateChanged(StateChangedType nStateChange) override
SfxChildWindow * pMgr
DECL_LINK(OKHdl, weld::Button &, void)
std::unique_ptr< weld::TextView > m_xConditionED
Definition: datanavi.hxx:416
DECL_LINK(EditHdl, weld::Button &, void)
DECL_LINK(ModifyHdl, weld::TextView &, void)
OUString GetCondition() const
Definition: datanavi.hxx:432
const css::uno::Reference< css::xforms::XFormsUIHelper1 > & GetUIHelper() const
Definition: datanavi.hxx:431
css::uno::Reference< css::xforms::XFormsUIHelper1 > m_xUIHelper
Definition: datanavi.hxx:412
std::unique_ptr< weld::Button > m_xOKBtn
Definition: datanavi.hxx:419
std::unique_ptr< weld::TextView > m_xResultWin
Definition: datanavi.hxx:417
std::unique_ptr< weld::Button > m_xEditNamespacesBtn
Definition: datanavi.hxx:418
css::uno::Reference< css::beans::XPropertySet > m_xBinding
Definition: datanavi.hxx:414
DECL_LINK(ResultHdl, Timer *, void)
void SetCondition(const OUString &_rCondition)
Definition: datanavi.hxx:433
std::unique_ptr< weld::Button > m_xRelevantBtn
Definition: datanavi.hxx:378
css::uno::Reference< css::beans::XPropertySet > m_xBinding
Definition: datanavi.hxx:356
std::unique_ptr< weld::Widget > m_xSettingsFrame
Definition: datanavi.hxx:373
css::uno::Reference< css::xforms::XFormsUIHelper1 > m_xUIHelper
Definition: datanavi.hxx:354
DECL_LINK(OKHdl, weld::Button &, void)
std::unique_ptr< weld::ComboBox > m_xDataTypeLB
Definition: datanavi.hxx:374
std::unique_ptr< weld::Button > m_xCalculateBtn
Definition: datanavi.hxx:384
std::unique_ptr< weld::CheckButton > m_xReadonlyCB
Definition: datanavi.hxx:381
css::uno::Reference< css::beans::XPropertySet > m_xTempBinding
Definition: datanavi.hxx:358
std::unique_ptr< weld::Button > m_xOKBtn
Definition: datanavi.hxx:385
std::unique_ptr< weld::Button > m_xConstraintBtn
Definition: datanavi.hxx:380
std::unique_ptr< weld::Button > m_xRequiredBtn
Definition: datanavi.hxx:376
std::unique_ptr< weld::Entry > m_xDefaultED
Definition: datanavi.hxx:371
std::unique_ptr< weld::CheckButton > m_xCalculateCB
Definition: datanavi.hxx:383
DECL_LINK(CheckHdl, weld::Toggleable &, void)
DECL_LINK(ConditionHdl, weld::Button &, void)
std::unique_ptr< weld::Label > m_xNameFT
Definition: datanavi.hxx:368
std::unique_ptr< weld::CheckButton > m_xRequiredCB
Definition: datanavi.hxx:375
std::unique_ptr< weld::Button > m_xDefaultBtn
Definition: datanavi.hxx:372
std::unique_ptr< weld::Frame > m_xItemFrame
Definition: datanavi.hxx:367
std::unique_ptr< weld::Label > m_xDefaultFT
Definition: datanavi.hxx:370
std::unique_ptr< weld::Button > m_xReadonlyBtn
Definition: datanavi.hxx:382
std::unique_ptr< weld::CheckButton > m_xConstraintCB
Definition: datanavi.hxx:379
std::unique_ptr< weld::Entry > m_xNameED
Definition: datanavi.hxx:369
std::unique_ptr< weld::CheckButton > m_xRelevantCB
Definition: datanavi.hxx:377
void SetName(const OUString &rName)
Definition: datanavi.hxx:568
std::unique_ptr< weld::CheckButton > m_xLinkInstanceCB
Definition: datanavi.hxx:558
std::unique_ptr< SvtURLBox > m_xURLED
Definition: datanavi.hxx:556
void SetLinkInstance(bool bLink)
Definition: datanavi.hxx:572
void SetURL(const OUString &rURL)
Definition: datanavi.hxx:570
std::unique_ptr< weld::Button > m_xFilePickerBtn
Definition: datanavi.hxx:557
OUString GetURL() const
Definition: datanavi.hxx:569
std::unique_ptr< weld::Label > m_xAltTitle
Definition: datanavi.hxx:559
DECL_LINK(FilePickerHdl, weld::Button &, void)
std::unique_ptr< weld::Entry > m_xNameED
Definition: datanavi.hxx:555
bool IsLinkInstance() const
Definition: datanavi.hxx:571
OUString GetName() const
Definition: datanavi.hxx:567
void SetModifyDoc(const bool bModify)
Definition: datanavi.hxx:547
bool GetModifyDoc() const
Definition: datanavi.hxx:546
std::unique_ptr< weld::Entry > m_xNameED
Definition: datanavi.hxx:535
std::unique_ptr< weld::Label > m_xAltTitle
Definition: datanavi.hxx:537
std::unique_ptr< weld::CheckButton > m_xModifyCB
Definition: datanavi.hxx:536
OUString GetName() const
Definition: datanavi.hxx:543
void SetName(const OUString &_rName)
Definition: datanavi.hxx:544
std::unique_ptr< weld::Button > m_xRefBtn
Definition: datanavi.hxx:514
std::unique_ptr< weld::ComboBox > m_xMethodLB
Definition: datanavi.hxx:512
const css::uno::Reference< css::xforms::XSubmission > & GetNewSubmission() const
Definition: datanavi.hxx:529
css::uno::Reference< css::xforms::XSubmission > m_xNewSubmission
Definition: datanavi.hxx:502
ReplaceString m_aReplaceString
Definition: datanavi.hxx:495
css::uno::Reference< css::xforms::XFormsUIHelper1 > m_xUIHelper
Definition: datanavi.hxx:500
std::unique_ptr< weld::Entry > m_xActionED
Definition: datanavi.hxx:511
std::unique_ptr< weld::ComboBox > m_xBindLB
Definition: datanavi.hxx:515
css::uno::Reference< css::beans::XPropertySet > m_xCreatedBinding
Definition: datanavi.hxx:508
DECL_LINK(OKHdl, weld::Button &, void)
std::unique_ptr< weld::ComboBox > m_xReplaceLB
Definition: datanavi.hxx:516
DECL_LINK(RefHdl, weld::Button &, void)
css::uno::Reference< css::beans::XPropertySet > m_xTempBinding
Definition: datanavi.hxx:506
std::unique_ptr< weld::Entry > m_xNameED
Definition: datanavi.hxx:510
std::unique_ptr< weld::Entry > m_xRefED
Definition: datanavi.hxx:513
css::uno::Reference< css::beans::XPropertySet > m_xSubmission
Definition: datanavi.hxx:504
std::unique_ptr< weld::Button > m_xOKBtn
Definition: datanavi.hxx:517
weld::Window * GetFrameWeld() const
Definition: datanavi.hxx:317
DataNavigatorWindow(vcl::Window *pParent, weld::Builder &rBuilder, SfxBindings const *pBindings)
Definition: datanavi.cxx:1287
void NotifyChanges(bool _bLoadAll=false)
Definition: datanavi.cxx:1967
void CreateInstancePage(const css::uno::Sequence< css::beans::PropertyValue > &_xPropSeq)
Definition: datanavi.cxx:1918
DECL_LINK(UpdateHdl, Timer *, void)
std::unique_ptr< weld::MenuButton > m_xModelBtn
Definition: datanavi.hxx:261
void DisableNotify(bool _bDisable)
Definition: datanavi.hxx:320
css::uno::Reference< css::frame::XFrame > m_xFrame
Definition: datanavi.hxx:285
static bool IsAdditionalPage(std::u16string_view rIdent)
Definition: datanavi.cxx:1674
DECL_LINK(ModelSelectListBoxHdl, weld::ComboBox &, void)
XFormsPage * GetPage(const OUString &rCurId)
Definition: datanavi.cxx:1715
std::unique_ptr< XFormsPage > m_xSubmissionPage
Definition: datanavi.hxx:266
std::unique_ptr< weld::ComboBox > m_xModelsBox
Definition: datanavi.hxx:260
void ClearAllPageModels(bool bClearPages)
Definition: datanavi.cxx:1894
std::unique_ptr< weld::Notebook > m_xTabCtrl
Definition: datanavi.hxx:262
std::vector< std::unique_ptr< XFormsPage > > m_aPageList
Definition: datanavi.hxx:273
css::uno::Reference< css::frame::XModel > m_xFrameModel
Definition: datanavi.hxx:287
void ModelSelectHdl(const weld::ComboBox *)
Definition: datanavi.cxx:1371
std::unique_ptr< XFormsPage > m_xBindingPage
Definition: datanavi.hxx:267
DECL_LINK(ActivatePageHdl, const OUString &, void)
void SetPageModel(const OUString &rCurId)
Definition: datanavi.cxx:1811
std::vector< css::uno::Reference< css::xml::dom::events::XEventTarget > > m_aEventTargetList
Definition: datanavi.hxx:277
::rtl::Reference< DataListener > m_xDataListener
Definition: datanavi.hxx:281
void AddContainerBroadcaster(const css::uno::Reference< css::container::XContainer > &xContainer)
Definition: datanavi.cxx:1987
VclPtr< vcl::Window > m_xParent
Definition: datanavi.hxx:259
css::uno::Reference< css::container::XNameContainer > m_xDataContainer
Definition: datanavi.hxx:283
DECL_LINK(MenuActivateHdl, weld::Toggleable &, void)
void AddEventBroadcaster(const css::uno::Reference< css::xml::dom::events::XEventTarget > &xTarget)
Definition: datanavi.cxx:1995
std::unique_ptr< XFormsPage > m_xInstPage
Definition: datanavi.hxx:265
DECL_LINK(MenuSelectHdl, const OUString &, void)
OUString GetNewPageId() const
Definition: datanavi.cxx:1940
std::vector< css::uno::Reference< css::container::XContainer > > m_aContainerList
Definition: datanavi.hxx:275
bool HasFirstInstancePage() const
Definition: datanavi.cxx:1935
std::unique_ptr< weld::MenuButton > m_xInstanceBtn
Definition: datanavi.hxx:263
OUString GetCurrentPage() const
Definition: datanavi.cxx:1752
virtual Size CalcDockingSize(SfxChildAlignment) override
Definition: datanavi.cxx:2050
void StateChangedAtToolBoxControl(sal_uInt16 nSID, SfxItemState eState, const SfxPoolItem *pState) override
Definition: datanavi.cxx:2046
virtual void dispose() override
Definition: datanavi.cxx:2039
virtual ~DataNavigator() override
Definition: datanavi.cxx:2034
std::unique_ptr< DataNavigatorWindow > m_xDataWin
Definition: datanavi.hxx:326
DataNavigator(SfxBindings *pBindings, SfxChildWindow *pMgr, vcl::Window *pParent)
Definition: datanavi.cxx:2022
virtual SfxChildAlignment CheckAlignment(SfxChildAlignment, SfxChildAlignment) override
Definition: datanavi.cxx:2058
DataTreeDropTarget(weld::TreeView &rWidget)
Definition: datanavi.cxx:121
virtual sal_Int8 ExecuteDrop(const ExecuteDropEvent &rEvt) override
Definition: datanavi.cxx:131
virtual sal_Int8 AcceptDrop(const AcceptDropEvent &rEvt) override
Definition: datanavi.cxx:126
OUString GetPrefix() const
Definition: datanavi.hxx:487
DECL_LINK(OKHdl, weld::Button &, void)
void SetNamespace(const OUString &_rPrefix, const OUString &_rURL)
Definition: datanavi.hxx:482
std::unique_ptr< weld::Entry > m_xPrefixED
Definition: datanavi.hxx:471
AddConditionDialog * m_pConditionDlg
Definition: datanavi.hxx:469
std::unique_ptr< weld::Button > m_xOKBtn
Definition: datanavi.hxx:473
std::unique_ptr< weld::Label > m_xAltTitle
Definition: datanavi.hxx:474
std::unique_ptr< weld::Entry > m_xUrlED
Definition: datanavi.hxx:472
static constexpr OUStringLiteral m_sPut_API
Definition: datanavi.hxx:133
OUString toAPI(std::u16string_view rStr) const
convert from UI to API; put is default
Definition: datanavi.hxx:159
static constexpr OUStringLiteral m_sPost_API
Definition: datanavi.hxx:132
MethodString(const MethodString &)=delete
OUString const & toUI(std::u16string_view rStr) const
convert from API to UI; put is default.
Definition: datanavi.hxx:148
static constexpr OUStringLiteral m_sGet_API
Definition: datanavi.hxx:134
std::unique_ptr< weld::TreeView > m_xNamespacesList
Definition: datanavi.hxx:449
std::unique_ptr< weld::Button > m_xOKBtn
Definition: datanavi.hxx:453
std::unique_ptr< weld::Button > m_xAddNamespaceBtn
Definition: datanavi.hxx:450
DECL_LINK(OKHdl, weld::Button &, void)
std::unique_ptr< weld::Button > m_xEditNamespaceBtn
Definition: datanavi.hxx:451
css::uno::Reference< css::container::XNameContainer > & m_rNamespaces
Definition: datanavi.hxx:447
AddConditionDialog * m_pConditionDlg
Definition: datanavi.hxx:443
DECL_LINK(SelectHdl, weld::TreeView &, void)
std::vector< OUString > m_aRemovedList
Definition: datanavi.hxx:444
DECL_LINK(ClickHdl, weld::Button &, void)
std::unique_ptr< weld::Button > m_xDeleteNamespaceBtn
Definition: datanavi.hxx:452
static constexpr OUStringLiteral m_sInstance_API
Definition: datanavi.hxx:88
OUString const & toUI(std::u16string_view rStr) const
convert submission replace string from API value to UI value.
Definition: datanavi.hxx:103
static constexpr OUStringLiteral m_sNone_API
Definition: datanavi.hxx:89
OUString toAPI(std::u16string_view rStr) const
convert submission replace string from UI to API.
Definition: datanavi.hxx:115
static constexpr OUStringLiteral m_sDoc_API
Definition: datanavi.hxx:87
ReplaceString(const ReplaceString &)=delete
OUString LoadInstance(const css::uno::Sequence< css::beans::PropertyValue > &_xPropSeq)
Definition: datanavi.cxx:1140
void AddEntry(const css::uno::Reference< css::beans::XPropertySet > &_rPropSet, weld::TreeIter *pRet=nullptr)
std::unique_ptr< weld::Toolbar > m_xToolBox
Definition: datanavi.hxx:187
std::unique_ptr< weld::Menu > m_xMenu
Definition: datanavi.hxx:188
void AddEntry(std::unique_ptr< ItemNode > _pNewNode, bool _bIsElement, weld::TreeIter *pRet=nullptr)
Definition: datanavi.cxx:706
void SetInstanceName(const OUString &name)
Definition: datanavi.hxx:245
DECL_LINK(KeyInputHdl, const KeyEvent &, bool)
OUString SetModel(const css::uno::Reference< css::xforms::XModel > &_xModel, int _nPagePos)
Definition: datanavi.cxx:990
css::uno::Reference< css::xforms::XFormsUIHelper1 > m_xUIHelper
Definition: datanavi.hxx:197
void AddChildren(const weld::TreeIter *_pParent, const css::uno::Reference< css::xml::dom::XNode > &_xNode)
Definition: datanavi.cxx:329
DataNavigatorWindow * m_pNaviWin
Definition: datanavi.hxx:199
std::unique_ptr< weld::TreeView > m_xItemList
Definition: datanavi.hxx:189
void SetLinkOnce(bool bLinkOnce)
Definition: datanavi.hxx:247
const OUString & GetInstanceName() const
Definition: datanavi.hxx:242
o3tl::sorted_vector< OUString > m_aRemovedMenuEntries
Definition: datanavi.hxx:192
DECL_LINK(TbxSelectHdl, const OUString &, void)
void EditEntry(const css::uno::Reference< css::beans::XPropertySet > &_rPropSet)
Definition: datanavi.cxx:806
DECL_LINK(PopupMenuHdl, const CommandEvent &, bool)
DataTreeDropTarget m_aDropHelper
Definition: datanavi.hxx:194
OUString GetServiceNameForNode(const css::uno::Reference< css::xml::dom::XNode > &xNode)
Definition: datanavi.hxx:251
ReplaceString m_aReplaceString
Definition: datanavi.hxx:184
XFormsPage(weld::Container *pParent, DataNavigatorWindow *_pNaviWin, DataGroupType _eGroup)
Definition: datanavi.cxx:201
css::uno::Reference< css::beans::XPropertySet > GetBindingForNode(const css::uno::Reference< css::xml::dom::XNode > &xNode)
Definition: datanavi.hxx:250
bool DoMenuAction(std::u16string_view rMenuID)
Definition: datanavi.cxx:1182
bool HasModel() const
Definition: datanavi.hxx:233
bool GetLinkOnce() const
Definition: datanavi.hxx:244
DataGroupType m_eGroup
Definition: datanavi.hxx:201
weld::Container * m_pParent
Definition: datanavi.hxx:186
OUString m_sInstanceURL
Definition: datanavi.hxx:207
virtual ~XFormsPage() override
Definition: datanavi.cxx:244
void SetMenuEntrySensitive(const OUString &rIdent, bool bSensitive)
Definition: datanavi.cxx:1187
void SetInstanceURL(const OUString &url)
Definition: datanavi.hxx:246
const css::uno::Reference< css::xforms::XFormsUIHelper1 > & GetXFormsHelper() const
Definition: datanavi.hxx:253
MethodString m_aMethodString
Definition: datanavi.hxx:183
DECL_LINK(ItemSelectHdl, weld::TreeView &, void)
const OUString & GetInstanceURL() const
Definition: datanavi.hxx:243
OUString m_sInstanceName
Definition: datanavi.hxx:206
void DeleteAndClearTree()
Definition: datanavi.cxx:183
std::unique_ptr< weld::TreeIter > m_xScratchIter
Definition: datanavi.hxx:190
bool DoToolBoxAction(std::u16string_view rToolBoxID)
Definition: datanavi.cxx:400
OUString SvxResId(TranslateId aId)
Definition: dialmgr.cxx:24
float u
const char * name
class FmSearchEngine - Impl class for FmSearchDialog
DataItemType
Definition: datanavi.hxx:68
@ DITAttribute
Definition: datanavi.hxx:71
@ DITElement
Definition: datanavi.hxx:72
@ DITNone
Definition: datanavi.hxx:69
@ DITBinding
Definition: datanavi.hxx:73
@ DITText
Definition: datanavi.hxx:70
DataGroupType
Definition: datanavi.hxx:60
@ DGTUnknown
Definition: datanavi.hxx:61
@ DGTSubmission
Definition: datanavi.hxx:63
@ DGTBinding
Definition: datanavi.hxx:64
@ DGTInstance
Definition: datanavi.hxx:62
SfxItemState
#define SVX_DLLPRIVATE
Definition: svxdllapi.h:30
signed char sal_Int8