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_form_control_CommandButton_idl__
29#define __com_sun_star_form_control_CommandButton_idl__
30
31#ifndef __com_sun_star_awt_UnoControlButton_idl__
32#include <com/sun/star/awt/UnoControlButton.idl>
33#endif
34
35#ifndef __com_sun_star_form_XApproveActionBroadcaster_idl__
36#include <com/sun/star/form/XApproveActionBroadcaster.idl>
37#endif
38
39//=============================================================================
40
41 module com {  module sun {  module star {  module form {  module control {
42
43//=============================================================================
44
45/** describes a button control.
46
47	<p>The model of the control has to support the <type scope="com::sun::star::form::component">CommandButton</type>
48	service.</p>
49
50	<p>The control is clickable, the action taken upon clicking depends on the settings
51	of the model the control belongs to.</p>
52
53	@see com::sun::star::awt::UnoControl
54	@see com::sun::star::awt::UnoControlModel
55	@see com::sun::star::form::component::CommandButton::ButtonType
56*/
57published service CommandButton
58{
59	service com::sun::star::awt::UnoControlButton;
60
61	/** allows external instances to register as veto listener for the button's actions.
62
63		<p>An <type scope="com::sun::star::form">XApproveActionListener</type> returning false on
64		it's approve-method will prevent any action which would usually be triggered - this includes
65		not only submitting or resetting forms, but also calling the
66		<type scope="com::sun::star::awt">XActionListener</type>s of the super service<br/>
67		This may be interesting for e.g. forms which want to provide input validation before submitting
68		data.<br/>
69
70		@see com::sun::star::form::component::HTMLForm
71		@see com::sun::star::form::XSubmit
72		@see com::sun::star::form::XReset
73		@see com::sun::star::awt::XButton
74	*/
75	interface com::sun::star::form::XApproveActionBroadcaster;
76};
77
78//=============================================================================
79
80}; }; }; }; };
81
82/*=============================================================================
83
84=============================================================================*/
85
86#endif
87
88
89