Salome HOME
NRI : Remove bad and unused files.
[modules/kernel.git] / idl / SALOMEDS_Attributes.idl
1 //=====================================================
2 //  File      : SALOMEDS.idl
3 //  Created   : Thu Jul 4 19:25:39 2002
4 //  Author    : Yves FRICAUD
5 //  Project   : SALOME
6 //  Copyright : Open CASCADE 2002
7 //  $Header$
8 //=====================================================
9 //The following attributes can be assigned to SObject
10 //=====================================================
11 /*! \file SALOMEDS_Attributes.idl This file contains a set of interfaces
12     for the attributes which can be assigned to %SObject
13 */
14 #ifndef _SALOMEDS_AttributesIDL_
15 #define _SALOMEDS_AttributesIDL_
16
17 #include "SALOMEDS.idl"
18
19 module SALOMEDS
20 {
21 /*! Sequence of double values
22 */
23   typedef sequence <double> DoubleSeq;
24 /*! Sequence of long values
25 */
26   typedef sequence <long>   LongSeq;
27 /*! Sequence of string values
28 */
29   typedef sequence <string> StringSeq;
30 /*! \struct Color 
31    This structure stores a set of elements defining the color based on RGB.
32 */
33   struct Color {
34 /*! Red color
35 */  
36    double R;
37 /*! Green color
38 */ 
39    double G;
40 /*! Blue color
41 */ 
42    double B;
43   };
44   //==========================================================================
45 /*! \brief Attribute allowing to store a real value
46
47     Attribute allowing to store a real value
48 */
49  //==========================================================================
50   interface AttributeReal : GenericAttribute
51   {
52 /*!
53     Returns the value of this attribute.
54 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
55 */
56     double Value();
57     const string Value__doc__ = "Returns the value of this attribute.";
58 /*!
59    Sets the value of this attribute.
60 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
61 */
62     void   SetValue(in double value);
63     const string SetValue__doc__ = "Sets the value of this attribute.";
64   };
65    const string AttributeReal__doc__ = "Attribute allowing to store a real value.";
66   //==========================================================================
67 /*! \brief Attribute allowing to store an integer value
68
69    Attribute allowing to store an integer value
70 */
71   //==========================================================================
72   interface AttributeInteger : GenericAttribute
73   {
74 /*!
75     Returns the value of this attribute
76 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
77 */
78     long   Value();
79     const string Value__doc__ = "Returns the value of this attribute.";
80 /*!
81    Sets the value of this attribute
82 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
83 */
84     void   SetValue(in long value);
85     const string SetValue__doc__ = "Sets the value of this attribute.";
86   };
87     const string AttributeInteger__doc__ = "Attribute allowing to store an integer value.";
88   //==========================================================================
89 /*! \brief Attribute - sequence of real values
90
91   Attribute - sequence of real values, indexing from 1 (like in CASCADE).
92 */
93   //==========================================================================
94   interface AttributeSequenceOfReal : GenericAttribute
95   {
96 /*!
97    Initialization of the attribute with initial data.
98    \param other    Initially assigned sequence of real numbers.
99 */
100     void      Assign (in DoubleSeq other);
101     const string Assign__doc__ = "Initialization of the attribute with initial data.";
102 /*!
103    Returns the sequence of real numbers stored in the attribute.
104 */
105     DoubleSeq CorbaSequence();
106     const string CorbaSequence__doc__ = "Returns the sequence of real numbers stored in the attribute.";
107 /*!
108    Adds to the end of the sequence a real number.
109    \param value    A real number added to the sequence.
110
111 <BR><VAR>See also <A href=exemple/Example3.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
112 */
113     void      Add (in double value);
114     const string Add__doc__ = "Adds to the end of the sequence a real number.";
115 /*!
116     Removes a real number with a definite index
117     from the sequence of real numbers stored in the Attribute.
118 */
119     void      Remove(in long index);
120     const string Remove__doc__ = "Removes a real number with a definite index from the sequence of real numbers stored in the attribute.";
121 /*!
122     Substitutes a real number with a definite index for another real number.
123 <BR><VAR>See also <A href=exemple/Example3.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
124
125 */
126     void      ChangeValue(in long index, in double value);
127     const string ChangeValue__doc__ = "Substitutes a real number with a definite index for another real number.";
128 /*!
129   Returns a real number with a definite index
130     in the sequence of real numbers stored in the Attribute.
131 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
132 */
133     double    Value(in short index);
134     const string Value__doc__ = "Returns a real number with a definite index in the \nsequence of real numbers stored in the attribute.";
135 /*!
136     Returns the length of the sequence of real numbers stored in the Attribute.
137 <BR><VAR>See also <A href=exemple/Example3.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
138
139 */
140     long      Length();
141     const string Length__doc__ = "Returns the length of the sequence of real numbers stored in the attribute.";
142   };
143     const string AttributeSequenceOfReal__doc__ = "Attribute - sequence of real values.";
144   //==========================================================================
145 /*! \brief Attribute - sequence of integer
146
147   Attribute - sequence of integer, indexing from 1 (like in CASCADE)
148 */
149   //==========================================================================
150   interface AttributeSequenceOfInteger : GenericAttribute
151   {
152 /*!
153    Initialization of the attribute with initial data.
154    \param other    Initially assigned sequence of integer numbers.
155 */
156     void      Assign (in LongSeq other);
157     const string Assign__doc__ = "Initialization of the attribute with initial data.";
158 /*!
159    Returns the sequence of integer numbers stored in the Attribute.
160 */
161     LongSeq CorbaSequence();
162     const string CorbaSequence__doc__ = "Returns the sequence of integer numbers stored in the attribute.";
163 /*!
164    Adds to the end of the sequence an integer number.
165    \param value    An integer number added to the sequence.
166
167 <BR><VAR>See also <A href=exemple/Example3.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
168
169 */
170     void      Add (in long value);
171     const string Add__doc__ = "Adds to the end of the sequence an integer number.";
172 /*!
173     Removes an integer number with a definite index
174     from the sequence of integer numbers stored in the Attribute.
175 <BR><VAR>See also <A href=exemple/Example3.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
176
177 */
178     void      Remove(in long index);
179     const string Remove__doc__ = "Removes an integer number with a definite index from the sequence of integer numbers stored in the attribute.";
180 /*!
181     Substitutes an integer number with a definite index for another integer number.
182 */
183     void      ChangeValue(in long index, in long value);
184     const string ChangeValue__doc__ = "Substitutes an integer number with a definite index for another integer number.";
185 /*!
186    Returns an integer number with a definite index
187     in the sequence of integer numbers stored in the Attribute.
188 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
189 */
190     long      Value(in short index);
191     const string Value__doc__ = "Returns an integer number with a definite index in the \nsequence of integer numbers stored in the attribute.";
192 /*!
193     Returns the length of the sequence of integer numbers stored in the Attribute.
194 <BR><VAR>See also <A href=exemple/Example3.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
195
196 */
197     long      Length();
198     const string Length__doc__ = "Returns the length of the sequence of integer numbers stored in the attribute.";
199   };
200
201   //==========================================================================
202 /*! \brief Name attribute
203
204    This attribute stores a string value, which corresponds to the name of the %SObject
205    or to the name of corresponding object.
206 */
207   //==========================================================================
208
209   interface AttributeName : GenericAttribute
210   {
211 /*!
212     Returns the value of this attribute
213 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
214 */
215     string Value();
216     const string Value__doc__ = "Returns the value of this attribute.";
217 /*!
218    Sets the value of this attribute
219 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
220 */
221     void   SetValue(in string value);
222     const string SetValue__doc__ = "Sets the value of this attribute.";
223   };
224     const string AttributeName__doc__ = "This attribute stores a string value, which corresponds to the name of the SObject \nor to the name of corresponding object.";
225
226   //==========================================================================
227 /*! \brief Comment attribute
228
229     This attribute stores a string value containing supplementary information about
230     the %SObject. In particular it contains the data type of the %SComponent.
231 */
232   //==========================================================================
233   interface AttributeComment : GenericAttribute
234   {
235 /*!
236     Returns the value of this attribute
237 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
238 */
239     string Value();
240     const string Value__doc__ = "Returns the value of this attribute.";
241 /*!
242    Sets the value of this attribute
243 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
244 */
245     void   SetValue(in string value);
246     const string SetValue__doc__ = "Sets the value of this attribute.";
247   };
248     const string AttributeComment__doc__ = "This attribute stores a string value containing supplementary information about \nthe SObject. In particular it contains the data type of the SComponent.";
249   //==========================================================================
250 /*! \brief IOR attribute
251
252     This attribute stores a string value identifying a runtime object.In particular
253     it contains CORBA Interoperable Object Reference.
254 */
255  //==========================================================================
256   interface AttributeIOR : GenericAttribute
257   {
258 /*!
259     Returns the value of this attribute
260 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
261 */
262     string Value();
263     const string Value__doc__ = "Returns the value of this attribute.";
264 /*!
265    Sets the value of this attribute
266 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
267 */
268     void   SetValue(in string value);
269     const string SetValue__doc__ = "Sets the value of this attribute.";
270   };
271    const string AttributeIOR__doc__ = "This attribute stores a string value identifying a runtime object.\nIn particular it contains CORBA Interoperable Object Reference.";
272
273   //==========================================================================
274 /*! \brief Persistent reference attribute
275
276      This attribute stores a persistent identifier of the object.
277 */
278   //==========================================================================
279   interface AttributePersistentRef : GenericAttribute
280   {
281 /*!
282     Returns the value of this attribute
283 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
284 */
285     string Value();
286     const string Value__doc__ = "Returns the value of this attribute.";
287 /*!
288    Sets the value of this attribute
289 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
290 */
291     void   SetValue(in string value);
292     const string SetValue__doc__ = "Sets the value of this attribute.";
293   };
294     const string AttributePersistentRef__doc__ = "This attribute stores a persistent identifier of the object.";
295
296   //==========================================================================
297   //Below the list of presentation attributes for display study tree in browser
298   //==========================================================================
299
300
301   //==========================================================================
302 /*! \brief Drawable flag Attribute.
303
304    This is a presentation attribute necessary for display of the study tree in the browser.
305    The item associated to SObject is created/displayed if TRUE.
306 */
307   //==========================================================================
308   interface AttributeDrawable : GenericAttribute
309   {
310 /*!
311    Returns TRUE if the item is drawable (as it is by default) and FALSE if it isn't.
312 <BR><VAR>See also <A href=exemple/Example8.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
313
314 */
315     boolean IsDrawable();
316     const string IsDrawable__doc__ = "Returns TRUE if the item is drawable (as it is by default) and FALSE if it isn't.";
317 /*!
318 Sets the items to be drawable if <VAR>value</VAR> is TRUE (the default) or not to be selectable if <VAR>value</VAR>is FALSE.
319 <BR><VAR>See also <A href=exemple/Example8.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
320
321 */
322     void   SetDrawable(in boolean value);
323     const string SetDrawable__doc__ = "Sets the items to be drawable if value is TRUE (the default) or not to be selectable if value is FALSE.";
324   };
325     const string AttributeDrawable__doc__ = "This is a presentation attribute necessary for display of the study tree in the browser. \nThe item associated to SObject is created/displayed if TRUE.";
326
327   //==========================================================================
328 /*! \brief Selectable flag Attribute.
329
330   This is a presentation attribute necessary for display of the study tree in the browser.
331   The item is selectable by %SALOME selection mechanism if TRUE.
332 */
333   //==========================================================================
334   interface AttributeSelectable : GenericAttribute
335   {
336 /*!
337    Returns TRUE if the item is selectable (as it is by default) and FALSE if it isn't.
338 <BR><VAR>See also <A href=exemple/Example9.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
339
340 */
341     boolean IsSelectable();
342     const string IsSelectable__doc__ = "Returns TRUE if the item is selectable (as it is by default) and FALSE if it isn't.";
343 /*!
344 Sets the items to be selectable if <VAR>value</VAR> is TRUE (the default) or not to be selectable if <VAR>value</VAR>is FALSE.
345 <BR><VAR>See also <A href=exemple/Example9.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
346
347 */
348     void   SetSelectable(in boolean value);
349     const string SetSelectable__doc__ = "Sets the items to be selectable if value is TRUE (the default) or not to be selectable if value is FALSE.";
350   };
351     const string AttributeSelectable__doc__ = "This is a presentation attribute necessary for display of the study tree in the browser. \nThe item is selectable by SALOME selection mechanism if TRUE.";
352
353   //==========================================================================
354 /*! \brief Expandable flag Attribute.
355
356  This is a presentation attribute necessary for display of the study tree in the browser.
357  It sets this item to be expandable even if it has no children if value is TRUE. If value is FALSE
358  expandable only if it has children.
359 */
360   //==========================================================================
361   interface AttributeExpandable : GenericAttribute
362   {
363 /*!
364     Returns TRUE if this item is expandable even when it has no children.
365 <BR><VAR>See also <A href=exemple/Example10.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
366
367 */
368     boolean IsExpandable();
369     const string IsExpandable__doc__ = "Returns TRUE if this item is expandable even when it has no children.";
370 /*!
371    Sets this item to be expandable even if it has no children if <VAR>value</VAR> is TRUE, and to be
372    expandable only if it has children if <VAR>value</VAR> is FALSE (the default).
373 <BR><VAR>See also <A href=exemple/Example10.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
374
375 */
376     void   SetExpandable(in boolean value);
377     const string SetExpandable__doc__ = "Sets this item to be expandable even if it has no children if value is TRUE, and to be \nexpandable only if it has children if value is FALSE (the default).";
378   };
379     const string AttributeExpandable__doc__ = "This is a presentation attribute necessary for display of the study tree in the browser. \nIt sets this item to be expandable even if it has no children if value is TRUE. \nIf value is FALSE expandable only if it has children.";
380
381   //==========================================================================
382 /*! \brief Opened flag Attribute.
383
384    This is a presentation attribute necessary for display of the study tree in the browser.
385    It sets this item to be open (its children are visible) if bool is TRUE, and to be closed (its children
386    are not visible) if bool is FALSE.
387 */
388   //==========================================================================
389   interface AttributeOpened : GenericAttribute
390   {
391 /*!
392     Returns TRUE if this item is open (its children are visible) and FALSE if it isn't.
393 <BR><VAR>See also <A href=exemple/Example11.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
394
395 */
396     boolean IsOpened();
397     const string IsOpened__doc__ = "Returns TRUE if this item is open (its children are visible) and FALSE if it isn't.";
398 /*!
399    Sets this item to be open (its children are visible) if <VAR>value</VAR> is TRUE, and to be closed
400 (its children are not visible) if <VAR>value</VAR> is FALSE.
401 <BR><VAR>See also <A href=exemple/Example11.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
402
403 */
404     void   SetOpened(in boolean value);
405     const string SetOpened__doc__ = "Sets this item to be open (its children are visible) if value is TRUE, and to be closed \n(its children are not visible) if value is FALSE.";
406   };
407     const string AttributeOpened__doc__ = "This is a presentation attribute necessary for display of the study tree in the browser. \nIt sets this item to be open (its children are visible) if bool is TRUE, and to be closed (its children \nare not visible) if bool is FALSE.";
408   //==========================================================================
409 /*! \brief TextColorAttribute.
410
411      This attribute sets the color of an item.
412 */
413   //==========================================================================
414   interface AttributeTextColor : GenericAttribute
415   {
416 /*!
417    Returns the color of an item.
418 <BR><VAR>See also <A href=exemple/Example12.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
419
420 */
421     Color TextColor();
422     const string TextColor__doc__ = "Returns the color of an item.";
423 /*!
424    Sets the color of an item.
425 <BR><VAR>See also <A href=exemple/Example12.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
426
427 */
428     void   SetTextColor(in Color value);
429     const string SetTextColor__doc__ = "Sets the color of an item.";
430   };
431     const string AttributeTextColor__doc__ = "This attribute sets the color of an item.";
432
433   //==========================================================================
434   /*! \brief TextHighlightColorAttribute.
435
436      This attribute sets the highlight color of an item.
437 */
438   //==========================================================================
439   interface AttributeTextHighlightColor : GenericAttribute
440   {
441 /*!
442    Returns the highlight color of an item.
443 <BR><VAR>See also <A href=exemple/Example13.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
444
445 */
446     Color TextHighlightColor();
447     const string TextHighlightColor__doc__ = "Returns the highlight color of an item.";
448 /*!
449    Sets the highlight color of an item.
450 <BR><VAR>See also <A href=exemple/Example13.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
451
452 */
453     void   SetTextHighlightColor(in Color value);
454     const string SetTextHighlightColor__doc__ = "Sets the highlight color of an item.";
455   };
456     const string AttributeTextHighlightColor__doc__ = "This attribute sets the highlight color of an item.";
457   //==========================================================================
458 /*! \brief PixMapAttribute.
459
460     This attribute stores an icon which is put before the name of an item.
461 */
462   //==========================================================================
463   interface AttributePixMap : GenericAttribute
464   {
465 /*!
466    Returns True if there is an icon before the name of the item.
467 */
468     boolean HasPixMap();
469     const string HasPixMap__doc__ = "Returns True if there is an icon before the name of the item.";
470 /*!
471    Returns the name of the icon.
472 <BR><VAR>See also <A href=exemple/Example14.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
473
474 */
475     string  GetPixMap();
476     const string GetPixMap__doc__ = "Returns the name of the icon.";
477 /*!
478    Sets the name of the icon.
479 <BR><VAR>See also <A href=exemple/Example14.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
480
481 */
482     void    SetPixMap(in string value);
483     const string SetPixMap__doc__ = "Sets the name of the icon.";
484   };
485     const string AttributePixMap__doc__ = "This attribute stores an icon which is put before the name of an item.";
486
487   //==========================================================================
488 /*! \brief TreeNodeAttribute.
489
490    A set of these attributes on the %SObjects of the %study forms an inner auxiliary
491    tree whith its own structure and identifier. The quantity of such trees with different
492    identifiers can be arbitrary.
493 <BR><VAR>See also <A href=exemple/Example18.html> an example </A> of usage of the methods of this interface in batchmode of %SALOME application.</VAR>
494
495 */
496   //==========================================================================
497   interface AttributeTreeNode : GenericAttribute
498   {
499 /*!
500   Sets the father TreeNode to this TreeNode.
501 */
502     void              SetFather(in AttributeTreeNode value);
503     const string SetFather__doc__ = "Sets the father TreeNode to this TreeNode.";
504 /*!
505   Returns True if there is the father TreeNode of this TreeNode.
506 */
507     boolean           HasFather();
508     const string HasFather__doc__ = "Returns True if there is the father TreeNode of this TreeNode.";
509 /*!
510   Returns the father Treenode of this TreeNode.
511 */
512     AttributeTreeNode GetFather();
513     const string GetFather__doc__ = "Returns the father Treenode of this TreeNode.";
514 /*!
515   Sets the previous brother TreeNode to this treeNode.
516 */
517     void              SetPrevious(in AttributeTreeNode value);
518     const string SetPrevious__doc__ = "Sets the previous brother TreeNode to this treeNode.";
519 /*!
520   Returns True if there is the previous brother TreeNode of this TreeNode.
521 */
522     boolean           HasPrevious();
523     const string HasPrevious__doc__ = "Returns True if there is the previous brother TreeNode of this TreeNode.";
524 /*!
525   Returns the previous brother TreeNode of this TreeNode.
526 */
527     AttributeTreeNode GetPrevious();
528     const string GetPrevious__doc__ = "Returns the previous brother TreeNode of this TreeNode.";
529 /*!
530   Sets the next brother TreeNode to this treeNode.
531 */
532     void              SetNext(in AttributeTreeNode value);
533     const string SetNext__doc__ = "Sets the next brother TreeNode to this treeNode.";
534 /*!
535   Returns True if there is the next brother TreeNode of this TreeNode.
536 */
537     boolean           HasNext();
538     const string HasNext__doc__ = "Returns True if there is the next brother TreeNode of this TreeNode.";
539 /*!
540   Returns the previous brother TreeNode of this TreeNode.
541 */
542     AttributeTreeNode GetNext();
543     const string GetNext__doc__ = "Returns the previous brother TreeNode of this TreeNode.";
544 /*!
545   Sets the first child TreeNode to this treeNode.
546 */
547     void              SetFirst(in AttributeTreeNode value);
548     const string SetFirst__doc__ = "Sets the first child TreeNode to this treeNode.";
549 /*!
550   Returns True if there is the first child TreeNode of this TreeNode.
551 */
552     boolean           HasFirst();
553     const string HasFirst__doc__ = "Returns True if there is the first child TreeNode of this TreeNode.";
554 /*!
555   Returns the first child TreeNode of this TreeNode.
556 */
557     AttributeTreeNode GetFirst();
558     const string GetFirst__doc__ = "Returns the first child TreeNode of this TreeNode.";
559 /*!
560   Sets ID of the tree. TreeNodes of one tree have the same ID.
561 */
562     void              SetTreeID(in string value);
563     const string SetTreeID__doc__ = "Sets ID of the tree. TreeNodes of one tree have the same ID.";
564 /*!
565   Gets ID of the tree.
566 */
567     string            GetTreeID();
568     const string GetTreeID__doc__ = "Gets ID of the tree.";
569
570 /*!
571    Adds a child TreeNode to the end of the list of children of this Treenode.
572 */
573     void              Append(in AttributeTreeNode value);
574     const string Append__doc__ = "Adds a child TreeNode to the end of the list of children of this Treenode.";
575 /*!
576    Adds a child TreeNode to the beginning of the list of children of this Treenode.
577
578 */
579     void              Prepend(in AttributeTreeNode value);
580     const string Prepend__doc__ = "Adds a child TreeNode to the beginning of the list of children of this Treenode.";
581 /*!
582    Adds a brother TreeNode before this Treenode.
583     In this case the both TreeNodes will belong to the same father.
584 */
585     void              InsertBefore(in AttributeTreeNode value);
586     const string InsertBefore__doc__ = "Adds a brother TreeNode before this Treenode. In this case the both TreeNodes will belong to the same father.";
587 /*!
588    Adds a brother TreeNode after this Treenode.
589     In this case the both TreeNodes will belong to the same father.
590 */
591     void              InsertAfter(in AttributeTreeNode value);
592     const string InsertAfter__doc__ = "Adds a brother TreeNode after this Treenode. In this case the both TreeNodes will belong to the same father.";
593 /*!
594    Deletes a TreeNode.
595 <BR><VAR>See also <A href=exemple/Example3.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
596
597 */
598     void              Remove();
599     const string Remove__doc__ = "Deletes a TreeNode.";
600
601 /*!
602    Returns  the  depth  of the TreeNode in the
603    structure, it means the  number of  fathers of the given TreeNode.
604    (i.e.: the depth of the root TreeNode is 0).
605 */
606     long              Depth();
607     const string Depth__doc__ = "Returns  the  depth  of the TreeNode in the structure, it means the  number of  fathers of the given TreeNode. \n(i.e.: the depth of the root TreeNode is 0).";
608 /*!
609     Returns True if it is a root TreeNode.
610 */
611     boolean           IsRoot();
612     const string IsRoot__doc__ = "Returns True if it is a root TreeNode.";
613 /*!
614     Returns True if this TreeNode is a descendant of the TreeNode.
615 */
616     boolean           IsDescendant(in AttributeTreeNode value);
617     const string IsDescendant__doc__ = "Returns True if this TreeNode is a descendant of the TreeNode.";
618 /*!
619     Returns True if this TreeNode is the father of the TreeNode.
620 */
621     boolean           IsFather(in AttributeTreeNode value);
622     const string IsFather__doc__ = "Returns True if this TreeNode is the father of the TreeNode.";
623 /*!
624     Returns True if this TreeNode is a child of the TreeNode.
625 */
626     boolean           IsChild(in AttributeTreeNode value);
627     const string IsChild__doc__ = "Returns True if this TreeNode is a child of the TreeNode.";
628 /*!
629    Returns ID of the according %SObject.
630 */
631     string            Label();
632     const string Label__doc__ = "Returns ID of the according SObject.";
633   };
634     const string AttributeTreeNode__doc__ = "A set of these attributes on the SObjects of the study forms an inner auxiliary \ntree whith its own structure and identifier. The quantity of such trees with different \nidentifiers can be arbitrary.";
635   //==========================================================================
636 /*! \brief LocalID attribute
637
638    Attribute describing the link between a %SObject and a local object in the component.
639 */
640   //==========================================================================
641   interface AttributeLocalID : GenericAttribute
642   {
643 /*!
644    Returns the value of this attribute.
645 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
646 */
647     long   Value();
648     const string Value__doc__ = "Returns the value of this attribute.";
649 /*!
650    Sets the value of this attribute.
651 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
652 */
653     void   SetValue(in long value);
654     const string SetValue__doc__ = "Sets the value of this attribute.";
655   };
656     const string AttributeLocalID__doc__ = "Attribute describing the link between a SObject and a local object in the component.";
657
658   //==========================================================================
659 /*! \brief Attribute storing GUID
660
661     Attribute allowing to store GUID
662 */
663   //==========================================================================
664   interface AttributeUserID : GenericAttribute
665   {
666 /*!
667    Returns the value of this attribute
668 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
669 */
670     string Value();
671     const string Value__doc__ = "Returns the value of this attribute.";
672 /*!
673    Sets the value of this attribute
674 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
675 */
676     void   SetValue(in string value);
677     const string SetValue__doc__ = "Sets the value of this attribute.";
678   };
679     const string AttributeUserID__doc__ = "Attribute allowing to store GUID.";
680
681   //==========================================================================
682 /*! \brief %AttributeTarget iterface
683
684    This attribute stores the list of all %SObjects that refer
685    to this %SObject. This attribute is used for inner purposes of the application.
686    It is also needed for optimization.
687 */
688   //==========================================================================
689
690   interface AttributeTarget : GenericAttribute
691   {
692 /*!
693     Adds a %SObject to the list of %SObjects which refer to this %SObject.
694
695 <BR><VAR>See also <A href=exemple/Example3.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
696
697 */
698     void          Add(in SObject anObject);
699     const string Add__doc__ = "Adds a SObject to the list of SObjects which refer to this SObject.";
700 /*!
701     Returns the list of %SObjects which refer to this %SObject.
702 */
703     SALOMEDS::Study::ListOfSObject Get();
704     const string Get__doc__ = "Returns the list of SObjects which refer to this SObject.";
705 /*!
706     Deletes a %SObject from the list of %SObjects which refer to this %SObject.
707
708 <BR><VAR>See also <A href=exemple/Example3.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
709
710 */
711     void          Remove(in SObject anObject);
712     const string Remove__doc__ = "Deletes a SObject from the list of SObjects which refer to this SObject.";
713   };
714     const string AttributeTarget__doc__ = "Adds a SObject to the list of SObjects which refer to this SObject.";
715   //==========================================================================
716   /*! \brief %AttributeTableOfInteger interface
717
718    This attribute allows to store a table of integers (indexing from 1 like in CASCADE)
719     and string titles of this table, of each row, of each column.
720 <BR><VAR>See also <A href=exemple/Example21.html> an example </A> of usage of these methods in batchmode of %SALOME application.</VAR>
721
722 */
723   //==========================================================================
724
725   interface AttributeTableOfInteger : GenericAttribute
726   {
727 /*!
728    This exception is raised when an incorrect index is passed as parameter.
729 */
730     exception IncorrectIndex {};
731 /*!
732    This exception is raised when an incorrect length of the argument is passed as parameter.
733 */
734     exception IncorrectArgumentLength {};
735
736     // titles: for table, for each row, for each column
737 /*!
738    Sets the title of the table.
739 */
740     void SetTitle(in string theTitle);
741     const string SetTitle__doc__ = "Sets the title of the table.";
742 /*!
743   Returns the title of the table.
744 */
745     string GetTitle();
746     const string GetTitle__doc__ = "Returns the title of the table.";
747 /*!
748    Sets the title of a row with a definite index.
749 */
750     void SetRowTitle(in long theIndex, in string theTitle) raises(IncorrectIndex);
751     const string SetRowTitle__doc__ = "Sets the title of a row with a definite index.";
752 /*!
753    Sets the titles for all rows of the table.
754 */
755     void SetRowTitles(in StringSeq theTitles) raises(IncorrectArgumentLength);
756     const string SetRowTitles__doc__ = "Sets the titles for all rows of the table.";
757 /*!
758    Returns the titles of all rows of the table.
759 */
760     StringSeq GetRowTitles();
761     const string GetRowTitles__doc__ = "Returns the titles of all rows of the table.";
762 /*!
763    Sets the title of a column with a definite index.
764 */
765     void SetColumnTitle(in long theIndex, in string theTitle) raises(IncorrectIndex);
766     const string SetColumnTitle__doc__ = "Sets the title of a column with a definite index.";
767 /*!
768    Sets the titles for all columns of the table.
769 */
770     void SetColumnTitles(in StringSeq theTitles) raises(IncorrectArgumentLength);
771     const string SetColumnTitles__doc__ = "Sets the titles for all columns of the table.";
772 /*!
773    Returns the titles of all columns of the table.
774 */
775     StringSeq GetColumnTitles();
776     const string GetColumnTitles__doc__ = "Returns the titles of all columns of the table.";
777
778     //Rows units
779 /*!
780    Sets the unit of a row with a definite index.
781 */
782     void SetRowUnit(in long theIndex, in string theUnit) raises(IncorrectIndex);
783     const string SetRowUnit__doc__ = "Sets the unit of a row with a definite index.";
784 /*!
785    Sets the units for all rows of the table.
786 */
787     void SetRowUnits(in StringSeq theUnits) raises(IncorrectArgumentLength);
788     const string SetRowUnits__doc__ = "Sets the units for all rows of the table.";
789 /*!
790    Returns the units of all rows of the table.
791 */
792     StringSeq GetRowUnits();
793     const string GetRowUnits__doc__ = "Returns the units of all rows of the table.";
794
795     // table information
796 /*!
797    Returns the number of rows of the table.
798 */
799     long GetNbRows();
800     const string GetNbRows__doc__ = "Returns the number of rows of the table.";
801 /*!
802    Returns the number of columns of the table.
803 */
804     long GetNbColumns();
805     const string GetNbColumns__doc__ = "Returns the number of columns of the table.";
806
807     // operations with rows
808 /*!
809    Adds a row to the end of the table.
810 */
811     void AddRow(in LongSeq theData) raises(IncorrectArgumentLength);
812     const string AddRow__doc__ = "Adds a row to the end of the table.";
813 /*!
814    Sets the values of all elements of the row.
815 */
816     void SetRow(in long theRow, in LongSeq theData) raises(IncorrectArgumentLength, IncorrectIndex);
817     const string SetRow__doc__ = "Sets the values of all elements of the row.";
818 /*!
819    Returns the row of the table.
820 */
821     LongSeq GetRow(in long theRow) raises(IncorrectIndex);
822     const string GetRow__doc__ = "Returns the row of the table.";
823
824     // operations with columns
825 /*!
826    Adds a column to the end of the table.
827 */
828     void AddColumn(in LongSeq theData) raises(IncorrectArgumentLength);
829     const string AddColumn__doc__ = "Adds a column to the end of the table.";
830 /*!
831    Sets the values of all elements of the column.
832 */
833     void SetColumn(in long theColumn, in LongSeq theData) raises(IncorrectArgumentLength, IncorrectIndex);
834     const string SetColumn__doc__ = "Sets the values of all elements of the column.";
835 /*!
836    Returns the column of the table.
837 */
838     LongSeq GetColumn(in long theColumn) raises(IncorrectIndex);
839     const string GetColumn__doc__ = "Returns the column of the table.";
840
841     // operations with elements
842 /*!
843     Puts a value in the table.
844     \param theRow      The row, where the value will be placed.
845     \param theColumn   The column, where the value will be placed.
846 */
847     void PutValue(in long theValue, in long theRow, in long theColumn) raises(IncorrectIndex);
848     const string PutValue__doc__ = "Puts a value in a definite row theRow and column theColumn of the table.";
849 /*!
850     Returns True if there is a value in the table.
851     \param theRow      The row containing the value
852     \param theColumn   The column containing the value
853 */
854     boolean HasValue(in long theRow, in long theColumn);
855     const string HasValue__doc__ = "Returns True if there is a value in a definite row and column of the table.";
856 /*!
857     Returns the value from the table.
858     \param theRow      The row containing the value
859     \param theColumn   The column containing the value
860 */
861     long GetValue(in long theRow, in long theColumn) raises(IncorrectIndex);
862     const string GatValue__doc__ = "Returns the value from a definite row and column of the table.";
863
864 /*!
865     Sets the max number of colums in the table.
866     \note It'd better to set it before filling the table.
867 */
868     void SetNbColumns(in long theNbColumns);
869     const string SetNbColumns__doc__ = "Sets the max number of colums in the table. ";
870
871 /*!
872     Returns the indices of the row where the values are defined.
873 */
874     LongSeq GetRowSetIndices(in long theRow) raises(IncorrectIndex);
875     const string GetRowSetIndices__doc__ = "Returns the indices of the row where the values are defined.";
876     // operations with files
877 /*!
878    Reads a table from a file.
879 */
880     boolean ReadFromFile(in SALOMEDS::TMPFile theStream);
881     const string ReadFromFile__doc__ = "Reads a table from a file.";
882 /*!
883    Saves a table into a file.
884 */
885     SALOMEDS::TMPFile SaveToFile();
886     const string SaveToFile__doc__ = "Saves a table into a file.";
887   };
888     const string AttributeTableOfInteger__doc__ = "This attribute allows to store a table of integers (indexing from 1 like in CASCADE) \nand string titles of this table, of each row, of each column.";
889
890   //==========================================================================
891 /*! \brief %AttributeTableOfReal interface
892
893    This attribute allows to store a table of reals (indexing from 1 like in CASCADE)
894     and string titles of this table, of each row, of each column.
895 <BR><VAR>See also <A href=exemple/Example21.html> an example </A> of usage of these methods in batchmode of %SALOME application.</VAR>
896
897 */
898   //==========================================================================
899
900   interface AttributeTableOfReal : GenericAttribute
901   {
902 /*!
903    This exception is raised when an incorrect index is passed as parameter.
904 */
905     exception IncorrectIndex {};
906 /*!
907    This exception is raised when an incorrect length of the argument is passed as parameter.
908 */
909     exception IncorrectArgumentLength {};
910
911     // titles: for table, for each row, for each column
912 /*!
913    Sets the title of the table.
914 */
915     void SetTitle(in string theTitle);
916     const string SetTitle__doc__ = "Sets the title of the table.";
917 /*!
918   Returns the title of the table.
919 */
920     string GetTitle();
921     const string GetTitle__doc__ = "Returns the title of the table.";
922 /*!
923    Sets the title of a row with a definite index.
924 */
925     void SetRowTitle(in long theIndex, in string theTitle) raises(IncorrectIndex);
926     const string SetRowTitle__doc__ = "Sets the title of a row with a definite index.";
927 /*!
928    Sets the titles for all rows of the table.
929 */
930     void SetRowTitles(in StringSeq theTitles) raises(IncorrectArgumentLength);
931     const string SetRowTitles__doc__ = "Sets the titles for all rows of the table.";
932 /*!
933    Returns the titles of all rows of the table.
934 */
935     StringSeq GetRowTitles();
936     const string GetRowTitles__doc__ = "Returns the titles of all rows of the table.";
937 /*!
938    Sets the title of a column with a definite index.
939 */
940     void SetColumnTitle(in long theIndex, in string theTitle) raises(IncorrectIndex);
941     const string SetColumnTitle__doc__ = "Sets the title of a column with a definite index.";
942 /*!
943    Sets the titles for all columns of the table.
944 */
945     void SetColumnTitles(in StringSeq theTitles) raises(IncorrectArgumentLength);
946     const string SetColumnTitles__doc__ = "Sets the titles for all columns of the table.";
947 /*!
948    Returns the titles of all columns of the table.
949 */
950     StringSeq GetColumnTitles();
951     const string GetColumnTitles__doc__ = "Returns the titles of all columns of the table.";
952
953     //Rows units
954 /*!
955    Sets the unit of a row with a definite index.
956 */
957     void SetRowUnit(in long theIndex, in string theUnit) raises(IncorrectIndex);
958     const string SetRowUnit__doc__ = "Sets the unit of a row with a definite index.";
959 /*!
960    Sets the units for all rows of the table.
961 */
962     void SetRowUnits(in StringSeq theUnits) raises(IncorrectArgumentLength);
963     const string SetRowUnits__doc__ = "Sets the units for all rows of the table.";
964 /*!
965    Returns the units of all rows of the table.
966 */
967     StringSeq GetRowUnits();
968     const string GetRowUnits__doc__ = "Returns the units of all rows of the table.";
969
970     // table information
971 /*!
972    Returns the number of rows of the table.
973 */
974     long GetNbRows();
975     const string GetNbRows__doc__ = "Returns the number of rows of the table.";
976 /*!
977    Returns the number of columns of the table.
978 */
979     long GetNbColumns();
980     const string GetNbColumns__doc__ = "Returns the number of columns of the table.";
981
982     // operations with rows
983 /*!
984    Adds a row to the end of the table.
985 */
986     void AddRow(in DoubleSeq theData) raises(IncorrectArgumentLength);
987     const string AddRow__doc__ = "Adds a row to the end of the table.";
988 /*!
989    Sets the values of all elements of the row.
990 */
991     void SetRow(in long theRow, in DoubleSeq theData) raises(IncorrectArgumentLength, IncorrectIndex);
992     const string SetRow__doc__ = "Sets the values of all elements of the row.";
993 /*!
994    Returns the row of the table.
995 */
996     DoubleSeq GetRow(in long theRow) raises(IncorrectIndex);
997     const string GetRow__doc__ = "Returns the row of the table.";
998
999     // operations with columns
1000 /*!
1001    Adds a column to the end of the table.
1002 */
1003     void AddColumn(in DoubleSeq theData) raises(IncorrectArgumentLength);
1004     const string AddColumn__doc__ = "Adds a column to the end of the table.";
1005 /*!
1006    Sets the values of all elements of the column.
1007 */
1008     void SetColumn(in long theColumn, in DoubleSeq theData) raises(IncorrectArgumentLength, IncorrectIndex);
1009     const string SetColumn__doc__ = "Sets the values of all elements of the column.";
1010 /*!
1011    Returns the column of the table.
1012 */
1013     DoubleSeq GetColumn(in long theColumn) raises(IncorrectIndex);
1014     const string GetColumn__doc__ = "Returns the column of the table.";
1015
1016     // operations with elements
1017 /*!
1018     Puts a value in the table.
1019     \param theRow      The row, where the value will be placed.
1020     \param theColumn   The column, where the value will be placed.
1021 */
1022     void PutValue(in double theValue, in long theRow, in long theColumn) raises(IncorrectIndex);
1023     const string PutValue__doc__ = "Puts a value in a definite row theRow and column theColumn of the table.";
1024 /*!
1025     Returns True if there is a value in the table.
1026     \param theRow      The row containing the value
1027     \param theColumn   The column containing the value
1028 */
1029     boolean HasValue(in long theRow, in long theColumn);
1030     const string HasValue__doc__ = "Returns True if there is a value in a definite row and column of the table.";
1031 /*!
1032     Returns the value from the table.
1033     \param theRow      The row containing the value
1034     \param theColumn   The column containing the value
1035 */
1036     double GetValue(in long theRow, in long theColumn) raises(IncorrectIndex);
1037     const string GatValue__doc__ = "Returns the value from a definite row and column of the table.";
1038
1039 /*!
1040     Sets the max number of colums in the table.
1041     \note It'd better to set it before filling the table.
1042 */
1043     void SetNbColumns(in long theNbColumns);
1044     const string SetNbColumns__doc__ = "Sets the max number of colums in the table. ";
1045
1046 /*!
1047     Returns the indices of the row where the values are defined.
1048 */
1049     LongSeq GetRowSetIndices(in long theRow) raises(IncorrectIndex);
1050     const string GetRowSetIndices__doc__ = "Returns the indices of the row where the values are defined.";
1051     // operations with files
1052 /*!
1053    Reads a table from a file.
1054 */
1055     boolean ReadFromFile(in SALOMEDS::TMPFile theStream);
1056     const string ReadFromFile__doc__ = "Reads a table from a file.";
1057 /*!
1058    Saves a table into a file.
1059 */
1060     SALOMEDS::TMPFile SaveToFile();
1061     const string SaveToFile__doc__ = "Saves a table into a file.";
1062   };
1063     const string AttributeTableOfReal__doc__ = "This attribute allows to store a table of reals (indexing from 1 like in CASCADE) \nand string titles of this table, of each row, of each column.";
1064
1065
1066
1067   //==========================================================================
1068 /*! \brief %AttributeTableOfString interface
1069
1070    This attribute allows to store a table of strings (indexing from 1 like in CASCADE)
1071     and string titles of this table, of each row, of each column.
1072 <BR><VAR>See also <A href=exemple/Example21.html> an example </A> of usage of these methods in batchmode of %SALOME application.</VAR>
1073
1074 */
1075   //==========================================================================
1076
1077   interface AttributeTableOfString : GenericAttribute
1078   {
1079 /*!
1080    This exception is raised when an incorrect index is passed as parameter.
1081 */
1082     exception IncorrectIndex {};
1083 /*!
1084    This exception is raised when an incorrect length of the argument is passed as parameter.
1085 */
1086     exception IncorrectArgumentLength {};
1087
1088     // titles: for table, for each row, for each column
1089 /*!
1090    Sets the title of the table.
1091 */
1092     void SetTitle(in string theTitle);
1093     const string SetTitle__doc__ = "Sets the title of the table.";
1094 /*!
1095   Returns the title of the table.
1096 */
1097     string GetTitle();
1098     const string GetTitle__doc__ = "Returns the title of the table.";
1099 /*!
1100    Sets the title of a row with a definite index.
1101 */
1102     void SetRowTitle(in long theIndex, in string theTitle) raises(IncorrectIndex);
1103     const string SetRowTitle__doc__ = "Sets the title of a row with a definite index.";
1104 /*!
1105    Sets the titles for all rows of the table.
1106 */
1107     void SetRowTitles(in StringSeq theTitles) raises(IncorrectArgumentLength);
1108     const string SetRowTitles__doc__ = "Sets the titles for all rows of the table.";
1109 /*!
1110    Returns the titles of all rows of the table.
1111 */
1112     StringSeq GetRowTitles();
1113     const string GetRowTitles__doc__ = "Returns the titles of all rows of the table.";
1114 /*!
1115    Sets the title of a column with a definite index.
1116 */
1117     void SetColumnTitle(in long theIndex, in string theTitle) raises(IncorrectIndex);
1118     const string SetColumnTitle__doc__ = "Sets the title of a column with a definite index.";
1119 /*!
1120    Sets the titles for all columns of the table.
1121 */
1122     void SetColumnTitles(in StringSeq theTitles) raises(IncorrectArgumentLength);
1123     const string SetColumnTitles__doc__ = "Sets the titles for all columns of the table.";
1124 /*!
1125    Returns the titles of all columns of the table.
1126 */
1127     StringSeq GetColumnTitles();
1128     const string GetColumnTitles__doc__ = "Returns the titles of all columns of the table.";
1129
1130     //Rows units
1131 /*!
1132    Sets the unit of a row with a definite index.
1133 */
1134     void SetRowUnit(in long theIndex, in string theUnit) raises(IncorrectIndex);
1135     const string SetRowUnit__doc__ = "Sets the unit of a row with a definite index.";
1136 /*!
1137    Sets the units for all rows of the table.
1138 */
1139     void SetRowUnits(in StringSeq theUnits) raises(IncorrectArgumentLength);
1140     const string SetRowUnits__doc__ = "Sets the units for all rows of the table.";
1141 /*!
1142    Returns the units of all rows of the table.
1143 */
1144     StringSeq GetRowUnits();
1145     const string GetRowUnits__doc__ = "Returns the units of all rows of the table.";
1146
1147     // table information
1148 /*!
1149    Returns the number of rows of the table.
1150 */
1151     long GetNbRows();
1152     const string GetNbRows__doc__ = "Returns the number of rows of the table.";
1153 /*!
1154    Returns the number of columns of the table.
1155 */
1156     long GetNbColumns();
1157     const string GetNbColumns__doc__ = "Returns the number of columns of the table.";
1158
1159     // operations with rows
1160 /*!
1161    Adds a row to the end of the table.
1162 */
1163     void AddRow(in StringSeq theData) raises(IncorrectArgumentLength);
1164     const string AddRow__doc__ = "Adds a row to the end of the table.";
1165 /*!
1166    Sets the values of all elements of the row.
1167 */
1168     void SetRow(in long theRow, in StringSeq theData) raises(IncorrectArgumentLength, IncorrectIndex);
1169     const string SetRow__doc__ = "Sets the values of all elements of the row.";
1170 /*!
1171    Returns the row of the table.
1172 */
1173     StringSeq GetRow(in long theRow) raises(IncorrectIndex);
1174     const string GetRow__doc__ = "Returns the row of the table.";
1175
1176     // operations with columns
1177 /*!
1178    Adds a column to the end of the table.
1179 */
1180     void AddColumn(in StringSeq theData) raises(IncorrectArgumentLength);
1181     const string AddColumn__doc__ = "Adds a column to the end of the table.";
1182 /*!
1183    Sets the values of all elements of the column.
1184 */
1185     void SetColumn(in long theColumn, in StringSeq theData) raises(IncorrectArgumentLength, IncorrectIndex);
1186     const string SetColumn__doc__ = "Sets the values of all elements of the column.";
1187 /*!
1188    Returns the column of the table.
1189 */
1190     StringSeq GetColumn(in long theColumn) raises(IncorrectIndex);
1191     const string GetColumn__doc__ = "Returns the column of the table.";
1192
1193     // operations with elements
1194 /*!
1195     Puts a value in the table.
1196     \param theRow      The row, where the value will be placed.
1197     \param theColumn   The column, where the value will be placed.
1198 */
1199     void PutValue(in string theValue, in long theRow, in long theColumn) raises(IncorrectIndex);
1200     const string PutValue__doc__ = "Puts a value in a definite row theRow and column theColumn of the table.";
1201 /*!
1202     Returns True if there is a value in the table.
1203     \param theRow      The row containing the value
1204     \param theColumn   The column containing the value
1205 */
1206     boolean HasValue(in long theRow, in long theColumn);
1207     const string HasValue__doc__ = "Returns True if there is a value in a definite row and column of the table.";
1208 /*!
1209     Returns the value from the table.
1210     \param theRow      The row containing the value
1211     \param theColumn   The column containing the value
1212 */
1213     string GetValue(in long theRow, in long theColumn) raises(IncorrectIndex);
1214     const string GatValue__doc__ = "Returns the value from a definite row and column of the table.";
1215
1216 /*!
1217     Sets the max number of colums in the table.
1218     \note It'd better to set it before filling the table.
1219 */
1220     void SetNbColumns(in long theNbColumns);
1221     const string SetNbColumns__doc__ = "Sets the max number of colums in the table. ";
1222
1223 /*!
1224     Returns the indices of the row where the values are defined.
1225 */
1226     LongSeq GetRowSetIndices(in long theRow) raises(IncorrectIndex);
1227     const string GetRowSetIndices__doc__ = "Returns the indices of the row where the values are defined.";
1228     // operations with files
1229 /*!
1230    Reads a table from a file.
1231 */
1232     boolean ReadFromFile(in SALOMEDS::TMPFile theStream);
1233     const string ReadFromFile__doc__ = "Reads a table from a file.";
1234 /*!
1235    Saves a table into a file.
1236 */
1237     SALOMEDS::TMPFile SaveToFile();
1238     const string SaveToFile__doc__ = "Saves a table into a file.";
1239   };
1240     const string AttributeTableOfString__doc__ = "This attribute allows to store a table of string (indexing from 1 like in CASCADE) \nand string titles of this table, of each row, of each column.";
1241
1242
1243   //==========================================================================
1244 /*! \brief %AttributeStudyProperties interface
1245
1246    This attribute allows to store study properties: user name, creation date, creation
1247    mode, modified flag, locked flag.
1248 <BR><VAR>See also <A href=exemple/Example20.html> an example </A> of usage of these methods in batchmode of %SALOME application.</VAR>
1249
1250 */
1251   //==========================================================================
1252
1253   interface AttributeStudyProperties : GenericAttribute
1254   {
1255 /*!
1256    Sets the name of the author of the %Study
1257 */
1258     void SetUserName(in string theName);
1259     const string SetUserName__doc__ = "Sets the name of the author of the study.";
1260 /*!
1261      Returns the name of the user of the %Study.
1262     \note <BR>It returns a null string, if user name is not set
1263 */
1264     string GetUserName();
1265     const string GetUserName__doc__ = "Returns the name of the user of the study.";
1266 /*!
1267    Sets creation date of the %Study.
1268 */
1269     void SetCreationDate(in long theMinute, in long theHour, in long theDay, in long theMonth, in long theYear);
1270     const string SetCreationDate__doc__ = "Sets creation date of the study.";
1271 /*!
1272      Returns creation date of the %Study and True if creation date is set.
1273 */
1274     boolean GetCreationDate(out long theMinute, out long theHour, out long theDay, out long theMonth, out long theYear);
1275     const string GetCreationDate__doc__ = "Returns creation date of the study and True if creation date is set.";
1276 /*!
1277    Sets creation mode of the %Study.
1278    \note <BR>Creation mode must be: "from scratch" or "copy from".
1279 */
1280     void SetCreationMode(in string theMode);
1281     const string SetCreationMode__doc__ = "Sets creation mode of the study. Creation mode must be: from scratch or copy from.";
1282 /*!
1283    Returns creation mode: "from scratch", "copy from", or null string
1284    if creation mode is not set
1285 */
1286     string GetCreationMode();
1287     const string GetCreationMode__doc__ = "Returns creation mode of the study.";
1288 /*!
1289    Sets the number of transactions executed after the last saving of the document.
1290 */
1291     void SetModified(in long theModified);
1292     const string SetModified__doc__ = "Sets the number of transactions executed after the last saving of the document.";
1293 /*!
1294     Returns True, if the document has been modified and not saved.
1295 */
1296     boolean IsModified();
1297     const string IsModified__doc__ = "Returns True, if the document has been modified and not saved.";
1298 /*!
1299   Returns the number of transactions executed after the last saving of the document.
1300 */
1301     long GetModified();
1302     const string GetModified__doc__ = "Returns the number of transactions executed after the last saving of the document.";
1303 /*!
1304     Sets the document locked for modifications if <VAR>theLocked</VAR> is True.
1305 */
1306     void SetLocked(in boolean theLocked);
1307     const string SetLocked__doc__ = "Sets the document locked for modifications if theLocked is True.";
1308 /*!
1309     Returns True if the document is locked for modifications.
1310 */
1311     boolean IsLocked();
1312     const string IsLocked__doc__ = "Returns True if the document is locked for modifications.";
1313 /*!
1314    Appends modification parameters to the modifications list.
1315 */
1316     void SetModification(in string theName, in long theMinute, in long theHour, in long theDay, in long theMonth, in long theYear);
1317     const string SetModification__doc__ = "Appends modification parameters to the modifications list.";
1318 /*!
1319    Returns a list of mosdifiers user names, modification dates.
1320    /note <BR>If <VAR>theWithCreator</VAR> is True, then the output list will also contain the name of the author and the date of creation.
1321 */
1322     void GetModificationsList(out StringSeq theNames, out LongSeq theMinutes, out LongSeq theHours, out LongSeq theDays, out LongSeq theMonths, out LongSeq theYears, in boolean theWithCreator);
1323     const string GetModificationsList__doc__ = "Returns a list of mosdifiers user names, modification dates.";
1324   };
1325     const string AttributeStudyProperties__doc__ = "This attribute allows to store properties of the study : user name, creation date, \ncreation mode, modified flag, locked flag.";
1326   //==========================================================================
1327 /*! \brief %AttributePythonObject interface
1328
1329     Attribute allowing to store pyton objects as a sequence of chars.
1330 */
1331   //==========================================================================
1332
1333   interface AttributePythonObject : GenericAttribute
1334   {
1335 /*!
1336    Sets in the attribute a Python object converted into a sequence of chars.
1337    \param theSequence    A sequence of chars.
1338    \param IsScript       Defines (if True) whether this sequence of chars is a Python script.
1339 */
1340     void SetObject(in string theSequence, in boolean IsScript);
1341     const string SetObject__doc__ = "Sets in the attribute a Python object converted into a sequence of chars.";
1342 /*!
1343     Returns a Python object stored in the attribute as a sequence of chars.
1344 */
1345     string GetObject();
1346     const string GetObject__doc__ = "Returns a Python object stored in the attribute as a sequence of chars.";
1347 /*!
1348     Returns True if the sequence of bytes stored in the attribute corresponds
1349     to a Python script.
1350 */
1351     boolean IsScript();
1352     const string IsScript__doc__ = "Returns True if the sequence of bytes stored in the attribute corresponds to a Python script.";
1353   };
1354     const string AttributePythonObject__doc__ = "Attribute allowing to store pyton objects as a sequence of chars.";
1355 };
1356 #endif