0030773: Application Framework - To allow to inherit existing attributes to reuse...
[occt.git] / src / TDataStd / TDataStd_Comment.hxx
1 // Created on: 1998-01-15
2 // Created by: Denis PASCAL
3 // Copyright (c) 1998-1999 Matra Datavision
4 // Copyright (c) 1999-2014 OPEN CASCADE SAS
5 //
6 // This file is part of Open CASCADE Technology software library.
7 //
8 // This library is free software; you can redistribute it and/or modify it under
9 // the terms of the GNU Lesser General Public License version 2.1 as published
10 // by the Free Software Foundation, with special exception defined in the file
11 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 // distribution for complete text of the license and disclaimer of any warranty.
13 //
14 // Alternatively, this file may be used under the terms of Open CASCADE
15 // commercial license or contractual agreement.
16
17 #ifndef _TDataStd_Comment_HeaderFile
18 #define _TDataStd_Comment_HeaderFile
19
20 #include <TDataStd_GenericExtString.hxx>
21
22 class TDataStd_Comment;
23 DEFINE_STANDARD_HANDLE(TDataStd_Comment, TDataStd_GenericExtString)
24
25 //! Comment attribute. may be  associated to any label
26 //! to store user comment.
27 class TDataStd_Comment : public TDataStd_GenericExtString
28 {
29
30 public:
31
32   
33   //! class methods
34   //! =============
35   //! Returns the GUID for comments.
36   Standard_EXPORT static const Standard_GUID& GetID();
37   
38   //! Find, or create  a   Comment attribute.  the  Comment
39   //! attribute is returned.
40   Standard_EXPORT static Handle(TDataStd_Comment) Set (const TDF_Label& label);
41   
42   //! Finds, or creates a Comment attribute and sets the string.
43   //! the Comment attribute is returned.
44   //! Comment methods
45   //! ============
46   Standard_EXPORT static Handle(TDataStd_Comment) Set (const TDF_Label& label, const TCollection_ExtendedString& string);
47   
48   Standard_EXPORT TDataStd_Comment();
49
50   Standard_EXPORT void Set (const TCollection_ExtendedString& S) Standard_OVERRIDE;
51
52   //! Sets the explicit user defined GUID  to the attribute.
53   Standard_EXPORT void SetID (const Standard_GUID& guid) Standard_OVERRIDE;
54
55   //! Sets default GUID for the attribute.
56   Standard_EXPORT void SetID() Standard_OVERRIDE;
57
58   Standard_EXPORT virtual Standard_OStream& Dump (Standard_OStream& anOS) const Standard_OVERRIDE;
59   
60   DEFINE_DERIVED_ATTRIBUTE(TDataStd_Comment, TDataStd_GenericExtString)
61
62 };
63
64 #endif // _TDataStd_Comment_HeaderFile