-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathimageentry.cpp
More file actions
67 lines (55 loc) · 1.32 KB
/
imageentry.cpp
File metadata and controls
67 lines (55 loc) · 1.32 KB
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
#include "imageentry.h"
imageEntry::imageEntry(QWidget *parent, QImage *newImage, const QString &text) :
QWidget(parent)
{
if (newImage == 0)
{
image = new QImage();
thumbnail = new QImage();
label = new QLabel(this);
}
else
{
image = new QImage(*newImage);
thumbnail = new QImage(image->scaled(THUMBW, THUMBH));
label = new QLabel(text, this);
}
label->setLineWidth(3);
label->setAlignment(Qt::AlignHCenter & Qt::AlignBottom);
label->setMinimumWidth(THUMBW);
label->setMaximumWidth(THUMBW);
label->setMinimumHeight(THUMBH);
label->setMaximumHeight(THUMBH);
setMinimumWidth(THUMBW);
setMaximumWidth(THUMBW);
setMinimumHeight(THUMBH);
setMaximumHeight(THUMBH);
}
imageEntry::~imageEntry()
{
delete label;
delete thumbnail;
delete image;
}
void imageEntry::setLabel(const QString &newText)
{
label->setText(newText);
}
const QImage &imageEntry::getImage()
{
return *image;
}
void imageEntry::setSelected(bool isSelected)
{
if (isSelected)
label->setFrameShape(QFrame::Box);
else
label->setFrameShape(QFrame::NoFrame);
}
void imageEntry::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
painter.save();
painter.drawImage(0, 0, *thumbnail);
painter.restore();
}