Open CASCADE Technology  7.4.0
Public Member Functions | Static Public Member Functions

Interface_MSG Class Reference

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

#include <Interface_MSG.hxx>

Public Member Functions

 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++ : More...
 
 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));. More...
 
 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. More...
 
 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. More...
 
 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. More...
 
 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..". More...
 
void Destroy ()
 Optimised destructor (applies for additional forms of Create) More...
 
 ~Interface_MSG ()
 
Standard_CString Value () const
 Returns the translated message, in a functional form with operator () was C++ : return const. More...
 
 operator Standard_CString () const
 

Static Public Member Functions

static Standard_Integer Read (Standard_IStream &S)
 Reads a list of messages from a stream, returns read count 0 means empty file, -1 means error. More...
 
static Standard_Integer Read (const Standard_CString file)
 Reads a list of messages from a file defined by its name. More...
 
static 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. More...
 
static 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) More...
 
static Standard_CString Translated (const Standard_CString key)
 Returns the item recorded for a key. Returns the key itself if : More...
 
static 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 : More...
 
static void SetTrace (const Standard_Boolean toprint, const Standard_Boolean torecord)
 Sets the trace system to work when activated, as follow : More...
 
static void SetMode (const Standard_Boolean running, const Standard_Boolean raising)
 Sets the main modes for MSG : More...
 
static void PrintTrace (Standard_OStream &S)
 Prints the recorded errors (without title; can be empty, this is the normally expected case) More...
 
static 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) More...
 
static 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) More...
 
static 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) More...
 
static 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. More...
 
static 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... More...
 
static 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... More...
 
static Standard_CString Blanks (const Standard_Integer count)
 Returns a blank string of <count> blanks (mini 0, maxi 76) More...
 
static 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. More...
 

Detailed Description

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 :

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

Constructor & Destructor Documentation

◆ Interface_MSG() [1/6]

Interface_MSG::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

◆ Interface_MSG() [2/6]

Interface_MSG::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

◆ Interface_MSG() [3/6]

Interface_MSG::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

◆ Interface_MSG() [4/6]

Interface_MSG::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

◆ Interface_MSG() [5/6]

Interface_MSG::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

◆ Interface_MSG() [6/6]

Interface_MSG::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

◆ ~Interface_MSG()

Interface_MSG::~Interface_MSG ( )
inline

Member Function Documentation

◆ Blanks() [1/3]

static Standard_CString Interface_MSG::Blanks ( const Standard_Integer  val,
const Standard_Integer  max 
)
static

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...

◆ Blanks() [2/3]

static Standard_CString Interface_MSG::Blanks ( const Standard_CString  val,
const Standard_Integer  max 
)
static

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...

◆ Blanks() [3/3]

static Standard_CString Interface_MSG::Blanks ( const Standard_Integer  count)
static

Returns a blank string of <count> blanks (mini 0, maxi 76)

◆ CDate()

static Standard_Integer Interface_MSG::CDate ( const Standard_CString  text1,
const Standard_CString  text2 
)
static

Returns a value about comparison of two dates 0 : equal. <0 text1 anterior. >0 text1 posterior.

◆ Destroy()

void Interface_MSG::Destroy ( )

Optimised destructor (applies for additional forms of Create)

◆ Intervalled()

static Standard_Real Interface_MSG::Intervalled ( const Standard_Real  val,
const Standard_Integer  order = 3,
const Standard_Boolean  upper = Standard_False 
)
static

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 ...

◆ IsKey()

static Standard_Boolean Interface_MSG::IsKey ( const Standard_CString  mess)
static

Returns True if a given message is surely a key (according to the form adopted for keys) (before activating messages, answer is false)

◆ NDate()

static 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

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)

◆ operator Standard_CString()

Interface_MSG::operator Standard_CString ( ) const

◆ Print()

static void Interface_MSG::Print ( Standard_OStream S,
const Standard_CString  val,
const Standard_Integer  max,
const Standard_Integer  just = -1 
)
static

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.

◆ PrintTrace()

static void Interface_MSG::PrintTrace ( Standard_OStream S)
static

Prints the recorded errors (without title; can be empty, this is the normally expected case)

◆ Read() [1/2]

static Standard_Integer Interface_MSG::Read ( Standard_IStream S)
static

Reads a list of messages from a stream, returns read count 0 means empty file, -1 means error.

◆ Read() [2/2]

static Standard_Integer Interface_MSG::Read ( const Standard_CString  file)
static

Reads a list of messages from a file defined by its name.

◆ Record()

static void Interface_MSG::Record ( const Standard_CString  key,
const Standard_CString  item 
)
static

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

◆ SetMode()

static void Interface_MSG::SetMode ( const Standard_Boolean  running,
const Standard_Boolean  raising 
)
static

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

◆ SetTrace()

static void Interface_MSG::SetTrace ( const Standard_Boolean  toprint,
const Standard_Boolean  torecord 
)
static

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

◆ TDate()

static 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

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)

◆ Translated()

static Standard_CString Interface_MSG::Translated ( const Standard_CString  key)
static

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

◆ Value()

Standard_CString Interface_MSG::Value ( ) const

Returns the translated message, in a functional form with operator () was C++ : return const.

◆ Write()

static Standard_Integer Interface_MSG::Write ( Standard_OStream S,
const Standard_CString  rootkey = "" 
)
static

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.


The documentation for this class was generated from the following file: