Update of header of files in context of License text
[occt.git] / src / Message / Message_ProgressScale.cdl
1 -- Created on: 2002-02-20
2 -- Created by: Andrey BETENEV
3 -- Copyright (c) 2002-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 class ProgressScale from Message 
17
18     ---Purpose: Internal data structure for scale in ProgressIndicator
19     --
20     --          Basically it defines three things:
21     --          - name that can be used for generating user messages
22     --          - limits and characteristics of the current scale,
23     --            along with derived coefficients to map it into basic scale [0-1]
24     --          - methods for conversion of values from current scale
25     --            to basic one and back
26     --
27     --          NOTE: There is no special protection against bad input data
28     --          like min > max etc. except cases when it can cause exception
29
30 uses
31     HAsciiString from TCollection
32 is
33
34     Create returns ProgressScale from Message;
35         ---Purpose: Creates scale ranged from 0 to 100 with step 1
36
37     ---Scope: Access to fields
38
39     SetName(me : out; theName : CString);
40         ---C++:inline
41     SetName(me : out; theName : HAsciiString from TCollection);
42         ---C++:inline
43         ---Purpose: Sets scale name
44     
45     GetName(me) returns HAsciiString from TCollection;
46         ---C++:inline
47         ---Purpose: Gets scale name
48         --          Name may be Null handle if not set
49
50     SetMin(me : out; theMin : Real);
51         ---C++:inline
52         ---Purpose: Sets minimum value of scale
53     
54     GetMin(me) returns Real;
55         ---C++:inline
56         ---Purpose: Gets minimum value of scale
57
58     SetMax(me : out; theMax : Real);
59         ---C++:inline
60         ---Purpose: Sets minimum value of scale
61     
62     GetMax(me) returns Real;
63         ---C++:inline
64         ---Purpose: Gets minimum value of scale
65
66     SetRange (me: out; min, max: Real);
67         ---C++: inline
68         ---Purpose: Set both min and max
69         
70     SetStep(me : out; theStep : Real);
71         ---C++:inline
72         ---Purpose: Sets default step
73     
74     GetStep(me) returns Real;
75         ---C++:inline
76         ---Purpose: Gets default step
77
78     SetInfinite(me : out; theInfinite : Boolean = Standard_True);
79         ---C++:inline
80         ---Purpose: Sets flag for infinite scale
81     
82     GetInfinite(me) returns Boolean;
83         ---C++:inline
84         ---Purpose: Gets flag for infinite scale
85
86     SetScale (me: out; min, max, step: Real; theInfinite : Boolean = Standard_True);
87         ---C++: inline
88         ---Purpose: Set all scale parameters
89         
90     ---Scope: Mapping to base scale
91     
92     SetSpan (me: out; first, last: Real);
93         ---C++: inline
94         ---Purpose: Defines span occupied by the scale on the basis scale
95         
96     GetFirst (me) returns Real;
97         ---C++: inline
98     GetLast (me) returns Real;
99         ---C++: inline
100         ---Purpose: Return information on span occupied by the scale on the base scale
101         
102     LocalToBase (me; val: Real) returns Real;
103     BaseToLocal (me; val: Real) returns Real;
104         ---Purpose: Convert value from this scale to base one and back
105
106 fields
107     
108     myName: HAsciiString from TCollection; -- name
109     
110     myMin, myMax: Real;     -- range of a scale
111     myStep : Real;          -- default step
112     myInfinite: Boolean;    -- flag for infinite scale
113
114     myFirst, myLast : Real; -- span on base scale
115
116 end ProgressScale;