ITK Function Reference
(V10000.1.0.60_20160308.00)
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
property
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
{
37
PROP_unknown
,
38
PROP_attribute
,
39
PROP_reference
,
40
PROP_relation
,
41
PROP_compound
,
42
PROP_runtime
,
43
PROP_operationinput
44
}
PROP_type_t
;
45
49
typedef
enum
PROP_value_type_e
{
50
PROP_untyped
,
51
PROP_char
,
52
PROP_date
,
53
PROP_double
,
54
PROP_float
,
55
PROP_int
,
56
PROP_logical
,
57
PROP_short
,
58
PROP_string
,
59
PROP_typed_reference
,
60
PROP_untyped_reference
,
61
PROP_external_reference
,
62
PROP_note
,
63
PROP_typed_relation
,
64
PROP_untyped_relation
65
}
PROP_value_type_t
;
66
70
typedef
enum
PROP_protection_e
{
71
PROP_write
,
72
PROP_read
,
73
PROP_write_only_if_null
74
}
PROP_protection_t
;
75
80
typedef
struct
PRULE_val_s
81
{
82
char
*
name
;
83
char
*
value
;
84
int
num_of_children
;
85
struct
PRULE_val_s
*
children
;
86
}
PRULE_val_t
;
87
89
typedef
enum
PROP_field_type_e
90
{
91
PROP_field_unknown
,
92
PROP_simple_property
,
93
PROP_compound_object
,
94
PROP_compound_relation
95
}
PROP_field_type_t
;
96
100
typedef
enum
PROP_lov_attach_category_e
{
101
PROP_lov_no_attaches
,
102
PROP_lov_istrue_attaches
,
103
PROP_lov_session_attaches
,
104
PROP_lov_object_based_attaches
105
}
PROP_lov_attach_category_t
;
106
112
typedef
enum
PROP_valid_e
{
113
PROP_valid_id
,
114
PROP_invalid_id
,
115
PROP_override_id
,
116
PROP_duplicate_id
117
}
PROP_valid_t
;
118
122
typedef
struct
PROP_values_stat_s
{
123
char
*
attr_name
;
124
PROP_valid_t
status
;
125
}
PROP_values_stat_t
;
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
541
extern
PROPERTY_API
int
PROPDESC_ask_display_values_from_LOV_attachments
(
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