OCC Main Page | DataExchange | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

DataExchange
TKXSBase
Interface


Interface_MSG Class Reference

This class gives a set of functions to manage and use a list
of translated messages (messagery)

Keys are strings, their corresponding (i.e. translated) items
are strings, managed by a dictionary (a global one).

If the dictionary is not set, or if a key is not recorded,
the key is returned as item, and it is possible to :
- trace or not this fail, record or not it for further trace

It is also possible to suspend the translation (keys are then
always returned as items)

This class also provides a file format for loading :
It is made of couples of lines, the first one begins by '@'
the following is the key, the second one is the message
Lines which are empty or which begin by '' are skipped
. More...

#include <Interface_MSG.hxx>


Public Member Functions

void * operator new (size_t, void *anAddress)
void * operator new (size_t size)
void operator delete (void *anAddress)
Standard_EXPORT Interface_MSG (const Standard_CString key)
 A MSG is created to write a "functional code" in conjunction
with operator () attached to Value
Then, to have a translated message, write in C++ :

Interface_MSG("...mykey...") which returns a CString
See also some help which follow
.
Standard_EXPORT Interface_MSG (const Standard_CString key, const Standard_Integer i1)
 Translates a message which contains one integer variable
It is just a help which avoid the following :
char mess[100]; sprintf(mess,Interface_MSG("code"),ival);
then AddFail(mess);
replaced by AddFail (Interface_MSG("code",ival));

The basic message is intended to be in C-sprintf format,
with one d form in it
.
Standard_EXPORT Interface_MSG (const Standard_CString key, const Standard_Integer i1, const Standard_Integer i2)
 Translates a message which contains two integer variables
As for one integer, it is just a writing help

The basic message is intended to be in C-sprintf format
with two d forms in it
.
Standard_EXPORT Interface_MSG (const Standard_CString key, const Standard_Real r1, const Standard_Integer intervals=-1)
 Translates a message which contains one real variable
<intervals> if set, commands the variable to be rounded to an
interval (see below, method Intervals)
As for one integer, it is just a writing help

The basic message is intended to be in C-sprintf format
with one f form (or equivalent : e etc) in it
.
Standard_EXPORT Interface_MSG (const Standard_CString key, const Standard_CString str)
 Translates a message which contains one string variable
As for one integer, it is just a writing help

The basic message is intended to be in C-sprintf format
with one s form in it
.
Standard_EXPORT Interface_MSG (const Standard_CString key, const Standard_Integer ival, const Standard_CString str)
 Translates a message which contains one integer and one
string variables
As for one integer, it is just a writing help
Used for instance to say "Param n0.<ival> i.e. <str> is not.."

The basic message is intended to be in C-sprintf format
with one d then one s forms in it
.
Standard_EXPORT void Destroy ()
 Optimised destructor (applies for additional forms of Create)
.
 ~Interface_MSG ()
Standard_EXPORT Standard_CString Value () const
 Returns the translated message, in a functional form with
operator ()
was C++ : return const
.
 operator Standard_CString () const

Static Public Member Functions

static Standard_EXPORT Standard_Integer Read (Standard_IStream &S)
 Reads a list of messages from a stream, returns read count
0 means empty file, -1 means error
.
static Standard_EXPORT Standard_Integer Read (const Standard_CString file)
 Reads a list of messages from a file defined by its name
.
static Standard_EXPORT Standard_Integer Write (Standard_OStream &S, const Standard_CString rootkey="")
 Writes the list of messages recorded to be translated, to a
stream. Writes all the list (Default) or only keys which begin
by <rootkey>. Returns the count of written messages
.
static Standard_EXPORT Standard_Boolean IsKey (const Standard_CString mess)
 Returns True if a given message is surely a key
(according to the form adopted for keys)
(before activating messages, answer is false)
.
static Standard_EXPORT Standard_CString Translated (const Standard_CString key)
 Returns the item recorded for a key.
Returns the key itself if :
- it is not recorded (then, the trace system is activated)
- MSG has been required to be hung on
.
static Standard_EXPORT void Record (const Standard_CString key, const Standard_CString item)
 Fills the dictionary with a couple (key-item)
