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