]> SALOME platform Git repositories - modules/shaper.git/blobdiff - src/Events/Events_InfoMessage.h
Salome HOME
Send information message for translation
[modules/shaper.git] / src / Events / Events_InfoMessage.h
index 5f745a98b7e51ecaed8af8a6e6fc24ef993e19e9..bf92b3af308f70a815628ecb56e4c92ff789ec13 100644 (file)
 #include <Events_Message.h>
 #include <Events_Loop.h>
 
+/**\class Events_InfoMessage
+ * \ingroup EventsLoop
+ * \brief An event message for sending a string message which has to be translated.
+ */
 class Events_InfoMessage: public Events_Message
 {
 public:
-  Events_InfoMessage(const void* theSender = 0) : 
-      Events_Message(Events_Loop::eventByName("InfoMessage"), theSender) {}
 
+  /// Constructor
+  /// \param theSender a pointer on sender object
+  Events_InfoMessage(const void* theSender = 0):Events_Message(Events_Loop::eventByName("InfoMessage"), theSender) {}
+
+  /// Constructor
+  /// \param theSender a pointer on sender object
+  Events_InfoMessage(const std::string& theContext, 
+    const std::string& theMsg, const void* theSender = 0):
+  Events_Message(Events_Loop::eventByName("InfoMessage"), theSender),
+    myContext(theContext), myMessage(theMsg) {}
+
+  /// default destructor   
+  virtual ~Events_InfoMessage() {}
+
+  /// Identifier of this event (one for all errors)
+  static Events_ID errorID()  { return Events_Loop::loop()->eventByName("InfoMessage"); }
+
+  /// Set a context string
+  /// \param theContext a context string
   void  setContext(const std::string& theContext) { myContext = theContext; } 
 
+
+  /// Returns context string
   std::string context() const { return myContext; }
 
+  /// Set message string for translation
+  /// \param theMsg the string of message
   void setMessage(const std::string& theMsg) { myMessage = theMsg; } 
 
+  /// Returns message
   std::string message() const { return myMessage; }
 
+  /// Add parameter for message string of string type
+  /// \param theParam the parameter
   void addParameter(const std::string& theParam) 
   { 
     myParameters.push_back(theParam); 
   }
 
+  /// Add parameter for message string of double type
+  /// \param theParam the parameter
   void addParameter(double theParam) 
   { 
     char aBuf[50];
@@ -38,6 +68,8 @@ public:
     myParameters.push_back(aStr); 
   }
 
+  /// Add parameter for message string of integer type
+  /// \param theParam the parameter
   void addParameter(int theParam) 
   { 
     char aBuf[50];
@@ -46,8 +78,26 @@ public:
     myParameters.push_back(aStr); 
   }
 
+  /// Returns list of parameters
   std::list<std::string> parameters() const { return myParameters; }
 
+  /// Add parameter for message string of string type
+  /// \param theParam the parameter
+  Events_InfoMessage& arg(const std::string& theParam) { addParameter(theParam); return *this; }
+
+  /// Add parameter for message string of integer type
+  /// \param theParam the parameter
+  Events_InfoMessage& arg(int theParam) { addParameter(theParam); return *this; }
+
+  /// Add parameter for message string of double type
+  /// \param theParam the parameter
+  Events_InfoMessage& arg(double theParam) { addParameter(theParam); return *this; }
+
+  void send() { 
+    std::shared_ptr<Events_Message> aMsg(new Events_InfoMessage(*this));
+    Events_Loop::loop()->send(aMsg); 
+  }
+
 private:
 
   /// Context of the messgae