00001
00002
00003
00004
00005
00012
00013
00014 #ifndef FORM_H
00015 #define FORM_H
00016
00017 #include <tccore/workspaceobject.h>
00018 #include <form/libform_exports.h>
00019
00037 #define FORM_name_size_c 27
00038
00039 typedef struct FORM_field_s {
00040 char name[FORM_name_size_c + 1];
00041 char* value;
00042 int error;
00043 } FORM_field_t;
00044
00045 #ifdef __cplusplus
00046 extern "C"{
00047 #endif
00048
00052 extern FORM_API int FORM_extent(
00053 int* n_instances,
00054 tag_t** instances
00055 );
00056
00065 extern FORM_API int FORM_create(
00066 const char form_name[WSO_name_size_c + 1],
00067 const char description[WSO_desc_size_c + 1],
00068 const char* form_type,
00069 tag_t* form
00070 );
00071
00082 extern FORM_API int FORM_copy(
00083 const char new_name[WSO_name_size_c + 1],
00084 tag_t* SourceForm_tag,
00085 tag_t* newForm_tag
00086 );
00087
00095 extern FORM_API int FORM_copy2(
00096 const char *new_name,
00097 tag_t* SourceForm_tag,
00098 tag_t* newForm_tag
00099 );
00100
00107 extern FORM_API int FORM_initialize(
00108 tag_t form,
00109 const char form_name[WSO_name_size_c + 1],
00110 const char description[WSO_desc_size_c + 1],
00111 const char* form_type
00112 );
00113
00117 extern FORM_API int FORM_initialize2(
00118 tag_t form,
00119 const char *form_name,
00120 const char *description,
00121 const char* form_type
00122 );
00123
00141 extern FORM_API int FORM_ask_values(
00142 tag_t form,
00143 FORM_field_t** field_data
00144 );
00145
00149 extern FORM_API int FORM_free_values(
00150 FORM_field_t* field_data
00151 );
00152
00160 extern FORM_API int FORM_ask_value(
00161 tag_t form,
00162 const char field_name[FORM_name_size_c + 1],
00163 int max_chars,
00165 char* field_value,
00166 int* actual_chars
00167 );
00168
00180 extern FORM_API int FORM_set_value(
00181 tag_t form,
00182 const char field_name[FORM_name_size_c + 1],
00183 const char* field_value
00184 );
00185
00191 extern FORM_API int FORM_ask_file_name(
00192 tag_t form,
00193 char** form_file_name
00194 );
00195
00204 extern FORM_API int FORM_describe(
00205 tag_t form,
00206 char** form_title,
00208 int* num_fields,
00209 char*** prop_names,
00211 char*** field_names,
00212 int** field_max_lengths,
00213 char*** field_values
00214 );
00215
00220 extern FORM_API int FORM_details(
00221 tag_t form,
00222 char** form_title,
00223 int* num_fields,
00224 char*** prop_names,
00225 logical** prop_is_modifiable,
00226 char*** field_names,
00227 int** field_max_lengths,
00228 char*** field_values
00229 );
00230
00235 extern FORM_API int FORM_ask_pom_instance(
00236 tag_t form,
00237 tag_t* pom_instance
00238 );
00239
00240 extern FORM_API int FORM_null_pom_instance(
00241 tag_t form
00242 );
00243
00244 extern FORM_API int FORM_ask_prop_names(
00245 tag_t form,
00246 int* n_prop_names,
00247 char*** prop_names
00250 );
00251
00252 extern FORM_API int FORM_ask_property_descriptors(
00253 tag_t form,
00254 int* n_propdescs,
00255 tag_t** propdescs
00256 );
00257
00260 #ifdef __cplusplus
00261 }
00262 #endif
00263
00264 #include <form/libform_undef.h>
00265 #endif