Back to index

salome-kernel  6.5.0
SALOMEDS_Attributes.idl
Go to the documentation of this file.
00001 // Copyright (C) 2007-2012  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 
00023 //  File   : SALOMEDS_Attributes.idl
00024 //  Author : Yves FRICAUD
00025 //  $Header: /home/server/cvs/KERNEL/KERNEL_SRC/idl/SALOMEDS_Attributes.idl,v 1.10.2.1.22.4.12.1 2012-04-12 14:04:58 vsr Exp $
00026 //
00031 #ifndef _SALOMEDS_AttributesIDL_
00032 #define _SALOMEDS_AttributesIDL_
00033 
00034 #include "SALOMEDS.idl"
00035 
00036 module SALOMEDS
00037 {
00039   typedef sequence <double> DoubleSeq;
00041   typedef sequence <long>   LongSeq;
00043   typedef sequence <string> StringSeq;
00044 
00050   struct Color {
00052     double R;
00054     double G;
00056     double B;
00057   };
00058 
00059   //==========================================================================
00067   //==========================================================================
00068   interface AttributeReal : GenericAttribute
00069   {
00074     double Value();
00079     void   SetValue(in double value);
00080 
00081   };
00082 
00083   //==========================================================================
00091   //==========================================================================
00092   interface AttributeInteger : GenericAttribute
00093   {
00098     long   Value();
00099 
00104     void   SetValue(in long value);
00105   };
00106 
00107   //==========================================================================
00116   //==========================================================================
00117   interface AttributeSequenceOfReal : GenericAttribute
00118   {
00123     void      Assign (in DoubleSeq other);
00128     DoubleSeq CorbaSequence();
00133     void      Add (in double value);
00139     void      Remove(in long index);
00145     void      ChangeValue(in long index, in double value);
00151     double    Value(in short index);
00156     long      Length();
00157   };
00158   
00159   //==========================================================================
00168   //==========================================================================
00169   interface AttributeSequenceOfInteger : GenericAttribute
00170   {
00175     void      Assign (in LongSeq other);
00180     LongSeq   CorbaSequence();
00185     void      Add (in long value);
00191     void      Remove(in long index);
00197     void      ChangeValue(in long index, in long value);
00203     long      Value(in short index);
00208     long      Length();
00209   };
00210 
00211   //==========================================================================
00222   //==========================================================================
00223   interface AttributeName : GenericAttribute
00224   {
00229     string Value();
00234     void   SetValue(in string value);
00235   };
00236 
00237   //==========================================================================
00254   //==========================================================================
00255   interface AttributeComment : GenericAttribute
00256   {
00261     string Value();
00266     void   SetValue(in string value);
00267   };
00268 
00269   //==========================================================================
00276   //==========================================================================
00277   interface AttributeString : GenericAttribute
00278   {
00283     string Value();
00288     void   SetValue(in string value);
00289   };
00290 
00291   //==========================================================================
00302   //==========================================================================
00303   interface AttributeIOR : GenericAttribute
00304   {
00309     string Value();
00314     void   SetValue(in string value);
00315   };
00316 
00317   //==========================================================================
00328   //==========================================================================
00329   interface AttributePersistentRef : GenericAttribute
00330   {
00335     string Value();
00340     void   SetValue(in string value);
00341   };
00342 
00343   //==========================================================================
00351   //==========================================================================
00352   interface AttributeExternalFileDef: GenericAttribute
00353   {
00358     string Value();
00363     void   SetValue(in string value);
00364   };
00365 
00366   //==========================================================================
00374   //==========================================================================
00375   interface AttributeFileType: GenericAttribute
00376   {
00381     string Value();
00386     void   SetValue(in string value);
00387   };
00388 
00389   //==========================================================================
00390   // Presentation attributes (parameters of the object displaying in the Object browser)
00391   //==========================================================================
00392 
00393   //==========================================================================
00407   //==========================================================================
00408   interface AttributeDrawable : GenericAttribute
00409   {
00414     boolean IsDrawable();
00419     void    SetDrawable(in boolean value);
00420   };
00421 
00422   //==========================================================================
00435   //==========================================================================
00436   interface AttributeSelectable : GenericAttribute
00437   {
00442     boolean IsSelectable();
00447     void    SetSelectable(in boolean value);
00448   };
00449 
00450   //==========================================================================
00464   //==========================================================================
00465   interface AttributeExpandable : GenericAttribute
00466   {
00471     boolean IsExpandable();
00476     void    SetExpandable(in boolean value);
00477   };
00478 
00479   //==========================================================================
00489   //==========================================================================
00490 
00491   interface AttributeFlags : GenericAttribute
00492   {
00497     long    GetFlags();
00502     void    SetFlags(in long flags);
00508     boolean Get(in long flags);
00515     void    Set(in long flags, in boolean value);
00516   };
00517 
00518   //==========================================================================
00525   //==========================================================================
00526   interface AttributeGraphic : GenericAttribute
00527   {
00534     void     SetVisibility(in long viewId, in boolean value);
00541     boolean  GetVisibility(in long viewId);
00542   };  
00543 
00544   //==========================================================================
00552   //==========================================================================
00553   interface AttributeOpened : GenericAttribute
00554   {
00560     boolean IsOpened();
00567     void    SetOpened(in boolean value);
00568   };
00569 
00570   //==========================================================================
00582   //==========================================================================
00583   interface AttributeTextColor : GenericAttribute
00584   {
00589     Color  TextColor();
00594     void   SetTextColor(in Color value);
00595   };
00596 
00597   //==========================================================================
00609   //==========================================================================
00610   interface AttributeTextHighlightColor : GenericAttribute
00611   {
00616     Color  TextHighlightColor();
00621     void   SetTextHighlightColor(in Color value);
00622   };
00623 
00624   //==========================================================================
00635   //==========================================================================
00636   interface AttributePixMap : GenericAttribute
00637   {
00642     boolean HasPixMap();
00647     string  GetPixMap();
00652     void    SetPixMap(in string value);
00653   };
00654 
00655   //==========================================================================
00667   //==========================================================================
00668   interface AttributeTreeNode : GenericAttribute
00669   {
00674     void              SetFather(in AttributeTreeNode father);
00679     boolean           HasFather();
00684     AttributeTreeNode GetFather();
00689     void              SetPrevious(in AttributeTreeNode sibling);
00694     boolean           HasPrevious();
00699     AttributeTreeNode GetPrevious();
00704     void              SetNext(in AttributeTreeNode sibling);
00709     boolean           HasNext();
00714     AttributeTreeNode GetNext();
00719     void              SetFirst(in AttributeTreeNode child);
00724     boolean           HasFirst();
00729     AttributeTreeNode GetFirst();
00735     void              SetTreeID(in string ID);
00740     string            GetTreeID();
00745     void              Append(in AttributeTreeNode child);
00750     void              Prepend(in AttributeTreeNode child);
00755     void              InsertBefore(in AttributeTreeNode child);
00760     void              InsertAfter(in AttributeTreeNode child);
00764     void              Remove();
00771     long              Depth();
00776     boolean           IsRoot();
00782     boolean           IsDescendant(in AttributeTreeNode other);
00788     boolean           IsFather(in AttributeTreeNode other);
00794     boolean           IsChild(in AttributeTreeNode other);
00799     string            Label();
00800   };
00801 
00802   //==========================================================================
00812   //==========================================================================
00813   interface AttributeLocalID : GenericAttribute
00814   {
00819     long   Value();
00824     void   SetValue(in long value);
00825   };
00826 
00827   //==========================================================================
00838   //==========================================================================
00839   interface AttributeUserID : GenericAttribute
00840   {
00845     string Value();
00850     void   SetValue(in string value);
00851   };
00852 
00853   //==========================================================================
00864   //==========================================================================
00865 
00866   interface AttributeTarget : GenericAttribute
00867   {
00872     void          Add(in SObject refobj);
00877     SALOMEDS::Study::ListOfSObject Get();
00882     void          Remove(in SObject anObject);
00883   };
00884   
00885   //==========================================================================
00896   //==========================================================================
00897 
00898   interface AttributeTable : GenericAttribute
00899   {
00901     exception IncorrectIndex {};
00903     exception IncorrectArgumentLength {};
00904 
00906     enum SortOrder { 
00907       AscendingOrder,  
00908       DescendingOrder  
00909     };
00910 
00912     enum SortPolicy {
00913       EmptyLowest,     
00914       EmptyHighest,    
00915       EmptyFirst,      
00916       EmptyLast,       
00917       EmptyIgnore      
00918     };
00919 
00925     void SetTitle(in string title);
00931     string GetTitle();
00941     void SetRowTitle(in long row, in string title) raises(IncorrectIndex);
00951     string GetRowTitle(in long row) raises(IncorrectIndex);
00961     void SetRowTitles(in StringSeq titles) raises(IncorrectArgumentLength);
00967     StringSeq GetRowTitles();
00977     void SetColumnTitle(in long column, in string title) raises(IncorrectIndex);
00987     string GetColumnTitle(in long column) raises(IncorrectIndex);
00997     void SetColumnTitles(in StringSeq titles) raises(IncorrectArgumentLength);
01003     StringSeq GetColumnTitles();
01013     void SetRowUnit(in long row, in string unit) raises(IncorrectIndex);
01023     string GetRowUnit(in long row) raises(IncorrectIndex);
01033     void SetRowUnits(in StringSeq units) raises(IncorrectArgumentLength);
01039     StringSeq GetRowUnits();
01045     long GetNbRows();
01051     long GetNbColumns();
01059     boolean HasValue(in long row, in long column);
01069     void RemoveValue(in long row, in long column) raises(IncorrectIndex);
01081     void SetNbColumns(in long columns);
01091     LongSeq GetRowSetIndices(in long row) raises(IncorrectIndex);
01107     LongSeq SortRow(in long row, in SortOrder order, in SortPolicy policy) raises(IncorrectIndex);
01123     LongSeq SortColumn(in long column, in SortOrder order, in SortPolicy policy) raises(IncorrectIndex);
01138     LongSeq SortByRow(in long row, in SortOrder order, in SortPolicy policy) raises(IncorrectIndex);
01153     LongSeq SortByColumn(in long column, in SortOrder order, in SortPolicy policy) raises(IncorrectIndex);
01164     void SwapCells(in long row1, in long column1, in long row2, in long column2) raises(IncorrectIndex);
01173     void SwapRows(in long row1, in long row2) raises(IncorrectIndex);
01182     void SwapColumns(in long column1, in long column2) raises(IncorrectIndex);
01189     boolean ReadFromFile(in SALOMEDS::TMPFile fileStream);
01195     SALOMEDS::TMPFile SaveToFile();
01196   };
01197 
01198   //==========================================================================
01212   //==========================================================================
01213 
01214   interface AttributeTableOfInteger : AttributeTable
01215   {
01225     void AddRow(in LongSeq data) raises(IncorrectArgumentLength);
01236     void SetRow(in long row, in LongSeq data) raises(IncorrectArgumentLength, IncorrectIndex);
01248     LongSeq GetRow(in long row) raises(IncorrectIndex);
01258     void AddColumn(in LongSeq data) raises(IncorrectArgumentLength);
01269     void SetColumn(in long column, in LongSeq data) raises(IncorrectArgumentLength, IncorrectIndex);
01281     LongSeq GetColumn(in long column) raises(IncorrectIndex);
01293     void PutValue(in long value, in long row, in long column) raises(IncorrectIndex);
01305     long GetValue(in long row, in long column) raises(IncorrectIndex);
01306   };
01307 
01308   //==========================================================================
01322   //==========================================================================
01323 
01324   interface AttributeTableOfReal : AttributeTable
01325   {
01335     void AddRow(in DoubleSeq data) raises(IncorrectArgumentLength);
01346     void SetRow(in long row, in DoubleSeq data) raises(IncorrectArgumentLength, IncorrectIndex);
01358     DoubleSeq GetRow(in long row) raises(IncorrectIndex);
01368     void AddColumn(in DoubleSeq data) raises(IncorrectArgumentLength);
01379     void SetColumn(in long column, in DoubleSeq data) raises(IncorrectArgumentLength, IncorrectIndex);
01391     DoubleSeq GetColumn(in long column) raises(IncorrectIndex);
01403     void PutValue(in double value, in long row, in long volumn) raises(IncorrectIndex);
01415     double GetValue(in long row, in long column) raises(IncorrectIndex);
01416   };
01417 
01418   //==========================================================================
01429   //==========================================================================
01430   interface AttributeTableOfString : AttributeTable
01431   {
01441     void AddRow(in StringSeq data) raises(IncorrectArgumentLength);
01452     void SetRow(in long row, in StringSeq data) raises(IncorrectArgumentLength, IncorrectIndex);
01464     StringSeq GetRow(in long row) raises(IncorrectIndex);
01474     void AddColumn(in StringSeq data) raises(IncorrectArgumentLength);
01485     void SetColumn(in long column, in StringSeq data) raises(IncorrectArgumentLength, IncorrectIndex);
01497     StringSeq GetColumn(in long column) raises(IncorrectIndex);
01509     void PutValue(in string value, in long row, in long column) raises(IncorrectIndex);
01521     string GetValue(in long row, in long column) raises(IncorrectIndex);
01522   };
01523 
01524   //==========================================================================
01533   //==========================================================================
01534   interface AttributeStudyProperties : GenericAttribute
01535   {
01540     void SetUserName(in string author);
01545     string GetUserName();
01554     void SetCreationDate(in long minute, in long hour, in long day, in long month, in long year);
01564     boolean GetCreationDate(out long minute, out long hour, out long day, out long month, out long year);
01570     void SetCreationMode(in string mode);
01579     string GetCreationMode();
01584     void SetModified(in long modified);
01589     boolean IsModified();
01594     long GetModified();
01602     void SetLocked(in boolean lock);
01607     boolean IsLocked();
01617     void SetModification(in string author, in long minute, in long hour, in long day, in long month, in long year);
01628     void GetModificationsList(out StringSeq authors, out LongSeq minutes, out LongSeq hours, out LongSeq days, out LongSeq months, out LongSeq years, in boolean withCreator);
01629 
01634     void SetComment(in string comment);
01635 
01640     string GetComment();
01641 
01646     void SetUnits(in string units);
01647 
01652     string GetUnits();
01653   };
01654 
01655   //==========================================================================
01661   //==========================================================================
01662   interface AttributePythonObject : GenericAttribute
01663   {
01669     void SetObject(in string pyObject, in boolean isScript);
01674     string GetObject();
01680     boolean IsScript();
01681   };
01682 
01683   //==========================================================================
01694   //==========================================================================
01695   interface AttributeParameter : GenericAttribute
01696   {
01698     exception InvalidIdentifier {};
01699 
01705     void SetInt(in string ID, in long value);
01715     long GetInt(in string ID) raises(InvalidIdentifier);
01721     void SetReal(in string ID, in double value);
01731     double GetReal(in string ID) raises(InvalidIdentifier);
01737     void SetString(in string ID, in string value);
01747     string GetString(in string ID) raises(InvalidIdentifier);
01753     void SetBool(in string ID, in boolean value);
01763     boolean GetBool(in string ID) raises(InvalidIdentifier);
01769     void SetRealArray(in string ID, in DoubleSeq value);
01779     DoubleSeq GetRealArray(in string ID) raises(InvalidIdentifier);
01785     void SetIntArray(in string ID, in LongSeq value);
01795     LongSeq GetIntArray(in string ID) raises(InvalidIdentifier);
01801     void SetStrArray(in string ID, in StringSeq value);
01811     StringSeq GetStrArray(in string ID) raises(InvalidIdentifier);
01819     boolean IsSet(in string ID, in long ptype);
01827     boolean RemoveID(in string ID, in long ptype);
01832     AttributeParameter GetFather();
01837     boolean HasFather();
01842     boolean IsRoot();
01846     void Clear();
01854     StringSeq GetIDs(in long ptype);
01855   };
01856 };
01857 #endif