void ScriptingWidget::appendPrompt() { QString prompt; InterpreterManager* pInterMgr = dynamic_cast<InterpreterManager*>(mInterpreter.get()); if (pInterMgr != NULL) { Interpreter* pInterpreter = pInterMgr->getInterpreter(); if (pInterMgr->isStarted() && pInterpreter != NULL && mInteractive) { prompt = QString::fromStdString(pInterpreter->getPrompt()); } } mPrompt = prompt; setCurrentFont(font()); setTextColor(Qt::black); if (!prompt.isEmpty()) { QTextCursor cursorPosition = textCursor(); cursorPosition.movePosition(QTextCursor::End); int endPos = cursorPosition.position(); cursorPosition.movePosition(QTextCursor::StartOfLine); int startLinePos = cursorPosition.position(); cursorPosition.movePosition(QTextCursor::End); if (startLinePos != endPos) { cursorPosition.insertText("\n", currentCharFormat()); } cursorPosition.insertText(mPrompt, currentCharFormat()); setTextCursor(cursorPosition); } mCommandStartPos = toPlainText().size(); setCurrentFont(mCommandFont); }