Files
Upsilon/apps/shared/toolbox_helpers.cpp
Léa Saviot 8668de21a1 [code] MathToolbox cleaning.
Removed some constants by computing the text to insert in the textfield from the command
with arguments. Used the TextToInsertForCommandMessage method from
toolbox_helpers.h.

Change-Id: I864ad886fb74882f476d74160e427595be27df40
2017-11-17 11:59:50 +01:00

43 lines
1008 B
C++

#include "toolbox_helpers.h"
#include <string.h>
namespace Shared {
namespace ToolboxHelpers {
int CursorIndexInCommand(const char * text) {
for (int i = 0; i < strlen(text); i++) {
if (text[i] == '(') {
return i + 1;
} else if (text[i] == '.') {
return i;
}
}
return strlen(text);
}
void TextToInsertForCommandMessage(I18n::Message message, char * buffer) {
const char * messageText = I18n::translate(message);
int currentNewTextIndex = 0;
int numberOfOpenBrackets = 0;
for (int i = 0; i < strlen(messageText); i++) {
if (messageText[i] == '.') {
currentNewTextIndex = 0;
numberOfOpenBrackets = 0;
} else if (messageText[i] == ')') {
numberOfOpenBrackets--;
}
if (numberOfOpenBrackets == 0 || messageText[i] == ',')
{
buffer[currentNewTextIndex] = messageText[i];
buffer[currentNewTextIndex + 1] = 0;
currentNewTextIndex++;
}
if (messageText[i] == '(') {
numberOfOpenBrackets++;
}
}
}
}
}