]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Revert "Issue #1843: Set parameters to message on request of the message string"
authordbv <dbv@opencascade.com>
Mon, 21 Nov 2016 08:15:24 +0000 (11:15 +0300)
committerdbv <dbv@opencascade.com>
Fri, 2 Dec 2016 12:45:27 +0000 (15:45 +0300)
This reverts commit ed9f679c423679977166e719ff1f8eafb394174a.

src/Config/Config_Translator.cpp
src/Config/Config_Translator.h
src/Events/Events_InfoMessage.cpp
src/Events/Events_InfoMessage.h

index 3760faca38cc1e6d6e0e05faf57461b278e6e843..420319988ed605a0e501c3272c04e0855af2bb8c 100644 (file)
@@ -109,25 +109,55 @@ std::string Config_Translator::translate(const Events_InfoMessage& theInfo)
 {
   std::string aContext = theInfo.context();
   std::string aMessage = theInfo.messageString();
-  return translate(aContext, aMessage);
+  std::list<std::string> aParameters = theInfo.parameters();
+  return translate(aContext, aMessage, aParameters);
+}
+
+std::string insertParameters(const std::string& theString, const std::list<std::string>& theParams)
+{
+  std::string aResult = theString;
+  std::list<std::string>::const_iterator aIt;
+  int i;
+  char aBuf[20];
+  std::string aParam;
+  for (i=1, aIt = theParams.cbegin(); aIt != theParams.cend(); aIt++, i++) {
+    aParam = (*aIt);
+    sprintf(aBuf, "%d", i);
+    std::string aCode = std::string("%") + std::string(aBuf);
+    size_t aPos = aResult.find(aCode);
+    if (aPos != std::string::npos) {
+      std::string aFirst = aResult.substr(0, aPos);
+      std::string aLast = aResult.substr(aPos + aCode.length(), std::string::npos);
+      aResult = aFirst + aParam + aLast;
+    }
+  }
+  return aResult;
 }
 
 std::string Config_Translator::translate(const std::string& theContext,
-                                         const std::string& theMessage)
+                                         const std::string& theMessage, 
+                                         const std::list<std::string>& theParams)
 {
   if (myTranslator.count(theContext) > 0) {
     if (myTranslator[theContext].count(theMessage) > 0) {
       std::string aTranslation = myTranslator[theContext][theMessage];
+      if (theParams.size() > 0) {
+        aTranslation = insertParameters(aTranslation, theParams);
+      }
       if (aTranslation.size() > 0)
         return aTranslation;
     }
   }
+  std::string aMsg = theMessage;
+  if (theParams.size() > 0) {
+    aMsg = insertParameters(aMsg, theParams);
+  }
 #ifdef _DEBUG
 #ifdef MISSED_TRANSLATION
   myMissed[theContext][theMessage] = "";
 #endif
 #endif
-  return theMessage;
+  return aMsg;
 }
 
 
index 6a07ffcda3e3a04cbcd29cf413dab8996afad4f2..158091be3f6a79c96745b679e14507f3006e8184 100644 (file)
@@ -55,7 +55,8 @@ public:
   * \param theParams a list of parameters (can be empty)
   */
   static CONFIG_EXPORT std::string translate(const std::string& theContext,
-    const std::string& theMessage);
+    const std::string& theMessage, 
+    const std::list<std::string>& theParams = std::list<std::string>());
 
 
   /**
index 54324c1eced772d7c1045f1e680e2ced3f42cbda..38190e4e285244037f57483c71a3ed79bc446e02 100644 (file)
@@ -31,30 +31,3 @@ void Events_InfoMessage::send()
   std::shared_ptr<Events_Message> aMsg(new Events_InfoMessage(*this));
   Events_Loop::loop()->send(aMsg);
 }
-
-
-std::string insertParameters(const std::string& theString, const std::list<std::string>& theParams)
-{
-  std::string aResult = theString;
-  std::list<std::string>::const_iterator aIt;
-  int i;
-  char aBuf[20];
-  std::string aParam;
-  for (i=1, aIt = theParams.cbegin(); aIt != theParams.cend(); aIt++, i++) {
-    aParam = (*aIt);
-    sprintf(aBuf, "%d", i);
-    std::string aCode = std::string("%") + std::string(aBuf);
-    size_t aPos = aResult.find(aCode);
-    if (aPos != std::string::npos) {
-      std::string aFirst = aResult.substr(0, aPos);
-      std::string aLast = aResult.substr(aPos + aCode.length(), std::string::npos);
-      aResult = aFirst + aParam + aLast;
-    }
-  }
-  return aResult;
-}
-
-std::string Events_InfoMessage::messageString() const
-{
-  return insertParameters(myMessage, myParameters);
-}
index 1bfd9a232fa4b70a1b14fd490cc95bc9b20c3355..715c00e599417836ceda555b2638e73f742a86c8 100644 (file)
@@ -53,7 +53,7 @@ public:
   void setMessageString(const std::string& theMsg) { myMessage = theMsg; }
 
   /// Returns message
-  EVENTS_EXPORT std::string messageString() const;
+  std::string messageString() const { return myMessage; }
 
   Events_InfoMessage& operator=(const std::string& theMsg) {
     setMessageString(theMsg);