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_SubmitButton_idl__
29#define __com_sun_star_form_control_SubmitButton_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_submission_XSubmission_idl__
36#include <com/sun/star/form/submission/XSubmission.idl>
37#endif
38
39//=============================================================================
40
41module com {  module sun {  module star {  module form {  module control {
42
43//=============================================================================
44
45/** specifies a button control which can execute external submissions
46
47	<p>The model of the control has to support the <type scope="com::sun::star::form::component">SubmitButton</type>
48	service.</p>
49
50    <p>The control is clickable. When clicked (by mouse or keyboard, or programmatically),
51        the following happens:
52    <ol><li>Any <type scope="com::sun::star::form::submission">XSubmissionVetoListener</type>s registered
53            at the component are given the chance to veto the submission.
54        </li>
55        <li>The model of the control is examined for an external submission object. That is,
56            <member scope="com::sun::star::form::submission">XSubmissionSupplier::getSubmission</member>
57            is called at the model.<br/>
58            If there is such a submission object, its
59            <member scope="com::sun::star::form::submission">XSubmission::submit</member> method is invoked.
60        </li>
61        <li>If there is no external submission, the parent object of the model is examined
62            for the presence of the <type scope="com::sun::star::form">XSubmit</type> interface. If it
63            is present, it's <member scope="com::sun::star::form">XSubmit::submit</member> method is
64            invoked.<br/>
65            Since the parent object of a submit button can only be a <type scope="com::sun::star::form::component">Form</type>,
66            this means that <type>SubmitButton</type>s are also able to submit <type scope="com::sun::star::form::component">HTMLForm</type>s.
67        </li>
68    </ol>
69    </p>
70*/
71service SubmitButton
72{
73    /** allows interception (and vetoing) of submissions triggered by the control.
74    */
75    interface com::sun::star::form::submission::XSubmission;
76};
77
78//=============================================================================
79
80}; }; }; }; };
81
82/*=============================================================================
83
84=============================================================================*/
85
86#endif
87
88
89