X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSALOMEDSImpl%2FSALOMEDSImpl_AttributeTableOfInteger.hxx;h=e68fc34bd80006c316ce0e2a76a36beb819471dc;hb=d9904f7ff3e87d82347311c61b53d3127f587fe0;hp=4a44d76b8aa7c223b68e77ed7ba3140c6b6acbb5;hpb=e6bfea36374791cd31c274a2f97df90dc60ddaf3;p=modules%2Fkernel.git diff --git a/src/SALOMEDSImpl/SALOMEDSImpl_AttributeTableOfInteger.hxx b/src/SALOMEDSImpl/SALOMEDSImpl_AttributeTableOfInteger.hxx index 4a44d76b8..e68fc34bd 100644 --- a/src/SALOMEDSImpl/SALOMEDSImpl_AttributeTableOfInteger.hxx +++ b/src/SALOMEDSImpl/SALOMEDSImpl_AttributeTableOfInteger.hxx @@ -1,94 +1,109 @@ -// SALOME SALOMEDSImpl : data structure of SALOME and sources of Salome data server +// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE +// +// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License. // -// Copyright (C) 2003 CEA/DEN, EDF R&D +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. // -// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// + +// SALOME SALOMEDSImpl : data structure of SALOME and sources of Salome data server // File : SALOMEDSImpl_AttributeTableOfInteger.hxx // Author : Michael Ponikarov // Module : SALOME - +// #ifndef _SALOMEDSImpl_AttributeTableOfInteger_HeaderFile #define _SALOMEDSImpl_AttributeTableOfInteger_HeaderFile -#include -#include -#include -#include +#include "SALOMEDSImpl_Defines.hxx" +#include "DF_Attribute.hxx" +#include "DF_Label.hxx" #include "SALOMEDSImpl_GenericAttribute.hxx" +#include "SALOMEDSImpl_AttributeTable.hxx" -class Standard_GUID; -class Handle(TDF_Attribute); -class Handle(TDF_RelocationTable); - -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include -DEFINE_STANDARD_HANDLE( SALOMEDSImpl_AttributeTableOfInteger, SALOMEDSImpl_GenericAttribute ) -class SALOMEDSImpl_AttributeTableOfInteger : public SALOMEDSImpl_GenericAttribute +class SALOMEDSIMPL_EXPORT SALOMEDSImpl_AttributeTableOfInteger : + public SALOMEDSImpl_GenericAttribute, public SALOMEDSImpl_AttributeTable { public: -Standard_EXPORT virtual TCollection_AsciiString Save(); -Standard_EXPORT virtual void Load(const TCollection_AsciiString&); -Standard_EXPORT static const Standard_GUID& GetID() ; -Standard_EXPORT static Handle_SALOMEDSImpl_AttributeTableOfInteger Set(const TDF_Label& label) ; -Standard_EXPORT SALOMEDSImpl_AttributeTableOfInteger(); -Standard_EXPORT void SetNbColumns(const Standard_Integer theNbColumns); -Standard_EXPORT void SetTitle(const TCollection_ExtendedString& theTitle) ; -Standard_EXPORT TCollection_ExtendedString GetTitle() const; -Standard_EXPORT void SetRowData(const Standard_Integer theRow,const Handle(TColStd_HSequenceOfInteger)& theData) ; -Standard_EXPORT Handle_TColStd_HSequenceOfInteger GetRowData(const Standard_Integer theRow) ; -Standard_EXPORT void SetRowTitle(const Standard_Integer theRow,const TCollection_ExtendedString& theTitle) ; -Standard_EXPORT void SetRowUnit(const Standard_Integer theRow,const TCollection_ExtendedString& theUnit) ; -Standard_EXPORT TCollection_ExtendedString GetRowUnit(const Standard_Integer theRow) const; -Standard_EXPORT void SetRowUnits(const Handle(TColStd_HSequenceOfExtendedString)& theUnits) ; -Standard_EXPORT Handle(TColStd_HSequenceOfExtendedString) GetRowUnits(); -Standard_EXPORT void SetRowTitles(const Handle(TColStd_HSequenceOfExtendedString)& theTitles) ; -Standard_EXPORT Handle(TColStd_HSequenceOfExtendedString) GetRowTitles(); -Standard_EXPORT TCollection_ExtendedString GetRowTitle(const Standard_Integer theRow) const; -Standard_EXPORT void SetColumnData(const Standard_Integer theColumn,const Handle(TColStd_HSequenceOfInteger)& theData) ; -Standard_EXPORT Handle_TColStd_HSequenceOfInteger GetColumnData(const Standard_Integer theColumn) ; -Standard_EXPORT void SetColumnTitle(const Standard_Integer theColumn,const TCollection_ExtendedString& theTitle) ; -Standard_EXPORT TCollection_ExtendedString GetColumnTitle(const Standard_Integer theColumn) const; -Standard_EXPORT void SetColumnTitles(const Handle(TColStd_HSequenceOfExtendedString)& theTitles); -Standard_EXPORT Handle(TColStd_HSequenceOfExtendedString) GetColumnTitles(); -Standard_EXPORT Standard_Integer GetNbRows() const; -Standard_EXPORT Standard_Integer GetNbColumns() const; + virtual std::string Save(); + virtual void Load(const std::string&); + + static const std::string& GetID(); + static SALOMEDSImpl_AttributeTableOfInteger* Set(const DF_Label& label); + + SALOMEDSImpl_AttributeTableOfInteger(); -Standard_EXPORT void PutValue(const Standard_Integer theValue,const Standard_Integer theRow,const Standard_Integer theColumn) ; -Standard_EXPORT Standard_Boolean HasValue(const Standard_Integer theRow,const Standard_Integer theColumn) ; -Standard_EXPORT Standard_Integer GetValue(const Standard_Integer theRow,const Standard_Integer theColumn) ; -Standard_EXPORT const Standard_GUID& ID() const; -Standard_EXPORT void Restore(const Handle(TDF_Attribute)& with) ; -Standard_EXPORT Handle_TDF_Attribute NewEmpty() const; -Standard_EXPORT void Paste(const Handle(TDF_Attribute)& into,const Handle(TDF_RelocationTable)& RT) const; + void SetNbColumns(const int theNbColumns); + void SetTitle(const std::string& theTitle); + std::string GetTitle() const; + void SetRowData(const int theRow, const std::vector& theData); + std::vector GetRowData(const int theRow); + void SetRowTitle(const int theRow, const std::string& theTitle); + void SetRowUnit(const int theRow, const std::string& theUnit); + std::string GetRowUnit(const int theRow) const; + void SetRowUnits(const std::vector& theUnits); + std::vector GetRowUnits(); + void SetRowTitles(const std::vector& theTitles); + std::vector GetRowTitles(); + std::string GetRowTitle(const int theRow) const; + void SetColumnData(const int theColumn, const std::vector& theData); + std::vector GetColumnData(const int theColumn); + void SetColumnTitle(const int theColumn, const std::string& theTitle); + std::string GetColumnTitle(const int theColumn) const; + void SetColumnTitles(const std::vector& theTitles); + std::vector GetColumnTitles(); + int GetNbRows() const; + int GetNbColumns() const; -Standard_EXPORT Handle_TColStd_HSequenceOfInteger GetSetRowIndices(const Standard_Integer theRow); -Standard_EXPORT Handle_TColStd_HSequenceOfInteger GetSetColumnIndices(const Standard_Integer theColumn); + void PutValue(const int theValue, const int theRow, const int theColumn); + bool HasValue(const int theRow, const int theColumn); + int GetValue(const int theRow, const int theColumn); + void RemoveValue(const int theRow, const int theColumn); + const std::string& ID() const; + void Restore(DF_Attribute* with); + DF_Attribute* NewEmpty() const; + void Paste(DF_Attribute* into); -Standard_EXPORT void ConvertToString(ostrstream& theStream); -Standard_EXPORT bool RestoreFromString(istrstream& theStream); + std::vector GetSetRowIndices(const int theRow); + std::vector GetSetColumnIndices(const int theColumn); -Standard_EXPORT ~SALOMEDSImpl_AttributeTableOfInteger() {} + std::vector SortRow(const int theRow, SortOrder sortOrder, SortPolicy sortPolicy); + std::vector SortColumn(const int theColumn, SortOrder sortOrder, SortPolicy sortPolicy); + std::vector SortByRow(const int theRow, SortOrder sortOrder, SortPolicy sortPolicy); + std::vector SortByColumn(const int theColumn, SortOrder sortOrder, SortPolicy sortPolicy); -private: + void SwapCells(const int theRow1, const int theColumn1, const int theRow2, const int theColumn2); + void SwapRows(const int theRow1, const int theRow2); + void SwapColumns(const int theColumn1, const int theColumn2); -TColStd_DataMapOfIntegerInteger myTable; -TCollection_ExtendedString myTitle; -Handle_TColStd_HSequenceOfExtendedString myRows; -Handle_TColStd_HSequenceOfExtendedString myCols; -Standard_Integer myNbRows; -Standard_Integer myNbColumns; + ~SALOMEDSImpl_AttributeTableOfInteger() {} -public: - DEFINE_STANDARD_RTTI( SALOMEDSImpl_AttributeTableOfInteger ) +private: + std::map myTable; + std::string myTitle; + std::vector myRows; + std::vector myCols; + int myNbRows; + int myNbColumns; }; #endif