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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
|
-- File: Message_Msg.cdl
-- Created: 18.01.01 16:55:51
-- Author: OCC Team
---Copyright: Open CASCADE S.A. 2005
class Msg from Message
---Purpose: This class provides a tool for constructing the parametrized message
-- basing on resources loaded by Message_MsgFile tool.
--
-- A Message is created from a keyword: this keyword identifies the
-- message in a message file that should be previously loaded by call
-- to Message_MsgFile::LoadFile().
--
-- The text of the message can contain placeholders for the parameters
-- which are to be filled by the proper values when the message
-- is prepared. Most of the format specifiers used in C can be used,
-- for instance, %s for string, %d for integer etc. In addition,
-- specifier %f is supported for double numbers (for compatibility
-- with previous versions).
--
-- User fills the parameter fields in the text of the message by
-- calling corresponding methods Arg() or operators "<<".
--
-- The resulting message, filled with all parameters, can be obtained
-- by method Get(). If some parameters were not filled, the text
-- UNKNOWN is placed instead.
uses
AsciiString from TCollection,
HAsciiString from TCollection,
ExtendedString from TCollection,
HExtendedString from TCollection,
SequenceOfInteger from TColStd
is
Create returns Msg from Message;
---Purpose : Empty constructor
Create (theMsg: Msg from Message) returns Msg from Message;
---Purpose : Copy constructor
Create (theKey: CString) returns Msg from Message;
---Purpose : Create a message using a corresponding entry in Message_MsgFile
Create (theKey: ExtendedString from TCollection) returns Msg from Message;
---Purpose : Create a message using a corresponding entry in Message_MsgFile
Set (me: in out; theMsg: CString);
---Purpose : Set a message body text -- can be used as alternative to
-- using messages from resource file
Set (me: in out; theMsg: ExtendedString from TCollection);
---Purpose : Set a message body text -- can be used as alternative to
-- using messages from resource file
-- Adding arguments
Arg (me: in out; theString : CString)
returns Msg from Message;
---C++: return &
---C++: alias operator <<
---Purpose : Set a value for %..s conversion
Arg (me: in out; theString : AsciiString from TCollection)
returns Msg from Message;
---C++: return &
---C++: inline
---C++: alias operator <<
---Purpose : Set a value for %..s conversion
Arg (me: in out; theString : HAsciiString from TCollection)
returns Msg from Message;
---C++: return &
---C++: inline
---C++: alias operator <<
---Purpose : Set a value for %..s conversion
Arg (me: in out; theString : ExtendedString from TCollection)
returns Msg from Message;
---C++: return &
---C++: alias operator <<
---Purpose : Set a value for %..s conversion
Arg (me: in out; theString : HExtendedString from TCollection)
returns Msg from Message;
---C++: return &
---C++: inline
---C++: alias operator <<
---Purpose : Set a value for %..s conversion
Arg (me: in out; theInt : Integer)
returns Msg from Message;
---C++: return &
---C++: alias operator <<
---Purpose : Set a value for %..d, %..i, %..o, %..u, %..x or %..X conversion
Arg (me: in out; theReal : Real)
returns Msg from Message;
---C++: return &
---C++: alias operator <<
---Purpose : Set a value for %..f, %..e, %..E, %..g or %..G conversion
Original (me) returns ExtendedString from TCollection;
---C++: inline
---C++: return const &
---Purpose : Returns the original message text
Value (me) returns ExtendedString from TCollection;
---C++: inline
---C++: return const &
---Purpose : Returns current state of the message text with
-- parameters to the moment
IsEdited (me) returns Boolean;
---C++: inline
---Purpose : Tells if Value differs from Original
Get (me: in out)
returns ExtendedString from TCollection;
---C++: return const &
---C++: alias "operator const TCollection_ExtendedString& () { return Get(); }"
---Purpose : Return the resulting message string with all parameters
-- filled. If some parameters were not yet filled by calls
-- to methods Arg (or <<), these parameters are filled by
-- the word UNKNOWN
-- Private methods
getFormat (me: in out; theType : Integer;
theFormat : in out AsciiString from TCollection)
returns Integer is private;
replaceText (me: in out; theFirst : Integer;
theNb : Integer;
theStr : ExtendedString from TCollection) is private;
fields
myOriginal : ExtendedString from TCollection;
myMessageBody : ExtendedString from TCollection;
mySeqOfFormats : SequenceOfInteger from TColStd;
end Msg;
|