summaryrefslogtreecommitdiff
path: root/inc/TDocStd_Document.lxx
blob: 89e8038bc15f307fd913302f5d49ca1ea4b2a819 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
// File:      TDocStd_Document.lxx
// Created:   19.11.02 10:19:39
// Author:    Vladimir ANIKIN
// Copyright: Open CASCADE 2002

#include <TDF_Data.hxx>

//=======================================================================
//function : SetNestedTransactionMode
//purpose  : Sets nested transaction mode if isAllowed == Standard_True
//=======================================================================

inline void
  TDocStd_Document::SetNestedTransactionMode (const Standard_Boolean isAllowed)
{
  myIsNestedTransactionMode = isAllowed;
}

//=======================================================================
//function : SetNestedTransactionMode
//purpose  : Sets nested transaction mode if isAllowed == Standard_True
//=======================================================================

inline Standard_Boolean
  TDocStd_Document::IsNestedTransactionMode () const
{
  return myIsNestedTransactionMode;
}

//=======================================================================
//function : IsModified
//purpose  : returns True if document differs from the state of last saving.
//           this method have to be called only wroking in the transaction mode
//=======================================================================

inline Standard_Boolean
  TDocStd_Document::IsChanged () const
{
  return myData->Time() != mySaveTime;
}

//=======================================================================
//function : SetSaved
//purpose  : This method have to be called to show document that it has been saved
//=======================================================================

inline void
  TDocStd_Document::SetSaved ()
{
  mySaveTime = myData->Time();
}

//=======================================================================
//function : SetModificationMode
//purpose  : if theTransactionOnly is True changes is denied outside transactions
//=======================================================================

inline void TDocStd_Document::SetModificationMode
  (const Standard_Boolean theTransactionOnly)
{
  myOnlyTransactionModification = theTransactionOnly;

  // deny or allow modifications acording to transaction state
  if(myOnlyTransactionModification) {
    myData->AllowModification(myUndoTransaction.IsOpen());
  }
  else {
    myData->AllowModification(Standard_True);
  }
}

//=======================================================================
//function : ModificationMode
//purpose  : returns True if changes allowed only inside transactions
//=======================================================================

inline Standard_Boolean TDocStd_Document::ModificationMode() const
{
  return myOnlyTransactionModification;
}

//=======================================================================
//function : SetSavedTime
//purpose  : Say to document what it is not saved. Use value, returned earlier by GetSavedTime().
//=======================================================================
inline void TDocStd_Document::SetSavedTime (const Standard_Integer theTime)
{
  mySaveTime = theTime;
}

//=======================================================================
//function : GetSavedTime
//purpose  : Returns value of <mySavedTime> to be used later in SetSavedTime()
//=======================================================================
inline Standard_Integer TDocStd_Document::GetSavedTime () const
{
  return mySaveTime;
}