Salome HOME
PR: merge from tag mergeto_trunk_17Jan05
[modules/kernel.git] / src / SALOMEDS / SALOMEDS_AttributeTableOfReal_i.hxx
1 //  SALOME SALOMEDS : data structure of SALOME and sources of Salome data server 
2 //
3 //  Copyright (C) 2003  CEA/DEN, EDF R&D
4 //
5 //
6 //
7 //  File   : SALOMEDS_AttributeTableOfReal_i.hxx
8 //  Author : Michael Ponikarov
9 //  Module : SALOME
10 //  $Header$
11
12 #ifndef SALOMEDS_AttributeTableOfReal_i_HeaderFile
13 #define SALOMEDS_AttributeTableOfReal_i_HeaderFile
14
15 #include "SALOMEDS_TableOfRealAttribute.hxx"
16 #include "SALOMEDS_GenericAttribute_i.hxx"
17
18 // IDL headers
19 #include <SALOMEconfig.h>
20 #include CORBA_SERVER_HEADER(SALOMEDS_Attributes)
21
22 DEFINE_DERIVED_ATTR(AttributeTableOfReal,SALOMEDS_TableOfRealAttribute,true);
23
24 class SALOMEDS_AttributeTableOfReal_i: 
25   public virtual POA_SALOMEDS::AttributeTableOfReal,
26   public virtual SALOMEDS_TAttributeTableOfReal_i 
27 {
28   DEFINE_DERIVED_ATTR_METH_DEFAULT(AttributeTableOfReal,SALOMEDS_TableOfRealAttribute);
29 public:
30   virtual void SetTitle(const char* theTitle);
31   virtual char* GetTitle();
32   virtual void SetRowTitle(CORBA::Long theIndex, const char* theTitle)
33     throw (SALOMEDS::AttributeTableOfReal::IncorrectIndex);
34   virtual void SetRowTitles(const SALOMEDS::StringSeq& theTitles)
35     throw (SALOMEDS::AttributeTableOfReal::IncorrectArgumentLength);
36   virtual SALOMEDS::StringSeq* GetRowTitles();
37   virtual void SetColumnTitle(CORBA::Long theIndex, const char* theTitle)
38     throw (SALOMEDS::AttributeTableOfReal::IncorrectIndex);
39   virtual void SetColumnTitles(const SALOMEDS::StringSeq& theTitles)
40     throw (SALOMEDS::AttributeTableOfReal::IncorrectArgumentLength);
41   virtual SALOMEDS::StringSeq* GetColumnTitles();
42
43   virtual void SetRowUnit(CORBA::Long theIndex, const char* theUnit)
44     throw (SALOMEDS::AttributeTableOfReal::IncorrectIndex);
45   virtual void SetRowUnits(const SALOMEDS::StringSeq& theUnits)
46     throw (SALOMEDS::AttributeTableOfReal::IncorrectArgumentLength);
47   virtual SALOMEDS::StringSeq* GetRowUnits();
48
49   virtual CORBA::Long GetNbRows();
50   virtual CORBA::Long GetNbColumns();
51   virtual void AddRow(const SALOMEDS::DoubleSeq& theData)
52     throw (SALOMEDS::AttributeTableOfReal::IncorrectArgumentLength);
53   virtual void SetRow(CORBA::Long theRow, const SALOMEDS::DoubleSeq& theData)
54     throw (SALOMEDS::AttributeTableOfReal::IncorrectArgumentLength, SALOMEDS::AttributeTableOfReal::IncorrectIndex);
55   virtual SALOMEDS::DoubleSeq* GetRow(CORBA::Long theRow)
56     throw (SALOMEDS::AttributeTableOfReal::IncorrectIndex);
57   virtual void AddColumn(const SALOMEDS::DoubleSeq& theData)
58     throw (SALOMEDS::AttributeTableOfReal::IncorrectArgumentLength);
59   virtual void SetColumn(CORBA::Long theColumn, const SALOMEDS::DoubleSeq& theData)
60     throw (SALOMEDS::AttributeTableOfReal::IncorrectArgumentLength, SALOMEDS::AttributeTableOfReal::IncorrectIndex);
61   virtual SALOMEDS::DoubleSeq* GetColumn(CORBA::Long theColumn)
62     throw (SALOMEDS::AttributeTableOfReal::IncorrectIndex);
63   virtual void PutValue(CORBA::Double theValue, CORBA::Long theRow, CORBA::Long theColumn)
64     throw (SALOMEDS::AttributeTableOfReal::IncorrectIndex);
65   virtual CORBA::Boolean HasValue(CORBA::Long theRow, CORBA::Long theColumn);
66   virtual CORBA::Double GetValue(CORBA::Long theRow, CORBA::Long theColumn)
67     throw (SALOMEDS::AttributeTableOfReal::IncorrectIndex);
68
69   virtual SALOMEDS::LongSeq* GetRowSetIndices(CORBA::Long theRow);
70   virtual void SetNbColumns(CORBA::Long theNbColumns);
71
72   virtual bool ReadFromFile(const SALOMEDS::TMPFile& theStream);
73   virtual SALOMEDS::TMPFile* SaveToFile();
74
75   virtual char* Store();
76   virtual void Restore(const char*);
77
78 };
79
80 #endif