LibreOffice Module svx (master)  1
datanavi.hxx
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  *
9  * This file incorporates work covered by the following license notice:
10  *
11  * Licensed to the Apache Software Foundation (ASF) under one or more
12  * contributor license agreements. See the NOTICE file distributed
13  * with this work for additional information regarding copyright
14  * ownership. The ASF licenses this file to you under the Apache
15  * License, Version 2.0 (the "License"); you may not use this file
16  * except in compliance with the License. You may obtain a copy of
17  * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18  */
19 #ifndef INCLUDED_SVX_SOURCE_INC_DATANAVI_HXX
20 #define INCLUDED_SVX_SOURCE_INC_DATANAVI_HXX
21 
22 #include <config_options.h>
23 #include <vcl/builderpage.hxx>
24 #include <vcl/idle.hxx>
25 #include <vcl/transfer.hxx>
26 #include <vcl/weld.hxx>
27 #include <svtools/inettbc.hxx>
28 #include <sfx2/dockwin.hxx>
29 #include <sfx2/childwin.hxx>
30 #include <sfx2/ctrlitem.hxx>
31 #include <svx/dialmgr.hxx>
32 #include <svx/strings.hrc>
33 #include <svx/svxdllapi.h>
34 #include <rtl/ref.hxx>
35 #include <com/sun/star/beans/XPropertySet.hpp>
36 #include <com/sun/star/container/XContainer.hpp>
37 #include <com/sun/star/container/XNameContainer.hpp>
38 #include <com/sun/star/frame/XFrame.hpp>
39 #include <com/sun/star/xforms/XFormsUIHelper1.hpp>
40 #include <com/sun/star/xforms/XModel.hpp>
41 #include <com/sun/star/xforms/XSubmission.hpp>
42 #include <com/sun/star/xml/dom/XNode.hpp>
43 #include <com/sun/star/xml/dom/events/XEventTarget.hpp>
44 
45 #include "datalistener.hxx"
46 
47 #include <memory>
48 #include <vector>
49 
50 class FmFormShell;
51 
52 
53 namespace svxform
54 {
55 
56 
58  {
63  };
64 
66  {
67  DITNone = 0,
72  };
73 
74  struct ItemNode;
75  class XFormsPage;
76  class DataNavigatorWindow;
77  class AddInstanceDialog;
78 
80  {
81  OUString m_sDoc_UI;
82  OUString m_sInstance_UI;
83  OUString m_sNone_UI;
84 
85  static constexpr OUStringLiteral const m_sDoc_API = "all";
86  static constexpr OUStringLiteral const m_sInstance_API = "instance";
87  static constexpr OUStringLiteral const m_sNone_API = "none";
88 
89  ReplaceString( const ReplaceString& ) = delete;
90 
91  public:
93  {
94  m_sDoc_UI = SvxResId(RID_STR_REPLACE_DOC);
95  m_sInstance_UI = SvxResId(RID_STR_REPLACE_INST);
96  m_sNone_UI = SvxResId(RID_STR_REPLACE_NONE);
97  }
98 
101  OUString const & toUI( const OUString& rStr ) const
102  {
103  if( rStr == m_sDoc_API )
104  return m_sDoc_UI;
105  else if( rStr == m_sInstance_API )
106  return m_sInstance_UI;
107  else
108  return m_sNone_UI;
109  }
110 
113  OUString toAPI( const OUString& rStr ) const
114  {
115  if( rStr == m_sDoc_UI )
116  return m_sDoc_API;
117  else if( rStr == m_sInstance_UI )
118  return m_sInstance_API;
119  else
120  return m_sNone_API;
121  }
122  };
123 
125  {
126  OUString m_sPost_UI;
127  OUString m_sPut_UI;
128  OUString m_sGet_UI;
129 
130  static constexpr OUStringLiteral m_sPost_API = "post";
131  static constexpr OUStringLiteral m_sPut_API = "put";
132  static constexpr OUStringLiteral m_sGet_API = "get";
133 
134  MethodString( const MethodString& ) = delete;
135 
136  public:
137 
139  {
140  m_sPost_UI = SvxResId(RID_STR_METHOD_POST);
141  m_sPut_UI = SvxResId(RID_STR_METHOD_PUT);
142  m_sGet_UI = SvxResId(RID_STR_METHOD_GET);
143  }
144 
146  OUString const & toUI( const OUString& rStr ) const
147  {
148  if( rStr == m_sGet_API )
149  return m_sGet_UI;
150  else if( rStr == m_sPost_API )
151  return m_sPost_UI;
152  else
153  return m_sPut_UI;
154  }
155 
157  OUString toAPI( const OUString& rStr ) const
158  {
159  if( rStr == m_sGet_UI )
160  return m_sGet_API;
161  else if( rStr == m_sPost_UI )
162  return m_sPost_API;
163  else
164  return m_sPut_API;
165  }
166  };
167 
169  {
170  private:
171  virtual sal_Int8 AcceptDrop(const AcceptDropEvent& rEvt) override;
172  virtual sal_Int8 ExecuteDrop(const ExecuteDropEvent& rEvt) override;
173 
174  public:
176  };
177 
178  class XFormsPage : public BuilderPage
179  {
180  private:
183 
185  std::unique_ptr<weld::Toolbar> m_xToolBox;
186  std::unique_ptr<weld::TreeView> m_xItemList;
187  std::unique_ptr<weld::TreeIter> m_xScratchIter;
188 
190 
191  css::uno::Reference< css::xforms::XFormsUIHelper1 >
193 
197  // these strings are not valid on the Submission and Binding Page
198  // mb: furthermore these are properties of an instance, thus
199  // it would be much better to get/set them through the UIHelper
200  // interface.
201  OUString m_sInstanceName;
202  OUString m_sInstanceURL;
204 
205  DECL_LINK(TbxSelectHdl, const OString&, void);
206  DECL_LINK(ItemSelectHdl, weld::TreeView&, void);
207  DECL_LINK(KeyInputHdl, const KeyEvent&, bool);
208  DECL_LINK(PopupMenuHdl, const CommandEvent&, bool);
209 
210  void AddChildren(weld::TreeIter* _pParent,
211  const css::uno::Reference< css::xml::dom::XNode >& _xNode);
212  bool DoToolBoxAction(const OString& rToolBoxID);
213  void AddEntry(std::unique_ptr<ItemNode> _pNewNode, bool _bIsElement, weld::TreeIter* pRet = nullptr);
214  void AddEntry(const css::uno::Reference< css::beans::XPropertySet >& _rPropSet, weld::TreeIter* pRet = nullptr);
215  void EditEntry( const css::uno::Reference< css::beans::XPropertySet >& _rPropSet );
216  bool RemoveEntry();
217 
218  void PrepDnD();
219 
220  void DeleteAndClearTree();
221 
222  public:
223  XFormsPage(weld::Container* pParent, DataNavigatorWindow* _pNaviWin, DataGroupType _eGroup);
224  virtual ~XFormsPage() override;
225 
226  bool HasModel() const { return m_bHasModel; }
227  OUString SetModel( const css::uno::Reference< css::xforms::XModel > & _xModel, int _nPagePos );
228  void ClearModel();
229  OUString LoadInstance(const css::uno::Sequence< css::beans::PropertyValue >& _xPropSeq);
230 
231  bool DoMenuAction(const OString& rMenuID);
232  void EnableMenuItems(weld::Menu* pMenu);
233 
234  const OUString& GetInstanceName() const { return m_sInstanceName; }
235  const OUString& GetInstanceURL() const { return m_sInstanceURL; }
236  bool GetLinkOnce() const { return m_bLinkOnce; }
237  void SetInstanceName( const OUString &name ) { m_sInstanceName=name; }
238  void SetInstanceURL( const OUString &url ) { m_sInstanceURL=url; }
239  void SetLinkOnce( bool bLinkOnce ) { m_bLinkOnce=bLinkOnce; }
240 
241  css::uno::Reference<css::beans::XPropertySet>
242  GetBindingForNode( const css::uno::Reference<css::xml::dom::XNode> &xNode ) { return m_xUIHelper->getBindingForNode(xNode,true); }
243  OUString GetServiceNameForNode( const css::uno::Reference<css::xml::dom::XNode> &xNode ) { return m_xUIHelper->getDefaultServiceNameForNode(xNode); }
244  const css::uno::Reference< css::xforms::XFormsUIHelper1 >&
245  GetXFormsHelper() const { return m_xUIHelper; }
246  };
247 
249  {
250  private:
252  std::unique_ptr<weld::ComboBox> m_xModelsBox;
253  std::unique_ptr<weld::MenuButton> m_xModelBtn;
254  std::unique_ptr<weld::Notebook> m_xTabCtrl;
255  std::unique_ptr<weld::MenuButton> m_xInstanceBtn;
256 
257  std::unique_ptr<XFormsPage> m_xInstPage;
258  std::unique_ptr<XFormsPage> m_xSubmissionPage;
259  std::unique_ptr<XFormsPage> m_xBindingPage;
260 
264  std::vector< std::unique_ptr<XFormsPage> >
266  std::vector< css::uno::Reference< css::container::XContainer > >
268  std::vector< css::uno::Reference< css::xml::dom::events::XEventTarget > >
271 
274  css::uno::Reference< css::container::XNameContainer >
276  css::uno::Reference< css::frame::XFrame >
278  css::uno::Reference< css::frame::XModel >
280 
281  DECL_LINK( ModelSelectListBoxHdl, weld::ComboBox&, void );
282  DECL_LINK( MenuSelectHdl, const OString&, void );
283  DECL_LINK( MenuActivateHdl, weld::ToggleButton&, void );
284  DECL_LINK( ActivatePageHdl, const OString&, void);
285  DECL_LINK( UpdateHdl, Timer *, void);
286  void ModelSelectHdl(const weld::ComboBox*);
287  OString GetCurrentPage() const;
288  XFormsPage* GetPage(const OString& rCurId);
289  void LoadModels();
290  void SetPageModel(const OString& rCurId);
291  void ClearAllPageModels( bool bClearPages );
292  void InitPages();
293  void CreateInstancePage( const css::uno::Sequence< css::beans::PropertyValue >& _xPropSeq );
294  bool HasFirstInstancePage() const;
295  OString GetNewPageId() const;
296 
297  static bool IsAdditionalPage(const OString& rIdent);
298 
299  public:
300  DataNavigatorWindow(vcl::Window* pParent, weld::Builder& rBuilder, SfxBindings const * pBindings);
302 
303  static void SetDocModified();
304  void NotifyChanges( bool _bLoadAll = false );
305  void AddContainerBroadcaster( const css::uno::Reference< css::container::XContainer > & xContainer );
306  void AddEventBroadcaster( const css::uno::Reference< css::xml::dom::events::XEventTarget >& xTarget );
307  void RemoveBroadcaster();
308 
309  weld::Window* GetFrameWeld() const { return m_xParent->GetFrameWeld(); }
310 
311  bool IsShowDetails() const { return m_bShowDetails; }
312  void DisableNotify( bool _bDisable ) { m_bIsNotifyDisabled = _bDisable; }
313  };
314 
316  {
317  private:
318  std::unique_ptr<DataNavigatorWindow> m_xDataWin;
319 
320  protected:
321  virtual Size CalcDockingSize( SfxChildAlignment ) override;
323 
324  public:
326  virtual ~DataNavigator() override;
327  virtual void dispose() override;
328 
330 
331  void StateChanged( sal_uInt16 nSID, SfxItemState eState,
332  const SfxPoolItem* pState ) override;
333  };
334 
335  class UNLESS_MERGELIBS(SVXCORE_DLLPUBLIC) DataNavigatorManager : public SfxChildWindow
336  {
337  public:
338  SVX_DLLPRIVATE DataNavigatorManager( vcl::Window* pParent, sal_uInt16 nId,
339  SfxBindings* pBindings, SfxChildWinInfo* pInfo );
340  SFX_DECL_CHILDWINDOW( DataNavigatorManager );
341  };
342 
344  {
345  private:
346  css::uno::Reference< css::xforms::XFormsUIHelper1 >
348  css::uno::Reference< css::beans::XPropertySet >
350  css::uno::Reference< css::beans::XPropertySet >
352 
355  OUString m_sFL_Element;
356  OUString m_sFL_Attribute;
357  OUString m_sFL_Binding;
359 
360  std::unique_ptr<weld::Frame> m_xItemFrame;
361  std::unique_ptr<weld::Label> m_xNameFT;
362  std::unique_ptr<weld::Entry> m_xNameED;
363  std::unique_ptr<weld::Label> m_xDefaultFT;
364  std::unique_ptr<weld::Entry> m_xDefaultED;
365  std::unique_ptr<weld::Button> m_xDefaultBtn;
366  std::unique_ptr<weld::Widget> m_xSettingsFrame;
367  std::unique_ptr<weld::Label> m_xDataTypeFT;
368  std::unique_ptr<weld::ComboBox> m_xDataTypeLB;
369  std::unique_ptr<weld::CheckButton> m_xRequiredCB;
370  std::unique_ptr<weld::Button> m_xRequiredBtn;
371  std::unique_ptr<weld::CheckButton> m_xRelevantCB;
372  std::unique_ptr<weld::Button> m_xRelevantBtn;
373  std::unique_ptr<weld::CheckButton> m_xConstraintCB;
374  std::unique_ptr<weld::Button> m_xConstraintBtn;
375  std::unique_ptr<weld::CheckButton> m_xReadonlyCB;
376  std::unique_ptr<weld::Button> m_xReadonlyBtn;
377  std::unique_ptr<weld::CheckButton> m_xCalculateCB;
378  std::unique_ptr<weld::Button> m_xCalculateBtn;
379  std::unique_ptr<weld::Button> m_xOKBtn;
380 
381  void Check(const weld::ToggleButton* pBox);
382  DECL_LINK(CheckHdl, weld::ToggleButton&, void);
383  DECL_LINK(ConditionHdl, weld::Button&, void);
384  DECL_LINK(OKHdl, weld::Button&, void);
385 
386  void InitDialog();
387  void InitFromNode();
388  void InitDataTypeBox();
389 
390  public:
392  weld::Window* pParent, ItemNode* _pNode,
393  const css::uno::Reference< css::xforms::XFormsUIHelper1 >& _rUIHelper );
394  virtual ~AddDataItemDialog() override;
395 
396  void InitText( DataItemType _eType );
397  };
398 
400  {
401  private:
403  OUString m_sPropertyName;
404 
405  css::uno::Reference< css::xforms::XFormsUIHelper1 >
407  css::uno::Reference< css::beans::XPropertySet >
409 
410  std::unique_ptr<weld::TextView> m_xConditionED;
411  std::unique_ptr<weld::TextView> m_xResultWin;
412  std::unique_ptr<weld::Button> m_xEditNamespacesBtn;
413  std::unique_ptr<weld::Button> m_xOKBtn;
414 
415  DECL_LINK(ModifyHdl, weld::TextView&, void);
416  DECL_LINK(ResultHdl, Timer *, void);
417  DECL_LINK(EditHdl, weld::Button&, void);
418  DECL_LINK(OKHdl, weld::Button&, void);
419 
420  public:
422  const OUString& _rPropertyName, const css::uno::Reference< css::beans::XPropertySet >& _rBinding);
423  virtual ~AddConditionDialog() override;
424 
425  const css::uno::Reference< css::xforms::XFormsUIHelper1 >& GetUIHelper() const { return m_xUIHelper; }
426  OUString GetCondition() const { return m_xConditionED->get_text(); }
427  void SetCondition(const OUString& _rCondition)
428  {
429  m_xConditionED->set_text(_rCondition);
430  m_aResultIdle.Start();
431  }
432  };
433 
435  {
436  private:
438  std::vector< OUString > m_aRemovedList;
439 
440  css::uno::Reference< css::container::XNameContainer >&
442 
443  std::unique_ptr<weld::TreeView> m_xNamespacesList;
444  std::unique_ptr<weld::Button> m_xAddNamespaceBtn;
445  std::unique_ptr<weld::Button> m_xEditNamespaceBtn;
446  std::unique_ptr<weld::Button> m_xDeleteNamespaceBtn;
447  std::unique_ptr<weld::Button> m_xOKBtn;
448 
449  DECL_LINK(SelectHdl, weld::TreeView&, void);
450  DECL_LINK(ClickHdl, weld::Button&, void);
451  DECL_LINK(OKHdl, weld::Button&, void);
452 
453  void LoadNamespaces();
454 
455  public:
456  NamespaceItemDialog(AddConditionDialog* pParent, css::uno::Reference< css::container::XNameContainer >& _rContainer);
457  virtual ~NamespaceItemDialog() override;
458  };
459 
461  {
462  private:
464 
465  std::unique_ptr<weld::Entry> m_xPrefixED;
466  std::unique_ptr<weld::Entry> m_xUrlED;
467  std::unique_ptr<weld::Button> m_xOKBtn;
468  std::unique_ptr<weld::Label> m_xAltTitle;
469 
470  DECL_LINK(OKHdl, weld::Button&, void);
471 
472  public:
473  ManageNamespaceDialog(weld::Window* pParent, AddConditionDialog* _pCondDlg, bool bIsEdit);
474  virtual ~ManageNamespaceDialog() override;
475 
476  void SetNamespace(const OUString& _rPrefix, const OUString& _rURL)
477  {
478  m_xPrefixED->set_text(_rPrefix);
479  m_xUrlED->set_text(_rURL);
480  }
481  OUString GetPrefix() const { return m_xPrefixED->get_text(); }
482  OUString GetURL() const { return m_xUrlED->get_text(); }
483  };
484 
486  {
487  private:
490 
492 
493  css::uno::Reference< css::xforms::XFormsUIHelper1 >
495  css::uno::Reference< css::xforms::XSubmission >
497  css::uno::Reference< css::beans::XPropertySet >
499  css::uno::Reference< css::beans::XPropertySet >
501  css::uno::Reference< css::beans::XPropertySet >
503 
504  std::unique_ptr<weld::Entry> m_xNameED;
505  std::unique_ptr<weld::Entry> m_xActionED;
506  std::unique_ptr<weld::ComboBox> m_xMethodLB;
507  std::unique_ptr<weld::Entry> m_xRefED;
508  std::unique_ptr<weld::Button> m_xRefBtn;
509  std::unique_ptr<weld::ComboBox> m_xBindLB;
510  std::unique_ptr<weld::ComboBox> m_xReplaceLB;
511  std::unique_ptr<weld::Button> m_xOKBtn;
512 
513  DECL_LINK(RefHdl, weld::Button&, void);
514  DECL_LINK(OKHdl, weld::Button&, void);
515 
516  void FillAllBoxes();
517 
518  public:
519  AddSubmissionDialog(weld::Window* pParent, ItemNode* pNode,
520  const css::uno::Reference< css::xforms::XFormsUIHelper1 >& rUIHelper);
521  virtual ~AddSubmissionDialog() override;
522 
523  const css::uno::Reference< css::xforms::XSubmission >& GetNewSubmission() const { return m_xNewSubmission; }
524  };
525 
527  {
528  private:
529  std::unique_ptr<weld::Entry> m_xNameED;
530  std::unique_ptr<weld::CheckButton> m_xModifyCB;
531  std::unique_ptr<weld::Label> m_xAltTitle;
532 
533  public:
534  AddModelDialog(weld::Window* pParent, bool _bEdit);
535  virtual ~AddModelDialog() override;
536 
537  OUString GetName() const { return m_xNameED->get_text(); }
538  void SetName( const OUString& _rName ) { m_xNameED->set_text( _rName );}
539 
540  bool GetModifyDoc() const { return m_xModifyCB->get_active(); }
541  void SetModifyDoc( const bool bModify ) { m_xModifyCB->set_active(bModify); }
542  };
543 
545  {
546  private:
548 
549  std::unique_ptr<weld::Entry> m_xNameED;
550  std::unique_ptr<weld::Label> m_xURLFT;
551  std::unique_ptr<SvtURLBox> m_xURLED;
552  std::unique_ptr<weld::Button> m_xFilePickerBtn;
553  std::unique_ptr<weld::CheckButton> m_xLinkInstanceCB;
554  std::unique_ptr<weld::Label> m_xAltTitle;
555 
556  DECL_LINK(FilePickerHdl, weld::Button&, void);
557 
558  public:
559  AddInstanceDialog(weld::Window* pParent, bool _bEdit);
560  virtual ~AddInstanceDialog() override;
561 
562  OUString GetName() const { return m_xNameED->get_text(); }
563  void SetName( const OUString& rName ) { m_xNameED->set_text( rName );}
564  OUString GetURL() const { return m_xURLED->get_active_text(); }
565  void SetURL( const OUString& rURL ) { m_xURLED->set_entry_text( rURL );}
566  bool IsLinkInstance() const { return m_xLinkInstanceCB->get_active(); }
567  void SetLinkInstance( bool bLink ) { m_xLinkInstanceCB->set_active(bLink); }
568  };
569 
571  {
572  public:
574  };
575 }
576 
577 
578 #endif // INCLUDED_SVX_SOURCE_INC_DATANAVI_HXX
579 
580 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
static constexpr OUStringLiteral const m_sDoc_API
Definition: datanavi.hxx:85
std::unique_ptr< weld::Label > m_xNameFT
Definition: datanavi.hxx:361
virtual ~XFormsPage() override
Definition: datanavi.cxx:230
std::unique_ptr< weld::Label > m_xDataTypeFT
Definition: datanavi.hxx:367
void DisableNotify(bool _bDisable)
Definition: datanavi.hxx:312
OString GetNewPageId() const
Definition: datanavi.cxx:1906
std::unique_ptr< weld::Button > m_xDefaultBtn
Definition: datanavi.hxx:365
std::unique_ptr< weld::CheckButton > m_xReadonlyCB
Definition: datanavi.hxx:375
std::unique_ptr< weld::Entry > m_xDefaultED
Definition: datanavi.hxx:364
std::unique_ptr< weld::Button > m_xReadonlyBtn
Definition: datanavi.hxx:376
AddConditionDialog * m_pConditionDlg
Definition: datanavi.hxx:437
css::uno::Reference< css::xforms::XFormsUIHelper1 > m_xUIHelper
Definition: datanavi.hxx:192
virtual SfxChildAlignment CheckAlignment(SfxChildAlignment, SfxChildAlignment) override
Definition: datanavi.cxx:2028
void SetName(const OUString &rName)
Definition: datanavi.hxx:563
void SetInstanceName(const OUString &name)
Definition: datanavi.hxx:237
std::unique_ptr< weld::Entry > m_xUrlED
Definition: datanavi.hxx:466
css::uno::Reference< css::beans::XPropertySet > m_xBinding
Definition: datanavi.hxx:349
std::unique_ptr< weld::Entry > m_xNameED
Definition: datanavi.hxx:549
bool HasModel() const
Definition: datanavi.hxx:226
std::unique_ptr< weld::Entry > m_xNameED
Definition: datanavi.hxx:529
signed char sal_Int8
css::uno::Reference< css::container::XNameContainer > m_xDataContainer
Definition: datanavi.hxx:275
DataNavigator(SfxBindings *pBindings, SfxChildWindow *pMgr, vcl::Window *pParent)
Definition: datanavi.cxx:1992
AddConditionDialog * m_pConditionDlg
Definition: datanavi.hxx:463
void StateChanged(sal_uInt16 nSID, SfxItemState eState, const SfxPoolItem *pState) override
Definition: datanavi.cxx:2016
std::unique_ptr< weld::ComboBox > m_xModelsBox
Definition: datanavi.hxx:252
std::unique_ptr< weld::Label > m_xAltTitle
Definition: datanavi.hxx:468
const css::uno::Reference< css::xforms::XSubmission > & GetNewSubmission() const
Definition: datanavi.hxx:523
std::unique_ptr< weld::Button > m_xEditNamespaceBtn
Definition: datanavi.hxx:445
std::unique_ptr< weld::ComboBox > m_xMethodLB
Definition: datanavi.hxx:506
void SetLinkOnce(bool bLinkOnce)
Definition: datanavi.hxx:239
std::unique_ptr< weld::TextView > m_xConditionED
Definition: datanavi.hxx:410
css::uno::Reference< css::xforms::XFormsUIHelper1 > m_xUIHelper
Definition: datanavi.hxx:494
static constexpr OUStringLiteral m_sPut_API
Definition: datanavi.hxx:131
MethodString m_aMethodString
Definition: datanavi.hxx:181
OUString GetURL() const
Definition: datanavi.hxx:482
std::unique_ptr< weld::CheckButton > m_xRelevantCB
Definition: datanavi.hxx:371
std::unique_ptr< weld::Button > m_xRelevantBtn
Definition: datanavi.hxx:372
std::unique_ptr< weld::Entry > m_xRefED
Definition: datanavi.hxx:507
css::uno::Reference< css::beans::XPropertySet > m_xTempBinding
Definition: datanavi.hxx:500
DataGroupType m_eGroup
Definition: datanavi.hxx:196
void AddEntry(std::unique_ptr< ItemNode > _pNewNode, bool _bIsElement, weld::TreeIter *pRet=nullptr)
Definition: datanavi.cxx:682
virtual sal_Int8 ExecuteDrop(const ExecuteDropEvent &rEvt) override
Definition: datanavi.cxx:130
void AddContainerBroadcaster(const css::uno::Reference< css::container::XContainer > &xContainer)
Definition: datanavi.cxx:1953
std::unique_ptr< weld::Toolbar > m_xToolBox
Definition: datanavi.hxx:185
css::uno::Reference< css::beans::XPropertySet > m_xTempBinding
Definition: datanavi.hxx:351
const OUString & GetInstanceName() const
Definition: datanavi.hxx:234
bool GetLinkOnce() const
Definition: datanavi.hxx:236
OUString GetPrefix() const
Definition: datanavi.hxx:481
virtual void dispose() override
Definition: datanavi.cxx:2009
#define SFX_DECL_CHILDWINDOW(Class)
const css::uno::Reference< css::xforms::XFormsUIHelper1 > & GetXFormsHelper() const
Definition: datanavi.hxx:245
weld::Window * GetFrameWeld() const
std::unique_ptr< weld::Label > m_xURLFT
Definition: datanavi.hxx:550
void AddEventBroadcaster(const css::uno::Reference< css::xml::dom::events::XEventTarget > &xTarget)
Definition: datanavi.cxx:1962
std::unique_ptr< weld::Button > m_xDeleteNamespaceBtn
Definition: datanavi.hxx:446
void EditEntry(const css::uno::Reference< css::beans::XPropertySet > &_rPropSet)
Definition: datanavi.cxx:782
std::unique_ptr< weld::Button > m_xOKBtn
Definition: datanavi.hxx:379
OUString SvxResId(const char *pId)
Definition: dialmgr.cxx:28
std::unique_ptr< weld::CheckButton > m_xConstraintCB
Definition: datanavi.hxx:373
OUString toAPI(const OUString &rStr) const
convert submission replace string from UI to API.
Definition: datanavi.hxx:113
std::unique_ptr< weld::Entry > m_xActionED
Definition: datanavi.hxx:505
OUString GetURL() const
Definition: datanavi.hxx:564
css::uno::Reference< css::beans::XPropertySet > m_xSubmission
Definition: datanavi.hxx:498
void ModelSelectHdl(const weld::ComboBox *)
Definition: datanavi.cxx:1337
DataItemType
Definition: datanavi.hxx:65
std::unique_ptr< weld::Button > m_xRefBtn
Definition: datanavi.hxx:508
void NotifyChanges(bool _bLoadAll=false)
Definition: datanavi.cxx:1933
virtual void Start() override
std::unique_ptr< weld::Button > m_xRequiredBtn
Definition: datanavi.hxx:370
static constexpr OUStringLiteral const m_sNone_API
Definition: datanavi.hxx:87
std::unique_ptr< weld::Entry > m_xPrefixED
Definition: datanavi.hxx:465
::rtl::Reference< DataListener > m_xDataListener
Definition: datanavi.hxx:273
void DeleteAndClearTree()
Definition: datanavi.cxx:178
void SetModifyDoc(const bool bModify)
Definition: datanavi.hxx:541
std::unique_ptr< weld::Label > m_xAltTitle
Definition: datanavi.hxx:531
void SetPageModel(const OString &rCurId)
Definition: datanavi.cxx:1777
void SetCondition(const OUString &_rCondition)
Definition: datanavi.hxx:427
void ClearAllPageModels(bool bClearPages)
Definition: datanavi.cxx:1860
bool DoMenuAction(const OString &rMenuID)
Definition: datanavi.cxx:1159
css::uno::Reference< css::beans::XPropertySet > GetBindingForNode(const css::uno::Reference< css::xml::dom::XNode > &xNode)
Definition: datanavi.hxx:242
VclPtr< vcl::Window > m_xParent
Definition: datanavi.hxx:251
std::unique_ptr< weld::Entry > m_xNameED
Definition: datanavi.hxx:362
std::unique_ptr< weld::MenuButton > m_xModelBtn
Definition: datanavi.hxx:253
void SetName(const OUString &_rName)
Definition: datanavi.hxx:538
bool DoToolBoxAction(const OString &rToolBoxID)
Definition: datanavi.cxx:376
OUString GetName() const
Definition: datanavi.hxx:537
std::unique_ptr< weld::ComboBox > m_xDataTypeLB
Definition: datanavi.hxx:368
css::uno::Reference< css::beans::XPropertySet > m_xBinding
Definition: datanavi.hxx:408
std::unique_ptr< weld::Label > m_xDefaultFT
Definition: datanavi.hxx:363
void EnableMenuItems(weld::Menu *pMenu)
Definition: datanavi.cxx:1164
std::unique_ptr< XFormsPage > m_xSubmissionPage
Definition: datanavi.hxx:258
std::vector< std::unique_ptr< XFormsPage > > m_aPageList
Definition: datanavi.hxx:265
weld::Window * GetFrameWeld() const
Definition: datanavi.hxx:309
XFormsPage * GetPage(const OString &rCurId)
Definition: datanavi.cxx:1681
DECL_LINK(TbxSelectHdl, const OString &, void)
std::unique_ptr< weld::Entry > m_xNameED
Definition: datanavi.hxx:504
static constexpr OUStringLiteral const m_sInstance_API
Definition: datanavi.hxx:86
css::uno::Reference< css::container::XNameContainer > & m_rNamespaces
Definition: datanavi.hxx:441
virtual Size CalcDockingSize(SfxChildAlignment) override
Definition: datanavi.cxx:2020
std::unique_ptr< weld::CheckButton > m_xRequiredCB
Definition: datanavi.hxx:369
OString GetCurrentPage() const
Definition: datanavi.cxx:1718
std::unique_ptr< weld::TreeIter > m_xScratchIter
Definition: datanavi.hxx:187
std::unique_ptr< weld::Button > m_xAddNamespaceBtn
Definition: datanavi.hxx:444
css::uno::Reference< css::xforms::XFormsUIHelper1 > m_xUIHelper
Definition: datanavi.hxx:347
void SetInstanceURL(const OUString &url)
Definition: datanavi.hxx:238
void SetURL(const OUString &rURL)
Definition: datanavi.hxx:565
OUString const & toUI(const OUString &rStr) const
convert submission replace string from API value to UI value.
Definition: datanavi.hxx:101
std::unique_ptr< weld::TreeView > m_xItemList
Definition: datanavi.hxx:186
std::unique_ptr< DataNavigatorWindow > m_xDataWin
Definition: datanavi.hxx:318
virtual ~DataNavigator() override
Definition: datanavi.cxx:2004
XFormsPage(weld::Container *pParent, DataNavigatorWindow *_pNaviWin, DataGroupType _eGroup)
Definition: datanavi.cxx:187
OUString const & toUI(const OUString &rStr) const
convert from API to UI; put is default.
Definition: datanavi.hxx:146
DataTreeDropTarget(weld::TreeView &rWidget)
Definition: datanavi.cxx:120
std::vector< css::uno::Reference< css::xml::dom::events::XEventTarget > > m_aEventTargetList
Definition: datanavi.hxx:269
std::unique_ptr< weld::CheckButton > m_xModifyCB
Definition: datanavi.hxx:530
virtual void StateChanged(StateChangedType nStateChange) override
std::unique_ptr< weld::TreeView > m_xNamespacesList
Definition: datanavi.hxx:443
void CreateInstancePage(const css::uno::Sequence< css::beans::PropertyValue > &_xPropSeq)
Definition: datanavi.cxx:1884
void AddChildren(weld::TreeIter *_pParent, const css::uno::Reference< css::xml::dom::XNode > &_xNode)
Definition: datanavi.cxx:305
OUString GetCondition() const
Definition: datanavi.hxx:426
DataNavigatorWindow * m_pNaviWin
Definition: datanavi.hxx:194
std::vector< css::uno::Reference< css::container::XContainer > > m_aContainerList
Definition: datanavi.hxx:267
static bool IsAdditionalPage(const OString &rIdent)
Definition: datanavi.cxx:1640
void SetLinkInstance(bool bLink)
Definition: datanavi.hxx:567
std::unique_ptr< weld::Button > m_xFilePickerBtn
Definition: datanavi.hxx:552
std::unique_ptr< weld::Button > m_xOKBtn
Definition: datanavi.hxx:467
static constexpr OUStringLiteral m_sPost_API
Definition: datanavi.hxx:130
bool IsLinkInstance() const
Definition: datanavi.hxx:566
SfxItemState
SfxChildAlignment
std::unique_ptr< weld::Frame > m_xItemFrame
Definition: datanavi.hxx:360
std::unique_ptr< weld::Notebook > m_xTabCtrl
Definition: datanavi.hxx:254
std::unique_ptr< XFormsPage > m_xInstPage
Definition: datanavi.hxx:257
std::unique_ptr< weld::CheckButton > m_xLinkInstanceCB
Definition: datanavi.hxx:553
DataNavigatorWindow(vcl::Window *pParent, weld::Builder &rBuilder, SfxBindings const *pBindings)
Definition: datanavi.cxx:1257
css::uno::Reference< css::beans::XPropertySet > m_xCreatedBinding
Definition: datanavi.hxx:502
std::unique_ptr< weld::MenuButton > m_xInstanceBtn
Definition: datanavi.hxx:255
css::uno::Reference< css::xforms::XFormsUIHelper1 > m_xUIHelper
Definition: datanavi.hxx:406
std::unique_ptr< weld::Label > m_xAltTitle
Definition: datanavi.hxx:554
std::unique_ptr< weld::Button > m_xOKBtn
Definition: datanavi.hxx:447
ReplaceString m_aReplaceString
Definition: datanavi.hxx:489
std::unique_ptr< weld::TextView > m_xResultWin
Definition: datanavi.hxx:411
std::unique_ptr< weld::ComboBox > m_xReplaceLB
Definition: datanavi.hxx:510
std::unique_ptr< SvtURLBox > m_xURLED
Definition: datanavi.hxx:551
std::unique_ptr< weld::Button > m_xOKBtn
Definition: datanavi.hxx:511
OUString GetName() const
Definition: datanavi.hxx:562
void SetNamespace(const OUString &_rPrefix, const OUString &_rURL)
Definition: datanavi.hxx:476
OUString GetServiceNameForNode(const css::uno::Reference< css::xml::dom::XNode > &xNode)
Definition: datanavi.hxx:243
std::unique_ptr< weld::Button > m_xConstraintBtn
Definition: datanavi.hxx:374
OUString m_sInstanceURL
Definition: datanavi.hxx:202
const OUString & GetInstanceURL() const
Definition: datanavi.hxx:235
DataGroupType
Definition: datanavi.hxx:57
css::uno::Reference< css::frame::XModel > m_xFrameModel
Definition: datanavi.hxx:279
OUString m_sInstanceName
Definition: datanavi.hxx:201
std::unique_ptr< weld::ComboBox > m_xBindLB
Definition: datanavi.hxx:509
const css::uno::Reference< css::xforms::XFormsUIHelper1 > & GetUIHelper() const
Definition: datanavi.hxx:425
ReplaceString m_aReplaceString
Definition: datanavi.hxx:182
std::unique_ptr< weld::Button > m_xEditNamespacesBtn
Definition: datanavi.hxx:412
std::vector< OUString > m_aRemovedList
Definition: datanavi.hxx:438
OUString toAPI(const OUString &rStr) const
convert from UI to API; put is default
Definition: datanavi.hxx:157
class FmSearchEngine - Impl class for FmSearchDialog
std::unique_ptr< weld::CheckButton > m_xCalculateCB
Definition: datanavi.hxx:377
OUString LoadInstance(const css::uno::Sequence< css::beans::PropertyValue > &_xPropSeq)
Definition: datanavi.cxx:1117
bool HasFirstInstancePage() const
Definition: datanavi.cxx:1901
OUString SetModel(const css::uno::Reference< css::xforms::XModel > &_xModel, int _nPagePos)
Definition: datanavi.cxx:967
DECL_LINK(ModelSelectListBoxHdl, weld::ComboBox &, void)
std::unique_ptr< weld::Widget > m_xSettingsFrame
Definition: datanavi.hxx:366
DataTreeDropTarget m_aDropHelper
Definition: datanavi.hxx:189
css::uno::Reference< css::xforms::XSubmission > m_xNewSubmission
Definition: datanavi.hxx:496
std::unique_ptr< weld::Button > m_xCalculateBtn
Definition: datanavi.hxx:378
std::unique_ptr< weld::Button > m_xOKBtn
Definition: datanavi.hxx:413
#define SVX_DLLPRIVATE
Definition: svxdllapi.h:30
std::unique_ptr< XFormsPage > m_xBindingPage
Definition: datanavi.hxx:259
virtual sal_Int8 AcceptDrop(const AcceptDropEvent &rEvt) override
Definition: datanavi.cxx:125
SfxChildWindow * pMgr
static constexpr OUStringLiteral m_sGet_API
Definition: datanavi.hxx:132
css::uno::Reference< css::frame::XFrame > m_xFrame
Definition: datanavi.hxx:277
SfxBindings * pBindings
bool GetModifyDoc() const
Definition: datanavi.hxx:540
weld::Container * m_pParent
Definition: datanavi.hxx:184