1 // Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
2 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
4 // This library is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU Lesser General Public
6 // License as published by the Free Software Foundation; either
7 // version 2.1 of the License.
9 // This library is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 // Lesser General Public License for more details.
14 // You should have received a copy of the GNU Lesser General Public
15 // License along with this library; if not, write to the Free Software
16 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 // See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
22 // File : SALOMEDS.idl
23 // Author : Yves FRICAUD
26 /*! \file SALOMEDS_Attributes.idl This file contains a set of interfaces
27 for the attributes which can be assigned to %SObject
29 #ifndef _SALOMEDS_AttributesIDL_
30 #define _SALOMEDS_AttributesIDL_
32 #include "SALOMEDS.idl"
36 /*! Sequence of double values
38 typedef sequence <double> DoubleSeq;
39 /*! Sequence of long values
41 typedef sequence <long> LongSeq;
42 /*! Sequence of string values
44 typedef sequence <string> StringSeq;
46 This structure stores a set of elements defining the color based on RGB.
59 //==========================================================================
60 /*! \brief Attribute allowing to store a real value
62 Attribute allowing to store a real value
64 //==========================================================================
65 interface AttributeReal : GenericAttribute
68 Returns the value of this attribute.
69 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
73 Sets the value of this attribute.
74 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
76 void SetValue(in double value);
78 //==========================================================================
79 /*! \brief Attribute allowing to store an integer value
81 Attribute allowing to store an integer value
83 //==========================================================================
84 interface AttributeInteger : GenericAttribute
87 Returns the value of this attribute
88 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
92 Sets the value of this attribute
93 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
95 void SetValue(in long value);
97 //==========================================================================
98 /*! \brief Attribute - sequence of real values
100 Attribute - sequence of real values, indexing from 1 (like in CASCADE).
102 //==========================================================================
103 interface AttributeSequenceOfReal : GenericAttribute
106 Initialization of the attribute with initial data.
107 \param other Initially assigned sequence of real numbers.
109 void Assign (in DoubleSeq other);
111 Returns the sequence of real numbers stored in the attribute.
113 DoubleSeq CorbaSequence();
115 Adds to the end of the sequence a real number.
116 \param value A real number added to the sequence.
118 <BR><VAR>See also <A href=exemple/Example3.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
120 void Add (in double value);
122 Removes a real number with a definite index
123 from the sequence of real numbers stored in the Attribute.
125 void Remove(in long index);
127 Substitutes a real number with a definite index for another real number.
128 <BR><VAR>See also <A href=exemple/Example3.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
131 void ChangeValue(in long index, in double value);
133 Returns a real number with a definite index
134 in the sequence of real numbers stored in the Attribute.
135 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
137 double Value(in short index);
139 Returns the length of the sequence of real numbers stored in the Attribute.
140 <BR><VAR>See also <A href=exemple/Example3.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
145 //==========================================================================
146 /*! \brief Attribute - sequence of integer
148 Attribute - sequence of integer, indexing from 1 (like in CASCADE)
150 //==========================================================================
151 interface AttributeSequenceOfInteger : GenericAttribute
154 Initialization of the attribute with initial data.
155 \param other Initially assigned sequence of integer numbers.
157 void Assign (in LongSeq other);
159 Returns the sequence of integer numbers stored in the Attribute.
161 LongSeq CorbaSequence();
163 Adds to the end of the sequence an integer number.
164 \param value An integer number added to the sequence.
166 <BR><VAR>See also <A href=exemple/Example3.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
169 void Add (in long value);
171 Removes an integer number with a definite index
172 from the sequence of integer numbers stored in the Attribute.
173 <BR><VAR>See also <A href=exemple/Example3.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
176 void Remove(in long index);
178 Substitutes an integer number with a definite index for another integer number.
180 void ChangeValue(in long index, in long value);
182 Returns an integer number with a definite index
183 in the sequence of integer numbers stored in the Attribute.
184 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
186 long Value(in short index);
188 Returns the length of the sequence of integer numbers stored in the Attribute.
189 <BR><VAR>See also <A href=exemple/Example3.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
195 //==========================================================================
196 /*! \brief Name attribute
198 This attribute stores a string value, which corresponds to the name of the %SObject
199 or to the name of corresponding object.
201 //==========================================================================
203 interface AttributeName : GenericAttribute
206 Returns the value of this attribute
207 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
211 Sets the value of this attribute
212 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
214 void SetValue(in string value);
217 //==========================================================================
218 /*! \brief Comment attribute
220 This attribute stores a string value containing supplementary information about
221 the %SObject. In particular it contains the data type of the %SComponent.
223 //==========================================================================
224 interface AttributeComment : GenericAttribute
227 Returns the value of this attribute
228 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
232 Sets the value of this attribute
233 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
235 void SetValue(in string value);
237 //==========================================================================
238 /*! \brief IOR attribute
240 This attribute stores a string value identifying a runtime object.In particular
241 it contains CORBA Interoperable Object Reference.
243 //==========================================================================
244 interface AttributeIOR : GenericAttribute
247 Returns the value of this attribute
248 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
252 Sets the value of this attribute
253 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
255 void SetValue(in string value);
258 //==========================================================================
259 /*! \brief Persistent reference attribute
261 This attribute stores a persistent identifier of the object.
263 //==========================================================================
264 interface AttributePersistentRef : GenericAttribute
267 Returns the value of this attribute
268 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
272 Sets the value of this attribute
273 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
275 void SetValue(in string value);
278 //==========================================================================
279 //Below the list of presentation attributes for display study tree in browser
280 //==========================================================================
283 //==========================================================================
284 /*! \brief Drawable flag Attribute.
286 This is a presentation attribute necessary for display of the study tree in the browser.
287 The item associated to SObject is created/displayed if TRUE.
289 //==========================================================================
290 interface AttributeDrawable : GenericAttribute
293 Returns TRUE if the item is drawable (as it is by default) and FALSE if it isn't.
294 <BR><VAR>See also <A href=exemple/Example8.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
297 boolean IsDrawable();
299 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.
300 <BR><VAR>See also <A href=exemple/Example8.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
303 void SetDrawable(in boolean value);
306 //==========================================================================
307 /*! \brief Selectable flag Attribute.
309 This is a presentation attribute necessary for display of the study tree in the browser.
310 The item is selectable by %SALOME selection mechanism if TRUE.
312 //==========================================================================
313 interface AttributeSelectable : GenericAttribute
316 Returns TRUE if the item is selectable (as it is by default) and FALSE if it isn't.
317 <BR><VAR>See also <A href=exemple/Example9.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
320 boolean IsSelectable();
322 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.
323 <BR><VAR>See also <A href=exemple/Example9.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
326 void SetSelectable(in boolean value);
329 //==========================================================================
330 /*! \brief Expandable flag Attribute.
332 This is a presentation attribute necessary for display of the study tree in the browser.
333 It sets this item to be expandable even if it has no children if value is TRUE. If value is FALSE
334 expandable only if it has children.
336 //==========================================================================
337 interface AttributeExpandable : GenericAttribute
340 Returns TRUE if this item is expandable even when it has no children.
341 <BR><VAR>See also <A href=exemple/Example10.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
344 boolean IsExpandable();
346 Sets this item to be expandable even if it has no children if <VAR>value</VAR> is TRUE, and to be
347 expandable only if it has children if <VAR>value</VAR> is FALSE (the default).
348 <BR><VAR>See also <A href=exemple/Example10.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
351 void SetExpandable(in boolean value);
354 //==========================================================================
355 /*! \brief Opened flag Attribute.
357 This is a presentation attribute necessary for display of the study tree in the browser.
358 It sets this item to be open (its children are visible) if bool is TRUE, and to be closed (its children
359 are not visible) if bool is FALSE.
361 //==========================================================================
362 interface AttributeOpened : GenericAttribute
365 Returns TRUE if this item is open (its children are visible) and FALSE if it isn't.
366 <BR><VAR>See also <A href=exemple/Example11.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
371 Sets this item to be open (its children are visible) if <VAR>value</VAR> is TRUE, and to be closed
372 (its children are not visible) if <VAR>value</VAR> is FALSE.
373 <BR><VAR>See also <A href=exemple/Example11.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
376 void SetOpened(in boolean value);
378 //==========================================================================
379 /*! \brief TextColorAttribute.
381 This attribute sets the color of an item.
383 //==========================================================================
384 interface AttributeTextColor : GenericAttribute
387 Returns the color of an item.
388 <BR><VAR>See also <A href=exemple/Example12.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
393 Sets the color of an item.
394 <BR><VAR>See also <A href=exemple/Example12.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
397 void SetTextColor(in Color value);
400 //==========================================================================
401 /*! \brief TextHighlightColorAttribute.
403 This attribute sets the highlight color of an item.
405 //==========================================================================
406 interface AttributeTextHighlightColor : GenericAttribute
409 Returns the highlight color of an item.
410 <BR><VAR>See also <A href=exemple/Example13.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
413 Color TextHighlightColor();
415 Sets the highlight color of an item.
416 <BR><VAR>See also <A href=exemple/Example13.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
419 void SetTextHighlightColor(in Color value);
421 //==========================================================================
422 /*! \brief PixMapAttribute.
424 This attribute stores an icon which is put before the name of an item.
426 //==========================================================================
427 interface AttributePixMap : GenericAttribute
430 Returns True if there is an icon before the name of the item.
434 Returns the name of the icon.
435 <BR><VAR>See also <A href=exemple/Example14.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
440 Sets the name of the icon.
441 <BR><VAR>See also <A href=exemple/Example14.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
444 void SetPixMap(in string value);
447 //==========================================================================
448 /*! \brief TreeNodeAttribute.
450 A set of these attributes on the %SObjects of the %study forms an inner auxiliary
451 tree whith its own structure and identifier. The quantity of such trees with different
452 identifiers can be arbitrary.
453 <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>
456 //==========================================================================
457 interface AttributeTreeNode : GenericAttribute
460 Sets the father TreeNode to this TreeNode.
462 void SetFather(in AttributeTreeNode value);
464 Returns True if there is the father TreeNode of this TreeNode.
468 Returns the father Treenode of this TreeNode.
470 AttributeTreeNode GetFather();
472 Sets the previous brother TreeNode to this treeNode.
474 void SetPrevious(in AttributeTreeNode value);
476 Returns True if there is the previous brother TreeNode of this TreeNode.
478 boolean HasPrevious();
480 Returns the previous brother TreeNode of this TreeNode.
482 AttributeTreeNode GetPrevious();
484 Sets the next brother TreeNode to this treeNode.
486 void SetNext(in AttributeTreeNode value);
488 Returns True if there is the next brother TreeNode of this TreeNode.
492 Returns the previous brother TreeNode of this TreeNode.
494 AttributeTreeNode GetNext();
496 Sets the first child TreeNode to this treeNode.
498 void SetFirst(in AttributeTreeNode value);
500 Returns True if there is the first child TreeNode of this TreeNode.
504 Returns the first child TreeNode of this TreeNode.
506 AttributeTreeNode GetFirst();
508 Sets ID of the tree. TreeNodes of one tree have the same ID.
510 void SetTreeID(in string value);
517 Adds a child TreeNode to the end of the list of children of this Treenode.
519 void Append(in AttributeTreeNode value);
521 Adds a child TreeNode to the beginning of the list of children of this Treenode.
524 void Prepend(in AttributeTreeNode value);
526 Adds a brother TreeNode before this Treenode.
527 In this case the both TreeNodes will belong to the same father.
529 void InsertBefore(in AttributeTreeNode value);
531 Adds a brother TreeNode after this Treenode.
532 In this case the both TreeNodes will belong to the same father.
534 void InsertAfter(in AttributeTreeNode value);
537 <BR><VAR>See also <A href=exemple/Example3.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
543 Returns the depth of the TreeNode in the
544 structure, it means the number of fathers of the given TreeNode.
545 (i.e.: the depth of the root TreeNode is 0).
549 Returns True if it is a root TreeNode.
553 Returns True if this TreeNode is a descendant of the TreeNode.
555 boolean IsDescendant(in AttributeTreeNode value);
557 Returns True if this TreeNode is the father of the TreeNode.
559 boolean IsFather(in AttributeTreeNode value);
561 Returns True if this TreeNode is a child of the TreeNode.
563 boolean IsChild(in AttributeTreeNode value);
565 Returns ID of the according %SObject.
569 //==========================================================================
570 /*! \brief LocalID attribute
572 Attribute describing the link between a %SObject and a local object in the component.
574 //==========================================================================
575 interface AttributeLocalID : GenericAttribute
578 Returns the value of this attribute.
579 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
583 Sets the value of this attribute.
584 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
586 void SetValue(in long value);
589 //==========================================================================
590 /*! \brief Attribute storing GUID
592 Attribute allowing to store GUID
594 //==========================================================================
595 interface AttributeUserID : GenericAttribute
598 Returns the value of this attribute
599 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
603 Sets the value of this attribute
604 <BR><VAR>See also <A href=exemple/Example1.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
606 void SetValue(in string value);
609 //==========================================================================
610 /*! \brief %AttributeTarget iterface
612 This attribute stores the list of all %SObjects that refer
613 to this %SObject. This attribute is used for inner purposes of the application.
614 It is also needed for optimization.
616 //==========================================================================
618 interface AttributeTarget : GenericAttribute
621 Adds a %SObject to the list of %SObjects which refer to this %SObject.
623 <BR><VAR>See also <A href=exemple/Example3.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
626 void Add(in SObject anObject);
628 Returns the list of %SObjects which refer to this %SObject.
630 SALOMEDS::Study::ListOfSObject Get();
632 Deletes a %SObject from the list of %SObjects which refer to this %SObject.
634 <BR><VAR>See also <A href=exemple/Example3.html> an example </A> of this method usage in batchmode of %SALOME application.</VAR>
637 void Remove(in SObject anObject);
639 //==========================================================================
640 /*! \brief %AttributeTableOfInteger interface
642 This attribute allows to store a table of integers (indexing from 1 like in CASCADE)
643 and string titles of this table, of each row, of each column.
644 <BR><VAR>See also <A href=exemple/Example21.html> an example </A> of usage of these methods in batchmode of %SALOME application.</VAR>
647 //==========================================================================
649 interface AttributeTableOfInteger : GenericAttribute
652 This exception is raised when an incorrect index is passed as parameter.
654 exception IncorrectIndex {};
656 This exception is raised when an incorrect length of the argument is passed as parameter.
658 exception IncorrectArgumentLength {};
660 // titles: for table, for each row, for each column
662 Sets the title of the table.
664 void SetTitle(in string theTitle);
666 Returns the title of the table.
670 Sets the title of a row with a definite index.
672 void SetRowTitle(in long theIndex, in string theTitle) raises(IncorrectIndex);
674 Sets the titles for all rows of the table.
676 void SetRowTitles(in StringSeq theTitles) raises(IncorrectArgumentLength);
678 Returns the titles of all rows of the table.
680 StringSeq GetRowTitles();
682 Sets the title of a column with a definite index.
684 void SetColumnTitle(in long theIndex, in string theTitle) raises(IncorrectIndex);
686 Sets the titles for all columns of the table.
688 void SetColumnTitles(in StringSeq theTitles) raises(IncorrectArgumentLength);
690 Returns the titles of all columns of the table.
692 StringSeq GetColumnTitles();
696 Sets the unit of a row with a definite index.
698 void SetRowUnit(in long theIndex, in string theUnit) raises(IncorrectIndex);
700 Sets the units for all rows of the table.
702 void SetRowUnits(in StringSeq theUnits) raises(IncorrectArgumentLength);
704 Returns the units of all rows of the table.
706 StringSeq GetRowUnits();
710 Returns the number of rows of the table.
714 Returns the number of columns of the table.
718 // operations with rows
720 Adds a row to the end of the table.
722 void AddRow(in LongSeq theData) raises(IncorrectArgumentLength);
724 Sets the values of all elements of the row.
726 void SetRow(in long theRow, in LongSeq theData) raises(IncorrectArgumentLength, IncorrectIndex);
728 Returns the row of the table.
730 LongSeq GetRow(in long theRow) raises(IncorrectIndex);
732 // operations with columns
734 Adds a column to the end of the table.
736 void AddColumn(in LongSeq theData) raises(IncorrectArgumentLength);
738 Sets the values of all elements of the column.
740 void SetColumn(in long theColumn, in LongSeq theData) raises(IncorrectArgumentLength, IncorrectIndex);
742 Returns the column of the table.
744 LongSeq GetColumn(in long theColumn) raises(IncorrectIndex);
746 // operations with elements
748 Puts a value in the table.
749 \param theRow The row, where the value will be placed.
750 \param theColumn The column, where the value will be placed.
752 void PutValue(in long theValue, in long theRow, in long theColumn) raises(IncorrectIndex);
754 Returns True if there is a value in the table.
755 \param theRow The row containing the value
756 \param theColumn The column containing the value
758 boolean HasValue(in long theRow, in long theColumn);
760 Returns the value from the table.
761 \param theRow The row containing the value
762 \param theColumn The column containing the value
764 long GetValue(in long theRow, in long theColumn) raises(IncorrectIndex);
767 Sets the max number of colums in the table.
768 \note It'd better to set it before filling the table.
770 void SetNbColumns(in long theNbColumns);
773 Returns the indices of the row where the values are defined.
775 LongSeq GetRowSetIndices(in long theRow) raises(IncorrectIndex);
776 // operations with files
778 Reads a table from a file.
780 boolean ReadFromFile(in SALOMEDS::TMPFile theStream);
782 Saves a table into a file.
784 SALOMEDS::TMPFile SaveToFile();
787 //==========================================================================
788 /*! \brief %AttributeTableOfReal interface
790 This attribute allows to store a table of reals (indexing from 1 like in CASCADE)
791 and string titles of this table, of each row, of each column.
792 <BR><VAR>See also <A href=exemple/Example21.html> an example </A> of usage of these methods in batchmode of %SALOME application.</VAR>
795 //==========================================================================
797 interface AttributeTableOfReal : GenericAttribute
800 This exception is raised when an incorrect index is passed as parameter.
802 exception IncorrectIndex {};
804 This exception is raised when an incorrect length of the argument is passed as parameter.
806 exception IncorrectArgumentLength {};
808 // titles: for table, for each row, for each column
810 Sets the title of the table.
812 void SetTitle(in string theTitle);
814 Returns the title of the table.
818 Sets the title of a row with a definite index.
820 void SetRowTitle(in long theIndex, in string theTitle) raises(IncorrectIndex);
822 Sets the titles for all rows of the table.
824 void SetRowTitles(in StringSeq theTitles) raises(IncorrectArgumentLength);
826 Returns the titles of all rows of the table.
828 StringSeq GetRowTitles();
830 Sets the title of a column with a definite index.
832 void SetColumnTitle(in long theIndex, in string theTitle) raises(IncorrectIndex);
834 Sets the titles for all columns of the table.
836 void SetColumnTitles(in StringSeq theTitles) raises(IncorrectArgumentLength);
838 Returns the titles of all columns of the table.
840 StringSeq GetColumnTitles();
844 Sets the unit of a row with a definite index.
846 void SetRowUnit(in long theIndex, in string theUnit) raises(IncorrectIndex);
848 Sets the units for all rows of the table.
850 void SetRowUnits(in StringSeq theUnits) raises(IncorrectArgumentLength);
852 Returns the units of all rows of the table.
854 StringSeq GetRowUnits();
858 Returns the number of rows of the table.
862 Returns the number of columns of the table.
866 // operations with rows
868 Adds a row to the end of the table.
870 void AddRow(in DoubleSeq theData) raises(IncorrectArgumentLength);
872 Sets the values of all elements of the row.
874 void SetRow(in long theRow, in DoubleSeq theData) raises(IncorrectArgumentLength, IncorrectIndex);
876 Returns the row of the table.
878 DoubleSeq GetRow(in long theRow) raises(IncorrectIndex);
880 // operations with columns
882 Adds a column to the end of the table.
884 void AddColumn(in DoubleSeq theData) raises(IncorrectArgumentLength);
886 Sets the values of all elements of the column.
888 void SetColumn(in long theColumn, in DoubleSeq theData) raises(IncorrectArgumentLength, IncorrectIndex);
890 Returns the column of the table.
892 DoubleSeq GetColumn(in long theColumn) raises(IncorrectIndex);
894 // operations with elements
896 Puts a value in the table.
897 \param theRow The row, where the value will be placed.
898 \param theColumn The column, where the value will be placed.
900 void PutValue(in double theValue, in long theRow, in long theColumn) raises(IncorrectIndex);
902 Returns True if there is a value in the table.
903 \param theRow The row containing the value
904 \param theColumn The column containing the value
906 boolean HasValue(in long theRow, in long theColumn);
908 Returns the value from the table.
909 \param theRow The row containing the value
910 \param theColumn The column containing the value
912 double GetValue(in long theRow, in long theColumn) raises(IncorrectIndex);
915 Sets the max number of colums in the table.
916 \note It'd better to set it before filling the table.
918 void SetNbColumns(in long theNbColumns);
921 Returns the indices of the row where the values are defined.
923 LongSeq GetRowSetIndices(in long theRow) raises(IncorrectIndex);
924 // operations with files
926 Reads a table from a file.
928 boolean ReadFromFile(in SALOMEDS::TMPFile theStream);
930 Saves a table into a file.
932 SALOMEDS::TMPFile SaveToFile();
937 //==========================================================================
938 /*! \brief %AttributeTableOfString interface
940 This attribute allows to store a table of strings (indexing from 1 like in CASCADE)
941 and string titles of this table, of each row, of each column.
942 <BR><VAR>See also <A href=exemple/Example21.html> an example </A> of usage of these methods in batchmode of %SALOME application.</VAR>
945 //==========================================================================
947 interface AttributeTableOfString : GenericAttribute
950 This exception is raised when an incorrect index is passed as parameter.
952 exception IncorrectIndex {};
954 This exception is raised when an incorrect length of the argument is passed as parameter.
956 exception IncorrectArgumentLength {};
958 // titles: for table, for each row, for each column
960 Sets the title of the table.
962 void SetTitle(in string theTitle);
964 Returns the title of the table.
968 Sets the title of a row with a definite index.
970 void SetRowTitle(in long theIndex, in string theTitle) raises(IncorrectIndex);
972 Sets the titles for all rows of the table.
974 void SetRowTitles(in StringSeq theTitles) raises(IncorrectArgumentLength);
976 Returns the titles of all rows of the table.
978 StringSeq GetRowTitles();
980 Sets the title of a column with a definite index.
982 void SetColumnTitle(in long theIndex, in string theTitle) raises(IncorrectIndex);
984 Sets the titles for all columns of the table.
986 void SetColumnTitles(in StringSeq theTitles) raises(IncorrectArgumentLength);
988 Returns the titles of all columns of the table.
990 StringSeq GetColumnTitles();
994 Sets the unit of a row with a definite index.
996 void SetRowUnit(in long theIndex, in string theUnit) raises(IncorrectIndex);
998 Sets the units for all rows of the table.
1000 void SetRowUnits(in StringSeq theUnits) raises(IncorrectArgumentLength);
1002 Returns the units of all rows of the table.
1004 StringSeq GetRowUnits();
1006 // table information
1008 Returns the number of rows of the table.
1012 Returns the number of columns of the table.
1014 long GetNbColumns();
1016 // operations with rows
1018 Adds a row to the end of the table.
1020 void AddRow(in StringSeq theData) raises(IncorrectArgumentLength);
1022 Sets the values of all elements of the row.
1024 void SetRow(in long theRow, in StringSeq theData) raises(IncorrectArgumentLength, IncorrectIndex);
1026 Returns the row of the table.
1028 StringSeq GetRow(in long theRow) raises(IncorrectIndex);
1030 // operations with columns
1032 Adds a column to the end of the table.
1034 void AddColumn(in StringSeq theData) raises(IncorrectArgumentLength);
1036 Sets the values of all elements of the column.
1038 void SetColumn(in long theColumn, in StringSeq theData) raises(IncorrectArgumentLength, IncorrectIndex);
1040 Returns the column of the table.
1042 StringSeq GetColumn(in long theColumn) raises(IncorrectIndex);
1044 // operations with elements
1046 Puts a value in the table.
1047 \param theRow The row, where the value will be placed.
1048 \param theColumn The column, where the value will be placed.
1050 void PutValue(in string theValue, in long theRow, in long theColumn) raises(IncorrectIndex);
1052 Returns True if there is a value in the table.
1053 \param theRow The row containing the value
1054 \param theColumn The column containing the value
1056 boolean HasValue(in long theRow, in long theColumn);
1058 Returns the value from the table.
1059 \param theRow The row containing the value
1060 \param theColumn The column containing the value
1062 string GetValue(in long theRow, in long theColumn) raises(IncorrectIndex);
1065 Sets the max number of colums in the table.
1066 \note It'd better to set it before filling the table.
1068 void SetNbColumns(in long theNbColumns);
1071 Returns the indices of the row where the values are defined.
1073 LongSeq GetRowSetIndices(in long theRow) raises(IncorrectIndex);
1074 // operations with files
1076 Reads a table from a file.
1078 boolean ReadFromFile(in SALOMEDS::TMPFile theStream);
1080 Saves a table into a file.
1082 SALOMEDS::TMPFile SaveToFile();
1086 //==========================================================================
1087 /*! \brief %AttributeStudyProperties interface
1089 This attribute allows to store study properties: user name, creation date, creation
1090 mode, modified flag, locked flag.
1091 <BR><VAR>See also <A href=exemple/Example20.html> an example </A> of usage of these methods in batchmode of %SALOME application.</VAR>
1094 //==========================================================================
1096 interface AttributeStudyProperties : GenericAttribute
1099 Sets the name of the author of the %Study
1101 void SetUserName(in string theName);
1103 Returns the name of the user of the %Study.
1104 \note <BR>It returns a null string, if user name is not set
1106 string GetUserName();
1108 Sets creation date of the %Study.
1110 void SetCreationDate(in long theMinute, in long theHour, in long theDay, in long theMonth, in long theYear);
1112 Returns creation date of the %Study and True if creation date is set.
1114 boolean GetCreationDate(out long theMinute, out long theHour, out long theDay, out long theMonth, out long theYear);
1116 Sets creation mode of the %Study.
1117 \note <BR>Creation mode must be: "from scratch" or "copy from".
1119 void SetCreationMode(in string theMode);
1121 Returns creation mode: "from scratch", "copy from", or null string
1122 if creation mode is not set
1124 string GetCreationMode();
1126 Sets the number of transactions executed after the last saving of the document.
1128 void SetModified(in long theModified);
1130 Returns True, if the document has been modified and not saved.
1132 boolean IsModified();
1134 Returns the number of transactions executed after the last saving of the document.
1138 Sets the document locked for modifications if <VAR>theLocked</VAR> is True.
1140 void SetLocked(in boolean theLocked);
1142 Returns True if the document is locked for modifications.
1146 Appends modification parameters to the modifications list.
1148 void SetModification(in string theName, in long theMinute, in long theHour, in long theDay, in long theMonth, in long theYear);
1150 Returns a list of mosdifiers user names, modification dates.
1151 /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.
1153 void GetModificationsList(out StringSeq theNames, out LongSeq theMinutes, out LongSeq theHours, out LongSeq theDays, out LongSeq theMonths, out LongSeq theYears, in boolean theWithCreator);
1155 //==========================================================================
1156 /*! \brief %AttributePythonObject interface
1158 Attribute allowing to store pyton objects as a sequence of chars.
1160 //==========================================================================
1162 interface AttributePythonObject : GenericAttribute
1165 Sets in the attribute a Python object converted into a sequence of chars.
1166 \param theSequence A sequence of chars.
1167 \param IsScript Defines (if True) whether this sequence of chars is a Python script.
1169 void SetObject(in string theSequence, in boolean IsScript);
1171 Returns a Python object stored in the attribute as a sequence of chars.
1175 Returns True if the sequence of bytes stored in the attribute corresponds