19 #ifndef INCLUDED_SVX_SOURCE_INC_DATANAVI_HXX
20 #define INCLUDED_SVX_SOURCE_INC_DATANAVI_HXX
22 #include <config_options.h>
32 #include <svx/strings.hrc>
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>
48 #include <string_view>
77 class DataNavigatorWindow;
78 class AddInstanceDialog;
95 m_sDoc_UI =
SvxResId(RID_STR_REPLACE_DOC);
96 m_sInstance_UI =
SvxResId(RID_STR_REPLACE_INST);
97 m_sNone_UI =
SvxResId(RID_STR_REPLACE_NONE);
102 OUString
const &
toUI( std::u16string_view rStr )
const
104 if( rStr == m_sDoc_API )
106 else if( rStr == m_sInstance_API )
114 OUString
toAPI( std::u16string_view rStr )
const
116 if( rStr == m_sDoc_UI )
118 else if( rStr == m_sInstance_UI )
141 m_sPost_UI =
SvxResId(RID_STR_METHOD_POST);
142 m_sPut_UI =
SvxResId(RID_STR_METHOD_PUT);
143 m_sGet_UI =
SvxResId(RID_STR_METHOD_GET);
147 OUString
const &
toUI( std::u16string_view rStr )
const
149 if( rStr == m_sGet_API )
151 else if( rStr == m_sPost_API )
158 OUString
toAPI( std::u16string_view rStr )
const
160 if( rStr == m_sGet_UI )
162 else if( rStr == m_sPost_UI )
192 css::uno::Reference< css::xforms::XFormsUIHelper1 >
206 DECL_LINK(TbxSelectHdl,
const OString&,
void);
212 const css::uno::Reference< css::xml::dom::XNode >& _xNode);
215 void AddEntry(
const css::uno::Reference< css::beans::XPropertySet >& _rPropSet,
weld::TreeIter* pRet =
nullptr);
216 void EditEntry(
const css::uno::Reference< css::beans::XPropertySet >& _rPropSet );
228 OUString
SetModel(
const css::uno::Reference< css::xforms::XModel > & _xModel,
int _nPagePos );
230 OUString
LoadInstance(
const css::uno::Sequence< css::beans::PropertyValue >& _xPropSeq);
242 css::uno::Reference<css::beans::XPropertySet>
245 const css::uno::Reference< css::xforms::XFormsUIHelper1 >&
265 std::vector< std::unique_ptr<XFormsPage> >
267 std::vector< css::uno::Reference< css::container::XContainer > >
269 std::vector< css::uno::Reference< css::xml::dom::events::XEventTarget > >
275 css::uno::Reference< css::container::XNameContainer >
277 css::uno::Reference< css::frame::XFrame >
279 css::uno::Reference< css::frame::XModel >
283 DECL_LINK( MenuSelectHdl,
const OString&,
void );
285 DECL_LINK( ActivatePageHdl,
const OString&,
void);
294 void CreateInstancePage(
const css::uno::Sequence< css::beans::PropertyValue >& _xPropSeq );
307 void AddEventBroadcaster(
const css::uno::Reference< css::xml::dom::events::XEventTarget >& xTarget );
327 virtual void dispose()
override;
335 class UNLESS_MERGELIBS(SVXCORE_DLLPUBLIC) DataNavigatorManager final :
public SfxChildWindow
346 css::uno::Reference< css::xforms::XFormsUIHelper1 >
348 css::uno::Reference< css::beans::XPropertySet >
350 css::uno::Reference< css::beans::XPropertySet >
388 void InitDataTypeBox();
393 const css::uno::Reference< css::xforms::XFormsUIHelper1 >& _rUIHelper );
405 css::uno::Reference< css::xforms::XFormsUIHelper1 >
407 css::uno::Reference< css::beans::XPropertySet >
422 const OUString& _rPropertyName,
const css::uno::Reference< css::beans::XPropertySet >& _rBinding);
425 const css::uno::Reference< css::xforms::XFormsUIHelper1 >&
GetUIHelper()
const {
return m_xUIHelper; }
429 m_xConditionED->set_text(_rCondition);
430 m_aResultIdle.
Start();
440 css::uno::Reference< css::container::XNameContainer >&
453 void LoadNamespaces();
478 m_xPrefixED->set_text(_rPrefix);
479 m_xUrlED->set_text(_rURL);
481 OUString
GetPrefix()
const {
return m_xPrefixED->get_text(); }
482 OUString
GetURL()
const {
return m_xUrlED->get_text(); }
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 >
520 const css::uno::Reference< css::xforms::XFormsUIHelper1 >& rUIHelper);
523 const css::uno::Reference< css::xforms::XSubmission >&
GetNewSubmission()
const {
return m_xNewSubmission; }
537 OUString
GetName()
const {
return m_xNameED->get_text(); }
538 void SetName(
const OUString& _rName ) { m_xNameED->set_text( _rName );}
541 void SetModifyDoc(
const bool bModify ) { m_xModifyCB->set_active(bModify); }
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 );}
578 #endif // INCLUDED_SVX_SOURCE_INC_DATANAVI_HXX
virtual ~XFormsPage() override
DECL_LINK(CheckNameHdl, SvxNameDialog &, bool)
css::uno::Reference< css::xforms::XFormsUIHelper1 > m_xUIHelper
void SetInstanceName(const OUString &name)
void SetLinkOnce(bool bLinkOnce)
MethodString m_aMethodString
void AddEntry(std::unique_ptr< ItemNode > _pNewNode, bool _bIsElement, weld::TreeIter *pRet=nullptr)
std::unique_ptr< weld::Toolbar > m_xToolBox
const OUString & GetInstanceName() const
#define SFX_DECL_CHILDWINDOW(Class)
const css::uno::Reference< css::xforms::XFormsUIHelper1 > & GetXFormsHelper() const
weld::Window * GetFrameWeld() const
void EditEntry(const css::uno::Reference< css::beans::XPropertySet > &_rPropSet)
OUString SvxResId(TranslateId aId)
void DeleteAndClearTree()
css::uno::Reference< css::beans::XPropertySet > GetBindingForNode(const css::uno::Reference< css::xml::dom::XNode > &xNode)
void EnableMenuItems(weld::Menu *pMenu)
DECL_LINK(TbxSelectHdl, const OString &, void)
std::unique_ptr< weld::TreeIter > m_xScratchIter
void SetInstanceURL(const OUString &url)
std::unique_ptr< weld::TreeView > m_xItemList
void AddChildren(const weld::TreeIter *_pParent, const css::uno::Reference< css::xml::dom::XNode > &_xNode)
XFormsPage(weld::Container *pParent, DataNavigatorWindow *_pNaviWin, DataGroupType _eGroup)
bool DoMenuAction(std::string_view rMenuID)
virtual void StateChanged(StateChangedType nStateChange) override
DataNavigatorWindow * m_pNaviWin
OUString GetServiceNameForNode(const css::uno::Reference< css::xml::dom::XNode > &xNode)
const OUString & GetInstanceURL() const
ReplaceString m_aReplaceString
virtual void Start(bool bStartTimer=true) override
OUString LoadInstance(const css::uno::Sequence< css::beans::PropertyValue > &_xPropSeq)
OUString SetModel(const css::uno::Reference< css::xforms::XModel > &_xModel, int _nPagePos)
bool DoToolBoxAction(std::string_view rToolBoxID)
DataTreeDropTarget m_aDropHelper
weld::Container * m_pParent