SALOME documentation central

idl/SALOMEDS_Attributes.idl

Go to the documentation of this file.
00001 //  Copyright (C) 2007-2008  CEA/DEN, EDF R&D, OPEN CASCADE
00002 //
00003 //  Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
00004 //  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
00005 //
00006 //  This library is free software; you can redistribute it and/or
00007 //  modify it under the terms of the GNU Lesser General Public
00008 //  License as published by the Free Software Foundation; either
00009 //  version 2.1 of the License.
00010 //
00011 //  This library is distributed in the hope that it will be useful,
00012 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014 //  Lesser General Public License for more details.
00015 //
00016 //  You should have received a copy of the GNU Lesser General Public
00017 //  License along with this library; if not, write to the Free Software
00018 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
00019 //
00020 //  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
00021 //
00022 //  File   : SALOMEDS_Attributes.idl
00023 //  Author : Yves FRICAUD
00024 //  $Header$
00025 //
00030 #ifndef _SALOMEDS_AttributesIDL_
00031 #define _SALOMEDS_AttributesIDL_
00032 
00033 #include "SALOMEDS.idl"
00034 
00035 module SALOMEDS
00036 {
00038   typedef sequence <double> DoubleSeq;
00040   typedef sequence <long>   LongSeq;
00042   typedef sequence <string> StringSeq;
00048   struct Color {
00050    double R;
00052    double G;
00054    double B;
00055   };
00056   //==========================================================================
00061  //==========================================================================
00062 
00063   interface AttributeReal : GenericAttribute
00064   {
00066 
00070     double Value();
00072 
00076     void   SetValue(in double value);
00077 
00078   };
00079   //==========================================================================
00084   //==========================================================================
00085   interface AttributeInteger : GenericAttribute
00086   {
00088 
00092     long   Value();
00093 
00095 
00099     void   SetValue(in long value);
00100   };
00101   //==========================================================================
00106   //==========================================================================
00107   interface AttributeSequenceOfReal : GenericAttribute
00108   {
00110 
00113     void      Assign (in DoubleSeq other);
00115     DoubleSeq CorbaSequence();
00122     void      Add (in double value);
00128     void      Remove(in long index);
00137     void      ChangeValue(in long index, in double value);
00144     double    Value(in short index);
00150     long      Length();
00151   };
00152   //==========================================================================
00157   //==========================================================================
00158   interface AttributeSequenceOfInteger : GenericAttribute
00159   {
00163     void      Assign (in LongSeq other);
00165     LongSeq CorbaSequence();
00173     void      Add (in long value);
00181     void      Remove(in long index);
00188     void      ChangeValue(in long index, in long value);
00194     long      Value(in short index);
00200     long      Length();
00201   };
00202 
00203   //==========================================================================
00209   //==========================================================================
00210 
00211   interface AttributeName : GenericAttribute
00212   {
00217     string Value();
00224     void   SetValue(in string value);
00225   };
00226 
00227   //==========================================================================
00233   //==========================================================================
00234   interface AttributeComment : GenericAttribute
00235   {
00240     string Value();
00246     void   SetValue(in string value);
00247   };
00248   //==========================================================================
00253   //==========================================================================
00254   interface AttributeString : GenericAttribute
00255   {
00259     string Value();
00264     void   SetValue(in string value);
00265   };
00266   //==========================================================================
00272  //==========================================================================
00273   interface AttributeIOR : GenericAttribute
00274   {
00280     string Value();
00287     void   SetValue(in string value);
00288   };
00289 
00290   //==========================================================================
00295   //==========================================================================
00296   interface AttributePersistentRef : GenericAttribute
00297   {
00303     string Value();
00310     void   SetValue(in string value);
00311   };
00312 
00313   //==========================================================================
00318   //==========================================================================
00319   interface AttributeExternalFileDef: GenericAttribute
00320   {
00325     string Value();
00330     void   SetValue(in string value);
00331   };
00332 
00333   //==========================================================================
00338   //==========================================================================
00339   interface AttributeFileType: GenericAttribute
00340   {
00345     string Value();
00350     void   SetValue(in string value);
00351   };
00352 
00353   //==========================================================================
00354   //Below the list of presentation attributes for display study tree in browser
00355   //==========================================================================
00356 
00357 
00358   //==========================================================================
00364   //==========================================================================
00365   interface AttributeDrawable : GenericAttribute
00366   {
00373     boolean IsDrawable();
00382     void   SetDrawable(in boolean value);
00383   };
00384 
00385   //==========================================================================
00391   //==========================================================================
00392   interface AttributeSelectable : GenericAttribute
00393   {
00401     boolean IsSelectable();
00410     void   SetSelectable(in boolean value);
00411   };
00412 
00413   //==========================================================================
00420   //==========================================================================
00421   interface AttributeExpandable : GenericAttribute
00422   {
00429     boolean IsExpandable();
00437     void   SetExpandable(in boolean value);
00438   };
00439 
00440   //==========================================================================
00446   //==========================================================================
00447 
00448   interface AttributeFlags : GenericAttribute
00449   {
00450     long    GetFlags();
00451     void    SetFlags( in long theFlags );
00452 
00453     boolean Get( in long theFlag );
00454     void    Set( in long theFlag, in boolean theValue );
00455   };
00456 
00457   //==========================================================================
00462   //==========================================================================
00463 
00464   interface AttributeGraphic : GenericAttribute
00465   {
00466     void     SetVisibility( in long theViewId, in boolean theValue );
00467     boolean  GetVisibility( in long theViewId );
00468   };  
00469 
00470   //==========================================================================
00477   //==========================================================================
00478   interface AttributeOpened : GenericAttribute
00479   {
00486     boolean IsOpened();
00496     void   SetOpened(in boolean value);
00497   };
00498   //==========================================================================
00503   //==========================================================================
00504   interface AttributeTextColor : GenericAttribute
00505   {
00512     Color TextColor();
00521     void   SetTextColor(in Color value);
00522   };
00523 
00524   //==========================================================================
00529   //==========================================================================
00530   interface AttributeTextHighlightColor : GenericAttribute
00531   {
00540     Color TextHighlightColor();
00548     void   SetTextHighlightColor(in Color value);
00549   };
00550   //==========================================================================
00555   //==========================================================================
00556   interface AttributePixMap : GenericAttribute
00557   {
00561     boolean HasPixMap();
00568     string  GetPixMap();
00576     void    SetPixMap(in string value);
00577   };
00578 
00579   //==========================================================================
00589   //==========================================================================
00590   interface AttributeTreeNode : GenericAttribute
00591   {
00595     void              SetFather(in AttributeTreeNode value);
00599     boolean           HasFather();
00603     AttributeTreeNode GetFather();
00607     void              SetPrevious(in AttributeTreeNode value);
00611     boolean           HasPrevious();
00615     AttributeTreeNode GetPrevious();
00619     void              SetNext(in AttributeTreeNode value);
00623     boolean           HasNext();
00627     AttributeTreeNode GetNext();
00631     void              SetFirst(in AttributeTreeNode value);
00635     boolean           HasFirst();
00639     AttributeTreeNode GetFirst();
00645     void              SetTreeID(in string value);
00650     string            GetTreeID();
00651 
00655     void              Append(in AttributeTreeNode value);
00660     void              Prepend(in AttributeTreeNode value);
00665     void              InsertBefore(in AttributeTreeNode value);
00670     void              InsertAfter(in AttributeTreeNode value);
00677     void              Remove();
00678 
00684     long              Depth();
00688     boolean           IsRoot();
00692     boolean           IsDescendant(in AttributeTreeNode value);
00696     boolean           IsFather(in AttributeTreeNode value);
00700     boolean           IsChild(in AttributeTreeNode value);
00704     string            Label();
00705   };
00706   //==========================================================================
00711   //==========================================================================
00712   interface AttributeLocalID : GenericAttribute
00713   {
00719     long   Value();
00727     void   SetValue(in long value);
00728   };
00729 
00730   //==========================================================================
00735   //==========================================================================
00736   interface AttributeUserID : GenericAttribute
00737   {
00743     string Value();
00749     void   SetValue(in string value);
00750   };
00751 
00752   //==========================================================================
00759   //==========================================================================
00760 
00761   interface AttributeTarget : GenericAttribute
00762   {
00769     void          Add(in SObject anObject);
00773     SALOMEDS::Study::ListOfSObject Get();
00780     void          Remove(in SObject anObject);
00781   };
00782   //==========================================================================
00791   //==========================================================================
00792 
00793   interface AttributeTableOfInteger : GenericAttribute
00794   {
00796     exception IncorrectIndex {};
00798     exception IncorrectArgumentLength {};
00799 
00800     // titles: for table, for each row, for each column
00804     void SetTitle(in string theTitle);
00808     string GetTitle();
00812     void SetRowTitle(in long theIndex, in string theTitle) raises(IncorrectIndex);
00816     void SetRowTitles(in StringSeq theTitles) raises(IncorrectArgumentLength);
00820     StringSeq GetRowTitles();
00824     void SetColumnTitle(in long theIndex, in string theTitle) raises(IncorrectIndex);
00828     void SetColumnTitles(in StringSeq theTitles) raises(IncorrectArgumentLength);
00832     StringSeq GetColumnTitles();
00833 
00834     //Rows units
00838     void SetRowUnit(in long theIndex, in string theUnit) raises(IncorrectIndex);
00842     void SetRowUnits(in StringSeq theUnits) raises(IncorrectArgumentLength);
00846     StringSeq GetRowUnits();
00847 
00848     // table information
00852     long GetNbRows();
00856     long GetNbColumns();
00857 
00858     // operations with rows
00863     void AddRow(in LongSeq theData) raises(IncorrectArgumentLength);
00870     void SetRow(in long theRow, in LongSeq theData) raises(IncorrectArgumentLength, IncorrectIndex);
00877     LongSeq GetRow(in long theRow) raises(IncorrectIndex);
00878 
00879     // operations with columns
00885     void AddColumn(in LongSeq theData) raises(IncorrectArgumentLength);
00891     void SetColumn(in long theColumn, in LongSeq theData) raises(IncorrectArgumentLength, IncorrectIndex);
00895     LongSeq GetColumn(in long theColumn) raises(IncorrectIndex);
00896 
00897     // operations with elements
00903     void PutValue(in long theValue, in long theRow, in long theColumn) raises(IncorrectIndex);
00909     boolean HasValue(in long theRow, in long theColumn);
00915     long GetValue(in long theRow, in long theColumn) raises(IncorrectIndex);
00916 
00921     void SetNbColumns(in long theNbColumns);
00922 
00926     LongSeq GetRowSetIndices(in long theRow) raises(IncorrectIndex);
00927     // operations with files
00931     boolean ReadFromFile(in SALOMEDS::TMPFile theStream);
00935     SALOMEDS::TMPFile SaveToFile();
00936   };
00937 
00938   //==========================================================================
00946   //==========================================================================
00947 
00948   interface AttributeTableOfReal : GenericAttribute
00949   {
00951     exception IncorrectIndex {};
00953     exception IncorrectArgumentLength {};
00954 
00955     // titles: for table, for each row, for each column
00959     void SetTitle(in string theTitle);
00963     string GetTitle();
00967     void SetRowTitle(in long theIndex, in string theTitle) raises(IncorrectIndex);
00971     void SetRowTitles(in StringSeq theTitles) raises(IncorrectArgumentLength);
00975     StringSeq GetRowTitles();
00979     void SetColumnTitle(in long theIndex, in string theTitle) raises(IncorrectIndex);
00983     void SetColumnTitles(in StringSeq theTitles) raises(IncorrectArgumentLength);
00987     StringSeq GetColumnTitles();
00988 
00989     //Rows units
00993     void SetRowUnit(in long theIndex, in string theUnit) raises(IncorrectIndex);
00997     void SetRowUnits(in StringSeq theUnits) raises(IncorrectArgumentLength);
01001     StringSeq GetRowUnits();
01002 
01003     // table information
01007     long GetNbRows();
01011     long GetNbColumns();
01012 
01013     // operations with rows
01017     void AddRow(in DoubleSeq theData) raises(IncorrectArgumentLength);
01021     void SetRow(in long theRow, in DoubleSeq theData) raises(IncorrectArgumentLength, IncorrectIndex);
01025     DoubleSeq GetRow(in long theRow) raises(IncorrectIndex);
01026 
01027     // operations with columns
01031     void AddColumn(in DoubleSeq theData) raises(IncorrectArgumentLength);
01035     void SetColumn(in long theColumn, in DoubleSeq theData) raises(IncorrectArgumentLength, IncorrectIndex);
01039     DoubleSeq GetColumn(in long theColumn) raises(IncorrectIndex);
01040 
01041     // operations with elements
01047     void PutValue(in double theValue, in long theRow, in long theColumn) raises(IncorrectIndex);
01053     boolean HasValue(in long theRow, in long theColumn);
01059     double GetValue(in long theRow, in long theColumn) raises(IncorrectIndex);
01060 
01065     void SetNbColumns(in long theNbColumns);
01066 
01070     LongSeq GetRowSetIndices(in long theRow) raises(IncorrectIndex);
01071     // operations with files
01075     boolean ReadFromFile(in SALOMEDS::TMPFile theStream);
01079     SALOMEDS::TMPFile SaveToFile();
01080   };
01081 
01082 
01083 
01084   //==========================================================================
01092   //==========================================================================
01093 
01094   interface AttributeTableOfString : GenericAttribute
01095   {
01097     exception IncorrectIndex {};
01099     exception IncorrectArgumentLength {};
01100 
01101     // titles: for table, for each row, for each column
01105     void SetTitle(in string theTitle);
01109     string GetTitle();
01113     void SetRowTitle(in long theIndex, in string theTitle) raises(IncorrectIndex);
01117     void SetRowTitles(in StringSeq theTitles) raises(IncorrectArgumentLength);
01121     StringSeq GetRowTitles();
01125     void SetColumnTitle(in long theIndex, in string theTitle) raises(IncorrectIndex);
01129     void SetColumnTitles(in StringSeq theTitles) raises(IncorrectArgumentLength);
01133     StringSeq GetColumnTitles();
01134 
01135     //Rows units
01139     void SetRowUnit(in long theIndex, in string theUnit) raises(IncorrectIndex);
01143     void SetRowUnits(in StringSeq theUnits) raises(IncorrectArgumentLength);
01147     StringSeq GetRowUnits();
01148 
01149     // table information
01153     long GetNbRows();
01157     long GetNbColumns();
01158 
01159     // operations with rows
01163     void AddRow(in StringSeq theData) raises(IncorrectArgumentLength);
01167     void SetRow(in long theRow, in StringSeq theData) raises(IncorrectArgumentLength, IncorrectIndex);
01171     StringSeq GetRow(in long theRow) raises(IncorrectIndex);
01172 
01173     // operations with columns
01177     void AddColumn(in StringSeq theData) raises(IncorrectArgumentLength);
01181     void SetColumn(in long theColumn, in StringSeq theData) raises(IncorrectArgumentLength, IncorrectIndex);
01185     StringSeq GetColumn(in long theColumn) raises(IncorrectIndex);
01186 
01187     // operations with elements
01193     void PutValue(in string theValue, in long theRow, in long theColumn) raises(IncorrectIndex);
01199     boolean HasValue(in long theRow, in long theColumn);
01205     string GetValue(in long theRow, in long theColumn) raises(IncorrectIndex);
01206 
01211     void SetNbColumns(in long theNbColumns);
01212 
01216     LongSeq GetRowSetIndices(in long theRow) raises(IncorrectIndex);
01217     // operations with files
01221     boolean ReadFromFile(in SALOMEDS::TMPFile theStream);
01225     SALOMEDS::TMPFile SaveToFile();
01226   };
01227 
01228 
01229   //==========================================================================
01237   //==========================================================================
01238 
01239   interface AttributeStudyProperties : GenericAttribute
01240   {
01244     void SetUserName(in string theName);
01249     string GetUserName();
01253     void SetCreationDate(in long theMinute, in long theHour, in long theDay, in long theMonth, in long theYear);
01257     boolean GetCreationDate(out long theMinute, out long theHour, out long theDay, out long theMonth, out long theYear);
01262     void SetCreationMode(in string theMode);
01267     string GetCreationMode();
01271     void SetModified(in long theModified);
01275     boolean IsModified();
01279     long GetModified();
01283     void SetLocked(in boolean theLocked);
01287     boolean IsLocked();
01291     void SetModification(in string theName, in long theMinute, in long theHour, in long theDay, in long theMonth, in long theYear);
01296     void GetModificationsList(out StringSeq theNames, out LongSeq theMinutes, out LongSeq theHours, out LongSeq theDays, out LongSeq theMonths, out LongSeq theYears, in boolean theWithCreator);
01297   };
01298   //==========================================================================
01303   //==========================================================================
01304 
01305   interface AttributePythonObject : GenericAttribute
01306   {
01312     void SetObject(in string theSequence, in boolean IsScript);
01316     string GetObject();
01321     boolean IsScript();
01322   };
01323   //==========================================================================
01328   //==========================================================================
01329   interface AttributeParameter : GenericAttribute
01330   {
01336     void SetInt(in string theID, in long theValue);
01341     long GetInt(in string theID);
01342 
01348     void SetReal(in string theID, in double theValue);
01353     double GetReal(in string theID);
01354 
01360     void SetString(in string theID, in string theValue);
01365     string GetString(in string theID);
01366   
01372     void SetBool(in string theID, in boolean theValue);
01377     boolean GetBool(in string theID);
01378   
01384     void SetRealArray(in string theID, in DoubleSeq theArray);
01389     DoubleSeq GetRealArray(in string theID);
01390 
01396     void SetIntArray(in string theID, in LongSeq theArray);
01401     LongSeq GetIntArray(in string theID);
01402 
01408     void SetStrArray(in string theID, in StringSeq theArray);
01413     StringSeq GetStrArray(in string theID);
01419     boolean IsSet(in string theID, in long theType);
01425     boolean RemoveID(in string theID, in long theType);
01429     AttributeParameter GetFather();
01433     boolean HasFather();
01437     boolean IsRoot();
01441     void Clear();
01446     StringSeq GetIDs(in long theType);
01447   };
01448 };
01449 #endif