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
28#ifndef __com_sun_star_sdb_ErrorMessageDialog_idl__
29#define __com_sun_star_sdb_ErrorMessageDialog_idl__
30
31#ifndef __com_sun_star_ui_dialogs_XExecutableDialog_idl__
32#include <com/sun/star/ui/dialogs/XExecutableDialog.idl>
33#endif
34
35#ifndef __com_sun_star_awt_XWindow_idl__
36#include <com/sun/star/awt/XWindow.idl>
37#endif
38
39#ifndef __com_sun_star_lang_XInitialization_idl__
40#include <com/sun/star/lang/XInitialization.idl>
41#endif
42
43#ifndef __com_sun_star_beans_XPropertySet_idl__
44#include <com/sun/star/beans/XPropertySet.idl>
45#endif
46
47//=============================================================================
48
49module com {  module sun {  module star {  module sdb {
50
51
52/** provides a dialog for displaying database related exceptions.
53	<p>
54	If applications use any of the functionality provided in the modules
55	<module scope="com.sun.star">
56	sdbc
57	</module>
58	,
59	<module scope="com.sun.star">
60	sdbcx
61	</module>
62	 and
63	 <module scope="com.sun.star">
64	 sdb
65	 </module>
66	 ,
67	they will - sooner or later - encounter
68	<type scope="com::sun::star::sdbc">SQLException</type>
69	's.
70	<br/>
71	These exceptions can be chained, so the information wrapped in one single
72	<type scope="com::sun::star::sdbc">SQLException</type>
73	can be rather complex (e.g., every instance where such an exception is passing before it is finally caught, could
74	append a
75	<type scope="com::sun::star::sdb">SQLContext</type>
76	to explain what it was doing), and they should be
77	presented to the user in a consistent way.
78	<br/>
79	This can be reached by using this service.
80	@see com.sun.star.sdb.InteractionHandler
81	</p>
82*/
83published service ErrorMessageDialog
84{
85	/** the title of the (dialog) window
86	*/
87	[property] string Title;
88
89	/** parent window to use for the dialog
90		<p>
91		This property can't be set while the dialog is being displayed.
92		</p>
93	*/
94	[property] com::sun::star::awt::XWindow ParentWindow;
95
96	/** is the exception displayed by the dialog
97		<p>
98		This should contain a
99		<type scope="com::sun::star::sdbc">SQLException</type>
100		instance, or an instance
101		of any class derived from this exception.
102		</p>
103		<p>
104		This property can't be set while the dialog is being displayed.
105		</p>
106	*/
107	[property] any SQLException;
108
109    /** specifies the URL to the help topic to associate with the dialog.
110
111        <p>If This URL is not empty, then the dialog will get a "Help" button, which
112        directs the user to the given help topic.</p>
113    */
114    [optional, property] string HelpURL;
115
116	/** allows access to the properties of the object
117	*/
118	interface com::sun::star::beans::XPropertySet;
119
120	/** allows starting execution of the dialog
121	*/
122	interface com::sun::star::ui::dialogs::XExecutableDialog;
123
124	/** allows initializing the dialog
125		<p>
126		You do not need to call the initialize method directly, instead you may use the createInstanceWithArguments
127		method of your
128		<type scope="com::sun::star::lang">XMultiServiceFactory</type>
129		.
130		</p>
131		<p>
132		You specify a parameter by passing one (or more)
133		<type scope="com::sun::star::beans">PropertyValue</type>
134		object(s) to the initialize method, where the <em>Name</em> field contains a string describing which aspect
135		you want to affect, and the <em>Value</em> field containing a value.
136		<br/>
137		Imagine the initialization values, as if you use
138		<method scope="com::sun::star::beans">XPropertySet::setPropertyValue()
139		</method>
140		 of the
141		<type scope="com::sun::star::beans">XPropertySet</type>
142		interface ...
143		<br/>
144		allowed parameters are
145		<ul>
146			<li><b>Title</b><br/>
147				String describing the initial title of the dialog. If not specified, a default title is used.
148			</li>
149			<li><b>ParentWindow</b><br/>
150				<type scope="com::sun::star::awt">XWindow</type>
151				describing the parent window to use for the dialog.
152			</li>
153			<li><b>SQLException</b><br/>
154				<type scope="com::sun::star::sdbc">SQLException</type>
155				describing the error which is beeing displayed.<br/>
156				When initializing this value, you may use any derivative of
157				<type scope="com::sun::star::sdbc">SQLException</type>
158				.
159			</li>
160		</ul>
161		</p>
162	*/
163	interface com::sun::star::lang::XInitialization;
164};
165
166//=============================================================================
167
168}; }; }; };
169
170#endif
171
172