X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fconsolewidget.cpp;h=56784fcb311321b1f13cad298c4a28b467a63bf6;hb=b8bab716d9302fbb04d97679ee499eac781f1b22;hp=ce55cc428699421c7364374210b586b8187e5c47;hpb=cdde036d71eb0ea9b450345bd297c8730591b26b;p=architektonas diff --git a/src/consolewidget.cpp b/src/consolewidget.cpp index ce55cc4..56784fc 100644 --- a/src/consolewidget.cpp +++ b/src/consolewidget.cpp @@ -13,24 +13,27 @@ // #include "consolewidget.h" +#include "commandprocessor.h" +#include "promptlineedit.h" +#include "structs.h" -ConsoleWidget::ConsoleWidget(QWidget * parent/*= NULL*/): QWidget(parent) +ConsoleWidget::ConsoleWidget(QWidget * parent/*= NULL*/): QWidget(parent), cmdLine(new PromptLineEdit(this)), screen(new QTextEdit), cmdProc(new CommandProcessor) { - cmdline = new PromptLineEdit(this); - cmdline->setFrame(false); +// cmdLine = new PromptLineEdit(this); + cmdLine->setFrame(false); - screen = new QTextEdit; +// screen = new QTextEdit; screen->setAlignment(Qt::AlignBottom | Qt::AlignLeft); screen->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); screen->setReadOnly(true); QVBoxLayout * mainLayout = new QVBoxLayout; mainLayout->addWidget(screen); - mainLayout->addWidget(cmdline); + mainLayout->addWidget(cmdLine); setLayout(mainLayout); - connect(cmdline, SIGNAL(returnPressed()), this, SLOT(Execute())); + connect(cmdLine, SIGNAL(returnPressed()), this, SLOT(Execute())); QScrollBar * scrollbar = screen->verticalScrollBar(); connect(scrollbar, SIGNAL(rangeChanged(int, int)), this, SLOT(MoveScrollBarToBottom(int, int))); @@ -42,17 +45,27 @@ ConsoleWidget::~ConsoleWidget() void ConsoleWidget::Execute(void) { - screen->append(cmdline->text()); - screen->append("Error: don't know how to '" + cmdline->text() + "'"); - cmdline->clear(); + QString response = cmdProc->Process(cmdLine->text()); + + if (Global::tool == TTNone) + screen->append(cmdLine->text()); + + if (response.length() > 0) + screen->append(response); + + cmdLine->clear(); } -void ConsoleWidget::MoveScrollBarToBottom(int min, int max) +void ConsoleWidget::SetToolPrompt(void) { - Q_UNUSED(min); - screen->verticalScrollBar()->setValue(max); + if (Global::tool == TTParallel) + cmdLine->SetPrompt(QString("Parallel: set distance, number of repeats [%1 [%3]][, %2]").arg(Global::parallelDist / buInInches[Global::parallelBU]).arg(Global::parallelNum).arg(buShortName[Global::parallelBU])); + else + cmdLine->SetPrompt("ATNS"); } -void ConsoleWidget::paintEvent(QPaintEvent * /*event*/) +void ConsoleWidget::MoveScrollBarToBottom(int min, int max) { + Q_UNUSED(min); + screen->verticalScrollBar()->setValue(max); }