If a key is already recorded, it is possible to :
- keep the last definition, and activate the trace system
.
static Standard_EXPORT void SetTrace (const Standard_Boolean toprint, const Standard_Boolean torecord)
 Sets the trace system to work when activated, as follow :
- if <toprint> is True, print immediately on standard output
- if <torecord> is True, record it for further print
.
static Standard_EXPORT void SetMode (const Standard_Boolean running, const Standard_Boolean raising)
 Sets the main modes for MSG :
- if <running> is True, translation works normally
- if <running> is False, translated item equate keys
- if <raising> is True, errors (from Record or Translate)
cause MSG to raise an exception
- if <raising> is False, MSG runs without exception, then
see also Trace Modes above
.
static Standard_EXPORT void PrintTrace (Standard_OStream &S)
 Prints the recorded errors (without title; can be empty, this
is the normally expected case)
.
static Standard_EXPORT Standard_Real Intervalled (const Standard_Real val, const Standard_Integer order=3, const Standard_Boolean upper=Standard_False)
 Returns an "intervalled" value from a starting real <val> :
i.e. a value which is rounded on an interval limit
Interval limits are defined to be in a coarsely "geometric"
progression (two successive intervals are inside a limit ratio)

<order> gives the count of desired intervals in a range <1-10>
<upper> False, returns the first lower interval (D)
<upper> True, returns the first upper interval
Values of Intervals according <order> :
0,1 : 1 10 100 ...
2 : 1 3 10 30 100 ...
3(D): 1 2 5 10 20 50 100 ...
4 : 1 2 3 6 10 20 30 60 100 ...
6 : 1 1.5 2 3 5 7 10 15 20 ...
10 : 1 1.2 1.5 2 2.5 3 4 5 6 8 10 12 15 20 25 ...
.
static Standard_EXPORT void TDate (const Standard_CString text, const Standard_Integer yy, const Standard_Integer mm, const Standard_Integer dd, const Standard_Integer hh, const Standard_Integer mn, const Standard_Integer ss, const Standard_CString format="")
 Codes a date as a text, from its numeric value (-> seconds) :
YYYY-MM-DD:HH-MN-SS fixed format, completed by leading zeros
Another format can be provided, as follows :
C:d ... C like format, preceeded by C:
S:... format to call system (not yet implemented)
.
static Standard_EXPORT Standard_Boolean NDate (const Standard_CString text, Standard_Integer &yy, Standard_Integer &mm, Standard_Integer &dd, Standard_Integer &hh, Standard_Integer &mn, Standard_Integer &ss)
 Decodes a date to numeric integer values
Returns True if OK, False if text does not fit with required
format. Incomplete forms are allowed (for instance, for only
YYYY-MM-DD, hour is zero)
.
static Standard_EXPORT Standard_Integer CDate (const Standard_CString text1, const Standard_CString text2)
 Returns a value about comparison of two dates
0 : equal. <0 text1 anterior. >0 text1 posterior
.
static Standard_EXPORT Standard_CString Blanks (const Standard_Integer val, const Standard_Integer max)
 Returns a blank string, of length between 0 and <max>, to fill
the printing of a numeric value <val>, i.e. :
If val < 10 , max-1 blanks
If val between 10 and 99, max-2 blanks ... etc...
.
static Standard_EXPORT Standard_CString Blanks (const Standard_CString val, const Standard_Integer max)
 Returns a blank string, to complete a given string <val> up to
<max> characters :
If strlen(val) is 0, max blanks
If strlen(val) is 5, max-5 blanks etc...
.
static Standard_EXPORT Standard_CString Blanks (const Standard_Integer count)
 Returns a blank string of <count> blanks (mini 0, maxi 76)
.
static Standard_EXPORT void Print (Standard_OStream &S, const Standard_CString val, const Standard_Integer max, const Standard_Integer just=-1)
 Prints a String on an Output Stream, as follows :
Accompagned with blanks, to give up to <max> charis at all,
justified according just :
-1 (D) : left 0 : center 1 : right
Maximum 76 characters
.

Private Attributes

Standard_CString thekey
Standard_PCharacter theval


Detailed Description

@


Constructor & Destructor Documentation

Standard_EXPORT Interface_MSG::Interface_MSG const Standard_CString  key  ) 
 

