1/************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 24#ifndef __com_sun_star_form_control_SubmitButton_idl__ 25#define __com_sun_star_form_control_SubmitButton_idl__ 26 27#ifndef __com_sun_star_awt_UnoControlButton_idl__ 28#include <com/sun/star/awt/UnoControlButton.idl> 29#endif 30 31#ifndef __com_sun_star_form_submission_XSubmission_idl__ 32#include <com/sun/star/form/submission/XSubmission.idl> 33#endif 34 35//============================================================================= 36 37module com { module sun { module star { module form { module control { 38 39//============================================================================= 40 41/** specifies a button control which can execute external submissions 42 43 <p>The model of the control has to support the <type scope="com::sun::star::form::component">SubmitButton</type> 44 service.</p> 45 46 <p>The control is clickable. When clicked (by mouse or keyboard, or programmatically), 47 the following happens: 48 <ol><li>Any <type scope="com::sun::star::form::submission">XSubmissionVetoListener</type>s registered 49 at the component are given the chance to veto the submission. 50 </li> 51 <li>The model of the control is examined for an external submission object. That is, 52 <member scope="com::sun::star::form::submission">XSubmissionSupplier::getSubmission</member> 53 is called at the model.<br/> 54 If there is such a submission object, its 55 <member scope="com::sun::star::form::submission">XSubmission::submit</member> method is invoked. 56 </li> 57 <li>If there is no external submission, the parent object of the model is examined 58 for the presence of the <type scope="com::sun::star::form">XSubmit</type> interface. If it 59 is present, it's <member scope="com::sun::star::form">XSubmit::submit</member> method is 60 invoked.<br/> 61 Since the parent object of a submit button can only be a <type scope="com::sun::star::form::component">Form</type>, 62 this means that <type>SubmitButton</type>s are also able to submit <type scope="com::sun::star::form::component">HTMLForm</type>s. 63 </li> 64 </ol> 65 </p> 66*/ 67service SubmitButton 68{ 69 /** allows interception (and vetoing) of submissions triggered by the control. 70 */ 71 interface com::sun::star::form::submission::XSubmission; 72}; 73 74//============================================================================= 75 76}; }; }; }; }; 77 78/*============================================================================= 79 80=============================================================================*/ 81 82#endif 83 84 85