/usr/lib/bouml/cpp_utilities/132738.bodies is in bouml-plugouts-src 4.21-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 | class ConstrDestrCopyDialog
!!!144386.cpp!!! ConstrDestrCopyDialog(inout cl : UmlClass, in have_constructor : bool, in have_destructor : bool, in have_copy : bool, in have_const_copy : bool, in have_assignment : bool, in have_const_assignment : bool)
QVBoxLayout * vbox = new QVBoxLayout(this);
QHGroupBox * g;
QList<QLabel> labels;
QLabel * lbl;
vbox->setSpacing(5);
vbox->setMargin(5);
lbl = new QLabel(QString("<big><b>C++ utilities for the class <i><tt>") +
(const char *) cl->name() + "</tt></i></b></big>",
this);
lbl->setAlignment(AlignCenter);
vbox->addWidget(lbl);
// constructor
g = new QHGroupBox(this);
vbox->addWidget(g);
labels.append(new QLabel((have_constructor)
? "the class already have contructor "
: "the class doesn't have contructor ",
g));
QHBox * h = new QHBox(g);
add_constr = new QCheckBox("add constructor", h);
constr_explicit = new QCheckBox("explicit", h);
// destructor
if (! have_destructor) {
g = new QHGroupBox(this);
vbox->addWidget(g);
labels.append(new QLabel("the class doesn't have destructor ",
g));
h = new QHBox(g);
add_destr = new QCheckBox("add destructor", h);
virtual_destr = new QCheckBox("virtual", h);
}
else
add_destr = 0;
// copy contructor
if (have_copy) {
add_copy = 0;
if (!have_const_copy) {
g = new QHGroupBox(this);
vbox->addWidget(g);
labels.append(new QLabel("the class doesn't have copy contructor \nwith const argument ",
g));
add_const_copy = new QCheckBox("add copy constructor\nwith const argument",
g);
}
else
add_const_copy = 0;
}
else if (!have_const_copy) {
g = new QHGroupBox(this);
vbox->addWidget(g);
labels.append(new QLabel("the class doesn't have copy contructor ",
g));
QVBox * v = new QVBox(g);
add_const_copy = new QCheckBox("add copy constructor\nwith const argument",
v);
add_copy = new QCheckBox("add copy constructor\nwith non const argument",
v);
}
else {
g = new QHGroupBox(this);
vbox->addWidget(g);
labels.append(new QLabel("the class doesn't have copy contructor \nwith non const argument ",
g));
add_copy = new QCheckBox("add copy constructor\nwith non const argument",
g);
add_const_copy = 0;
}
// assignment
if (have_assignment) {
add_assign = 0;
if (!have_const_assignment) {
g = new QHGroupBox(this);
vbox->addWidget(g);
labels.append(new QLabel("the class doesn't have assignment\noperator with const argument ",
g));
add_const_assign = new QCheckBox("add assignment\nwith const argument",
g);
}
else
add_const_assign = 0;
}
else if (!have_const_assignment) {
g = new QHGroupBox(this);
vbox->addWidget(g);
labels.append(new QLabel("the class doesn't have assignment operator ", g));
QVBox * v = new QVBox(g);
add_const_assign = new QCheckBox("add assignment\nwith const argument",
v);
add_assign = new QCheckBox("add assignment\nwith non const argument",
v);
}
else {
g = new QHGroupBox(this);
vbox->addWidget(g);
labels.append(new QLabel("the class doesn't have assignment operator \nwith non const argument ",
g));
add_assign = new QCheckBox("add assignment\nwith non const argument",
g);
add_const_assign = 0;
}
// use the same width for all the labels on the first column
QSize sz(labels.first()->sizeHint());
while ((lbl = labels.next()) != 0) {
if (lbl->sizeHint().width() > sz.width())
sz.setWidth(lbl->sizeHint().width());
}
for (lbl = labels.first(); lbl != 0; lbl = labels.next()) {
sz.setHeight(lbl->sizeHint().height());
lbl->setFixedSize(sz);
}
// ok & cancel buttons
QHBox * hbox = new QHBox(this);
vbox->addWidget(hbox);
QPushButton * ok = new QPushButton("&OK", hbox);
QPushButton * cancel = new QPushButton("&Cancel", hbox);
QSize bs(cancel->sizeHint());
ok->setDefault(TRUE);
ok->setFixedSize(bs);
cancel->setFixedSize(bs);
connect(ok, SIGNAL(clicked()), this, SLOT(accept()));
connect(cancel, SIGNAL(clicked()), this, SLOT(reject()));
!!!144514.cpp!!! accept() : void
if (add_constr->isChecked())
target->addContructor(constr_explicit->isChecked());
if ((add_destr != 0) && add_destr->isChecked())
target->addDestructor(virtual_destr->isChecked());
if ((add_copy != 0) && add_copy->isChecked())
target->addCopy(FALSE);
if ((add_const_copy != 0) && add_const_copy->isChecked())
target->addCopy(TRUE);
if ((add_assign != 0) && add_assign->isChecked())
target->addAssign(FALSE);
if ((add_const_assign != 0) && add_const_assign->isChecked())
target->addAssign(TRUE);
QDialog::accept();
|