ITK Function Reference

(V10000.1.0.60_20160308.00)
propdesc.h
Go to the documentation of this file.
1 /*==============================================================================
2  Copyright (c) 2003-2005,2008 UGS Corporation
3  Unpublished - All Rights Reserved
4  ==============================================================================*/
5 
14 /* */
15 
16 #ifndef PROPERTYDESCRIPTOR_H
17 #define PROPERTYDESCRIPTOR_H
18 
19 #include <unidefs.h>
20 
21 #include <property/libproperty_exports.h>
22 
36 typedef enum PROP_type_e{
44 } PROP_type_t;
45 
49 typedef enum PROP_value_type_e{
66 
70 typedef enum PROP_protection_e{
75 
80 typedef struct PRULE_val_s
81 {
82  char* name;
83  char* value;
86 } PRULE_val_t;
87 
89 typedef enum PROP_field_type_e
90 {
96 
106 
112 typedef enum PROP_valid_e {
117 } PROP_valid_t;
118 
122 typedef struct PROP_values_stat_s {
123  char* attr_name;
126 
127 
128 #ifdef __cplusplus
129  extern "C"{
130 #endif
131 
135 extern PROPERTY_API int PROPDESC_ask_name(
136  tag_t prop_tag,
137  char** name
138  );
139 
143 extern PROPERTY_API int PROPDESC_ask_display_name(
144  tag_t prop_tag,
145  char** disp_name
146  );
147 
153 extern PROPERTY_API int PROPDESC_ask_display_name_by_name(
154  const char* name,
155  char** disp_name
156  );
157 
161 extern PROPERTY_API int PROPDESC_set_display_name(
162  tag_t prop_tag,
163  const char* disp_name
164  );
165 
169 extern PROPERTY_API int PROPDESC_ask_prule_init_value(
170  tag_t prop_tag,
171  char** prule_init_value
172  );
173 
177 extern PROPERTY_API int PROPDESC_describe_prule(
178  tag_t prop_tag,
179  PRULE_val_t** argList
180  );
181 
185 extern PROPERTY_API void PROPDESC_free_prule_struct(
186  PRULE_val_t** argList
187  );
188 
192 extern PROPERTY_API int PROPDESC_ask_object_type(
193  tag_t prop_tag,
194  tag_t* type_tag
195  );
196 
200 extern PROPERTY_API int PROPDESC_ask_lov(
201  tag_t prop_tag,
202  tag_t* lov_tag
203  );
204 
209 extern PROPERTY_API int PROPDESC_is_modifiable(
210  tag_t prop_tag,
211  logical* mod_flag
212  );
213 
217 extern PROPERTY_API int PROPDESC_is_enabled(
218  tag_t prop_tag,
219  logical* enab_flag
220  );
221 
226 extern PROPERTY_API int PROPDESC_is_required(
227  tag_t prop_tag,
228  logical* req_flag
229  );
230 
234 extern PROPERTY_API int PROPDESC_ask_property_type(
235  tag_t prop_tag,
236  PROP_type_t* proptype,
237  char** proptype_n
238  );
239 
243 extern PROPERTY_API int PROPDESC_ask_value_type(
244  tag_t prop_tag,
245  PROP_value_type_t* valtype,
246  char** valtype_n
247  );
248 
252 extern PROPERTY_API int PROPDESC_ask_max_num_elements(
253  tag_t prop_tag,
254  int* maxnumelem
257  );
258 
262 extern PROPERTY_API int PROPDESC_ask_max_string_length(
263  tag_t prop_tag,
264  int* maxstrlen
265  );
266 
270 extern PROPERTY_API int PROPDESC_ask_protection(
271  tag_t prop_tag,
272  PROP_protection_t* protection
274  );
275 
292 extern PROPERTY_API int PROPDESC_is_displayable(
293  tag_t prop_tag,
294  logical* display_flag
295  );
296 
306 extern PROPERTY_API int PROPDESC_is_validatable(
307  tag_t prop_tag,
308  logical* validatable_flag
309  );
310 
311 extern PROPERTY_API int PROPDESC_ask_lov_attach_dep_order(
312  tag_t prop_tag,
313  int* order
315  );
316 
317 extern PROPERTY_API int PROPDESC_is_lov_desc_attach(
318  tag_t prop_tag,
319  logical* verdict
320  );
321 
322 extern PROPERTY_API int PROPDESC_ask_lov_attach_parent_number(
323  tag_t prop_tag,
324  int* n_parent
325  );
326 
327 extern PROPERTY_API int PROPDESC_ask_lov_interdependents(
328  tag_t prop_tag,
329  tag_t* lov_tag,
330  int* n_props,
331  tag_t** props,
332  int** orders,
333  int** n_parents,
334  logical** descAttaches
335  );
336 
337 extern PROPERTY_API int PROPDESC_is_copyfromoriginal(
338  tag_t propDescTag,
339  logical* isCopyFromOriginal
340  );
341 
353 extern PROPERTY_API int PROPDESC_validate_values(
354  int num_of_prop_desc_tags,
355  tag_t* prop_desc_tags,
356  tag_t oprn_input_tag,
357  int operation_type,
358  logical* is_unique,
359  PROP_values_stat_t** values_status
360  );
361 
365 extern PROPERTY_API int PROPDESC_is_lov_localizable(
366  tag_t propDescTag,
367  logical* isLOVLocalizable
368  );
369 
382 extern PROPERTY_API int PROPDESC_get_auto_assign_info(
383  tag_t prop_desc_tag,
384  char* rule_suffix,
385  logical* is_autoassignable,
386  int* n_patterns,
387  char*** pattern_strings,
388  logical** has_counter,
389  char** last_selected_pattern
390  );
391 
404 extern PROPERTY_API int PROPDESC_get_next_rev_options(
405  tag_t prop_desc_tag,
406  tag_t item_rev_tag,
407  int* n_formats,
408  int** rev_formats,
409  char*** rev_options,
410  char*** rev_descs,
411  char** excluded_letters
412  );
413 
427 extern PROPERTY_API int PROPDESC_generate_next_values(
428  int n_prop_desc_tags,
429  tag_t* prop_desc_tags,
430  char** pattern_strings,
431  char* rule_suffix,
432  char* basis_name,
433  tag_t operation_in_tag,
434  tag_t source_tag,
435  tag_t relation_type,
436  logical** is_modifiable_flags,
437  char*** next_values,
438  int** error_codes
439  );
440 
474 extern PROPERTY_API int PROPDESC_next_values_in_bulk(
475  const char* type_name,
476  int quantity,
477  const char* prop_name,
478  const tag_t item_tag,
479  const char* ds_id,
480  const char* preferred_type_name,
481  const char* default_type_name,
482  const tag_t parent_tag,
483  const char* rule_suffix,
484  const char* base_rev_id,
485  const char* pattern,
486  char*** next_ids
487  );
488 
509 extern PROPERTY_API int PROPDESC_ask_source_object(
510  tag_t object_tag,
511  tag_t prop_tag,
512  tag_t* source_obj_tag
513  );
514 
525 extern PROPERTY_API int PROPDESC_ask_base_descriptor(
526  tag_t prop_tag,
527  tag_t* base_prop_tag,
528  tag_t* base_type_tag
529  );
530 
542  tag_t prop_tag,
543  int n_values,
544  const char** values,
545  char*** display_values
546  );
547 
566 extern PROPERTY_API int PROPDESC_ask_field_type(
567  tag_t prop_tag,
568  PROP_field_type_t* field_type
569  );
570 
581 extern PROPERTY_API int PROPDESC_ask_compound_object_type(
582  tag_t prop_tag,
583  tag_t* compound_type_tag
584  );
585 
598 extern PROPERTY_API int PROPDESC_ask_parent_descriptor(
599  tag_t prop_tag,
600  tag_t* parent_prop_tag,
601  tag_t* parent_type_tag
602  );
603 
606 #ifdef __cplusplus
607 }
608 #endif
609 
610 #include <property/libproperty_undef.h>
611 
612 #endif