0022048: Visualization, AIS_InteractiveContext - single object selection should alway...
[occt.git] / src / LDOM / LDOM_CharacterData.hxx
1 // Created on: 2001-09-12
2 // Created by: Alexander GRIGORIEV
3 // Copyright (c) 2001-2014 OPEN CASCADE SAS
4 //
5 // This file is part of Open CASCADE Technology software library.
6 //
7 // This library is free software; you can redistribute it and/or modify it under
8 // the terms of the GNU Lesser General Public License version 2.1 as published
9 // by the Free Software Foundation, with special exception defined in the file
10 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11 // distribution for complete text of the license and disclaimer of any warranty.
12 //
13 // Alternatively, this file may be used under the terms of Open CASCADE
14 // commercial license or contractual agreement.
15
16 #ifndef LDOM_CharacterData_HeaderFile
17 #define LDOM_CharacterData_HeaderFile
18
19 #include <LDOM_Node.hxx>
20
21 class LDOM_BasicText;
22
23 //  Class LDOM_CharacterData
24 //
25
26 class LDOM_CharacterData : public LDOM_Node
27 {
28  public:
29   // ---------- PUBLIC METHODS ----------
30
31   LDOM_CharacterData () : myLength (-1) {}
32   // Empty constructor
33
34   LDOM_CharacterData (const LDOM_CharacterData& theOther)
35     : LDOM_Node (theOther), myLength (-1) {}
36   // Copy constructor
37
38   Standard_EXPORT LDOM_CharacterData&
39                         operator =      (const LDOM_NullPtr * aNull);
40   // Nullify
41
42   Standard_EXPORT LDOM_CharacterData&
43                         operator =      (const LDOM_CharacterData& anOther);
44   // Assignment
45
46   LDOMString            getData         () const { return getNodeValue(); }
47   // Query data
48
49   Standard_EXPORT void  setData         (const LDOMString& aValue);
50   // Assign to data
51
52   Standard_EXPORT Standard_Integer
53                         getLength       () const;
54   // Length of the string
55
56  protected:
57   // ---------- PROTECTED METHODS ----------
58
59   LDOM_CharacterData                    (const LDOM_BasicText&          aText,
60                                          const Handle(LDOM_MemManager)& aDoc);
61  private:
62   // ------------ PRIVATE FIELDS -----------
63   Standard_Integer      myLength;
64
65 };
66
67 #endif