/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- * * The contents of this file are subject to the Netscape Public License * Version 1.0 (the "NPL"); you may not use this file except in * compliance with the NPL. You may obtain a copy of the NPL at * http://www.mozilla.org/NPL/ * * Software distributed under the NPL is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL * for the specific language governing rights and limitations under the * NPL. * * The Initial Developer of this code under the NPL is Netscape * Communications Corporation. Portions created by Netscape are * Copyright (C) 1998 Netscape Communications Corporation. All Rights * Reserved. */ /* stubform.c --- stub functions dealing with front-end handling of form elements. */ #include "stubform.h" /* ** FE_GetFormElementInfo - create the FE representation of a form ** element. ** ** Note : This method can be called more than once for the same front ** end form element. ** ** In those cases we don't reallocate the FEData*, and also don't ** recreate the widget, but we do set the form and context pointers in ** FEData, and we call the get_size method. ** ** Two cases I know of where layout calls this function more than once ** are: 1) when laying out a table with form elements in it -- layout ** moves our fe data over to a new LO_FormElementStruct. So, you ** should always sync up pointers to the LO_FormElementStruct ** contained in your fe data. 2) when we're on a page with frames in ** it and the user goes back and forth. In this case, the context is ** different, so you always need to sync that up as well. ** ** Also, layout could have told us to hide the widget without freeing ** our fe_data* (this happens when hide is TRUE in ** FE_GetFormElementValue.) In this case, we need to do anything ** necessary to show the widget again. ** ** Also, this routine is responsible for setting the initial value of ** the form element. ** ** yuck. :) */ void STUBFE_GetFormElementInfo (MWContext * context, LO_FormElementStruct * form_element) { } /* ** FE_GetFormElementValue - copy the value inside the fe ** representation into the FormElementStruct. ** ** if hide is TRUE, hide the form element after doing the copy. In ** the XFE, hide is taken to mean "delete" - so, if hide is TRUE, the ** XFE deletes the form element widget. This is not strictly ** necessary, as you are guaranteed to have FE_FreeFormElement if the ** form element is *really* going away. ** ** But, given that this is called with hide == TRUE in the face of ** going back and forth in frame documents, it's probably safer to ** always delete the widget when hide == TRUE, as the widget's parent ** is destroyed and recreated. */ void STUBFE_GetFormElementValue (MWContext * context, LO_FormElementStruct * form_element, XP_Bool hide) { } /* ** FE_ResetFormElement - reset the value of the form element to the default ** value stored in the LO_FormElementStruct. */ void STUBFE_ResetFormElement (MWContext * context, LO_FormElementStruct * form_element) { } /* ** FE_SetFormElementToggle - set the toggle or radio button's state to ** the toggle parameter. ** ** only called on CHECKBOX and RADIO form elements. */ void STUBFE_SetFormElementToggle (MWContext * context, LO_FormElementStruct * form_element, XP_Bool toggle) { } /* ** FE_FreeFormElement - free up all memory associated with the front ** end representation for this form element. */ void FE_FreeFormElement(MWContext *context, LO_FormElementData *form) { } /* ** FE_BlurInputElement - force input to be defocused from the given ** element. It's ok if the element didn't have the input focus. */ void FE_BlurInputElement(MWContext *context, LO_Element *element) { } /* ** FE_FocusInputElement - force input to be focused on the given element. ** It's ok if the element already has the input focus. */ void FE_FocusInputElement(MWContext *context, LO_Element *element) { } /* ** FE_SelectInputElement - select the contents of a form element. ** ** Only called on TEXT, TEXTAREA, PASSWORD, and FILE form elements (anything ** with text in it.) ** ** This function should select the entire text contained in the FE widget. */ void FE_SelectInputElement(MWContext *context, LO_Element *element) { } /* ** FE_ClickInputElement - Simulate a click on a form element. ** ** Note: This function also handles clicks on HREF anchored LO_IMAGE ** and LO_TEXT LO_Elements. In these cases, this function should ** simulate a user clicking on the LO_Element in question. */ void FE_ClickInputElement(MWContext *context, LO_Element *element) { } /* ** FE_ChangeInputElement - handle change in form element value(s) ** ** This function should update the front end value for a given form ** element, including (in the case of TEXT-like elements) just the ** value, or (in the case of SELECT elements) both the list of ** allowable values as well as the selected value. */ void FE_ChangeInputElement(MWContext *context, LO_Element *element) { } /* ** FE_SubmitInputElement - ** ** Tell the FE that a form is being submitted without a UI gesture indicating ** that fact, i.e., in a Mocha-automated fashion ("document.myform.submit()"). ** The FE is responsible for emulating whatever happens when the user hits the ** submit button, or auto-submits by typing Enter in a single-field form. */ void FE_SubmitInputElement(MWContext *context, LO_Element *element) { } int FE_ClickAnyElement(MWContext *context, LO_Element *element, int haveXY, int32 xx, int32 yy) { }