home *** CD-ROM | disk | FTP | other *** search
/ Tools / WinSN5.0Ver.iso / NETSCAP.50 / WIN1998.ZIP / ns / lib / mariner / public / xpform.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-04-08  |  4.2 KB  |  103 lines

  1. /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
  2.  *
  3.  * The contents of this file are subject to the Netscape Public License
  4.  * Version 1.0 (the "NPL"); you may not use this file except in
  5.  * compliance with the NPL.  You may obtain a copy of the NPL at
  6.  * http://www.mozilla.org/NPL/
  7.  *
  8.  * Software distributed under the NPL is distributed on an "AS IS" basis,
  9.  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
  10.  * for the specific language governing rights and limitations under the
  11.  * NPL.
  12.  *
  13.  * The Initial Developer of this code under the NPL is Netscape
  14.  * Communications Corporation.  Portions created by Netscape are
  15.  * Copyright (C) 1998 Netscape Communications Corporation.  All Rights
  16.  * Reserved.
  17.  */
  18. /* 
  19.    xpform.h --- an API for accessing form element information.
  20.    Created: Chris Toshok <toshok@netscape.com>, 29-Oct-1997.
  21.  */
  22.  
  23.  
  24. #ifndef _xp_forms_h
  25. #define _xp_forms_h
  26.  
  27. #include "xp_mem.h"
  28. #include "xp_core.h"
  29. #include "ntypes.h"
  30. #include "lo_ele.h"
  31.  
  32. XP_BEGIN_PROTOS
  33.  
  34. extern LO_FormElementData*    XP_GetFormElementData(LO_FormElementStruct *form);
  35. extern LO_TextAttr*    XP_GetFormTextAttr(LO_FormElementStruct *form_element);
  36. extern uint16 XP_GetFormEleAttrmask(LO_FormElementStruct *form_element);
  37.  
  38. /*
  39. ** Setters/Getters for LO_FormElementData fields.
  40. */
  41. extern int32    XP_FormGetType(LO_FormElementData *form);
  42.  
  43. extern void    XP_FormSetFEData(LO_FormElementData *form, void* fe_data);
  44. extern void*    XP_FormGetFEData(LO_FormElementData *form);
  45.  
  46. /* Methods that work on Hidden, Submit, Reset, Button, and Readonly form
  47.    elements. */
  48. extern PA_Block XP_FormGetValue(LO_FormElementData *form);
  49.  
  50. extern Bool    XP_FormGetDisabled(LO_FormElementData *form);
  51.  
  52. /* Methods that work on text or text area form elements */
  53. extern PA_Block    XP_FormGetDefaultText(LO_FormElementData *text_or_text_area_element);
  54.  
  55. extern PA_Block    XP_FormGetCurrentText(LO_FormElementData *text_or_text_area_element);
  56. extern void    XP_FormSetCurrentText(LO_FormElementData *text_or_text_area_element,
  57.                               PA_Block current_text);
  58. extern Bool    XP_FormGetReadonly(LO_FormElementData *text_or_text_area_element);
  59.  
  60. /* text specific methods. */
  61. extern int32    XP_FormTextGetSize(LO_FormElementData *text_element);
  62. extern int32    XP_FormTextGetMaxSize(LO_FormElementData *text_element);
  63.  
  64. /* text area specific methods. */
  65. extern void    XP_FormTextAreaGetDimensions(LO_FormElementData *text_area_element,
  66.                                      int32 *rows, int32 *cols);
  67. extern uint8    XP_FormTextAreaGetAutowrap(LO_FormElementData *text_area_element);
  68.  
  69. /* radio/checkbox specific methods */
  70. extern Bool    XP_FormGetDefaultToggled(LO_FormElementData *radio_or_checkbox_element);
  71. extern Bool    XP_FormGetElementToggled(LO_FormElementData *radio_or_checkbox_element);
  72. extern void    XP_FormSetElementToggled(LO_FormElementData *radio_or_checkbox_element,
  73.                                  Bool toggled);
  74.  
  75. /* select specific methods */
  76. extern int32    XP_FormSelectGetSize(LO_FormElementData *select_element);
  77. extern Bool    XP_FormSelectGetMultiple(LO_FormElementData *select_element);
  78. extern Bool    XP_FormSelectGetOptionsValid(LO_FormElementData *select_element); /* XXX ? */
  79. extern int32    XP_FormSelectGetOptionsCount(LO_FormElementData *sel_element);
  80. extern lo_FormElementOptionData *XP_FormSelectGetOption(LO_FormElementData *select_element,
  81.                                                         int option_index);
  82.  
  83. /* option specific methods */
  84. extern Bool    XP_FormOptionGetDefaultSelected(lo_FormElementOptionData *element);
  85. extern Bool    XP_FormOptionGetSelected(lo_FormElementOptionData *option_element);
  86. extern void    XP_FormOptionSetSelected(lo_FormElementOptionData *option_element,
  87.                                      Bool selected);
  88.  
  89. /* object */
  90. extern LO_JavaAppStruct*    XP_FormObjectGetJavaApp(LO_FormElementData *object_element);
  91. extern void    XP_FormObjectSetJavaApp(LO_FormElementData *object_element,
  92.                                     LO_JavaAppStruct *java_app);
  93. /* keygen */
  94. extern PA_Block    XP_FormKeygenGetChallenge(LO_FormElementData *keygen_element);
  95. extern PA_Block    XP_FormKeygenGetKeytype(LO_FormElementData *keygen_element);
  96. extern PA_Block    XP_FormKeygenGetPQG(LO_FormElementData *keygen_element);
  97. extern char*    XP_FormKeygenGetValueStr(LO_FormElementData *keygen_element);
  98. /* setter routines? */
  99.                                             
  100. XP_END_PROTOS
  101.  
  102. #endif /* _xp_forms_h */
  103.