Standard_EXPORT Interface_MSG::Interface_MSG const Standard_CString  key,
const Standard_Integer  i1
 

Standard_EXPORT Interface_MSG::Interface_MSG const Standard_CString  key,
const Standard_Integer  i1,
const Standard_Integer  i2
 

Standard_EXPORT Interface_MSG::Interface_MSG const Standard_CString  key,
const Standard_Real  r1,
const Standard_Integer  intervals = -1
 

Standard_EXPORT Interface_MSG::Interface_MSG const Standard_CString  key,
const Standard_CString  str
 

Standard_EXPORT Interface_MSG::Interface_MSG const Standard_CString  key,
const Standard_Integer  ival,
const Standard_CString  str
 

Interface_MSG::~Interface_MSG  )  [inline]
 


Member Function Documentation

static Standard_EXPORT Standard_CString Interface_MSG::Blanks const Standard_Integer  count  )  [static]
 

static Standard_EXPORT Standard_CString Interface_MSG::Blanks const Standard_CString  val,
const Standard_Integer  max
[static]
 

static Standard_EXPORT Standard_CString Interface_MSG::Blanks const Standard_Integer  val,
const Standard_Integer  max
[static]
 

static Standard_EXPORT Standard_Integer Interface_MSG::CDate const Standard_CString  text1,
const Standard_CString  text2
[static]
 

Standard_EXPORT void Interface_MSG::Destroy  ) 
 

static Standard_EXPORT Standard_Real Interface_MSG::Intervalled const Standard_Real  val,
const Standard_Integer  order = 3,
const Standard_Boolean  upper = Standard_False
[static]
 

static Standard_EXPORT Standard_Boolean Interface_MSG::IsKey const Standard_CString  mess  )  [static]
 

static Standard_EXPORT Standard_Boolean Interface_MSG::NDate const Standard_CString  text,
Standard_Integer &  yy,
Standard_Integer &  mm,
Standard_Integer &  dd,
Standard_Integer &  hh,
Standard_Integer &  mn,
Standard_Integer &  ss
[static]
 

void Interface_MSG::operator delete void *  anAddress  )  [inline]
 

void* Interface_MSG::operator new size_t  size  )  [inline]
 

void* Interface_MSG::operator new size_t  ,
void *  anAddress
[inline]
 

Interface_MSG::operator Standard_CString  )  const
 

static Standard_EXPORT void Interface_MSG::Print Standard_OStream &  S,
const Standard_CString  val,
const Standard_Integer  max,
const Standard_Integer  just = -1
[static]
 

static Standard_EXPORT void Interface_MSG::PrintTrace Standard_OStream &  S  )  [static]
 

static Standard_EXPORT Standard_Integer Interface_MSG::Read const Standard_CString  file  )  [static]
 

static Standard_EXPORT Standard_Integer Interface_MSG::Read Standard_IStream &  S  )  [static]
 

static Standard_EXPORT void Interface_MSG::Record const Standard_CString  key,
const Standard_CString  item
[static]
 

static Standard_EXPORT void Interface_MSG::SetMode const Standard_Boolean  running,
const Standard_Boolean  raising
[static]
 

static Standard_EXPORT void Interface_MSG::SetTrace const Standard_Boolean  toprint,
const Standard_Boolean  torecord
[static]
 

static Standard_EXPORT void Interface_MSG::TDate const Standard_CString  text,
const Standard_Integer  yy,
const Standard_Integer  mm,
const Standard_Integer  dd,
const Standard_Integer  hh,
const Standard_Integer  mn,
const Standard_Integer  ss,
const Standard_CString  format = ""
[static]
 

static Standard_EXPORT Standard_CString Interface_MSG::Translated const Standard_CString  key  )  [static]
 

Standard_EXPORT Standard_CString Interface_MSG::Value  )  const
 

static Standard_EXPORT Standard_Integer Interface_MSG::Write Standard_OStream &  S,
const Standard_CString  rootkey = ""
[static]
 


Field Documentation

Standard_CString Interface_MSG::thekey [private]
 

Standard_PCharacter Interface_MSG::theval [private]
 


The documentation for this class was generated from the following file:
Generated on Mon Aug 25 14:41:37 2008 for OpenCASCADE by  doxygen 1.4.1