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