45 FXText(parent, nullptr, 0, 0, 0, 0, 0, 50),
46 myStyles(new FXHiliteStyle[8]),
47 myErrorRetriever(nullptr),
48 myMessageRetriever(nullptr),
49 myWarningRetriever(nullptr) {
52 const FXColor white = FXRGB(0xff, 0xff, 0xff);
53 const FXColor blue = FXRGB(0x00, 0x00, 0x88);
54 const FXColor green = FXRGB(0x00, 0x88, 0x00);
55 const FXColor red = FXRGB(0x88, 0x00, 0x00);
56 const FXColor yellow = FXRGB(0xe6, 0x98, 0x00);
57 const FXColor fuchsia = FXRGB(0x88, 0x00, 0x88);
83 myStyles[3].normalForeColor = yellow;
84 myStyles[3].selectBackColor = yellow;
85 myStyles[3].hiliteForeColor = yellow;
90 myStyles[7].normalForeColor = fuchsia;
91 myStyles[7].selectBackColor = fuchsia;
92 myStyles[7].hiliteForeColor = fuchsia;
108 const FXint idS =
MAX2(text.rfind(
" '", pos), text.rfind(
"='", pos));
109 const FXint idE = text.find(
"'", pos);
110 if (idS >= 0 && idE >= 0 && idS >= lineS && idE <= lineE) {
111 const FXint typeS = text.rfind(
" ", idS - 1);
113 std::string type(text.mid(typeS + 1, idS - typeS - 1).lower().text());
114 if (type ==
"tllogic") {
116 }
else if (type ==
"busstop" || type ==
"trainstop") {
118 }
else if (type ==
"containerstop") {
119 type =
"containerStop";
120 }
else if (type ==
"chargingstation") {
121 type =
"chargingStation";
122 }
else if (type ==
"parkingarea") {
123 type =
"parkingArea";
125 const std::string id(text.mid(idS + 2, idE - idS - 2).text());
135 FXText::setCursorPos(pos, notify);
138 std::vector<std::string> viewIDs =
main->getViewIDs();
139 if (viewIDs.empty()) {
143 const FXString text = getText();
145 if (glObj !=
nullptr) {
148 if (getApp()->getKeyState(KEY_Control_L)) {
187 FXString text(msg.c_str());
189 FXint pos = text.find(
"'");
192 if (glObj !=
nullptr) {
194 FXString insText = text.left(pos + 1);
195 FXText::appendStyledText(insText, style + 1);
196 text.erase(0, pos + 1);
197 pos = text.find(
"'");
198 insText = text.left(pos);
199 FXText::appendStyledText(insText, style + 4);
202 pos = text.find(
"'", pos + 1);
206 FXText::appendStyledText(text, style + 1,
true);
207 FXText::setCursorPos(getLength() - 1);
208 FXText::setBottomLine(getLength() - 1);
218 std::string msg =
"----------------------------------------------------------------------------------------\n";
219 FXText::appendStyledText(msg.c_str(), (FXint) msg.length(), 1,
true);
220 FXText::setCursorPos(getLength() - 1);
221 FXText::setBottomLine(getLength() - 1);
231 if (getLength() == 0) {
234 FXText::removeText(0, getLength() - 1,
true);