xref: /aoo4110/main/svx/source/inc/datanavi.hxx (revision b1cdbd2c)
1*b1cdbd2cSJim Jagielski /**************************************************************
2*b1cdbd2cSJim Jagielski  *
3*b1cdbd2cSJim Jagielski  * Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski  * or more contributor license agreements.  See the NOTICE file
5*b1cdbd2cSJim Jagielski  * distributed with this work for additional information
6*b1cdbd2cSJim Jagielski  * regarding copyright ownership.  The ASF licenses this file
7*b1cdbd2cSJim Jagielski  * to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski  * "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski  * with the License.  You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski  *
11*b1cdbd2cSJim Jagielski  *   http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski  *
13*b1cdbd2cSJim Jagielski  * Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski  * software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski  * KIND, either express or implied.  See the License for the
17*b1cdbd2cSJim Jagielski  * specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski  * under the License.
19*b1cdbd2cSJim Jagielski  *
20*b1cdbd2cSJim Jagielski  *************************************************************/
21*b1cdbd2cSJim Jagielski 
22*b1cdbd2cSJim Jagielski 
23*b1cdbd2cSJim Jagielski #ifndef _SVX_DATANAVI_HXX
24*b1cdbd2cSJim Jagielski #define _SVX_DATANAVI_HXX
25*b1cdbd2cSJim Jagielski 
26*b1cdbd2cSJim Jagielski #include <vcl/dialog.hxx>
27*b1cdbd2cSJim Jagielski #include <vcl/fixed.hxx>
28*b1cdbd2cSJim Jagielski #include <vcl/lstbox.hxx>
29*b1cdbd2cSJim Jagielski #include <vcl/menubtn.hxx>
30*b1cdbd2cSJim Jagielski #include <vcl/msgbox.hxx>
31*b1cdbd2cSJim Jagielski #include <vcl/tabctrl.hxx>
32*b1cdbd2cSJim Jagielski #include <vcl/tabpage.hxx>
33*b1cdbd2cSJim Jagielski #include <vcl/toolbox.hxx>
34*b1cdbd2cSJim Jagielski #include <svtools/inettbc.hxx>
35*b1cdbd2cSJim Jagielski #include <svtools/svmedit.hxx>
36*b1cdbd2cSJim Jagielski #include <svtools/svtreebx.hxx>
37*b1cdbd2cSJim Jagielski #include <sfx2/dockwin.hxx>
38*b1cdbd2cSJim Jagielski #include <sfx2/ctrlitem.hxx>
39*b1cdbd2cSJim Jagielski #include <svx/simptabl.hxx>
40*b1cdbd2cSJim Jagielski #include <rtl/ref.hxx>
41*b1cdbd2cSJim Jagielski #include <com/sun/star/beans/XPropertySet.hpp>
42*b1cdbd2cSJim Jagielski #include <com/sun/star/container/XContainer.hpp>
43*b1cdbd2cSJim Jagielski #include <com/sun/star/container/XNameContainer.hpp>
44*b1cdbd2cSJim Jagielski #include <com/sun/star/frame/XFrame.hpp>
45*b1cdbd2cSJim Jagielski #include <com/sun/star/xforms/XFormsUIHelper1.hpp>
46*b1cdbd2cSJim Jagielski #include <com/sun/star/xforms/XModel.hpp>
47*b1cdbd2cSJim Jagielski #include <com/sun/star/xforms/XSubmission.hpp>
48*b1cdbd2cSJim Jagielski #include <com/sun/star/xml/dom/XNode.hpp>
49*b1cdbd2cSJim Jagielski #include <com/sun/star/xml/dom/events/XEventTarget.hpp>
50*b1cdbd2cSJim Jagielski 
51*b1cdbd2cSJim Jagielski #include "datalistener.hxx"
52*b1cdbd2cSJim Jagielski #include <vector>
53*b1cdbd2cSJim Jagielski 
54*b1cdbd2cSJim Jagielski // forward ---------------------------------------------------------------
55*b1cdbd2cSJim Jagielski 
56*b1cdbd2cSJim Jagielski class FmFormShell;
57*b1cdbd2cSJim Jagielski 
58*b1cdbd2cSJim Jagielski //========================================================================
59*b1cdbd2cSJim Jagielski //............................................................................
60*b1cdbd2cSJim Jagielski namespace svxform
61*b1cdbd2cSJim Jagielski {
62*b1cdbd2cSJim Jagielski //............................................................................
63*b1cdbd2cSJim Jagielski 
64*b1cdbd2cSJim Jagielski 	enum DataGroupType
65*b1cdbd2cSJim Jagielski 	{
66*b1cdbd2cSJim Jagielski 		DGTUnknown = 0,
67*b1cdbd2cSJim Jagielski 		DGTInstance,
68*b1cdbd2cSJim Jagielski 		DGTSubmission,
69*b1cdbd2cSJim Jagielski 		DGTBinding
70*b1cdbd2cSJim Jagielski 	};
71*b1cdbd2cSJim Jagielski 
72*b1cdbd2cSJim Jagielski 	enum DataItemType
73*b1cdbd2cSJim Jagielski 	{
74*b1cdbd2cSJim Jagielski 		DITNone = 0,
75*b1cdbd2cSJim Jagielski         DITText,
76*b1cdbd2cSJim Jagielski 		DITAttribute,
77*b1cdbd2cSJim Jagielski 		DITElement,
78*b1cdbd2cSJim Jagielski 		DITBinding
79*b1cdbd2cSJim Jagielski 	};
80*b1cdbd2cSJim Jagielski 
81*b1cdbd2cSJim Jagielski 	struct ItemNode;
82*b1cdbd2cSJim Jagielski 	class XFormsPage;
83*b1cdbd2cSJim Jagielski 	class DataNavigatorWindow;
84*b1cdbd2cSJim Jagielski 	class AddInstanceDialog;
85*b1cdbd2cSJim Jagielski 
86*b1cdbd2cSJim Jagielski     typedef ::com::sun::star::uno::Reference<
87*b1cdbd2cSJim Jagielski                 ::com::sun::star::xforms::XFormsUIHelper1 >         XFormsUIHelper1_ref;
88*b1cdbd2cSJim Jagielski     typedef ::com::sun::star::uno::Reference<
89*b1cdbd2cSJim Jagielski                 ::com::sun::star::xml::dom::XNode >                 XNode_ref;
90*b1cdbd2cSJim Jagielski     typedef ::com::sun::star::uno::Reference<
91*b1cdbd2cSJim Jagielski                 ::com::sun::star::beans::XPropertySet >             XPropertySet_ref;
92*b1cdbd2cSJim Jagielski     typedef ::com::sun::star::uno::Reference<
93*b1cdbd2cSJim Jagielski                 ::com::sun::star::xforms::XModel >                  XModel_ref;
94*b1cdbd2cSJim Jagielski     typedef ::com::sun::star::uno::Reference<
95*b1cdbd2cSJim Jagielski                 ::com::sun::star::container::XContainer >           XContainer_ref;
96*b1cdbd2cSJim Jagielski     typedef ::com::sun::star::uno::Reference<
97*b1cdbd2cSJim Jagielski                 ::com::sun::star::container::XNameContainer >       XNameContainer_ref;
98*b1cdbd2cSJim Jagielski     typedef ::com::sun::star::uno::Reference<
99*b1cdbd2cSJim Jagielski                 ::com::sun::star::frame::XFrame >                   XFrame_ref;
100*b1cdbd2cSJim Jagielski     typedef ::com::sun::star::uno::Reference<
101*b1cdbd2cSJim Jagielski                 ::com::sun::star::frame::XModel >                   XFrameModel_ref;
102*b1cdbd2cSJim Jagielski     typedef ::com::sun::star::uno::Reference<
103*b1cdbd2cSJim Jagielski                 ::com::sun::star::xml::dom::events::XEventTarget >  XEventTarget_ref;
104*b1cdbd2cSJim Jagielski     typedef ::com::sun::star::uno::Reference<
105*b1cdbd2cSJim Jagielski                 ::com::sun::star::xforms::XSubmission >             XSubmission_ref;
106*b1cdbd2cSJim Jagielski 
107*b1cdbd2cSJim Jagielski     typedef ::com::sun::star::uno::Sequence<
108*b1cdbd2cSJim Jagielski                 ::com::sun::star::beans::PropertyValue >            PropertyValue_seq;
109*b1cdbd2cSJim Jagielski 
110*b1cdbd2cSJim Jagielski     typedef std::vector< XContainer_ref >                           ContainerList;
111*b1cdbd2cSJim Jagielski     typedef std::vector< XEventTarget_ref >                         EventTargetList;
112*b1cdbd2cSJim Jagielski 
113*b1cdbd2cSJim Jagielski     //========================================================================
114*b1cdbd2cSJim Jagielski 	class DataTreeListBox : public SvTreeListBox
115*b1cdbd2cSJim Jagielski 	{
116*b1cdbd2cSJim Jagielski 	private:
117*b1cdbd2cSJim Jagielski 		XFormsPage*				m_pXFormsPage;
118*b1cdbd2cSJim Jagielski 		DataGroupType			m_eGroup;
119*b1cdbd2cSJim Jagielski 
120*b1cdbd2cSJim Jagielski     protected:
121*b1cdbd2cSJim Jagielski         using SvTreeListBox::ExecuteDrop;
122*b1cdbd2cSJim Jagielski 
123*b1cdbd2cSJim Jagielski 	public:
124*b1cdbd2cSJim Jagielski 		DataTreeListBox( XFormsPage* pPage, DataGroupType _eGroup, const ResId& rResId );
125*b1cdbd2cSJim Jagielski 		~DataTreeListBox();
126*b1cdbd2cSJim Jagielski 
127*b1cdbd2cSJim Jagielski 		virtual PopupMenu* 		CreateContextMenu( void );
128*b1cdbd2cSJim Jagielski 		virtual void			ExcecuteContextMenuAction( sal_uInt16 _nSelectedPopupEntry );
129*b1cdbd2cSJim Jagielski 		virtual sal_Int8		AcceptDrop( const AcceptDropEvent& rEvt );
130*b1cdbd2cSJim Jagielski 		virtual sal_Int8		ExecuteDrop( const ExecuteDropEvent& rEvt );
131*b1cdbd2cSJim Jagielski 		virtual void			StartDrag( sal_Int8 nAction, const Point& rPosPixel );
132*b1cdbd2cSJim Jagielski 
133*b1cdbd2cSJim Jagielski 		void					DeleteAndClear();
134*b1cdbd2cSJim Jagielski 		void					RemoveEntry( SvLBoxEntry* _pEntry );
135*b1cdbd2cSJim Jagielski 	};
136*b1cdbd2cSJim Jagielski 
137*b1cdbd2cSJim Jagielski 	//========================================================================
138*b1cdbd2cSJim Jagielski 	class XFormsPage : public TabPage
139*b1cdbd2cSJim Jagielski 	{
140*b1cdbd2cSJim Jagielski 	private:
141*b1cdbd2cSJim Jagielski 		ToolBox						m_aToolBox;
142*b1cdbd2cSJim Jagielski 		DataTreeListBox				m_aItemList;
143*b1cdbd2cSJim Jagielski 
144*b1cdbd2cSJim Jagielski         XFormsUIHelper1_ref         m_xUIHelper;
145*b1cdbd2cSJim Jagielski 
146*b1cdbd2cSJim Jagielski 		DataNavigatorWindow*		m_pNaviWin;
147*b1cdbd2cSJim Jagielski 		bool						m_bHasModel;
148*b1cdbd2cSJim Jagielski 		DataGroupType				m_eGroup;
149*b1cdbd2cSJim Jagielski 		ImageList					m_TbxImageList;
150*b1cdbd2cSJim Jagielski 		ImageList					m_TbxHCImageList;
151*b1cdbd2cSJim Jagielski         // these strings are not valid on the Submission and Binding Page
152*b1cdbd2cSJim Jagielski 		// mb: furthermore these are properties of an instance, thus
153*b1cdbd2cSJim Jagielski 		// it would be much better to get/set them through the UIHelper
154*b1cdbd2cSJim Jagielski 		// interface.
155*b1cdbd2cSJim Jagielski 		String						m_sInstanceName;
156*b1cdbd2cSJim Jagielski 		String						m_sInstanceURL;
157*b1cdbd2cSJim Jagielski 		bool                        m_bLinkOnce;
158*b1cdbd2cSJim Jagielski 
159*b1cdbd2cSJim Jagielski 		DECL_LINK(					TbxSelectHdl, ToolBox * );
160*b1cdbd2cSJim Jagielski 		DECL_LINK(					ItemSelectHdl, DataTreeListBox * );
161*b1cdbd2cSJim Jagielski 
162*b1cdbd2cSJim Jagielski 		void						AddChildren( SvLBoxEntry* _pParent,
163*b1cdbd2cSJim Jagielski 												 const ImageList& _rImgLst,
164*b1cdbd2cSJim Jagielski                                                  const XNode_ref& _xNode );
165*b1cdbd2cSJim Jagielski 		bool						DoToolBoxAction( sal_uInt16 _nToolBoxID );
166*b1cdbd2cSJim Jagielski 		SvLBoxEntry*				AddEntry( ItemNode* _pNewNode, bool _bIsElement );
167*b1cdbd2cSJim Jagielski         SvLBoxEntry*                AddEntry( const XPropertySet_ref& _rPropSet );
168*b1cdbd2cSJim Jagielski         void                        EditEntry( const XPropertySet_ref& _rPropSet );
169*b1cdbd2cSJim Jagielski         bool                        RemoveEntry();
170*b1cdbd2cSJim Jagielski 
171*b1cdbd2cSJim Jagielski 	protected:
172*b1cdbd2cSJim Jagielski 	    virtual long        		Notify( NotifyEvent& rNEvt );
173*b1cdbd2cSJim Jagielski 
174*b1cdbd2cSJim Jagielski 	public:
175*b1cdbd2cSJim Jagielski 		XFormsPage( Window* pParent, DataNavigatorWindow* _pNaviWin, DataGroupType _eGroup );
176*b1cdbd2cSJim Jagielski 		~XFormsPage();
177*b1cdbd2cSJim Jagielski 
178*b1cdbd2cSJim Jagielski 		virtual void				Resize();
179*b1cdbd2cSJim Jagielski 
HasModel() const180*b1cdbd2cSJim Jagielski 		inline bool					HasModel() const { return m_bHasModel; }
181*b1cdbd2cSJim Jagielski         String                      SetModel( const XModel_ref& _xModel, sal_uInt16 _nPagePos );
182*b1cdbd2cSJim Jagielski 		void						ClearModel();
183*b1cdbd2cSJim Jagielski         String                      LoadInstance( const PropertyValue_seq& _xPropSeq,
184*b1cdbd2cSJim Jagielski                                                   const ImageList& _rImgLst );
185*b1cdbd2cSJim Jagielski 
186*b1cdbd2cSJim Jagielski 		bool						DoMenuAction( sal_uInt16 _nMenuID );
187*b1cdbd2cSJim Jagielski 		void						EnableMenuItems( Menu* _pMenu );
188*b1cdbd2cSJim Jagielski 
GetSelectedItem() const189*b1cdbd2cSJim Jagielski 		inline SvLBoxEntry*			GetSelectedItem() const { return m_aItemList.FirstSelected(); }
GetInstanceName() const190*b1cdbd2cSJim Jagielski 		inline const String&		GetInstanceName() const { return m_sInstanceName; }
GetInstanceURL() const191*b1cdbd2cSJim Jagielski 		inline const String&		GetInstanceURL() const { return m_sInstanceURL; }
GetLinkOnce() const192*b1cdbd2cSJim Jagielski 		inline bool                 GetLinkOnce() const { return m_bLinkOnce; }
SetInstanceName(const String & name)193*b1cdbd2cSJim Jagielski 		inline void                 SetInstanceName( const String &name ) { m_sInstanceName=name; }
SetInstanceURL(const String & url)194*b1cdbd2cSJim Jagielski 		inline void                 SetInstanceURL( const String &url ) { m_sInstanceURL=url; }
SetLinkOnce(bool bLinkOnce)195*b1cdbd2cSJim Jagielski 		inline void                 SetLinkOnce( bool bLinkOnce ) { m_bLinkOnce=bLinkOnce; }
196*b1cdbd2cSJim Jagielski 
197*b1cdbd2cSJim Jagielski 	    typedef com::sun::star::uno::Reference<com::sun::star::beans::XPropertySet> XPropertySet_t;
198*b1cdbd2cSJim Jagielski 		typedef com::sun::star::uno::Reference<com::sun::star::xml::dom::XNode> XNode_t;
199*b1cdbd2cSJim Jagielski 
GetBindingForNode(const XNode_t & xNode)200*b1cdbd2cSJim Jagielski 		inline XPropertySet_t GetBindingForNode( const XNode_t &xNode ) { return m_xUIHelper->getBindingForNode(xNode,true); }
GetServiceNameForNode(const XNode_t & xNode)201*b1cdbd2cSJim Jagielski 		inline String GetServiceNameForNode( const XNode_t &xNode ) { return m_xUIHelper->getDefaultServiceNameForNode(xNode); }
GetXFormsHelper(void) const202*b1cdbd2cSJim Jagielski 		inline XFormsUIHelper1_ref GetXFormsHelper( void ) const { return m_xUIHelper; }
203*b1cdbd2cSJim Jagielski 	};
204*b1cdbd2cSJim Jagielski 
205*b1cdbd2cSJim Jagielski 	//========================================================================
206*b1cdbd2cSJim Jagielski 
207*b1cdbd2cSJim Jagielski     typedef std::vector< XFormsPage* >          PageList;
208*b1cdbd2cSJim Jagielski     typedef ::rtl::Reference < DataListener >   DataListener_ref;
209*b1cdbd2cSJim Jagielski 
210*b1cdbd2cSJim Jagielski     class DataNavigatorWindow : public Window
211*b1cdbd2cSJim Jagielski 	{
212*b1cdbd2cSJim Jagielski 	private:
213*b1cdbd2cSJim Jagielski 
214*b1cdbd2cSJim Jagielski 		ListBox						m_aModelsBox;
215*b1cdbd2cSJim Jagielski 		MenuButton					m_aModelBtn;
216*b1cdbd2cSJim Jagielski 		TabControl					m_aTabCtrl;
217*b1cdbd2cSJim Jagielski 		MenuButton					m_aInstanceBtn;
218*b1cdbd2cSJim Jagielski 
219*b1cdbd2cSJim Jagielski 		XFormsPage*					m_pInstPage;
220*b1cdbd2cSJim Jagielski 		XFormsPage*					m_pSubmissionPage;
221*b1cdbd2cSJim Jagielski 		XFormsPage*					m_pBindingPage;
222*b1cdbd2cSJim Jagielski 
223*b1cdbd2cSJim Jagielski 		long						m_nMinWidth;
224*b1cdbd2cSJim Jagielski 		long						m_nMinHeight;
225*b1cdbd2cSJim Jagielski 		long						m_nBorderHeight;
226*b1cdbd2cSJim Jagielski 		sal_uInt16						m_nLastSelectedPos;
227*b1cdbd2cSJim Jagielski 		bool						m_bShowDetails;
228*b1cdbd2cSJim Jagielski         bool                        m_bIsNotifyDisabled;
229*b1cdbd2cSJim Jagielski 		Size						m_a2Size;
230*b1cdbd2cSJim Jagielski 		Size						m_a3Size;
231*b1cdbd2cSJim Jagielski 		ImageList					m_aItemImageList;
232*b1cdbd2cSJim Jagielski 		ImageList					m_aItemHCImageList;
233*b1cdbd2cSJim Jagielski 		PageList					m_aPageList;
234*b1cdbd2cSJim Jagielski         ContainerList               m_aContainerList;
235*b1cdbd2cSJim Jagielski         EventTargetList             m_aEventTargetList;
236*b1cdbd2cSJim Jagielski         Timer                       m_aUpdateTimer;
237*b1cdbd2cSJim Jagielski 
238*b1cdbd2cSJim Jagielski         DataListener_ref            m_xDataListener;
239*b1cdbd2cSJim Jagielski         XNameContainer_ref          m_xDataContainer;
240*b1cdbd2cSJim Jagielski         XFrame_ref                  m_xFrame;
241*b1cdbd2cSJim Jagielski         XFrameModel_ref             m_xFrameModel;
242*b1cdbd2cSJim Jagielski 
243*b1cdbd2cSJim Jagielski 		DECL_LINK(					ModelSelectHdl, ListBox * );
244*b1cdbd2cSJim Jagielski 		DECL_LINK(					MenuSelectHdl, MenuButton * );
245*b1cdbd2cSJim Jagielski 		DECL_LINK(					MenuActivateHdl, MenuButton * );
246*b1cdbd2cSJim Jagielski         DECL_LINK(                  ActivatePageHdl, TabControl* );
247*b1cdbd2cSJim Jagielski         DECL_LINK(                  UpdateHdl, Timer* );
248*b1cdbd2cSJim Jagielski 
249*b1cdbd2cSJim Jagielski 		XFormsPage*					GetCurrentPage( sal_uInt16& rCurId );
250*b1cdbd2cSJim Jagielski 		void						LoadModels();
251*b1cdbd2cSJim Jagielski 		void						SetPageModel();
252*b1cdbd2cSJim Jagielski         void                        ClearAllPageModels( bool bClearPages );
253*b1cdbd2cSJim Jagielski 		void						InitPages();
254*b1cdbd2cSJim Jagielski         void                        CreateInstancePage( const PropertyValue_seq& _xPropSeq );
255*b1cdbd2cSJim Jagielski         bool                        HasFirstInstancePage() const;
256*b1cdbd2cSJim Jagielski         sal_uInt16                      GetNewPageId() const;
257*b1cdbd2cSJim Jagielski 
258*b1cdbd2cSJim Jagielski 	protected:
259*b1cdbd2cSJim Jagielski 		virtual void				Resize();
260*b1cdbd2cSJim Jagielski 
261*b1cdbd2cSJim Jagielski 	public:
262*b1cdbd2cSJim Jagielski 		DataNavigatorWindow( Window* pParent, SfxBindings* pBindings );
263*b1cdbd2cSJim Jagielski 		~DataNavigatorWindow();
264*b1cdbd2cSJim Jagielski 
265*b1cdbd2cSJim Jagielski         void                        SetDocModified();
266*b1cdbd2cSJim Jagielski         void                        NotifyChanges( bool _bLoadAll = false );
267*b1cdbd2cSJim Jagielski         void                        AddContainerBroadcaster( const XContainer_ref& xContainer );
268*b1cdbd2cSJim Jagielski         void                        AddEventBroadcaster( const XEventTarget_ref& xTarget );
269*b1cdbd2cSJim Jagielski         void                        RemoveBroadcaster();
270*b1cdbd2cSJim Jagielski 
GetItemImageList() const271*b1cdbd2cSJim Jagielski         inline const ImageList&     GetItemImageList() const { return m_aItemImageList; }
GetItemHCImageList() const272*b1cdbd2cSJim Jagielski 		inline const ImageList&		GetItemHCImageList() const { return m_aItemHCImageList; }
IsShowDetails() const273*b1cdbd2cSJim Jagielski 		inline bool					IsShowDetails() const { return m_bShowDetails; }
DisableNotify(bool _bDisable)274*b1cdbd2cSJim Jagielski         inline void                 DisableNotify( bool _bDisable ) { m_bIsNotifyDisabled = _bDisable; }
275*b1cdbd2cSJim Jagielski 	};
276*b1cdbd2cSJim Jagielski 
277*b1cdbd2cSJim Jagielski 	//========================================================================
278*b1cdbd2cSJim Jagielski 	class DataNavigator : public SfxDockingWindow, public SfxControllerItem
279*b1cdbd2cSJim Jagielski 	{
280*b1cdbd2cSJim Jagielski 	private:
281*b1cdbd2cSJim Jagielski 		DataNavigatorWindow			m_aDataWin;
282*b1cdbd2cSJim Jagielski 
283*b1cdbd2cSJim Jagielski 	protected:
284*b1cdbd2cSJim Jagielski 		virtual void				Resize();
285*b1cdbd2cSJim Jagielski 		virtual sal_Bool			Close();
286*b1cdbd2cSJim Jagielski 		virtual void				GetFocus();
287*b1cdbd2cSJim Jagielski 		virtual Size				CalcDockingSize( SfxChildAlignment );
288*b1cdbd2cSJim Jagielski 		virtual SfxChildAlignment	CheckAlignment( SfxChildAlignment, SfxChildAlignment );
289*b1cdbd2cSJim Jagielski 
290*b1cdbd2cSJim Jagielski 	public:
291*b1cdbd2cSJim Jagielski 		DataNavigator( SfxBindings* pBindings, SfxChildWindow* pMgr, Window* pParent );
292*b1cdbd2cSJim Jagielski 		virtual ~DataNavigator();
293*b1cdbd2cSJim Jagielski 
294*b1cdbd2cSJim Jagielski         using Window::Update;
295*b1cdbd2cSJim Jagielski         using                       SfxDockingWindow::StateChanged;
296*b1cdbd2cSJim Jagielski 
297*b1cdbd2cSJim Jagielski         void 						Update( FmFormShell* pFormShell );
298*b1cdbd2cSJim Jagielski 		void						StateChanged( sal_uInt16 nSID, SfxItemState eState,
299*b1cdbd2cSJim Jagielski 												  const SfxPoolItem* pState );
300*b1cdbd2cSJim Jagielski 	};
301*b1cdbd2cSJim Jagielski 
302*b1cdbd2cSJim Jagielski 	//========================================================================
303*b1cdbd2cSJim Jagielski 	class SVX_DLLPUBLIC DataNavigatorManager : public SfxChildWindow
304*b1cdbd2cSJim Jagielski 	{
305*b1cdbd2cSJim Jagielski 	public:
306*b1cdbd2cSJim Jagielski 		SVX_DLLPRIVATE DataNavigatorManager( Window* pParent, sal_uInt16 nId,
307*b1cdbd2cSJim Jagielski 							  SfxBindings* pBindings, SfxChildWinInfo* pInfo );
308*b1cdbd2cSJim Jagielski 		SFX_DECL_CHILDWINDOW( DataNavigatorManager );
309*b1cdbd2cSJim Jagielski 	};
310*b1cdbd2cSJim Jagielski 
311*b1cdbd2cSJim Jagielski 	//========================================================================
312*b1cdbd2cSJim Jagielski 	class AddDataItemDialog : public ModalDialog
313*b1cdbd2cSJim Jagielski 	{
314*b1cdbd2cSJim Jagielski 	private:
315*b1cdbd2cSJim Jagielski 
316*b1cdbd2cSJim Jagielski 		FixedLine			m_aItemFL;
317*b1cdbd2cSJim Jagielski 		FixedText			m_aNameFT;
318*b1cdbd2cSJim Jagielski 		Edit				m_aNameED;
319*b1cdbd2cSJim Jagielski 		FixedText			m_aDefaultFT;
320*b1cdbd2cSJim Jagielski 		Edit				m_aDefaultED;
321*b1cdbd2cSJim Jagielski 		PushButton			m_aDefaultBtn;
322*b1cdbd2cSJim Jagielski 
323*b1cdbd2cSJim Jagielski 		FixedLine			m_aSettingsFL;
324*b1cdbd2cSJim Jagielski 		FixedText			m_aDataTypeFT;
325*b1cdbd2cSJim Jagielski 		ListBox				m_aDataTypeLB;
326*b1cdbd2cSJim Jagielski 
327*b1cdbd2cSJim Jagielski 		CheckBox			m_aRequiredCB;
328*b1cdbd2cSJim Jagielski 		PushButton			m_aRequiredBtn;
329*b1cdbd2cSJim Jagielski 		CheckBox			m_aRelevantCB;
330*b1cdbd2cSJim Jagielski 		PushButton			m_aRelevantBtn;
331*b1cdbd2cSJim Jagielski 		CheckBox			m_aConstraintCB;
332*b1cdbd2cSJim Jagielski 		PushButton			m_aConstraintBtn;
333*b1cdbd2cSJim Jagielski 		CheckBox			m_aReadonlyCB;
334*b1cdbd2cSJim Jagielski 		PushButton			m_aReadonlyBtn;
335*b1cdbd2cSJim Jagielski 		CheckBox			m_aCalculateCB;
336*b1cdbd2cSJim Jagielski 		PushButton			m_aCalculateBtn;
337*b1cdbd2cSJim Jagielski 
338*b1cdbd2cSJim Jagielski 		FixedLine			m_aButtonsFL;
339*b1cdbd2cSJim Jagielski 		OKButton			m_aOKBtn;
340*b1cdbd2cSJim Jagielski 		CancelButton		m_aEscBtn;
341*b1cdbd2cSJim Jagielski 		HelpButton			m_aHelpBtn;
342*b1cdbd2cSJim Jagielski 
343*b1cdbd2cSJim Jagielski         XFormsUIHelper1_ref m_xUIHelper;
344*b1cdbd2cSJim Jagielski         XPropertySet_ref    m_xBinding;
345*b1cdbd2cSJim Jagielski         XPropertySet_ref    m_xTempBinding;
346*b1cdbd2cSJim Jagielski 
347*b1cdbd2cSJim Jagielski 		ItemNode*			m_pItemNode;
348*b1cdbd2cSJim Jagielski 		DataItemType		m_eItemType;
349*b1cdbd2cSJim Jagielski 		String				m_sFL_Element;
350*b1cdbd2cSJim Jagielski 		String				m_sFL_Attribute;
351*b1cdbd2cSJim Jagielski         String              m_sFL_Binding;
352*b1cdbd2cSJim Jagielski         String              m_sFT_BindingExp;
353*b1cdbd2cSJim Jagielski 
354*b1cdbd2cSJim Jagielski 		DECL_LINK(			CheckHdl, CheckBox * );
355*b1cdbd2cSJim Jagielski 		DECL_LINK(			ConditionHdl, PushButton * );
356*b1cdbd2cSJim Jagielski 		DECL_LINK(			OKHdl, OKButton * );
357*b1cdbd2cSJim Jagielski 
358*b1cdbd2cSJim Jagielski 		void				InitDialog();
359*b1cdbd2cSJim Jagielski 		void				InitFromNode();
360*b1cdbd2cSJim Jagielski 		void				InitDataTypeBox();
361*b1cdbd2cSJim Jagielski 
362*b1cdbd2cSJim Jagielski 	public:
363*b1cdbd2cSJim Jagielski         AddDataItemDialog(
364*b1cdbd2cSJim Jagielski             Window* pParent, ItemNode* _pNode, const XFormsUIHelper1_ref& _rUIHelper );
365*b1cdbd2cSJim Jagielski 		~AddDataItemDialog();
366*b1cdbd2cSJim Jagielski 
367*b1cdbd2cSJim Jagielski 		void				InitText( DataItemType _eType );
368*b1cdbd2cSJim Jagielski 	};
369*b1cdbd2cSJim Jagielski 
370*b1cdbd2cSJim Jagielski 	//========================================================================
371*b1cdbd2cSJim Jagielski 	class AddConditionDialog : public ModalDialog
372*b1cdbd2cSJim Jagielski 	{
373*b1cdbd2cSJim Jagielski 	private:
374*b1cdbd2cSJim Jagielski 		FixedText				m_aConditionFT;
375*b1cdbd2cSJim Jagielski 		MultiLineEdit			m_aConditionED;
376*b1cdbd2cSJim Jagielski 		FixedText				m_aResultFT;
377*b1cdbd2cSJim Jagielski 		FixedText				m_aResultWin;
378*b1cdbd2cSJim Jagielski 		PushButton				m_aEditNamespacesBtn;
379*b1cdbd2cSJim Jagielski 		FixedLine				m_aButtonsFL;
380*b1cdbd2cSJim Jagielski 		OKButton				m_aOKBtn;
381*b1cdbd2cSJim Jagielski 		CancelButton			m_aEscBtn;
382*b1cdbd2cSJim Jagielski 		HelpButton				m_aHelpBtn;
383*b1cdbd2cSJim Jagielski 
384*b1cdbd2cSJim Jagielski 		Timer					m_aResultTimer;
385*b1cdbd2cSJim Jagielski 		::rtl::OUString			m_sPropertyName;
386*b1cdbd2cSJim Jagielski 
387*b1cdbd2cSJim Jagielski         XFormsUIHelper1_ref     m_xUIHelper;
388*b1cdbd2cSJim Jagielski         XPropertySet_ref        m_xBinding;
389*b1cdbd2cSJim Jagielski 
390*b1cdbd2cSJim Jagielski 		DECL_LINK(				ModifyHdl, MultiLineEdit * );
391*b1cdbd2cSJim Jagielski 		DECL_LINK(				ResultHdl, Timer * );
392*b1cdbd2cSJim Jagielski 		DECL_LINK(				EditHdl, PushButton * );
393*b1cdbd2cSJim Jagielski 		DECL_LINK(				OKHdl, OKButton * );
394*b1cdbd2cSJim Jagielski 
395*b1cdbd2cSJim Jagielski 	public:
396*b1cdbd2cSJim Jagielski         AddConditionDialog( Window* pParent,
397*b1cdbd2cSJim Jagielski             const ::rtl::OUString& _rPropertyName, const XPropertySet_ref& _rBinding );
398*b1cdbd2cSJim Jagielski 		~AddConditionDialog();
399*b1cdbd2cSJim Jagielski 
GetUIHelper() const400*b1cdbd2cSJim Jagielski         inline XFormsUIHelper1_ref  GetUIHelper() const { return m_xUIHelper; }
GetCondition() const401*b1cdbd2cSJim Jagielski         inline String               GetCondition() const { return m_aConditionED.GetText(); }
402*b1cdbd2cSJim Jagielski         inline void                 SetCondition( const String& _rCondition );
403*b1cdbd2cSJim Jagielski 	};
404*b1cdbd2cSJim Jagielski 
SetCondition(const String & _rCondition)405*b1cdbd2cSJim Jagielski 	inline void AddConditionDialog::SetCondition( const String& _rCondition )
406*b1cdbd2cSJim Jagielski 	{
407*b1cdbd2cSJim Jagielski 		m_aConditionED.SetText( _rCondition );
408*b1cdbd2cSJim Jagielski 		m_aResultTimer.Start();
409*b1cdbd2cSJim Jagielski 	}
410*b1cdbd2cSJim Jagielski 
411*b1cdbd2cSJim Jagielski 	//========================================================================
412*b1cdbd2cSJim Jagielski 	class NamespaceItemDialog : public ModalDialog
413*b1cdbd2cSJim Jagielski 	{
414*b1cdbd2cSJim Jagielski 	private:
415*b1cdbd2cSJim Jagielski 		typedef std::vector< ::rtl::OUString > PrefixList;
416*b1cdbd2cSJim Jagielski 
417*b1cdbd2cSJim Jagielski 		FixedText			m_aNamespacesFT;
418*b1cdbd2cSJim Jagielski 		SvxSimpleTable      m_aNamespacesList;
419*b1cdbd2cSJim Jagielski 		PushButton			m_aAddNamespaceBtn;
420*b1cdbd2cSJim Jagielski 		PushButton			m_aEditNamespaceBtn;
421*b1cdbd2cSJim Jagielski 		PushButton			m_aDeleteNamespaceBtn;
422*b1cdbd2cSJim Jagielski 		FixedLine			m_aButtonsFL;
423*b1cdbd2cSJim Jagielski 		OKButton			m_aOKBtn;
424*b1cdbd2cSJim Jagielski 		CancelButton		m_aEscBtn;
425*b1cdbd2cSJim Jagielski 		HelpButton			m_aHelpBtn;
426*b1cdbd2cSJim Jagielski 
427*b1cdbd2cSJim Jagielski 		AddConditionDialog*	m_pConditionDlg;
428*b1cdbd2cSJim Jagielski 		PrefixList			m_aRemovedList;
429*b1cdbd2cSJim Jagielski 
430*b1cdbd2cSJim Jagielski         XNameContainer_ref& m_rNamespaces;
431*b1cdbd2cSJim Jagielski 
432*b1cdbd2cSJim Jagielski 		DECL_LINK(			SelectHdl, SvxSimpleTable * );
433*b1cdbd2cSJim Jagielski 		DECL_LINK(			ClickHdl, PushButton * );
434*b1cdbd2cSJim Jagielski 		DECL_LINK(			OKHdl, OKButton * );
435*b1cdbd2cSJim Jagielski 
436*b1cdbd2cSJim Jagielski 		void				LoadNamespaces();
437*b1cdbd2cSJim Jagielski 
438*b1cdbd2cSJim Jagielski 	public:
439*b1cdbd2cSJim Jagielski         NamespaceItemDialog( AddConditionDialog* pParent, XNameContainer_ref& _rContainer );
440*b1cdbd2cSJim Jagielski 		~NamespaceItemDialog();
441*b1cdbd2cSJim Jagielski 	};
442*b1cdbd2cSJim Jagielski 
443*b1cdbd2cSJim Jagielski 	//========================================================================
444*b1cdbd2cSJim Jagielski 	class ManageNamespaceDialog : public ModalDialog
445*b1cdbd2cSJim Jagielski 	{
446*b1cdbd2cSJim Jagielski 	private:
447*b1cdbd2cSJim Jagielski 		FixedText			m_aPrefixFT;
448*b1cdbd2cSJim Jagielski 		Edit				m_aPrefixED;
449*b1cdbd2cSJim Jagielski 		FixedText			m_aUrlFT;
450*b1cdbd2cSJim Jagielski 		Edit				m_aUrlED;
451*b1cdbd2cSJim Jagielski 		FixedLine			m_aButtonsFL;
452*b1cdbd2cSJim Jagielski 		OKButton			m_aOKBtn;
453*b1cdbd2cSJim Jagielski 		CancelButton		m_aEscBtn;
454*b1cdbd2cSJim Jagielski 		HelpButton			m_aHelpBtn;
455*b1cdbd2cSJim Jagielski 
456*b1cdbd2cSJim Jagielski 		AddConditionDialog*	m_pConditionDlg;
457*b1cdbd2cSJim Jagielski 
458*b1cdbd2cSJim Jagielski 		DECL_LINK(			OKHdl, OKButton * );
459*b1cdbd2cSJim Jagielski 
460*b1cdbd2cSJim Jagielski 	public:
461*b1cdbd2cSJim Jagielski 		ManageNamespaceDialog( Window* pParent, AddConditionDialog* _pCondDlg, bool _bIsEdit );
462*b1cdbd2cSJim Jagielski 		~ManageNamespaceDialog();
463*b1cdbd2cSJim Jagielski 
464*b1cdbd2cSJim Jagielski 		inline void			SetNamespace( const String& _rPrefix, const String& _rURL );
GetPrefix() const465*b1cdbd2cSJim Jagielski 		inline String		GetPrefix() const { return m_aPrefixED.GetText(); }
GetURL() const466*b1cdbd2cSJim Jagielski 		inline String		GetURL() const { return m_aUrlED.GetText(); }
467*b1cdbd2cSJim Jagielski 	};
468*b1cdbd2cSJim Jagielski 
SetNamespace(const String & _rPrefix,const String & _rURL)469*b1cdbd2cSJim Jagielski 	void ManageNamespaceDialog::SetNamespace( const String& _rPrefix, const String& _rURL )
470*b1cdbd2cSJim Jagielski 	{
471*b1cdbd2cSJim Jagielski 		m_aPrefixED.SetText( _rPrefix );
472*b1cdbd2cSJim Jagielski 		m_aUrlED.SetText( _rURL );
473*b1cdbd2cSJim Jagielski 	}
474*b1cdbd2cSJim Jagielski 
475*b1cdbd2cSJim Jagielski 	//========================================================================
476*b1cdbd2cSJim Jagielski 	class AddSubmissionDialog : public ModalDialog
477*b1cdbd2cSJim Jagielski 	{
478*b1cdbd2cSJim Jagielski 	private:
479*b1cdbd2cSJim Jagielski 		FixedLine			m_aSubmissionFL;
480*b1cdbd2cSJim Jagielski 		FixedText			m_aNameFT;
481*b1cdbd2cSJim Jagielski 		Edit				m_aNameED;
482*b1cdbd2cSJim Jagielski 		FixedText			m_aActionFT;
483*b1cdbd2cSJim Jagielski 		Edit				m_aActionED;
484*b1cdbd2cSJim Jagielski 		FixedText			m_aMethodFT;
485*b1cdbd2cSJim Jagielski 		ListBox				m_aMethodLB;
486*b1cdbd2cSJim Jagielski 		FixedText			m_aRefFT;
487*b1cdbd2cSJim Jagielski 		Edit				m_aRefED;
488*b1cdbd2cSJim Jagielski 		PushButton			m_aRefBtn;
489*b1cdbd2cSJim Jagielski 		FixedText			m_aBindFT;
490*b1cdbd2cSJim Jagielski 		ListBox				m_aBindLB;
491*b1cdbd2cSJim Jagielski 		FixedText			m_aReplaceFT;
492*b1cdbd2cSJim Jagielski 		ListBox				m_aReplaceLB;
493*b1cdbd2cSJim Jagielski 
494*b1cdbd2cSJim Jagielski 		FixedLine			m_aButtonsFL;
495*b1cdbd2cSJim Jagielski 		OKButton			m_aOKBtn;
496*b1cdbd2cSJim Jagielski 		CancelButton		m_aEscBtn;
497*b1cdbd2cSJim Jagielski 		HelpButton			m_aHelpBtn;
498*b1cdbd2cSJim Jagielski 
499*b1cdbd2cSJim Jagielski 		ItemNode*			m_pItemNode;
500*b1cdbd2cSJim Jagielski 
501*b1cdbd2cSJim Jagielski         XFormsUIHelper1_ref m_xUIHelper;
502*b1cdbd2cSJim Jagielski         XSubmission_ref     m_xNewSubmission;
503*b1cdbd2cSJim Jagielski         XPropertySet_ref    m_xSubmission;
504*b1cdbd2cSJim Jagielski         XPropertySet_ref    m_xTempBinding;
505*b1cdbd2cSJim Jagielski         XPropertySet_ref    m_xCreatedBinding;
506*b1cdbd2cSJim Jagielski 
507*b1cdbd2cSJim Jagielski 		DECL_LINK(			RefHdl, PushButton * );
508*b1cdbd2cSJim Jagielski 		DECL_LINK(			OKHdl, OKButton * );
509*b1cdbd2cSJim Jagielski 
510*b1cdbd2cSJim Jagielski 		void				FillAllBoxes();
511*b1cdbd2cSJim Jagielski 
512*b1cdbd2cSJim Jagielski 	public:
513*b1cdbd2cSJim Jagielski 		AddSubmissionDialog( Window* pParent, ItemNode* _pNode,
514*b1cdbd2cSJim Jagielski             const XFormsUIHelper1_ref& _rUIHelper );
515*b1cdbd2cSJim Jagielski 		~AddSubmissionDialog();
516*b1cdbd2cSJim Jagielski 
GetNewSubmission() const517*b1cdbd2cSJim Jagielski         inline const XSubmission_ref& GetNewSubmission() const { return m_xNewSubmission; }
518*b1cdbd2cSJim Jagielski 	};
519*b1cdbd2cSJim Jagielski 
520*b1cdbd2cSJim Jagielski 	//========================================================================
521*b1cdbd2cSJim Jagielski 	class AddModelDialog : public ModalDialog
522*b1cdbd2cSJim Jagielski 	{
523*b1cdbd2cSJim Jagielski 	private:
524*b1cdbd2cSJim Jagielski 		FixedLine			m_aModelFL;
525*b1cdbd2cSJim Jagielski 		FixedText			m_aNameFT;
526*b1cdbd2cSJim Jagielski 		Edit				m_aNameED;
527*b1cdbd2cSJim Jagielski         CheckBox            m_aModifyCB;
528*b1cdbd2cSJim Jagielski 		FixedLine			m_aButtonsFL;
529*b1cdbd2cSJim Jagielski 		OKButton			m_aOKBtn;
530*b1cdbd2cSJim Jagielski 		CancelButton		m_aEscBtn;
531*b1cdbd2cSJim Jagielski 		HelpButton			m_aHelpBtn;
532*b1cdbd2cSJim Jagielski 
533*b1cdbd2cSJim Jagielski 	public:
534*b1cdbd2cSJim Jagielski         AddModelDialog( Window* pParent, bool _bEdit );
535*b1cdbd2cSJim Jagielski 		~AddModelDialog();
536*b1cdbd2cSJim Jagielski 
GetName() const537*b1cdbd2cSJim Jagielski 		inline String			GetName() const { return m_aNameED.GetText(); }
SetName(const String & _rName)538*b1cdbd2cSJim Jagielski 		inline void				SetName( const String& _rName ) { m_aNameED.SetText( _rName );}
539*b1cdbd2cSJim Jagielski 
GetModifyDoc() const540*b1cdbd2cSJim Jagielski         inline bool             GetModifyDoc() const { return bool( m_aModifyCB.IsChecked() ); }
SetModifyDoc(const bool _bModify)541*b1cdbd2cSJim Jagielski         inline void             SetModifyDoc( const bool _bModify ) { m_aModifyCB.Check( _bModify ); }
542*b1cdbd2cSJim Jagielski 	};
543*b1cdbd2cSJim Jagielski 
544*b1cdbd2cSJim Jagielski 	//========================================================================
545*b1cdbd2cSJim Jagielski 	class AddInstanceDialog : public ModalDialog
546*b1cdbd2cSJim Jagielski 	{
547*b1cdbd2cSJim Jagielski 	private:
548*b1cdbd2cSJim Jagielski 		FixedLine				m_aInstanceFL;
549*b1cdbd2cSJim Jagielski 		FixedText				m_aNameFT;
550*b1cdbd2cSJim Jagielski 		Edit					m_aNameED;
551*b1cdbd2cSJim Jagielski 		FixedText				m_aURLFT;
552*b1cdbd2cSJim Jagielski 		SvtURLBox				m_aURLED;
553*b1cdbd2cSJim Jagielski 		PushButton				m_aFilePickerBtn;
554*b1cdbd2cSJim Jagielski 		CheckBox				m_aLinkInstanceCB;
555*b1cdbd2cSJim Jagielski 		FixedLine				m_aButtonsFL;
556*b1cdbd2cSJim Jagielski 		OKButton				m_aOKBtn;
557*b1cdbd2cSJim Jagielski 		CancelButton			m_aEscBtn;
558*b1cdbd2cSJim Jagielski 		HelpButton				m_aHelpBtn;
559*b1cdbd2cSJim Jagielski 
560*b1cdbd2cSJim Jagielski 		String					m_sAllFilterName;
561*b1cdbd2cSJim Jagielski 
562*b1cdbd2cSJim Jagielski 		DECL_LINK(				FilePickerHdl, PushButton * );
563*b1cdbd2cSJim Jagielski 
564*b1cdbd2cSJim Jagielski 	public:
565*b1cdbd2cSJim Jagielski         AddInstanceDialog( Window* pParent, bool _bEdit );
566*b1cdbd2cSJim Jagielski 		~AddInstanceDialog();
567*b1cdbd2cSJim Jagielski 
568*b1cdbd2cSJim Jagielski 		inline void				SetRenameMode();
GetName() const569*b1cdbd2cSJim Jagielski 		inline String			GetName() const { return m_aNameED.GetText(); }
SetName(const String & _rName)570*b1cdbd2cSJim Jagielski 		inline void				SetName( const String& _rName ) { m_aNameED.SetText( _rName );}
GetURL() const571*b1cdbd2cSJim Jagielski 		inline String			GetURL() const { return m_aURLED.GetText(); }
SetURL(const String & _rURL)572*b1cdbd2cSJim Jagielski 		inline void				SetURL( const String& _rURL ) { m_aURLED.SetText( _rURL );}
IsLinkInstance() const573*b1cdbd2cSJim Jagielski 		inline bool				IsLinkInstance() const { return ( m_aLinkInstanceCB.IsChecked() != sal_False ); }
SetLinkInstance(bool _bLink)574*b1cdbd2cSJim Jagielski 		inline void				SetLinkInstance( bool _bLink ) { m_aLinkInstanceCB.Check( _bLink != false ); }
575*b1cdbd2cSJim Jagielski 	};
576*b1cdbd2cSJim Jagielski 
SetRenameMode()577*b1cdbd2cSJim Jagielski 	inline void AddInstanceDialog::SetRenameMode()
578*b1cdbd2cSJim Jagielski 	{
579*b1cdbd2cSJim Jagielski 		m_aURLFT.Disable();
580*b1cdbd2cSJim Jagielski 		m_aURLED.Disable();
581*b1cdbd2cSJim Jagielski 		m_aFilePickerBtn.Disable();
582*b1cdbd2cSJim Jagielski 		m_aLinkInstanceCB.Disable();
583*b1cdbd2cSJim Jagielski 	}
584*b1cdbd2cSJim Jagielski 
585*b1cdbd2cSJim Jagielski     //========================================================================
586*b1cdbd2cSJim Jagielski     class LinkedInstanceWarningBox : public MessBox
587*b1cdbd2cSJim Jagielski     {
588*b1cdbd2cSJim Jagielski     public:
589*b1cdbd2cSJim Jagielski         LinkedInstanceWarningBox( Window* pParent );
590*b1cdbd2cSJim Jagielski     };
591*b1cdbd2cSJim Jagielski 
592*b1cdbd2cSJim Jagielski //............................................................................
593*b1cdbd2cSJim Jagielski }	// namespace svxform
594*b1cdbd2cSJim Jagielski //............................................................................
595*b1cdbd2cSJim Jagielski 
596*b1cdbd2cSJim Jagielski #endif // _SVX_DATANAVI_HXX
597*b1cdbd2cSJim Jagielski 
598