LCOV - code coverage report
Current view: top level - svx/source/inc - datanavi.hxx (source / functions) Hit Total Coverage
Test: commit 10e77ab3ff6f4314137acd6e2702a6e5c1ce1fae Lines: 0 80 0.0 %
Date: 2014-11-03 Functions: 0 50 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       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 <vcl/builder.hxx>
      23             : #include <vcl/dialog.hxx>
      24             : #include <vcl/fixed.hxx>
      25             : #include <vcl/layout.hxx>
      26             : #include <vcl/lstbox.hxx>
      27             : #include <vcl/menubtn.hxx>
      28             : #include <vcl/tabctrl.hxx>
      29             : #include <vcl/tabpage.hxx>
      30             : #include <vcl/toolbox.hxx>
      31             : #include <svtools/inettbc.hxx>
      32             : #include <svtools/simptabl.hxx>
      33             : #include <svtools/svmedit.hxx>
      34             : #include <svtools/treelistbox.hxx>
      35             : #include <sfx2/dockwin.hxx>
      36             : #include <sfx2/childwin.hxx>
      37             : #include <sfx2/ctrlitem.hxx>
      38             : #include <svx/dialmgr.hxx>
      39             : #include <svx/dialogs.hrc>
      40             : #include <svx/fmresids.hrc>
      41             : #include <svx/svxdllapi.h>
      42             : #include <rtl/ref.hxx>
      43             : #include <com/sun/star/beans/XPropertySet.hpp>
      44             : #include <com/sun/star/container/XContainer.hpp>
      45             : #include <com/sun/star/container/XNameContainer.hpp>
      46             : #include <com/sun/star/frame/XFrame.hpp>
      47             : #include <com/sun/star/xforms/XFormsUIHelper1.hpp>
      48             : #include <com/sun/star/xforms/XModel.hpp>
      49             : #include <com/sun/star/xforms/XSubmission.hpp>
      50             : #include <com/sun/star/xml/dom/XNode.hpp>
      51             : #include <com/sun/star/xml/dom/events/XEventTarget.hpp>
      52             : 
      53             : #include "datalistener.hxx"
      54             : #include <vector>
      55             : 
      56             : class FmFormShell;
      57             : 
      58             : 
      59             : 
      60             : namespace svxform
      61             : {
      62             : 
      63             : 
      64             :     enum DataGroupType
      65             :     {
      66             :         DGTUnknown = 0,
      67             :         DGTInstance,
      68             :         DGTSubmission,
      69             :         DGTBinding
      70             :     };
      71             : 
      72             :     enum DataItemType
      73             :     {
      74             :         DITNone = 0,
      75             :         DITText,
      76             :         DITAttribute,
      77             :         DITElement,
      78             :         DITBinding
      79             :     };
      80             : 
      81             :     struct ItemNode;
      82             :     class XFormsPage;
      83             :     class DataNavigatorWindow;
      84             :     class AddInstanceDialog;
      85             : 
      86             :     typedef ::com::sun::star::uno::Reference<
      87             :                 ::com::sun::star::xforms::XFormsUIHelper1 >         XFormsUIHelper1_ref;
      88             :     typedef ::com::sun::star::uno::Reference<
      89             :                 ::com::sun::star::xml::dom::XNode >                 XNode_ref;
      90             :     typedef ::com::sun::star::uno::Reference<
      91             :                 ::com::sun::star::beans::XPropertySet >             XPropertySet_ref;
      92             :     typedef ::com::sun::star::uno::Reference<
      93             :                 ::com::sun::star::xforms::XModel >                  XModel_ref;
      94             :     typedef ::com::sun::star::uno::Reference<
      95             :                 ::com::sun::star::container::XContainer >           XContainer_ref;
      96             :     typedef ::com::sun::star::uno::Reference<
      97             :                 ::com::sun::star::container::XNameContainer >       XNameContainer_ref;
      98             :     typedef ::com::sun::star::uno::Reference<
      99             :                 ::com::sun::star::frame::XFrame >                   XFrame_ref;
     100             :     typedef ::com::sun::star::uno::Reference<
     101             :                 ::com::sun::star::frame::XModel >                   XFrameModel_ref;
     102             :     typedef ::com::sun::star::uno::Reference<
     103             :                 ::com::sun::star::xml::dom::events::XEventTarget >  XEventTarget_ref;
     104             :     typedef ::com::sun::star::uno::Reference<
     105             :                 ::com::sun::star::xforms::XSubmission >             XSubmission_ref;
     106             : 
     107             :     typedef ::com::sun::star::uno::Sequence<
     108             :                 ::com::sun::star::beans::PropertyValue >            PropertyValue_seq;
     109             : 
     110             :     typedef std::vector< XContainer_ref >                           ContainerList;
     111             :     typedef std::vector< XEventTarget_ref >                         EventTargetList;
     112             : 
     113             : 
     114             :     class DataTreeListBox : public SvTreeListBox
     115             :     {
     116             :     private:
     117             :         XFormsPage*             m_pXFormsPage;
     118             :         DataGroupType           m_eGroup;
     119             :         sal_uInt16              m_nAddId;
     120             :         sal_uInt16              m_nAddElementId;
     121             :         sal_uInt16              m_nAddAttributeId;
     122             :         sal_uInt16              m_nEditId;
     123             :         sal_uInt16              m_nRemoveId;
     124             : 
     125             :     protected:
     126             :         using SvTreeListBox::ExecuteDrop;
     127             : 
     128             :     public:
     129             :         DataTreeListBox( vcl::Window* pParent, WinBits nBits );
     130             :         virtual ~DataTreeListBox();
     131             : 
     132             :         virtual PopupMenu*      CreateContextMenu( void ) SAL_OVERRIDE;
     133             :         virtual void            ExcecuteContextMenuAction( sal_uInt16 _nSelectedPopupEntry ) SAL_OVERRIDE;
     134             :         virtual sal_Int8        AcceptDrop( const AcceptDropEvent& rEvt ) SAL_OVERRIDE;
     135             :         virtual sal_Int8        ExecuteDrop( const ExecuteDropEvent& rEvt ) SAL_OVERRIDE;
     136             :         virtual void            StartDrag( sal_Int8 nAction, const Point& rPosPixel ) SAL_OVERRIDE;
     137             : 
     138             :         void                    SetGroup(DataGroupType _eGroup);
     139             :         void                    SetXFormsPage(XFormsPage* _pPage);
     140             :         void                    SetToolBoxItemIds(sal_uInt16 _nAddId,
     141             :                                                   sal_uInt16 _nAddElementId,
     142             :                                                   sal_uInt16 _nAddAttributeId,
     143             :                                                   sal_uInt16 _nEditId,
     144             :                                                   sal_uInt16 _nRemoveId);
     145             :         void                    DeleteAndClear();
     146             :         void                    RemoveEntry( SvTreeListEntry* _pEntry );
     147             :     };
     148             : 
     149           0 :     class ReplaceString
     150             :     {
     151             :         OUString m_sDoc_UI;
     152             :         OUString m_sInstance_UI;
     153             :         OUString m_sNone_UI;
     154             : 
     155             :         OUString m_sDoc_API;
     156             :         OUString m_sInstance_API;
     157             :         OUString m_sNone_API;
     158             : 
     159             :         ReplaceString( const ReplaceString& );
     160             : 
     161             :     public:
     162           0 :         ReplaceString() :
     163             :             m_sDoc_API(      "all" ),
     164             :             m_sInstance_API( "instance" ),
     165           0 :             m_sNone_API(     "none" )
     166             :         {
     167           0 :             m_sDoc_UI = SVX_RESSTR(RID_STR_REPLACE_DOC);
     168           0 :             m_sInstance_UI = SVX_RESSTR(RID_STR_REPLACE_INST);
     169           0 :             m_sNone_UI = SVX_RESSTR(RID_STR_REPLACE_NONE);
     170           0 :         }
     171             : 
     172             :         /** convert submission replace string from API value to UI value.
     173             :             Use 'none' as default. */
     174           0 :         OUString toUI( const OUString& rStr ) const
     175             :         {
     176           0 :             if( rStr == m_sDoc_API )
     177           0 :                 return m_sDoc_UI;
     178           0 :             else if( rStr == m_sInstance_API )
     179           0 :                 return m_sInstance_UI;
     180             :             else
     181           0 :                 return m_sNone_UI;
     182             :         }
     183             : 
     184             :         /** convert submission replace string from UI to API.
     185             :             Use 'none' as default. */
     186           0 :         OUString toAPI( const OUString& rStr ) const
     187             :         {
     188           0 :             if( rStr == m_sDoc_UI )
     189           0 :                 return m_sDoc_API;
     190           0 :             else if( rStr == m_sInstance_UI )
     191           0 :                 return m_sInstance_API;
     192             :             else
     193           0 :                 return m_sNone_API;
     194             :         }
     195             :     };
     196             : 
     197           0 :     class MethodString
     198             :     {
     199             :         OUString m_sPost_UI;
     200             :         OUString m_sPut_UI;
     201             :         OUString m_sGet_UI;
     202             : 
     203             :         OUString m_sPost_API;
     204             :         OUString m_sPut_API;
     205             :         OUString m_sGet_API;
     206             : 
     207             :         MethodString( const MethodString& );
     208             : 
     209             :     public:
     210             : 
     211           0 :         MethodString() :
     212             :             m_sPost_API( "post" ),
     213             :             m_sPut_API(  "put" ),
     214           0 :             m_sGet_API(  "get" )
     215             :         {
     216           0 :             m_sPost_UI = SVX_RESSTR(RID_STR_METHOD_POST);
     217           0 :             m_sPut_UI  = SVX_RESSTR(RID_STR_METHOD_PUT);
     218           0 :             m_sGet_UI  = SVX_RESSTR(RID_STR_METHOD_GET);
     219           0 :         }
     220             : 
     221             :         /** convert from API to UI; put is default. */
     222           0 :         OUString toUI( const OUString& rStr ) const
     223             :         {
     224           0 :             if( rStr == m_sGet_API )
     225           0 :                 return m_sGet_UI;
     226           0 :             else if( rStr == m_sPost_API )
     227           0 :                 return m_sPost_UI;
     228             :             else
     229           0 :                 return m_sPut_UI;
     230             :         }
     231             : 
     232             :         /** convert from UI to API; put is default */
     233           0 :         OUString toAPI( const OUString& rStr ) const
     234             :         {
     235           0 :             if( rStr == m_sGet_UI )
     236           0 :                 return m_sGet_API;
     237           0 :             else if( rStr == m_sPost_UI )
     238           0 :                 return m_sPost_API;
     239             :             else
     240           0 :                 return m_sPut_API;
     241             :         }
     242             :     };
     243             : 
     244             : 
     245             :     class XFormsPage : public TabPage
     246             :     {
     247             :     private:
     248             :         MethodString                m_aMethodString;
     249             :         ReplaceString               m_aReplaceString;
     250             : 
     251             :         ToolBox                     *m_pToolBox;
     252             :         DataTreeListBox             *m_pItemList;
     253             :         sal_uInt16                  m_nAddId;
     254             :         sal_uInt16                  m_nAddElementId;
     255             :         sal_uInt16                  m_nAddAttributeId;
     256             :         sal_uInt16                  m_nEditId;
     257             :         sal_uInt16                  m_nRemoveId;
     258             : 
     259             :         XFormsUIHelper1_ref         m_xUIHelper;
     260             : 
     261             :         DataNavigatorWindow*        m_pNaviWin;
     262             :         bool                        m_bHasModel;
     263             :         DataGroupType               m_eGroup;
     264             :         ImageList                   m_TbxImageList;
     265             :         // these strings are not valid on the Submission and Binding Page
     266             :         // mb: furthermore these are properties of an instance, thus
     267             :         // it would be much better to get/set them through the UIHelper
     268             :         // interface.
     269             :         OUString                    m_sInstanceName;
     270             :         OUString                    m_sInstanceURL;
     271             :         bool                        m_bLinkOnce;
     272             : 
     273             :         DECL_LINK(TbxSelectHdl, void *);
     274             :         DECL_LINK(ItemSelectHdl, void *);
     275             : 
     276             :         void                        AddChildren( SvTreeListEntry* _pParent,
     277             :                                                  const ImageList& _rImgLst,
     278             :                                                  const XNode_ref& _xNode );
     279             :         bool                        DoToolBoxAction( sal_uInt16 _nToolBoxID );
     280             :         SvTreeListEntry*                AddEntry( ItemNode* _pNewNode, bool _bIsElement );
     281             :         SvTreeListEntry*                AddEntry( const XPropertySet_ref& _rPropSet );
     282             :         void                        EditEntry( const XPropertySet_ref& _rPropSet );
     283             :         bool                        RemoveEntry();
     284             : 
     285             :     protected:
     286             :         virtual bool                Notify( NotifyEvent& rNEvt ) SAL_OVERRIDE;
     287             : 
     288             :     public:
     289             :         XFormsPage( vcl::Window* pParent, DataNavigatorWindow* _pNaviWin, DataGroupType _eGroup );
     290             :         virtual ~XFormsPage();
     291             : 
     292             :         virtual void                Resize() SAL_OVERRIDE;
     293             : 
     294           0 :         inline bool                 HasModel() const { return m_bHasModel; }
     295             :         OUString                    SetModel( const XModel_ref& _xModel, sal_uInt16 _nPagePos );
     296             :         void                        ClearModel();
     297             :         OUString                    LoadInstance( const PropertyValue_seq& _xPropSeq,
     298             :                                                   const ImageList& _rImgLst );
     299             : 
     300             :         bool                        DoMenuAction( sal_uInt16 _nMenuID );
     301             :         void                        EnableMenuItems( Menu* _pMenu );
     302             : 
     303             :         inline SvTreeListEntry*     GetSelectedItem() const { return m_pItemList->FirstSelected(); }
     304           0 :         inline const OUString&      GetInstanceName() const { return m_sInstanceName; }
     305           0 :         inline const OUString&      GetInstanceURL() const { return m_sInstanceURL; }
     306           0 :         inline bool                 GetLinkOnce() const { return m_bLinkOnce; }
     307           0 :         inline void                 SetInstanceName( const OUString &name ) { m_sInstanceName=name; }
     308           0 :         inline void                 SetInstanceURL( const OUString &url ) { m_sInstanceURL=url; }
     309           0 :         inline void                 SetLinkOnce( bool bLinkOnce ) { m_bLinkOnce=bLinkOnce; }
     310             : 
     311             :         typedef com::sun::star::uno::Reference<com::sun::star::beans::XPropertySet> XPropertySet_t;
     312             :         typedef com::sun::star::uno::Reference<com::sun::star::xml::dom::XNode> XNode_t;
     313             : 
     314           0 :         inline XPropertySet_t GetBindingForNode( const XNode_t &xNode ) { return m_xUIHelper->getBindingForNode(xNode,true); }
     315           0 :         inline OUString GetServiceNameForNode( const XNode_t &xNode ) { return m_xUIHelper->getDefaultServiceNameForNode(xNode); }
     316           0 :         inline XFormsUIHelper1_ref GetXFormsHelper( void ) const { return m_xUIHelper; }
     317             :     };
     318             : 
     319             : 
     320             : 
     321             :     typedef std::vector< XFormsPage* >          PageList;
     322             :     typedef ::rtl::Reference < DataListener >   DataListener_ref;
     323             : 
     324             :     class DataNavigatorWindow : public vcl::Window, public VclBuilderContainer
     325             :     {
     326             :     private:
     327             :         ListBox*                    m_pModelsBox;
     328             :         MenuButton*                 m_pModelBtn;
     329             :         TabControl*                 m_pTabCtrl;
     330             :         MenuButton*                 m_pInstanceBtn;
     331             : 
     332             :         XFormsPage*                 m_pInstPage;
     333             :         XFormsPage*                 m_pSubmissionPage;
     334             :         XFormsPage*                 m_pBindingPage;
     335             : 
     336             :         sal_Int32                   m_nLastSelectedPos;
     337             :         bool                        m_bShowDetails;
     338             :         bool                        m_bIsNotifyDisabled;
     339             :         ImageList                   m_aItemImageList;
     340             :         PageList                    m_aPageList;
     341             :         ContainerList               m_aContainerList;
     342             :         EventTargetList             m_aEventTargetList;
     343             :         Timer                       m_aUpdateTimer;
     344             : 
     345             :         DataListener_ref            m_xDataListener;
     346             :         XNameContainer_ref          m_xDataContainer;
     347             :         XFrame_ref                  m_xFrame;
     348             :         XFrameModel_ref             m_xFrameModel;
     349             : 
     350             :         DECL_LINK(                  ModelSelectHdl, ListBox * );
     351             :         DECL_LINK(                  MenuSelectHdl, MenuButton * );
     352             :         DECL_LINK(                  MenuActivateHdl, MenuButton * );
     353             :         DECL_LINK(ActivatePageHdl, void *);
     354             :         DECL_LINK(UpdateHdl, void *);
     355             : 
     356             :         XFormsPage*                 GetCurrentPage( sal_uInt16& rCurId );
     357             :         void                        LoadModels();
     358             :         void                        SetPageModel();
     359             :         void                        ClearAllPageModels( bool bClearPages );
     360             :         void                        InitPages();
     361             :         void                        CreateInstancePage( const PropertyValue_seq& _xPropSeq );
     362             :         bool                        HasFirstInstancePage() const;
     363             :         sal_uInt16                  GetNewPageId() const;
     364             : 
     365             :         bool                        IsAdditionalPage(sal_uInt16 nPageId) const;
     366             : 
     367             :     protected:
     368             :         virtual void                Resize() SAL_OVERRIDE;
     369             :         virtual Size                GetOptimalSize() const SAL_OVERRIDE;
     370             : 
     371             :     public:
     372             :         DataNavigatorWindow( vcl::Window* pParent, SfxBindings* pBindings );
     373             :         virtual ~DataNavigatorWindow();
     374             : 
     375             :         void                        SetDocModified();
     376             :         void                        NotifyChanges( bool _bLoadAll = false );
     377             :         void                        AddContainerBroadcaster( const XContainer_ref& xContainer );
     378             :         void                        AddEventBroadcaster( const XEventTarget_ref& xTarget );
     379             :         void                        RemoveBroadcaster();
     380             : 
     381           0 :         inline const ImageList&     GetItemImageList() const { return m_aItemImageList; }
     382           0 :         inline bool                 IsShowDetails() const { return m_bShowDetails; }
     383           0 :         inline void                 DisableNotify( bool _bDisable ) { m_bIsNotifyDisabled = _bDisable; }
     384             :     };
     385             : 
     386             : 
     387             :     class DataNavigator : public SfxDockingWindow, public SfxControllerItem
     388             :     {
     389             :     private:
     390             :         DataNavigatorWindow         m_aDataWin;
     391             : 
     392             :     protected:
     393             :         virtual void                Resize() SAL_OVERRIDE;
     394             :         virtual bool            Close() SAL_OVERRIDE;
     395             :         virtual void                GetFocus() SAL_OVERRIDE;
     396             :         virtual Size                CalcDockingSize( SfxChildAlignment ) SAL_OVERRIDE;
     397             :         virtual SfxChildAlignment   CheckAlignment( SfxChildAlignment, SfxChildAlignment ) SAL_OVERRIDE;
     398             : 
     399             :     public:
     400             :         DataNavigator( SfxBindings* pBindings, SfxChildWindow* pMgr, vcl::Window* pParent );
     401             :         virtual ~DataNavigator();
     402             : 
     403             :         using Window::Update;
     404             :         using                       SfxDockingWindow::StateChanged;
     405             : 
     406             :         void                        Update( FmFormShell* pFormShell );
     407             :         void                        StateChanged( sal_uInt16 nSID, SfxItemState eState,
     408             :                                                   const SfxPoolItem* pState ) SAL_OVERRIDE;
     409             :     };
     410             : 
     411             : 
     412           0 :     class SVX_DLLPUBLIC DataNavigatorManager : public SfxChildWindow
     413             :     {
     414             :     public:
     415             :         SVX_DLLPRIVATE DataNavigatorManager( vcl::Window* pParent, sal_uInt16 nId,
     416             :                               SfxBindings* pBindings, SfxChildWinInfo* pInfo );
     417             :         SFX_DECL_CHILDWINDOW( DataNavigatorManager );
     418             :     };
     419             : 
     420             : 
     421             :     class AddDataItemDialog : public ModalDialog
     422             :     {
     423             :     private:
     424             : 
     425             :         VclFrame*           m_pItemFrame;
     426             :         FixedText*          m_pNameFT;
     427             :         Edit*               m_pNameED;
     428             :         FixedText*          m_pDefaultFT;
     429             :         Edit*               m_pDefaultED;
     430             :         PushButton*         m_pDefaultBtn;
     431             : 
     432             :         VclFrame*           m_pSettingsFrame;
     433             : 
     434             :         FixedText*          m_pDataTypeFT;
     435             :         ListBox*            m_pDataTypeLB;
     436             : 
     437             :         CheckBox*           m_pRequiredCB;
     438             :         PushButton*         m_pRequiredBtn;
     439             :         CheckBox*           m_pRelevantCB;
     440             :         PushButton*         m_pRelevantBtn;
     441             :         CheckBox*           m_pConstraintCB;
     442             :         PushButton*         m_pConstraintBtn;
     443             :         CheckBox*           m_pReadonlyCB;
     444             :         PushButton*         m_pReadonlyBtn;
     445             :         CheckBox*           m_pCalculateCB;
     446             :         PushButton*         m_pCalculateBtn;
     447             : 
     448             :         OKButton*           m_pOKBtn;
     449             : 
     450             :         XFormsUIHelper1_ref m_xUIHelper;
     451             :         XPropertySet_ref    m_xBinding;
     452             :         XPropertySet_ref    m_xTempBinding;
     453             : 
     454             :         ItemNode*           m_pItemNode;
     455             :         DataItemType        m_eItemType;
     456             :         OUString            m_sFL_Element;
     457             :         OUString            m_sFL_Attribute;
     458             :         OUString            m_sFL_Binding;
     459             :         OUString            m_sFT_BindingExp;
     460             : 
     461             :         DECL_LINK(          CheckHdl, CheckBox * );
     462             :         DECL_LINK(          ConditionHdl, PushButton * );
     463             :         DECL_LINK(OKHdl, void *);
     464             : 
     465             :         void                InitDialog();
     466             :         void                InitFromNode();
     467             :         void                InitDataTypeBox();
     468             : 
     469             :     public:
     470             :         AddDataItemDialog(
     471             :             vcl::Window* pParent, ItemNode* _pNode, const XFormsUIHelper1_ref& _rUIHelper );
     472             :         virtual ~AddDataItemDialog();
     473             : 
     474             :         void                InitText( DataItemType _eType );
     475             :     };
     476             : 
     477             : 
     478           0 :     class AddConditionDialog : public ModalDialog
     479             :     {
     480             :     private:
     481             :         VclMultiLineEdit*       m_pConditionED;
     482             :         VclMultiLineEdit*       m_pResultWin;
     483             :         PushButton*             m_pEditNamespacesBtn;
     484             :         OKButton*               m_pOKBtn;
     485             : 
     486             :         Timer                   m_aResultTimer;
     487             :         OUString         m_sPropertyName;
     488             : 
     489             :         XFormsUIHelper1_ref     m_xUIHelper;
     490             :         XPropertySet_ref        m_xBinding;
     491             : 
     492             :         DECL_LINK(ModifyHdl, void *);
     493             :         DECL_LINK(ResultHdl, void *);
     494             :         DECL_LINK(EditHdl, void *);
     495             :         DECL_LINK(OKHdl, void *);
     496             : 
     497             :     public:
     498             :         AddConditionDialog(vcl::Window* pParent,
     499             :             const OUString& _rPropertyName, const XPropertySet_ref& _rBinding);
     500             : 
     501           0 :         XFormsUIHelper1_ref GetUIHelper() const { return m_xUIHelper; }
     502           0 :         OUString GetCondition() const { return m_pConditionED->GetText(); }
     503           0 :         void SetCondition(const OUString& _rCondition)
     504             :         {
     505           0 :             m_pConditionED->SetText(_rCondition);
     506           0 :             m_aResultTimer.Start();
     507           0 :         }
     508             :     };
     509             : 
     510             : 
     511             :     class NamespaceItemDialog : public ModalDialog
     512             :     {
     513             :     private:
     514             :         typedef std::vector< OUString > PrefixList;
     515             : 
     516             :         SvSimpleTable*      m_pNamespacesList;
     517             :         PushButton*         m_pAddNamespaceBtn;
     518             :         PushButton*         m_pEditNamespaceBtn;
     519             :         PushButton*         m_pDeleteNamespaceBtn;
     520             :         OKButton*           m_pOKBtn;
     521             : 
     522             :         AddConditionDialog* m_pConditionDlg;
     523             :         PrefixList          m_aRemovedList;
     524             : 
     525             :         XNameContainer_ref& m_rNamespaces;
     526             : 
     527             :         DECL_LINK(          SelectHdl, SvSimpleTable * );
     528             :         DECL_LINK(          ClickHdl, PushButton * );
     529             :         DECL_LINK(OKHdl, void *);
     530             : 
     531             :         void                LoadNamespaces();
     532             : 
     533             :     public:
     534             :         NamespaceItemDialog( AddConditionDialog* pParent, XNameContainer_ref& _rContainer );
     535             :         virtual ~NamespaceItemDialog();
     536             :     };
     537             : 
     538             : 
     539           0 :     class ManageNamespaceDialog : public ModalDialog
     540             :     {
     541             :     private:
     542             :         Edit*               m_pPrefixED;
     543             :         Edit*               m_pUrlED;
     544             :         OKButton*           m_pOKBtn;
     545             : 
     546             :         AddConditionDialog* m_pConditionDlg;
     547             : 
     548             :         DECL_LINK(OKHdl, void *);
     549             : 
     550             :     public:
     551             :         ManageNamespaceDialog(vcl::Window* pParent, AddConditionDialog* _pCondDlg, bool bIsEdit);
     552             : 
     553           0 :         void SetNamespace(const OUString& _rPrefix, const OUString& _rURL)
     554             :         {
     555           0 :             m_pPrefixED->SetText( _rPrefix );
     556           0 :             m_pUrlED->SetText( _rURL );
     557           0 :         }
     558           0 :         OUString GetPrefix() const { return m_pPrefixED->GetText(); }
     559           0 :         OUString GetURL() const { return m_pUrlED->GetText(); }
     560             :     };
     561             : 
     562             : 
     563             :     class AddSubmissionDialog : public ModalDialog
     564             :     {
     565             :     private:
     566             :         MethodString        m_aMethodString;
     567             :         ReplaceString       m_aReplaceString;
     568             : 
     569             :         Edit*               m_pNameED;
     570             :         Edit*               m_pActionED;
     571             :         ListBox*            m_pMethodLB;
     572             :         Edit*               m_pRefED;
     573             :         PushButton*         m_pRefBtn;
     574             :         ListBox*            m_pBindLB;
     575             :         ListBox*            m_pReplaceLB;
     576             : 
     577             :         OKButton*           m_pOKBtn;
     578             : 
     579             :         ItemNode*           m_pItemNode;
     580             : 
     581             :         XFormsUIHelper1_ref m_xUIHelper;
     582             :         XSubmission_ref     m_xNewSubmission;
     583             :         XPropertySet_ref    m_xSubmission;
     584             :         XPropertySet_ref    m_xTempBinding;
     585             :         XPropertySet_ref    m_xCreatedBinding;
     586             : 
     587             :         DECL_LINK(RefHdl, void *);
     588             :         DECL_LINK(OKHdl, void *);
     589             : 
     590             :         void                FillAllBoxes();
     591             : 
     592             :     public:
     593             :         AddSubmissionDialog( vcl::Window* pParent, ItemNode* _pNode,
     594             :             const XFormsUIHelper1_ref& _rUIHelper );
     595             :         virtual ~AddSubmissionDialog();
     596             : 
     597           0 :         inline const XSubmission_ref& GetNewSubmission() const { return m_xNewSubmission; }
     598             :     };
     599             : 
     600             : 
     601           0 :     class AddModelDialog : public ModalDialog
     602             :     {
     603             :     private:
     604             :         Edit* m_pNameED;
     605             :         CheckBox* m_pModifyCB;
     606             : 
     607             :     public:
     608             :         AddModelDialog( vcl::Window* pParent, bool _bEdit );
     609             : 
     610           0 :         OUString         GetName() const { return m_pNameED->GetText(); }
     611           0 :         void             SetName( const OUString& _rName ) { m_pNameED->SetText( _rName );}
     612             : 
     613           0 :         bool             GetModifyDoc() const { return bool( m_pModifyCB->IsChecked() ); }
     614           0 :         void             SetModifyDoc( const bool bModify ) { m_pModifyCB->Check( bModify ); }
     615             :     };
     616             : 
     617             : 
     618           0 :     class AddInstanceDialog : public ModalDialog
     619             :     {
     620             :     private:
     621             :         Edit*                   m_pNameED;
     622             :         FixedText*              m_pURLFT;
     623             :         SvtURLBox*              m_pURLED;
     624             :         PushButton*             m_pFilePickerBtn;
     625             :         CheckBox*               m_pLinkInstanceCB;
     626             : 
     627             :         OUString                m_sAllFilterName;
     628             : 
     629             :         DECL_LINK(FilePickerHdl, void *);
     630             : 
     631             :     public:
     632             :         AddInstanceDialog( vcl::Window* pParent, bool _bEdit );
     633             : 
     634             :         void SetRenameMode()
     635             :         {
     636             :             m_pURLFT->Disable();
     637             :             m_pURLED->Disable();
     638             :             m_pFilePickerBtn->Disable();
     639             :             m_pLinkInstanceCB->Disable();
     640             :         }
     641           0 :         OUString         GetName() const { return m_pNameED->GetText(); }
     642           0 :         void             SetName( const OUString& _rName ) { m_pNameED->SetText( _rName );}
     643           0 :         OUString         GetURL() const { return m_pURLED->GetText(); }
     644           0 :         void             SetURL( const OUString& _rURL ) { m_pURLED->SetText( _rURL );}
     645           0 :         bool             IsLinkInstance() const { return m_pLinkInstanceCB->IsChecked(); }
     646           0 :         void             SetLinkInstance( bool _bLink ) { m_pLinkInstanceCB->Check(_bLink); }
     647             :     };
     648             : 
     649             : 
     650           0 :     class LinkedInstanceWarningBox : public MessageDialog
     651             :     {
     652             :     public:
     653             :         LinkedInstanceWarningBox( vcl::Window* pParent );
     654             :     };
     655             : 
     656             : 
     657             : }   // namespace svxform
     658             : 
     659             : 
     660             : #endif // INCLUDED_SVX_SOURCE_INC_DATANAVI_HXX
     661             : 
     662             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10