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