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 <vcl/builder.hxx>
23 #include <vcl/fixed.hxx>
24 #include <vcl/layout.hxx>
25 #include <vcl/lstbox.hxx>
26 #include <vcl/menubtn.hxx>
27 #include <vcl/tabctrl.hxx>
28 #include <vcl/tabpage.hxx>
29 #include <vcl/toolbox.hxx>
30 #include <vcl/idle.hxx>
31 #include <vcl/weld.hxx>
32 #include <svtools/inettbc.hxx>
33 #include <vcl/treelistbox.hxx>
34 #include <sfx2/dockwin.hxx>
35 #include <sfx2/childwin.hxx>
36 #include <sfx2/ctrlitem.hxx>
37 #include <svx/dialmgr.hxx>
38 #include <svx/strings.hrc>
39 #include <svx/svxdllapi.h>
40 #include <rtl/ref.hxx>
41 #include <com/sun/star/beans/XPropertySet.hpp>
42 #include <com/sun/star/container/XContainer.hpp>
43 #include <com/sun/star/container/XNameContainer.hpp>
44 #include <com/sun/star/frame/XFrame.hpp>
45 #include <com/sun/star/xforms/XFormsUIHelper1.hpp>
46 #include <com/sun/star/xforms/XModel.hpp>
47 #include <com/sun/star/xforms/XSubmission.hpp>
48 #include <com/sun/star/xml/dom/XNode.hpp>
49 #include <com/sun/star/xml/dom/events/XEventTarget.hpp>
50 
51 #include "datalistener.hxx"
52 
53 #include <memory>
54 #include <vector>
55 
56 class FmFormShell;
57 
58 
59 namespace svxform
60 {
61 
62 
64  {
69  };
70 
72  {
73  DITNone = 0,
78  };
79 
80  struct ItemNode;
81  class XFormsPage;
82  class DataNavigatorWindow;
83  class AddInstanceDialog;
84 
86  {
87  private:
88  std::unique_ptr<VclBuilder> m_xBuilder;
92  sal_uInt16 m_nAddId;
93  sal_uInt16 m_nAddElementId;
94  sal_uInt16 m_nAddAttributeId;
95  sal_uInt16 m_nEditId;
96  sal_uInt16 m_nRemoveId;
97 
98  protected:
100 
101  public:
102  DataTreeListBox( vcl::Window* pParent, WinBits nBits );
103  virtual ~DataTreeListBox() override;
104  virtual void dispose() override;
105 
106  virtual VclPtr<PopupMenu> CreateContextMenu() override;
107  virtual void ExecuteContextMenuAction( sal_uInt16 _nSelectedPopupEntry ) override;
108  virtual sal_Int8 AcceptDrop( const AcceptDropEvent& rEvt ) override;
109  virtual sal_Int8 ExecuteDrop( const ExecuteDropEvent& rEvt ) override;
110  virtual void StartDrag( sal_Int8 nAction, const Point& rPosPixel ) override;
111 
112  void SetGroup(DataGroupType _eGroup);
113  void SetXFormsPage(XFormsPage* _pPage);
114  void SetToolBoxItemIds(sal_uInt16 _nAddId,
115  sal_uInt16 _nAddElementId,
116  sal_uInt16 _nAddAttributeId,
117  sal_uInt16 _nEditId,
118  sal_uInt16 _nRemoveId);
119  void DeleteAndClear();
120  void RemoveEntry( SvTreeListEntry const * _pEntry );
121  };
122 
124  {
125  OUString m_sDoc_UI;
126  OUString m_sInstance_UI;
127  OUString m_sNone_UI;
128 
129  static constexpr OUStringLiteral const m_sDoc_API = "all";
130  static constexpr OUStringLiteral const m_sInstance_API = "instance";
131  static constexpr OUStringLiteral const m_sNone_API = "none";
132 
133  ReplaceString( const ReplaceString& ) = delete;
134 
135  public:
137  {
138  m_sDoc_UI = SvxResId(RID_STR_REPLACE_DOC);
139  m_sInstance_UI = SvxResId(RID_STR_REPLACE_INST);
140  m_sNone_UI = SvxResId(RID_STR_REPLACE_NONE);
141  }
142 
145  OUString const & toUI( const OUString& rStr ) const
146  {
147  if( rStr == m_sDoc_API )
148  return m_sDoc_UI;
149  else if( rStr == m_sInstance_API )
150  return m_sInstance_UI;
151  else
152  return m_sNone_UI;
153  }
154 
157  OUString toAPI( const OUString& rStr ) const
158  {
159  if( rStr == m_sDoc_UI )
160  return m_sDoc_API;
161  else if( rStr == m_sInstance_UI )
162  return m_sInstance_API;
163  else
164  return m_sNone_API;
165  }
166  };
167 
169  {
170  OUString m_sPost_UI;
171  OUString m_sPut_UI;
172  OUString m_sGet_UI;
173 
174  static constexpr OUStringLiteral m_sPost_API = "post";
175  static constexpr OUStringLiteral m_sPut_API = "put";
176  static constexpr OUStringLiteral m_sGet_API = "get";
177 
178  MethodString( const MethodString& ) = delete;
179 
180  public:
181 
183  {
184  m_sPost_UI = SvxResId(RID_STR_METHOD_POST);
185  m_sPut_UI = SvxResId(RID_STR_METHOD_PUT);
186  m_sGet_UI = SvxResId(RID_STR_METHOD_GET);
187  }
188 
190  OUString const & toUI( const OUString& rStr ) const
191  {
192  if( rStr == m_sGet_API )
193  return m_sGet_UI;
194  else if( rStr == m_sPost_API )
195  return m_sPost_UI;
196  else
197  return m_sPut_UI;
198  }
199 
201  OUString toAPI( const OUString& rStr ) const
202  {
203  if( rStr == m_sGet_UI )
204  return m_sGet_API;
205  else if( rStr == m_sPost_UI )
206  return m_sPost_API;
207  else
208  return m_sPut_API;
209  }
210  };
211 
212  class XFormsPage : public TabPage
213  {
214  private:
217 
220  sal_uInt16 m_nAddId;
221  sal_uInt16 m_nAddElementId;
222  sal_uInt16 m_nAddAttributeId;
223  sal_uInt16 m_nEditId;
224  sal_uInt16 m_nRemoveId;
225 
226  css::uno::Reference< css::xforms::XFormsUIHelper1 >
228 
232  // these strings are not valid on the Submission and Binding Page
233  // mb: furthermore these are properties of an instance, thus
234  // it would be much better to get/set them through the UIHelper
235  // interface.
236  OUString m_sInstanceName;
237  OUString m_sInstanceURL;
239 
240  DECL_LINK(TbxSelectHdl, ToolBox *, void);
241  DECL_LINK(ItemSelectHdl, SvTreeListBox*, void);
242 
243  void AddChildren(SvTreeListEntry* _pParent,
244  const css::uno::Reference< css::xml::dom::XNode >& _xNode);
245  bool DoToolBoxAction( sal_uInt16 _nToolBoxID );
246  SvTreeListEntry* AddEntry( std::unique_ptr<ItemNode> _pNewNode, bool _bIsElement );
247  SvTreeListEntry* AddEntry( const css::uno::Reference< css::beans::XPropertySet >& _rPropSet );
248  void EditEntry( const css::uno::Reference< css::beans::XPropertySet >& _rPropSet );
249  bool RemoveEntry();
250 
251  protected:
252  virtual bool EventNotify( NotifyEvent& rNEvt ) override;
253 
254  public:
255  XFormsPage( vcl::Window* pParent, DataNavigatorWindow* _pNaviWin, DataGroupType _eGroup );
256  virtual ~XFormsPage() override;
257  virtual void dispose() override;
258 
259  virtual void Resize() override;
260 
261  bool HasModel() const { return m_bHasModel; }
262  OUString SetModel( const css::uno::Reference< css::xforms::XModel > & _xModel, sal_uInt16 _nPagePos );
263  void ClearModel();
264  OUString LoadInstance(const css::uno::Sequence< css::beans::PropertyValue >& _xPropSeq);
265 
266  bool DoMenuAction( sal_uInt16 _nMenuID );
267  void EnableMenuItems( Menu* _pMenu );
268 
269  const OUString& GetInstanceName() const { return m_sInstanceName; }
270  const OUString& GetInstanceURL() const { return m_sInstanceURL; }
271  bool GetLinkOnce() const { return m_bLinkOnce; }
272  void SetInstanceName( const OUString &name ) { m_sInstanceName=name; }
273  void SetInstanceURL( const OUString &url ) { m_sInstanceURL=url; }
274  void SetLinkOnce( bool bLinkOnce ) { m_bLinkOnce=bLinkOnce; }
275 
276  css::uno::Reference<css::beans::XPropertySet>
277  GetBindingForNode( const css::uno::Reference<css::xml::dom::XNode> &xNode ) { return m_xUIHelper->getBindingForNode(xNode,true); }
278  OUString GetServiceNameForNode( const css::uno::Reference<css::xml::dom::XNode> &xNode ) { return m_xUIHelper->getDefaultServiceNameForNode(xNode); }
279  const css::uno::Reference< css::xforms::XFormsUIHelper1 >&
280  GetXFormsHelper() const { return m_xUIHelper; }
281  };
282 
284  {
285  private:
290 
294 
298  std::vector< VclPtr<XFormsPage> >
300  std::vector< css::uno::Reference< css::container::XContainer > >
302  std::vector< css::uno::Reference< css::xml::dom::events::XEventTarget > >
305 
308  css::uno::Reference< css::container::XNameContainer >
310  css::uno::Reference< css::frame::XFrame >
312  css::uno::Reference< css::frame::XModel >
314 
315  DECL_LINK( ModelSelectListBoxHdl, ListBox&, void );
316  DECL_LINK( MenuSelectHdl, MenuButton *, void );
317  DECL_LINK( MenuActivateHdl, MenuButton *, void );
318  DECL_LINK( ActivatePageHdl, TabControl*, void);
319  DECL_LINK( UpdateHdl, Timer *, void);
320  void ModelSelectHdl(ListBox const *);
321  XFormsPage* GetCurrentPage( sal_uInt16& rCurId );
322  void LoadModels();
323  void SetPageModel();
324  void ClearAllPageModels( bool bClearPages );
325  void InitPages();
326  void CreateInstancePage( const css::uno::Sequence< css::beans::PropertyValue >& _xPropSeq );
327  bool HasFirstInstancePage() const;
328  sal_uInt16 GetNewPageId() const;
329 
330  bool IsAdditionalPage(sal_uInt16 nPageId) const;
331 
332  protected:
333  virtual void Resize() override;
334  virtual Size GetOptimalSize() const override;
335 
336  public:
337  DataNavigatorWindow( vcl::Window* pParent, SfxBindings const * pBindings );
338  virtual ~DataNavigatorWindow() override;
339  virtual void dispose() override;
340 
341  static void SetDocModified();
342  void NotifyChanges( bool _bLoadAll = false );
343  void AddContainerBroadcaster( const css::uno::Reference< css::container::XContainer > & xContainer );
344  void AddEventBroadcaster( const css::uno::Reference< css::xml::dom::events::XEventTarget >& xTarget );
345  void RemoveBroadcaster();
346 
347  bool IsShowDetails() const { return m_bShowDetails; }
348  void DisableNotify( bool _bDisable ) { m_bIsNotifyDisabled = _bDisable; }
349  };
350 
352  {
353  private:
355 
356  protected:
357  virtual void Resize() override;
358  virtual Size CalcDockingSize( SfxChildAlignment ) override;
360 
361  public:
363  virtual ~DataNavigator() override;
364  virtual void dispose() override;
365 
366  using Window::Update;
368 
369  void StateChanged( sal_uInt16 nSID, SfxItemState eState,
370  const SfxPoolItem* pState ) override;
371  };
372 
374  {
375  public:
376  SVX_DLLPRIVATE DataNavigatorManager( vcl::Window* pParent, sal_uInt16 nId,
377  SfxBindings* pBindings, SfxChildWinInfo* pInfo );
378  SFX_DECL_CHILDWINDOW( DataNavigatorManager );
379  };
380 
382  {
383  private:
384  css::uno::Reference< css::xforms::XFormsUIHelper1 >
386  css::uno::Reference< css::beans::XPropertySet >
388  css::uno::Reference< css::beans::XPropertySet >
390 
393  OUString const m_sFL_Element;
394  OUString const m_sFL_Attribute;
395  OUString const m_sFL_Binding;
396  OUString const m_sFT_BindingExp;
397 
398  std::unique_ptr<weld::Frame> m_xItemFrame;
399  std::unique_ptr<weld::Label> m_xNameFT;
400  std::unique_ptr<weld::Entry> m_xNameED;
401  std::unique_ptr<weld::Label> m_xDefaultFT;
402  std::unique_ptr<weld::Entry> m_xDefaultED;
403  std::unique_ptr<weld::Button> m_xDefaultBtn;
404  std::unique_ptr<weld::Widget> m_xSettingsFrame;
405  std::unique_ptr<weld::Label> m_xDataTypeFT;
406  std::unique_ptr<weld::ComboBox> m_xDataTypeLB;
407  std::unique_ptr<weld::CheckButton> m_xRequiredCB;
408  std::unique_ptr<weld::Button> m_xRequiredBtn;
409  std::unique_ptr<weld::CheckButton> m_xRelevantCB;
410  std::unique_ptr<weld::Button> m_xRelevantBtn;
411  std::unique_ptr<weld::CheckButton> m_xConstraintCB;
412  std::unique_ptr<weld::Button> m_xConstraintBtn;
413  std::unique_ptr<weld::CheckButton> m_xReadonlyCB;
414  std::unique_ptr<weld::Button> m_xReadonlyBtn;
415  std::unique_ptr<weld::CheckButton> m_xCalculateCB;
416  std::unique_ptr<weld::Button> m_xCalculateBtn;
417  std::unique_ptr<weld::Button> m_xOKBtn;
418 
419  void Check(const weld::ToggleButton* pBox);
420  DECL_LINK(CheckHdl, weld::ToggleButton&, void);
421  DECL_LINK(ConditionHdl, weld::Button&, void);
422  DECL_LINK(OKHdl, weld::Button&, void);
423 
424  void InitDialog();
425  void InitFromNode();
426  void InitDataTypeBox();
427 
428  public:
430  weld::Window* pParent, ItemNode* _pNode,
431  const css::uno::Reference< css::xforms::XFormsUIHelper1 >& _rUIHelper );
432  virtual ~AddDataItemDialog() override;
433 
434  void InitText( DataItemType _eType );
435  };
436 
438  {
439  private:
441  OUString const m_sPropertyName;
442 
443  css::uno::Reference< css::xforms::XFormsUIHelper1 >
445  css::uno::Reference< css::beans::XPropertySet >
447 
448  std::unique_ptr<weld::TextView> m_xConditionED;
449  std::unique_ptr<weld::TextView> m_xResultWin;
450  std::unique_ptr<weld::Button> m_xEditNamespacesBtn;
451  std::unique_ptr<weld::Button> m_xOKBtn;
452 
453  DECL_LINK(ModifyHdl, weld::TextView&, void);
454  DECL_LINK(ResultHdl, Timer *, void);
455  DECL_LINK(EditHdl, weld::Button&, void);
456  DECL_LINK(OKHdl, weld::Button&, void);
457 
458  public:
460  const OUString& _rPropertyName, const css::uno::Reference< css::beans::XPropertySet >& _rBinding);
461  virtual ~AddConditionDialog() override;
462 
463  const css::uno::Reference< css::xforms::XFormsUIHelper1 >& GetUIHelper() const { return m_xUIHelper; }
464  OUString GetCondition() const { return m_xConditionED->get_text(); }
465  void SetCondition(const OUString& _rCondition)
466  {
467  m_xConditionED->set_text(_rCondition);
468  m_aResultIdle.Start();
469  }
470  };
471 
473  {
474  private:
476  std::vector< OUString > m_aRemovedList;
477 
478  css::uno::Reference< css::container::XNameContainer >&
480 
481  std::unique_ptr<weld::TreeView> m_xNamespacesList;
482  std::unique_ptr<weld::Button> m_xAddNamespaceBtn;
483  std::unique_ptr<weld::Button> m_xEditNamespaceBtn;
484  std::unique_ptr<weld::Button> m_xDeleteNamespaceBtn;
485  std::unique_ptr<weld::Button> m_xOKBtn;
486 
487  DECL_LINK(SelectHdl, weld::TreeView&, void);
488  DECL_LINK(ClickHdl, weld::Button&, void);
489  DECL_LINK(OKHdl, weld::Button&, void);
490 
491  void LoadNamespaces();
492 
493  public:
494  NamespaceItemDialog(AddConditionDialog* pParent, css::uno::Reference< css::container::XNameContainer >& _rContainer);
495  virtual ~NamespaceItemDialog() override;
496  };
497 
499  {
500  private:
502 
503  std::unique_ptr<weld::Entry> m_xPrefixED;
504  std::unique_ptr<weld::Entry> m_xUrlED;
505  std::unique_ptr<weld::Button> m_xOKBtn;
506  std::unique_ptr<weld::Label> m_xAltTitle;
507 
508  DECL_LINK(OKHdl, weld::Button&, void);
509 
510  public:
511  ManageNamespaceDialog(weld::Window* pParent, AddConditionDialog* _pCondDlg, bool bIsEdit);
512  virtual ~ManageNamespaceDialog() override;
513 
514  void SetNamespace(const OUString& _rPrefix, const OUString& _rURL)
515  {
516  m_xPrefixED->set_text(_rPrefix);
517  m_xUrlED->set_text(_rURL);
518  }
519  OUString GetPrefix() const { return m_xPrefixED->get_text(); }
520  OUString GetURL() const { return m_xUrlED->get_text(); }
521  };
522 
524  {
525  private:
528 
530 
531  css::uno::Reference< css::xforms::XFormsUIHelper1 >
533  css::uno::Reference< css::xforms::XSubmission >
535  css::uno::Reference< css::beans::XPropertySet >
537  css::uno::Reference< css::beans::XPropertySet >
539  css::uno::Reference< css::beans::XPropertySet >
541 
542  std::unique_ptr<weld::Entry> m_xNameED;
543  std::unique_ptr<weld::Entry> m_xActionED;
544  std::unique_ptr<weld::ComboBox> m_xMethodLB;
545  std::unique_ptr<weld::Entry> m_xRefED;
546  std::unique_ptr<weld::Button> m_xRefBtn;
547  std::unique_ptr<weld::ComboBox> m_xBindLB;
548  std::unique_ptr<weld::ComboBox> m_xReplaceLB;
549  std::unique_ptr<weld::Button> m_xOKBtn;
550 
551  DECL_LINK(RefHdl, weld::Button&, void);
552  DECL_LINK(OKHdl, weld::Button&, void);
553 
554  void FillAllBoxes();
555 
556  public:
557  AddSubmissionDialog(weld::Window* pParent, ItemNode* pNode,
558  const css::uno::Reference< css::xforms::XFormsUIHelper1 >& rUIHelper);
559  virtual ~AddSubmissionDialog() override;
560 
561  const css::uno::Reference< css::xforms::XSubmission >& GetNewSubmission() const { return m_xNewSubmission; }
562  };
563 
565  {
566  private:
567  std::unique_ptr<weld::Entry> m_xNameED;
568  std::unique_ptr<weld::CheckButton> m_xModifyCB;
569  std::unique_ptr<weld::Label> m_xAltTitle;
570 
571  public:
572  AddModelDialog(weld::Window* pParent, bool _bEdit);
573  virtual ~AddModelDialog() override;
574 
575  OUString GetName() const { return m_xNameED->get_text(); }
576  void SetName( const OUString& _rName ) { m_xNameED->set_text( _rName );}
577 
578  bool GetModifyDoc() const { return m_xModifyCB->get_active(); }
579  void SetModifyDoc( const bool bModify ) { m_xModifyCB->set_active(bModify); }
580  };
581 
583  {
584  private:
586 
587  std::unique_ptr<weld::Entry> m_xNameED;
588  std::unique_ptr<weld::Label> m_xURLFT;
589  std::unique_ptr<URLBox> m_xURLED;
590  std::unique_ptr<weld::Button> m_xFilePickerBtn;
591  std::unique_ptr<weld::CheckButton> m_xLinkInstanceCB;
592  std::unique_ptr<weld::Label> m_xAltTitle;
593 
594  DECL_LINK(FilePickerHdl, weld::Button&, void);
595 
596  public:
597  AddInstanceDialog(weld::Window* pParent, bool _bEdit);
598  virtual ~AddInstanceDialog() override;
599 
600  OUString GetName() const { return m_xNameED->get_text(); }
601  void SetName( const OUString& rName ) { m_xNameED->set_text( rName );}
602  OUString GetURL() const { return m_xURLED->get_active_text(); }
603  void SetURL( const OUString& rURL ) { m_xURLED->set_entry_text( rURL );}
604  bool IsLinkInstance() const { return m_xLinkInstanceCB->get_active(); }
605  void SetLinkInstance( bool bLink ) { m_xLinkInstanceCB->set_active(bLink); }
606  };
607 
609  {
610  public:
612  };
613 }
614 
615 
616 #endif // INCLUDED_SVX_SOURCE_INC_DATANAVI_HXX
617 
618 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
static constexpr OUStringLiteral const m_sDoc_API
Definition: datanavi.hxx:129
std::unique_ptr< weld::Label > m_xNameFT
Definition: datanavi.hxx:399
virtual sal_Int8 AcceptDrop(const AcceptDropEvent &rEvt) override
Definition: datanavi.cxx:158
virtual ~XFormsPage() override
Definition: datanavi.cxx:386
ItemNode *const m_pItemNode
Definition: datanavi.hxx:529
OUString SetModel(const css::uno::Reference< css::xforms::XModel > &_xModel, sal_uInt16 _nPagePos)
Definition: datanavi.cxx:1039
std::unique_ptr< weld::Label > m_xDataTypeFT
Definition: datanavi.hxx:405
void DisableNotify(bool _bDisable)
Definition: datanavi.hxx:348
virtual sal_Int8 ExecuteDrop(const ExecuteDropEvent &rEvt) override
DataGroupType const m_eGroup
Definition: datanavi.hxx:231
sal_uInt16 m_nAddAttributeId
Definition: datanavi.hxx:94
DECL_LINK(ModelSelectListBoxHdl, ListBox &, void)
virtual ~AddConditionDialog() override
Definition: datanavi.cxx:2717
std::unique_ptr< weld::Button > m_xDefaultBtn
Definition: datanavi.hxx:403
std::unique_ptr< VclBuilder > m_xBuilder
Definition: datanavi.hxx:88
std::unique_ptr< weld::CheckButton > m_xReadonlyCB
Definition: datanavi.hxx:413
std::unique_ptr< weld::Entry > m_xDefaultED
Definition: datanavi.hxx:402
std::unique_ptr< weld::Button > m_xReadonlyBtn
Definition: datanavi.hxx:414
AddConditionDialog * m_pConditionDlg
Definition: datanavi.hxx:475
void RemoveEntry(SvTreeListEntry const *_pEntry)
Definition: datanavi.cxx:265
css::uno::Reference< css::xforms::XFormsUIHelper1 > m_xUIHelper
Definition: datanavi.hxx:227
virtual SfxChildAlignment CheckAlignment(SfxChildAlignment, SfxChildAlignment) override
Definition: datanavi.cxx:2151
void SetName(const OUString &rName)
Definition: datanavi.hxx:601
VclPtr< XFormsPage > m_pInstPage
Definition: datanavi.hxx:291
void SetInstanceName(const OUString &name)
Definition: datanavi.hxx:272
void EnableMenuItems(Menu *_pMenu)
Definition: datanavi.cxx:1235
std::unique_ptr< weld::Entry > m_xUrlED
Definition: datanavi.hxx:504
css::uno::Reference< css::beans::XPropertySet > m_xBinding
Definition: datanavi.hxx:387
std::unique_ptr< weld::Entry > m_xNameED
Definition: datanavi.hxx:587
bool HasModel() const
Definition: datanavi.hxx:261
std::unique_ptr< weld::Entry > m_xNameED
Definition: datanavi.hxx:567
signed char sal_Int8
virtual void dispose() override
Definition: datanavi.cxx:391
VclPtr< DataNavigatorWindow > m_pNaviWin
Definition: datanavi.hxx:229
css::uno::Reference< css::container::XNameContainer > m_xDataContainer
Definition: datanavi.hxx:309
DataNavigator(SfxBindings *pBindings, SfxChildWindow *pMgr, vcl::Window *pParent)
Definition: datanavi.cxx:2105
AddConditionDialog * m_pConditionDlg
Definition: datanavi.hxx:501
void StateChanged(sal_uInt16 nSID, SfxItemState eState, const SfxPoolItem *pState) override
Definition: datanavi.cxx:2137
void InitText(DataItemType _eType)
Definition: datanavi.cxx:2635
std::unique_ptr< weld::Label > m_xAltTitle
Definition: datanavi.hxx:506
ReplaceString const m_aReplaceString
Definition: datanavi.hxx:216
const css::uno::Reference< css::xforms::XSubmission > & GetNewSubmission() const
Definition: datanavi.hxx:561
std::unique_ptr< weld::Button > m_xEditNamespaceBtn
Definition: datanavi.hxx:483
AddModelDialog(weld::Window *pParent, bool _bEdit)
Definition: datanavi.cxx:3174
std::unique_ptr< weld::ComboBox > m_xMethodLB
Definition: datanavi.hxx:544
sal_Int16 nId
void SetLinkOnce(bool bLinkOnce)
Definition: datanavi.hxx:274
std::unique_ptr< weld::TextView > m_xConditionED
Definition: datanavi.hxx:448
css::uno::Reference< css::xforms::XFormsUIHelper1 > m_xUIHelper
Definition: datanavi.hxx:532
DECL_LINK(SelectHdl, weld::TreeView &, void)
static constexpr OUStringLiteral m_sPut_API
Definition: datanavi.hxx:175
VclPtr< TabControl > m_pTabCtrl
Definition: datanavi.hxx:288
VclPtr< DataTreeListBox > m_pItemList
Definition: datanavi.hxx:219
OUString GetURL() const
Definition: datanavi.hxx:520
#define SVX_DLLPUBLIC
Definition: svxdllapi.h:28
XFormsPage * GetCurrentPage(sal_uInt16 &rCurId)
Definition: datanavi.cxx:1783
std::unique_ptr< weld::CheckButton > m_xRelevantCB
Definition: datanavi.hxx:409
std::unique_ptr< weld::Button > m_xRelevantBtn
Definition: datanavi.hxx:410
std::unique_ptr< weld::Entry > m_xRefED
Definition: datanavi.hxx:545
css::uno::Reference< css::beans::XPropertySet > m_xTempBinding
Definition: datanavi.hxx:538
sal_uInt16 m_nAddElementId
Definition: datanavi.hxx:221
void AddContainerBroadcaster(const css::uno::Reference< css::container::XContainer > &xContainer)
Definition: datanavi.cxx:2065
AddSubmissionDialog(weld::Window *pParent, ItemNode *pNode, const css::uno::Reference< css::xforms::XFormsUIHelper1 > &rUIHelper)
Definition: datanavi.cxx:2955
css::uno::Reference< css::beans::XPropertySet > m_xTempBinding
Definition: datanavi.hxx:389
void SetToolBoxItemIds(sal_uInt16 _nAddId, sal_uInt16 _nAddElementId, sal_uInt16 _nAddAttributeId, sal_uInt16 _nEditId, sal_uInt16 _nRemoveId)
Definition: datanavi.cxx:284
const OUString & GetInstanceName() const
Definition: datanavi.hxx:269
OUString const m_sFT_BindingExp
Definition: datanavi.hxx:396
sal_uInt16 m_nAddAttributeId
Definition: datanavi.hxx:222
bool GetLinkOnce() const
Definition: datanavi.hxx:271
OUString GetPrefix() const
Definition: datanavi.hxx:519
sal_uInt16 GetNewPageId() const
Definition: datanavi.cxx:2009
virtual void dispose() override
Definition: datanavi.cxx:2130
DataNavigatorWindow(vcl::Window *pParent, SfxBindings const *pBindings)
Definition: datanavi.cxx:1327
#define SFX_DECL_CHILDWINDOW(Class)
const css::uno::Reference< css::xforms::XFormsUIHelper1 > & GetXFormsHelper() const
Definition: datanavi.hxx:280
sal_Int64 WinBits
DECL_LINK(ModifyHdl, weld::TextView &, void)
std::unique_ptr< weld::Label > m_xURLFT
Definition: datanavi.hxx:588
void AddEventBroadcaster(const css::uno::Reference< css::xml::dom::events::XEventTarget > &xTarget)
Definition: datanavi.cxx:2074
std::unique_ptr< weld::Button > m_xDeleteNamespaceBtn
Definition: datanavi.hxx:484
void EditEntry(const css::uno::Reference< css::beans::XPropertySet > &_rPropSet)
Definition: datanavi.cxx:860
sal_uInt16 m_nAddId
Definition: datanavi.hxx:220
VclPtr< ListBox > m_pModelsBox
Definition: datanavi.hxx:286
void SetXFormsPage(XFormsPage *_pPage)
Definition: datanavi.cxx:279
std::unique_ptr< weld::Button > m_xOKBtn
Definition: datanavi.hxx:417
OUString SvxResId(const char *pId)
Definition: dialmgr.cxx:28
OUString const m_sFL_Binding
Definition: datanavi.hxx:395
std::unique_ptr< weld::CheckButton > m_xConstraintCB
Definition: datanavi.hxx:411
OUString toAPI(const OUString &rStr) const
convert submission replace string from UI to API.
Definition: datanavi.hxx:157
std::unique_ptr< weld::Entry > m_xActionED
Definition: datanavi.hxx:543
OUString GetURL() const
Definition: datanavi.hxx:602
css::uno::Reference< css::beans::XPropertySet > m_xSubmission
Definition: datanavi.hxx:536
virtual bool EventNotify(NotifyEvent &rNEvt) override
Definition: datanavi.cxx:1009
virtual void Resize() override
Definition: datanavi.cxx:2020
DataItemType
Definition: datanavi.hxx:71
std::unique_ptr< weld::Button > m_xRefBtn
Definition: datanavi.hxx:546
void NotifyChanges(bool _bLoadAll=false)
Definition: datanavi.cxx:2044
virtual void Start() override
std::unique_ptr< URLBox > m_xURLED
Definition: datanavi.hxx:589
DECL_LINK(TbxSelectHdl, ToolBox *, void)
std::unique_ptr< weld::Button > m_xRequiredBtn
Definition: datanavi.hxx:408
virtual Size GetOptimalSize() const override
Definition: datanavi.cxx:2028
static constexpr OUStringLiteral const m_sNone_API
Definition: datanavi.hxx:131
std::unique_ptr< weld::Entry > m_xPrefixED
Definition: datanavi.hxx:503
::rtl::Reference< DataListener > m_xDataListener
Definition: datanavi.hxx:307
AddDataItemDialog(weld::Window *pParent, ItemNode *_pNode, const css::uno::Reference< css::xforms::XFormsUIHelper1 > &_rUIHelper)
Definition: datanavi.cxx:2199
VclPtr< MenuButton > m_pModelBtn
Definition: datanavi.hxx:287
void SetModifyDoc(const bool bModify)
Definition: datanavi.hxx:579
std::unique_ptr< weld::Label > m_xAltTitle
Definition: datanavi.hxx:569
bool DoMenuAction(sal_uInt16 _nMenuID)
Definition: datanavi.cxx:1229
bool IsAdditionalPage(sal_uInt16 nPageId) const
Definition: datanavi.cxx:1737
DataGroupType m_eGroup
Definition: datanavi.hxx:91
void SetCondition(const OUString &_rCondition)
Definition: datanavi.hxx:465
void ClearAllPageModels(bool bClearPages)
Definition: datanavi.cxx:1961
MethodString const m_aMethodString
Definition: datanavi.hxx:215
DataTreeListBox(vcl::Window *pParent, WinBits nBits)
Definition: datanavi.cxx:128
css::uno::Reference< css::beans::XPropertySet > GetBindingForNode(const css::uno::Reference< css::xml::dom::XNode > &xNode)
Definition: datanavi.hxx:277
LinkedInstanceWarningBox(weld::Widget *pParent)
Definition: datanavi.cxx:3228
DECL_LINK(CheckHdl, weld::ToggleButton &, void)
std::unique_ptr< weld::Entry > m_xNameED
Definition: datanavi.hxx:400
void SetName(const OUString &_rName)
Definition: datanavi.hxx:576
VclPtr< MenuButton > m_pInstanceBtn
Definition: datanavi.hxx:289
OUString GetName() const
Definition: datanavi.hxx:575
std::unique_ptr< weld::ComboBox > m_xDataTypeLB
Definition: datanavi.hxx:406
css::uno::Reference< css::beans::XPropertySet > m_xBinding
Definition: datanavi.hxx:446
std::unique_ptr< weld::Label > m_xDefaultFT
Definition: datanavi.hxx:401
virtual void dispose() override
Definition: datanavi.cxx:1392
ManageNamespaceDialog(weld::Window *pParent, AddConditionDialog *_pCondDlg, bool bIsEdit)
Definition: datanavi.cxx:2912
virtual ~ManageNamespaceDialog() override
Definition: datanavi.cxx:2926
sal_uInt16 m_nEditId
Definition: datanavi.hxx:223
VclPtr< XFormsPage > m_pXFormsPage
Definition: datanavi.hxx:90
std::unique_ptr< weld::Entry > m_xNameED
Definition: datanavi.hxx:542
static constexpr OUStringLiteral const m_sInstance_API
Definition: datanavi.hxx:130
css::uno::Reference< css::container::XNameContainer > & m_rNamespaces
Definition: datanavi.hxx:479
OUString const m_sFL_Element
Definition: datanavi.hxx:393
virtual Size CalcDockingSize(SfxChildAlignment) override
Definition: datanavi.cxx:2142
std::unique_ptr< weld::CheckButton > m_xRequiredCB
Definition: datanavi.hxx:407
virtual void Resize() override
Definition: datanavi.cxx:1028
virtual VclPtr< PopupMenu > CreateContextMenu() override
Definition: datanavi.cxx:221
std::unique_ptr< weld::Button > m_xAddNamespaceBtn
Definition: datanavi.hxx:482
css::uno::Reference< css::xforms::XFormsUIHelper1 > m_xUIHelper
Definition: datanavi.hxx:385
virtual void StartDrag(sal_Int8 nAction, const Point &rPosPixel) override
Definition: datanavi.cxx:168
void SetInstanceURL(const OUString &url)
Definition: datanavi.hxx:273
void SetURL(const OUString &rURL)
Definition: datanavi.hxx:603
OUString const & toUI(const OUString &rStr) const
convert submission replace string from API value to UI value.
Definition: datanavi.hxx:145
void ModelSelectHdl(ListBox const *)
Definition: datanavi.cxx:1425
VclPtr< DataNavigatorWindow > m_aDataWin
Definition: datanavi.hxx:354
virtual ~AddInstanceDialog() override
Definition: datanavi.cxx:3207
virtual ~DataNavigator() override
Definition: datanavi.cxx:2125
virtual ~DataNavigatorWindow() override
Definition: datanavi.cxx:1387
void AddChildren(SvTreeListEntry *_pParent, const css::uno::Reference< css::xml::dom::XNode > &_xNode)
Definition: datanavi.cxx:409
OUString const & toUI(const OUString &rStr) const
convert from API to UI; put is default.
Definition: datanavi.hxx:190
virtual void dispose() override
Definition: datanavi.cxx:149
std::vector< css::uno::Reference< css::xml::dom::events::XEventTarget > > m_aEventTargetList
Definition: datanavi.hxx:303
std::unique_ptr< weld::CheckButton > m_xModifyCB
Definition: datanavi.hxx:568
virtual sal_Int8 ExecuteDrop(const ExecuteDropEvent &rEvt) override
Definition: datanavi.cxx:163
virtual void StateChanged(StateChangedType nStateChange) override
bool DoToolBoxAction(sal_uInt16 _nToolBoxID)
Definition: datanavi.cxx:478
std::unique_ptr< weld::TreeView > m_xNamespacesList
Definition: datanavi.hxx:481
void CreateInstancePage(const css::uno::Sequence< css::beans::PropertyValue > &_xPropSeq)
Definition: datanavi.cxx:1987
OUString GetCondition() const
Definition: datanavi.hxx:464
std::vector< css::uno::Reference< css::container::XContainer > > m_aContainerList
Definition: datanavi.hxx:301
void SetLinkInstance(bool bLink)
Definition: datanavi.hxx:605
std::unique_ptr< weld::Button > m_xFilePickerBtn
Definition: datanavi.hxx:590
std::unique_ptr< weld::Button > m_xOKBtn
Definition: datanavi.hxx:505
static constexpr OUStringLiteral m_sPost_API
Definition: datanavi.hxx:174
DECL_LINK(OKHdl, weld::Button &, void)
VclPtr< PopupMenu > m_xMenu
Definition: datanavi.hxx:89
OUString const m_sFL_Attribute
Definition: datanavi.hxx:394
bool IsLinkInstance() const
Definition: datanavi.hxx:604
AddInstanceDialog(weld::Window *pParent, bool _bEdit)
Definition: datanavi.cxx:3188
SfxItemState
SfxChildAlignment
std::unique_ptr< weld::Frame > m_xItemFrame
Definition: datanavi.hxx:398
std::unique_ptr< weld::CheckButton > m_xLinkInstanceCB
Definition: datanavi.hxx:591
css::uno::Reference< css::beans::XPropertySet > m_xCreatedBinding
Definition: datanavi.hxx:540
css::uno::Reference< css::xforms::XFormsUIHelper1 > m_xUIHelper
Definition: datanavi.hxx:444
virtual ~AddDataItemDialog() override
Definition: datanavi.cxx:2236
std::unique_ptr< weld::Label > m_xAltTitle
Definition: datanavi.hxx:592
std::unique_ptr< weld::Button > m_xOKBtn
Definition: datanavi.hxx:485
std::unique_ptr< weld::TextView > m_xResultWin
Definition: datanavi.hxx:449
std::unique_ptr< weld::ComboBox > m_xReplaceLB
Definition: datanavi.hxx:548
NamespaceItemDialog(AddConditionDialog *pParent, css::uno::Reference< css::container::XNameContainer > &_rContainer)
Definition: datanavi.cxx:2772
std::unique_ptr< weld::Button > m_xOKBtn
Definition: datanavi.hxx:549
OUString GetName() const
Definition: datanavi.hxx:600
void SetNamespace(const OUString &_rPrefix, const OUString &_rURL)
Definition: datanavi.hxx:514
virtual void ExecuteContextMenuAction(sal_uInt16 _nSelectedPopupEntry) override
Definition: datanavi.cxx:251
OUString GetServiceNameForNode(const css::uno::Reference< css::xml::dom::XNode > &xNode)
Definition: datanavi.hxx:278
DECL_LINK(RefHdl, weld::Button &, void)
virtual ~DataTreeListBox() override
Definition: datanavi.cxx:144
VclPtr< XFormsPage > m_pBindingPage
Definition: datanavi.hxx:293
std::unique_ptr< weld::Button > m_xConstraintBtn
Definition: datanavi.hxx:412
SvTreeListEntry * AddEntry(std::unique_ptr< ItemNode > _pNewNode, bool _bIsElement)
Definition: datanavi.cxx:777
OUString m_sInstanceURL
Definition: datanavi.hxx:237
const OUString & GetInstanceURL() const
Definition: datanavi.hxx:270
DataGroupType
Definition: datanavi.hxx:63
css::uno::Reference< css::frame::XModel > m_xFrameModel
Definition: datanavi.hxx:313
OUString m_sInstanceName
Definition: datanavi.hxx:236
sal_uInt16 m_nRemoveId
Definition: datanavi.hxx:224
std::unique_ptr< weld::ComboBox > m_xBindLB
Definition: datanavi.hxx:547
const css::uno::Reference< css::xforms::XFormsUIHelper1 > & GetUIHelper() const
Definition: datanavi.hxx:463
std::unique_ptr< weld::Button > m_xEditNamespacesBtn
Definition: datanavi.hxx:450
DECL_LINK(FilePickerHdl, weld::Button &, void)
virtual ~NamespaceItemDialog() override
Definition: datanavi.cxx:2800
XFormsPage(vcl::Window *pParent, DataNavigatorWindow *_pNaviWin, DataGroupType _eGroup)
Definition: datanavi.cxx:314
std::vector< OUString > m_aRemovedList
Definition: datanavi.hxx:476
sal_uInt16 m_nAddElementId
Definition: datanavi.hxx:93
OUString toAPI(const OUString &rStr) const
convert from UI to API; put is default
Definition: datanavi.hxx:201
class FmSearchEngine - Impl class for FmSearchDialog
std::unique_ptr< weld::CheckButton > m_xCalculateCB
Definition: datanavi.hxx:415
OUString const m_sPropertyName
Definition: datanavi.hxx:441
virtual ~AddModelDialog() override
Definition: datanavi.cxx:3184
OUString LoadInstance(const css::uno::Sequence< css::beans::PropertyValue > &_xPropSeq)
Definition: datanavi.cxx:1186
bool HasFirstInstancePage() const
Definition: datanavi.cxx:2004
VclPtr< ToolBox > m_pToolBox
Definition: datanavi.hxx:218
MethodString const m_aMethodString
Definition: datanavi.hxx:526
std::unique_ptr< weld::Widget > m_xSettingsFrame
Definition: datanavi.hxx:404
AddConditionDialog(weld::Window *pParent, const OUString &_rPropertyName, const css::uno::Reference< css::beans::XPropertySet > &_rBinding)
Definition: datanavi.cxx:2663
css::uno::Reference< css::xforms::XSubmission > m_xNewSubmission
Definition: datanavi.hxx:534
std::vector< VclPtr< XFormsPage > > m_aPageList
Definition: datanavi.hxx:299
std::unique_ptr< weld::Button > m_xCalculateBtn
Definition: datanavi.hxx:416
std::unique_ptr< weld::Button > m_xOKBtn
Definition: datanavi.hxx:451
ReplaceString const m_aReplaceString
Definition: datanavi.hxx:527
#define SVX_DLLPRIVATE
Definition: svxdllapi.h:30
SfxChildWindow * pMgr
static constexpr OUStringLiteral m_sGet_API
Definition: datanavi.hxx:176
css::uno::Reference< css::frame::XFrame > m_xFrame
Definition: datanavi.hxx:311
VclPtr< XFormsPage > m_pSubmissionPage
Definition: datanavi.hxx:292
SfxBindings * pBindings
bool GetModifyDoc() const
Definition: datanavi.hxx:578
void Check(const weld::ToggleButton *pBox)
Definition: datanavi.cxx:2267
virtual void Resize() override
Definition: datanavi.cxx:2166
virtual ~AddSubmissionDialog() override
Definition: datanavi.cxx:2976
void SetGroup(DataGroupType _eGroup)
Definition: datanavi.cxx:274