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