Esempio n. 1
0
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);
}