-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathpqAbstractStringEventPlayer.cxx
78 lines (66 loc) · 1.94 KB
/
pqAbstractStringEventPlayer.cxx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
// SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
// SPDX-FileCopyrightText: Copyright (c) Sandia Corporation
// SPDX-License-Identifier: BSD-3-Clause
#include "pqAbstractStringEventPlayer.h"
#include <QComboBox>
#include <QLineEdit>
#include <QPlainTextEdit>
#include <QTextDocument>
#include <QTextEdit>
#include <QtDebug>
#include "pqObjectNaming.h"
pqAbstractStringEventPlayer::pqAbstractStringEventPlayer(QObject* p)
: pqWidgetEventPlayer(p)
{
}
bool pqAbstractStringEventPlayer::playEvent(
QObject* Object, const QString& Command, const QString& Arguments, bool& Error)
{
if (Command != "set_string")
return false;
const QString value = Arguments;
if (QComboBox* const comboBox = qobject_cast<QComboBox*>(Object))
{
int index = comboBox->findText(value);
if (index != -1)
{
comboBox->setCurrentIndex(index);
}
else
{
QString possibles;
for (int i = 0; i < comboBox->count(); i++)
{
possibles += QString("\t") + comboBox->itemText(i) + QString("\n");
}
qCritical() << "Unable to find " << value
<< " in combo box: " << pqObjectNaming::GetName(*Object)
<< "\nPossible values are:\n"
<< possibles;
Error = true;
}
return true;
}
if (QLineEdit* const lineEdit = qobject_cast<QLineEdit*>(Object))
{
lineEdit->setText(value);
return true;
}
if (QTextEdit* const textEdit = qobject_cast<QTextEdit*>(Object))
{
textEdit->setFocus(Qt::OtherFocusReason);
textEdit->document()->setPlainText(value);
textEdit->clearFocus();
return true;
}
if (QPlainTextEdit* const plainTextEdit = qobject_cast<QPlainTextEdit*>(Object))
{
plainTextEdit->setFocus(Qt::OtherFocusReason);
plainTextEdit->document()->setPlainText(value);
plainTextEdit->clearFocus();
return true;
}
qCritical() << "calling set_string on unhandled type " << Object;
Error = true;
return true;
}