HAL  v4.5.0-133-g64838ea8d
The Hardware Analyzer - a comprehensive reverse engineering and manipulation framework for gate-level netlists.
python_console_qss_adapter.cpp
Go to the documentation of this file.
2 #include <QStyle>
3 #include <QHash>
4 
5 namespace hal
6 {
7  PythonConsoleQssAdapter::PythonConsoleQssAdapter(QWidget *parent) : QWidget(parent)
8  {
9  style()->unpolish(this);
10  style()->polish(this);
11  mOldStdrd = standardColor().name();
12  mOldError = errorColor().name();
13  mOldPromt = promtColor().name();
14  hide();
15  }
16 
18  {
19  static PythonConsoleQssAdapter* instance = nullptr;
20  if(!instance)
22 
23  return instance;
24  }
25 
26  QString PythonConsoleQssAdapter::updateStyle(const QString &oldText)
27  {
28  QString retval;
29  style()->unpolish(this);
30  style()->polish(this);
31  QHash<QString,QString> colorLookup;
32  colorLookup[mOldPromt] = promtColor().name();
33  colorLookup[mOldError] = errorColor().name();
34  colorLookup[mOldStdrd] = standardColor().name();
35  int pos0 = 0;
36  for (;;)
37  {
38  int pos1 = oldText.indexOf("color:#",pos0);
39  if (pos1 < 0) break;
40  retval += oldText.mid(pos0,pos1-pos0+6);
41  QString oldColor = oldText.mid(pos1+6,7);
42  retval += colorLookup.value(oldColor,standardColor().name());
43  pos0 = pos1 + 13;
44  }
45  retval += oldText.mid(pos0);
46  mOldStdrd = standardColor().name();
47  mOldError = errorColor().name();
48  mOldPromt = promtColor().name();
49  return retval;
50  }
51 
52  QColor PythonConsoleQssAdapter::standardColor() const
53  {
54  return mStandardColor;
55  }
56 
57  QColor PythonConsoleQssAdapter::errorColor() const
58  {
59  return mErrorColor;
60  }
61 
62  QColor PythonConsoleQssAdapter::promtColor() const
63  {
64  return mPromtColor;
65  }
66 
67  void PythonConsoleQssAdapter::setStandardColor(const QColor &color)
68  {
69  mStandardColor = color;
70  }
71 
72  void PythonConsoleQssAdapter::setErrorColor(const QColor &color)
73  {
74  mErrorColor = color;
75  }
76 
77  void PythonConsoleQssAdapter::setPromtColor(const QColor &color)
78  {
79  mPromtColor = color;
80  }
81 }
Connects the stylesheet properties to the console code.
Definition: defines.h:45
std::string name
std::unique_ptr< BasePluginInterface > instance
const T value(const Key &key) const const
int indexOf(QChar ch, int from, Qt::CaseSensitivity cs) const const
QString mid(int position, int n) const const