1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 #ifndef PROPCTRLR_MASTERDETAILLINKDIALOG_HXX
28 #define PROPCTRLR_MASTERDETAILLINKDIALOG_HXX
29 #include <svtools/genericunodialog.hxx>
30 #include "modulepcr.hxx"
31 //........................................................................
32 namespace pcr
33 {
34 //........................................................................
35 
36     class MasterDetailLinkDialog;
37     typedef ::svt::OGenericUnoDialog										    MasterDetailLinkDialog_DBase;
38 	typedef ::comphelper::OPropertyArrayUsageHelper< MasterDetailLinkDialog >	MasterDetailLinkDialog_PBase;
39 
40     //========================================================================
41     //= MasterDetailLinkDialog
42     //========================================================================
43     class MasterDetailLinkDialog :   public MasterDetailLinkDialog_DBase
44 				                    ,public MasterDetailLinkDialog_PBase
45 				                    ,public PcrClient
46 	{
47     public:
48 		MasterDetailLinkDialog(const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& _rxContext);
49 
50         // XServiceInfo - static methods
51 		static ::com::sun::star::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_static(void) throw( ::com::sun::star::uno::RuntimeException );
52 		static ::rtl::OUString getImplementationName_static(void) throw( ::com::sun::star::uno::RuntimeException );
53 		static ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >
54 				SAL_CALL Create(const ::com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >&);
55     private:
56 		// XTypeProvider
57 		virtual ::com::sun::star::uno::Sequence<sal_Int8> SAL_CALL getImplementationId(  ) throw(::com::sun::star::uno::RuntimeException);
58 
59 		// XServiceInfo
60 		virtual ::rtl::OUString SAL_CALL getImplementationName() throw(::com::sun::star::uno::RuntimeException);
61 		virtual ::comphelper::StringSequence SAL_CALL getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException);
62 
63 		// XPropertySet
64 		virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo>  SAL_CALL getPropertySetInfo() throw(::com::sun::star::uno::RuntimeException);
65 		virtual ::cppu::IPropertyArrayHelper& SAL_CALL getInfoHelper();
66 
67 		// OPropertyArrayUsageHelper
68 		virtual ::cppu::IPropertyArrayHelper* createArrayHelper( ) const;
69 
70         // OGenericUnoDialog overridables
71 		virtual Dialog*	createDialog(Window* _pParent);
72         virtual void implInitialize(const com::sun::star::uno::Any& _rValue);
73 
74         ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet> m_xDetail;
75         ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet> m_xMaster;
76         ::rtl::OUString m_sExplanation;
77         ::rtl::OUString m_sDetailLabel;
78         ::rtl::OUString m_sMasterLabel;
79 	};
80 
81 //........................................................................
82 }	// namespace pcr
83 //........................................................................
84 #endif // PROPCTRLR_MASTERDETAILLINKDIALOG_HXX
85