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>
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>
77 class DataNavigatorWindow;
78 class AddInstanceDialog;
102 OUString
const &
toUI( std::u16string_view rStr )
const
114 OUString
toAPI( std::u16string_view rStr )
const
147 OUString
const &
toUI( std::u16string_view rStr )
const
158 OUString
toAPI( std::u16string_view rStr )
const
192 css::uno::Reference< css::xforms::XFormsUIHelper1 >
212 const css::uno::Reference< css::xml::dom::XNode >& _xNode);
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 >
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 >
387 void InitDataTypeBox();
392 const css::uno::Reference< css::xforms::XFormsUIHelper1 >& _rUIHelper );
404 css::uno::Reference< css::xforms::XFormsUIHelper1 >
406 css::uno::Reference< css::beans::XPropertySet >
421 OUString _aPropertyName,
const css::uno::Reference< css::beans::XPropertySet >& _rBinding);
424 const css::uno::Reference< css::xforms::XFormsUIHelper1 >&
GetUIHelper()
const {
return m_xUIHelper; }
428 m_xConditionED->set_text(_rCondition);
429 m_aResultIdle.
Start();
439 css::uno::Reference< css::container::XNameContainer >&
452 void LoadNamespaces();
477 m_xPrefixED->set_text(_rPrefix);
478 m_xUrlED->set_text(_rURL);
480 OUString
GetPrefix()
const {
return m_xPrefixED->get_text(); }
481 OUString
GetURL()
const {
return m_xUrlED->get_text(); }
492 css::uno::Reference< css::xforms::XFormsUIHelper1 >
494 css::uno::Reference< css::xforms::XSubmission >
496 css::uno::Reference< css::beans::XPropertySet >
498 css::uno::Reference< css::beans::XPropertySet >
500 css::uno::Reference< css::beans::XPropertySet >
519 const css::uno::Reference< css::xforms::XFormsUIHelper1 >& rUIHelper);
522 const css::uno::Reference< css::xforms::XSubmission >&
GetNewSubmission()
const {
return m_xNewSubmission; }
536 OUString
GetName()
const {
return m_xNameED->get_text(); }
537 void SetName(
const OUString& _rName ) { m_xNameED->set_text( _rName );}
540 void SetModifyDoc(
const bool bModify ) { m_xModifyCB->set_active(bModify); }
560 OUString
GetName()
const {
return m_xNameED->get_text(); }
561 void SetName(
const OUString& rName ) { m_xNameED->set_text( rName );}
562 OUString
GetURL()
const {
return m_xURLED->get_active_text(); }
563 void SetURL(
const OUString& rURL ) { m_xURLED->set_entry_text( rURL );}
#define SFX_DECL_CHILDWINDOW(Class)
virtual void Start(bool bStartTimer=true) override
virtual void StateChanged(StateChangedType nStateChange) override
OUString LoadInstance(const css::uno::Sequence< css::beans::PropertyValue > &_xPropSeq)
void AddEntry(const css::uno::Reference< css::beans::XPropertySet > &_rPropSet, weld::TreeIter *pRet=nullptr)
std::unique_ptr< weld::Toolbar > m_xToolBox
void AddEntry(std::unique_ptr< ItemNode > _pNewNode, bool _bIsElement, weld::TreeIter *pRet=nullptr)
void SetInstanceName(const OUString &name)
DECL_LINK(KeyInputHdl, const KeyEvent &, bool)
OUString SetModel(const css::uno::Reference< css::xforms::XModel > &_xModel, int _nPagePos)
css::uno::Reference< css::xforms::XFormsUIHelper1 > m_xUIHelper
void AddChildren(const weld::TreeIter *_pParent, const css::uno::Reference< css::xml::dom::XNode > &_xNode)
DataNavigatorWindow * m_pNaviWin
std::unique_ptr< weld::TreeView > m_xItemList
void SetLinkOnce(bool bLinkOnce)
const OUString & GetInstanceName() const
void EditEntry(const css::uno::Reference< css::beans::XPropertySet > &_rPropSet)
DECL_LINK(PopupMenuHdl, const CommandEvent &, bool)
DataTreeDropTarget m_aDropHelper
OUString GetServiceNameForNode(const css::uno::Reference< css::xml::dom::XNode > &xNode)
ReplaceString m_aReplaceString
XFormsPage(weld::Container *pParent, DataNavigatorWindow *_pNaviWin, DataGroupType _eGroup)
css::uno::Reference< css::beans::XPropertySet > GetBindingForNode(const css::uno::Reference< css::xml::dom::XNode > &xNode)
bool DoToolBoxAction(std::string_view rToolBoxID)
weld::Container * m_pParent
virtual ~XFormsPage() override
DECL_LINK(TbxSelectHdl, const OString &, void)
void EnableMenuItems(weld::Menu *pMenu)
bool DoMenuAction(std::string_view rMenuID)
void SetInstanceURL(const OUString &url)
const css::uno::Reference< css::xforms::XFormsUIHelper1 > & GetXFormsHelper() const
MethodString m_aMethodString
DECL_LINK(ItemSelectHdl, weld::TreeView &, void)
const OUString & GetInstanceURL() const
void DeleteAndClearTree()
std::unique_ptr< weld::TreeIter > m_xScratchIter
OUString SvxResId(TranslateId aId)