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 __com_sun_star_text_XDependentTextField_idl__
28#define __com_sun_star_text_XDependentTextField_idl__
29
30#ifndef __com_sun_star_text_XTextField_idl__
31#include <com/sun/star/text/XTextField.idl>
32#endif
33
34#ifndef __com_sun_star_beans_XPropertySet_idl__
35#include <com/sun/star/beans/XPropertySet.idl>
36#endif
37
38#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
39#include <com/sun/star/lang/IllegalArgumentException.idl>
40#endif
41
42
43//=============================================================================
44
45 module com {  module sun {  module star {  module text {
46
47//=============================================================================
48
49/** makes it possible to attach this <type>TextField</type> to a
50	<type>TextFieldMaster</type>.
51 */
52published interface XDependentTextField: com::sun::star::text::XTextField
53{
54	//-------------------------------------------------------------------------
55
56	/** method must be called to attach the
57		<type>TextFieldMaster</type> to this <type>TextField</type>.
58		<p>A <type>TextFieldMaster</type> can only be assigned once.
59		</p>
60
61		@example Create and insert a user field (with a
62                <code>UserField</code>):
63
64		<listing>
65                // Create a fieldmaster for our newly created User Text field, and access it's
66                // XPropertySet interface
67                XPropertySet xMasterPropSet = (XPropertySet) UnoRuntime.queryInterface(
68                                XPropertySet.class, mxDocFactory.createInstance(
69                                                "com.sun.star.text.FieldMaster.User"));
70                // Set the name and value of the FieldMaster
71                xMasterPropSet.setPropertyValue ("Name", "UserEmperor");
72                xMasterPropSet.setPropertyValue ("Value", new Integer(42));
73                // Attach the field master to the user field
74                xUserField.attachTextFieldMaster (xMasterPropSet);
75                // Move the cursor to the end of the document
76                mxDocCursor.gotoEnd(false);
77                // insert a paragraph break using the XSimpleText interface
78                mxDocText.insertControlCharacter(
79                                mxDocCursor, ControlCharacter.PARAGRAPH_BREAK, false);
80                // Insert the user field at the end of the document
81                mxDocText.insertTextContent(mxDocText.getEnd(), xUserField, false);
82                </listing>
83	 */
84	void attachTextFieldMaster( [in] com::sun::star::beans::XPropertySet xFieldMaster )
85			raises( com::sun::star::lang::IllegalArgumentException );
86
87	//-------------------------------------------------------------------------
88
89	/** @returns
90                the previously attached <type>TextFieldMaster</type>
91	 */
92	com::sun::star::beans::XPropertySet getTextFieldMaster();
93
94};
95
96//=============================================================================
97
98}; }; }; };
99
100
101#endif
102