DUNE-DAQ
DUNE Trigger and Data Acquisition software
Toggle main menu visibility
Loading...
Searching...
No Matches
dunedaq
sourcecode
dbe
apps
SchemaEditor
SchemaSettings.cpp
Go to the documentation of this file.
1
#include <QSettings>
2
#include <QStringList>
3
4
#include "
dbe/SchemaSettings.hpp
"
5
#include "
dbe/SchemaStyle.hpp
"
6
7
#include "ui_SchemaSettings.h"
8
9
using namespace
dbse
;
10
11
SchemaSettings::SchemaSettings
(QWidget* parent)
12
: QDialog(parent),
m_ui
(new
Ui
::
SchemaSettings
)
13
{
14
m_ui
->setupUi(
this
);
15
setObjectName(
"Settings"
);
16
17
SchemaStyle::load
();
18
19
for
(
auto
entry : QStringList{
"default/normal unhighlighted text"
,
20
"active_file/items associated with the active file"
,
21
"inherited/properties inherited from a parent class"
,
22
"highlight/highlighted class"
,
23
"readonly/items from a readonly file"
,
24
"error/error messages"
,
25
"note/notes on class diagrams"
,
26
"line/lines showing inheritance or relationships between classes"
}) {
27
auto
list = entry.split(
"/"
);
28
auto
group = list.at(0);
29
auto
fg_colour =
SchemaStyle::get_color
(
"foreground"
, group);
30
auto
bg_colour =
SchemaStyle::get_color
(
"background"
, group);
31
for
(
auto
fb: QStringList{
"Foreground"
,
"Background"
}) {
32
auto
item=
new
QListWidgetItem(group+
" "
+fb);
33
item->setForeground(fg_colour);
34
item->setBackground(bg_colour);
35
if
(list.size()>1) {
36
item->setToolTip(fb+
" color for "
+list.at(1));
37
}
38
m_ui
->color_list->addItem(item);
39
}
40
}
41
42
for
(
auto
entry : QStringList{
"default/normal unhighlighted text"
,
43
"highlight/highlighted class"
,
44
"abstract/abstract base class"
,
45
"note/notes on class diagrams"
,
46
"line/lines showing inheritance or relationships between classes"
}) {
47
auto
list = entry.split(
"/"
);
48
auto
group = list.at(0);
49
auto
item=
new
QListWidgetItem(group+
" font"
);
50
item->setFont(
SchemaStyle::get_font
(group));
51
if
(list.size()>1) {
52
item->setToolTip(
"Font for "
+list.at(1));
53
}
54
m_ui
->font_list->addItem(item);
55
}
56
57
connect (
m_ui
->color_list, SIGNAL(itemActivated(QListWidgetItem*)),
58
this
, SLOT(
set_color
(QListWidgetItem*)));
59
connect (
m_ui
->font_list, SIGNAL(itemActivated(QListWidgetItem*)),
60
this
, SLOT(
set_font
(QListWidgetItem*)));
61
62
QSettings settings;
63
settings.beginGroup(
"view defaults"
);
64
m_ui
->abstract_button->setChecked(settings.value(
"highlight_abstract"
,
false
).toBool());
65
connect (
m_ui
->abstract_button, SIGNAL(stateChanged(
int
)),
66
this
, SLOT(
toggle_abstract
(
int
)));
67
m_ui
->active_button->setChecked(settings.value(
"highlight_active"
,
false
).toBool());
68
connect (
m_ui
->active_button, SIGNAL(stateChanged(
int
)),
69
this
, SLOT(
toggle_active
(
int
)));
70
m_ui
->inherited_button->setChecked(settings.value(
"show_inherited"
,
false
).toBool());
71
connect (
m_ui
->inherited_button, SIGNAL(stateChanged(
int
)),
72
this
, SLOT(
toggle_inherited
(
int
)));
73
m_ui
->default_value_button->setChecked(settings.value(
"show_default"
,
false
).toBool());
74
connect (
m_ui
->default_value_button, SIGNAL(stateChanged(
int
)),
75
this
, SLOT(
toggle_default
(
int
)));
76
settings.endGroup();
77
78
settings.beginGroup(
"MainWindow"
);
79
m_ui
->save_settings->setChecked(settings.value(
"saveLayout"
,
false
).toBool());
80
connect (
m_ui
->save_settings, SIGNAL(stateChanged(
int
)),
81
this
, SLOT(
toggle_save
(
int
)));
82
settings.endGroup();
83
}
84
85
void
SchemaSettings::toggle_abstract
(
int
state) {
86
QSettings settings;
87
settings.beginGroup(
"view defaults"
);
88
settings.setValue(
"highlight_abstract"
, (state>0));
89
}
90
void
SchemaSettings::toggle_active
(
int
state) {
91
QSettings settings;
92
settings.beginGroup(
"view defaults"
);
93
settings.setValue(
"highlight_active"
, (state>0));
94
}
95
void
SchemaSettings::toggle_inherited
(
int
state) {
96
QSettings settings;
97
settings.beginGroup(
"view defaults"
);
98
settings.setValue(
"show_inherited"
, (state>0));
99
}
100
void
SchemaSettings::toggle_default
(
int
state) {
101
QSettings settings;
102
settings.beginGroup(
"view defaults"
);
103
settings.setValue(
"show_default"
, (state>0));
104
}
105
void
SchemaSettings::toggle_save
(
int
state) {
106
QSettings settings;
107
settings.beginGroup(
"MainWindow"
);
108
settings.setValue(
"saveLayout"
, (state>0));
109
}
110
111
112
void
SchemaSettings::set_color
(QListWidgetItem* item) {
113
QStringList text = item->text().toLower().split(
" "
);
114
SchemaStyle::set_color
(text.at(1), text.at(0));
115
item->setForeground(
SchemaStyle::get_color
(
"foreground"
, text.at(0)));
116
item->setBackground(
SchemaStyle::get_color
(
"background"
, text.at(0)));
117
m_ui
->color_list->update();
118
emit
settings_updated
();
119
}
120
void
SchemaSettings::set_font
(QListWidgetItem* item) {
121
QStringList text = item->text().toLower().split(
" "
);
122
SchemaStyle::set_font
(text.at(0));
123
emit
settings_updated
();
124
}
SchemaSettings.hpp
SchemaStyle.hpp
dbse::SchemaSettings::toggle_save
void toggle_save(int)
Definition
SchemaSettings.cpp:105
dbse::SchemaSettings::toggle_abstract
void toggle_abstract(int)
Definition
SchemaSettings.cpp:85
dbse::SchemaSettings::settings_updated
void settings_updated()
dbse::SchemaSettings::toggle_default
void toggle_default(int)
Definition
SchemaSettings.cpp:100
dbse::SchemaSettings::toggle_inherited
void toggle_inherited(int)
Definition
SchemaSettings.cpp:95
dbse::SchemaSettings::set_color
void set_color(QListWidgetItem *)
Definition
SchemaSettings.cpp:112
dbse::SchemaSettings::set_font
void set_font(QListWidgetItem *)
Definition
SchemaSettings.cpp:120
dbse::SchemaSettings::SchemaSettings
SchemaSettings(QWidget *parent=0)
Definition
SchemaSettings.cpp:11
dbse::SchemaSettings::toggle_active
void toggle_active(int)
Definition
SchemaSettings.cpp:90
dbse::SchemaSettings::m_ui
Ui::SchemaSettings * m_ui
Definition
SchemaSettings.hpp:32
Ui
Definition
SchemaSettings.hpp:10
dbse
Including QT Headers.
Definition
SchemaAttributeEditor.hpp:14
dbse::SchemaStyle::set_color
static QColor set_color(const QString &item, const QString &group)
Definition
SchemaStyle.cpp:109
dbse::SchemaStyle::get_color
static QColor get_color(const QString &item, const QString &group)
Definition
SchemaStyle.cpp:103
dbse::SchemaStyle::get_font
static QFont get_font(const QString &group)
Definition
SchemaStyle.cpp:125
dbse::SchemaStyle::set_font
static QFont set_font(const QString &group)
Definition
SchemaStyle.cpp:134
dbse::SchemaStyle::load
static void load()
Definition
SchemaStyle.cpp:10
Generated on
for DUNE-DAQ by
1.17.0