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 );
328 virtual void dispose()
override;
336 class UNLESS_MERGELIBS(SVXCORE_DLLPUBLIC) DataNavigatorManager :
public SfxChildWindow
347 css::uno::Reference< css::xforms::XFormsUIHelper1 >
349 css::uno::Reference< css::beans::XPropertySet >
351 css::uno::Reference< css::beans::XPropertySet >
389 void InitDataTypeBox();
394 const css::uno::Reference< css::xforms::XFormsUIHelper1 >& _rUIHelper );
406 css::uno::Reference< css::xforms::XFormsUIHelper1 >
408 css::uno::Reference< css::beans::XPropertySet >
423 const OUString& _rPropertyName,
const css::uno::Reference< css::beans::XPropertySet >& _rBinding);
426 const css::uno::Reference< css::xforms::XFormsUIHelper1 >&
GetUIHelper()
const {
return m_xUIHelper; }
430 m_xConditionED->set_text(_rCondition);
431 m_aResultIdle.
Start();
441 css::uno::Reference< css::container::XNameContainer >&
454 void LoadNamespaces();
479 m_xPrefixED->set_text(_rPrefix);
480 m_xUrlED->set_text(_rURL);
482 OUString
GetPrefix()
const {
return m_xPrefixED->get_text(); }
483 OUString
GetURL()
const {
return m_xUrlED->get_text(); }
494 css::uno::Reference< css::xforms::XFormsUIHelper1 >
496 css::uno::Reference< css::xforms::XSubmission >
498 css::uno::Reference< css::beans::XPropertySet >
500 css::uno::Reference< css::beans::XPropertySet >
502 css::uno::Reference< css::beans::XPropertySet >
521 const css::uno::Reference< css::xforms::XFormsUIHelper1 >& rUIHelper);
524 const css::uno::Reference< css::xforms::XSubmission >&
GetNewSubmission()
const {
return m_xNewSubmission; }
538 OUString
GetName()
const {
return m_xNameED->get_text(); }
539 void SetName(
const OUString& _rName ) { m_xNameED->set_text( _rName );}
542 void SetModifyDoc(
const bool bModify ) { m_xModifyCB->set_active(bModify); }
563 OUString
GetName()
const {
return m_xNameED->get_text(); }
564 void SetName(
const OUString& rName ) { m_xNameED->set_text( rName );}
565 OUString
GetURL()
const {
return m_xURLED->get_active_text(); }
566 void SetURL(
const OUString& rURL ) { m_xURLED->set_entry_text( rURL );}
579 #endif // INCLUDED_SVX_SOURCE_INC_DATANAVI_HXX
virtual ~XFormsPage() override
css::uno::Reference< css::xforms::XFormsUIHelper1 > m_xUIHelper
void SetInstanceName(const OUString &name)
#define DECL_LINK(Member, ArgType, RetType)
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(const char *pId)
virtual void Start() override
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
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