• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeedu API Reference
  • KDE Home
  • Contact Us
 

rocs/App

  • sources
  • kde-4.12
  • kdeedu
  • rocs
  • App
  • Ui
ScriptOutputWidget.cpp
Go to the documentation of this file.
1 /*
2  This file is part of Rocs.
3  Copyright 2012 Andreas Cord-Landwehr <cola@uni-paderborn.de>
4 
5  This program is free software; you can redistribute it and/or
6  modify it under the terms of the GNU General Public License as
7  published by the Free Software Foundation; either version 2 of
8  the License, or (at your option) any later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18 
19 #include "ScriptOutputWidget.h"
20 #include "DocumentManager.h"
21 #include "EngineModules/Console/ConsoleModule.h"
22 #include <QWidget>
23 #include <QtScriptBackend.h>
24 #include <KDebug>
25 
26 ScriptOutputWidget::ScriptOutputWidget(QWidget* parent)
27  : QWidget(parent),
28  _console(0)
29 {
30  ui = new Ui::ScriptOutputWidget;
31  ui->setupUi(this);
32 
33  // set icon
34  ui->buttonEnableDebugOutput->setIcon(KIcon("tools-report-bug"));
35  ui->buttonDisableClear->setIcon(KIcon("document-decrypt"));
36  ui->buttonClear->setIcon(KIcon("edit-clear-list"));
37 
38  connect(ui->buttonEnableDebugOutput, SIGNAL(clicked(bool)), this, SLOT(showDebugOutput(bool)));
39  connect(ui->buttonDisableClear, SIGNAL(clicked(bool)), this, SLOT(updateFixOutputButton()));
40  connect(ui->buttonClear, SIGNAL(clicked(bool)), this, SLOT(clear()));
41 }
42 
43 void ScriptOutputWidget::unsetConsoleInterface()
44 {
45  if (_console) {
46  _console->disconnect(this);
47  }
48  _console = 0;
49 }
50 
51 void ScriptOutputWidget::setConsoleInterface(ConsoleModule* console)
52 {
53  unsetConsoleInterface();
54  _console = console;
55 
56  connect(console, SIGNAL(backlogChanged(ConsoleModule::MessageType,QString)),
57  this, SLOT(appendOutput(ConsoleModule::MessageType,QString)));
58 }
59 
60 ConsoleModule * ScriptOutputWidget::consoleInterface() const
61 {
62  return _console;
63 }
64 
65 void ScriptOutputWidget::updateFixOutputButton()
66 {
67  if (ui->buttonDisableClear->isChecked() == true) {
68  ui->buttonDisableClear->setIcon(KIcon("document-encrypt"));
69  }
70  else {
71  ui->buttonDisableClear->setIcon(KIcon("document-decrypt"));
72  }
73 }
74 
75 void ScriptOutputWidget::clear()
76 {
77  ui->dbgOutput->clear();
78  ui->txtOutput->clear();
79 }
80 
81 bool ScriptOutputWidget::isOutputClearEnabled() const
82 {
83  return !ui->buttonDisableClear->isChecked();
84 }
85 
86 void ScriptOutputWidget::appendOutput(ConsoleModule::MessageType type, const QString& message)
87 {
88  switch(type)
89  {
90  case ConsoleModule::Log:
91  ui->txtOutput->append(message);
92  ui->dbgOutput->append("<i>" + message + "</i>");
93  break;
94  case ConsoleModule::Debug:
95  ui->dbgOutput->append("<span style=\"color: green\">" + message + "</span>");
96  break;
97  case ConsoleModule::Error:
98  ui->txtOutput->append("<b style=\"color: red\">" + message + "</b>");
99  ui->dbgOutput->append("<b style=\"color: red\">" + message + "</b>");
100  break;
101  default:
102  kWarning() << "Unknown message type, aborting printing.";
103  }
104 }
105 
106 void ScriptOutputWidget::showDebugOutput(bool show)
107 {
108  if (show && !ui->buttonEnableDebugOutput->isChecked()) {
109  ui->buttonEnableDebugOutput->toggle();
110  }
111  if (!show && ui->buttonEnableDebugOutput->isChecked()) {
112  ui->buttonEnableDebugOutput->toggle();
113  }
114  if (show) {
115  ui->output->setCurrentIndex(1);
116  } else {
117  ui->output->setCurrentIndex(0);
118  }
119 }
ScriptOutputWidget::appendOutput
void appendOutput(ConsoleModule::MessageType type, const QString &message)
Definition: ScriptOutputWidget.cpp:86
QWidget
ScriptOutputWidget::showDebugOutput
void showDebugOutput(bool show=true)
Definition: ScriptOutputWidget.cpp:106
ScriptOutputWidget.h
ScriptOutputWidget::consoleInterface
ConsoleModule * consoleInterface() const
Definition: ScriptOutputWidget.cpp:60
ScriptOutputWidget::clear
void clear()
Definition: ScriptOutputWidget.cpp:75
ScriptOutputWidget::isOutputClearEnabled
bool isOutputClearEnabled() const
Definition: ScriptOutputWidget.cpp:81
ScriptOutputWidget::setConsoleInterface
void setConsoleInterface(ConsoleModule *console)
Definition: ScriptOutputWidget.cpp:51
ScriptOutputWidget::unsetConsoleInterface
void unsetConsoleInterface()
Definition: ScriptOutputWidget.cpp:43
ScriptOutputWidget::ScriptOutputWidget
ScriptOutputWidget(QWidget *parent=0)
Definition: ScriptOutputWidget.cpp:26
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:42:22 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

rocs/App

Skip menu "rocs/App"
  • Main Page
  • Namespace List
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdeedu API Reference

Skip menu "kdeedu API Reference"
  • Analitza
  •     lib
  • kalgebra
  • kalzium
  •   libscience
  • kanagram
  • kig
  •   lib
  • klettres
  • kstars
  • libkdeedu
  •   keduvocdocument
  • marble
  • parley
  • rocs
  •   App
  •   RocsCore
  •   VisualEditor
  •   stepcore

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal