-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathstashitemdetailsview.cpp
More file actions
98 lines (74 loc) · 3.23 KB
/
Copy pathstashitemdetailsview.cpp
File metadata and controls
98 lines (74 loc) · 3.23 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
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
#include "stashitemdetailsview.h"
#include <QGraphicsTextItem>
#include <QFont>
StashItemDetailsView::StashItemDetailsView(QWidget *parent) :
QGraphicsView(parent)
{
this->setAlignment(Qt::AlignLeft | Qt::AlignTop);
this->setRenderHints(QPainter::TextAntialiasing | QPainter::SmoothPixmapTransform);
}
void StashItemDetailsView::SetItemToDisplay(Torchlight2Item item)
{
item.ParseAdvancedItemDetails(mInfiniteStashLocation);
QGraphicsScene* newScene = new QGraphicsScene();
quint32 nextItemYPos = 0;
QGraphicsTextItem* itemName = new QGraphicsTextItem();
QFont titleFont("Times New Roman", 20);
titleFont.setBold(true);
QFont listFont();
itemName->setPos(0, nextItemYPos);
QColor color(255, 255, 255);
itemName->setDefaultTextColor(color);
itemName->setPlainText(item.Name());
itemName->setFont(titleFont);
nextItemYPos = itemName->boundingRect().height();
newScene->addItem(itemName);
qint32 numEmptySockets = item.NumSockets() - item.NumFilledSockets();
for (qint32 i = 0; i < numEmptySockets; ++i)
{
QGraphicsTextItem* nextEmptySocket =
new QGraphicsTextItem("Empty Socket");
nextEmptySocket->setDefaultTextColor(color);
nextEmptySocket->setPos(0, nextItemYPos);
nextItemYPos += nextEmptySocket->boundingRect().height();
newScene->addItem(nextEmptySocket);
}
for (qint32 i = 0; i < item.NumFilledSockets(); ++i)
{
QGraphicsTextItem* nextSocketedItem =
new QGraphicsTextItem("Socket (" + item.SocketedItems()[i].name + ")");
nextSocketedItem->setDefaultTextColor(color);
nextSocketedItem->setPos(0, nextItemYPos);
nextItemYPos += nextSocketedItem->boundingRect().height();
newScene->addItem(nextSocketedItem);
QGraphicsTextItem* socketEffect =
new QGraphicsTextItem(item.SocketedItems()[i].effect);
socketEffect->setDefaultTextColor(color);
socketEffect->setPos(10, nextItemYPos);
nextItemYPos += socketEffect->boundingRect().height();
newScene->addItem(socketEffect);
}
// QGraphicsTextItem* itemNumSockets =
// new QGraphicsTextItem("Number of Sockets: " +
// QString::number(item.NumSockets()));
// itemNumSockets->setDefaultTextColor(color);
// itemNumSockets->setPos(0, itemName->boundingRect().height());
// QGraphicsTextItem* itemNumFilledSockets =
// new QGraphicsTextItem("Number of filled Sockets: " +
// QString::number(item.NumFilledSockets()));
// itemNumFilledSockets->setDefaultTextColor(color);
// itemNumFilledSockets->setPos(0, itemNumSockets->y() + itemNumSockets->boundingRect().height());
// newScene->addItem(itemNumSockets);
// newScene->addItem(itemNumFilledSockets);
QGraphicsScene* oldScene = this->scene();
this->setScene(newScene);
if (oldScene != NULL)
{
// QList<QGraphicsItem*> oldItems = oldScene->items();
// for (int i = 0; i < oldItems.length(); ++i)
// {
// delete oldItems[i];
// }
delete oldScene;
}
}