]>
git.siccegge.de Git - frida/frida.git/blob - src/gui/widgets/BasicBlockWidget.cxx
1 #include "BasicBlockWidget.hxx"
3 BasicBlockWidget::BasicBlockWidget(const QString
& name
, BasicBlock
* block
)
4 : width(270), height(45)
5 , name(name
), block(block
)
7 next
[0] = NULL
; next
[1] = NULL
;
8 _widget
.setStyleSheet("QTableWidget { background-color : #ddddff; }");
9 _widget
.setSizeAdjustPolicy(QAbstractScrollArea::AdjustToContents
);
10 _widget
.verticalHeader()->setDefaultSectionSize(18);
11 _widget
.setColumnCount(3);
12 _widget
.verticalHeader()->hide();
13 _widget
.horizontalHeader()->hide();
14 _widget
.setShowGrid(false);
15 _widget
.setWordWrap(false);
16 _widget
.setMinimumSize(210, 20);
18 _proxy
.setWidget(&_widget
);
21 if (width
< 250) width
= 250;
24 void BasicBlockWidget::addItem(uint8_t* bytes
, size_t num_bytes
,
25 QString line
, const QString
& href
) {
28 for (size_t i(0); i
< num_bytes
; ++i
) {
29 const char * hexdigits
= "0123456789ABCDEF";
30 bytestring
+= hexdigits
[(bytes
[i
] >> 4) & 0xF];
31 bytestring
+= hexdigits
[bytes
[i
] & 0xF];
35 int current_row
= _widget
.rowCount();
36 _widget
.setRowCount(1 + current_row
);
37 _widget
.setItem(current_row
, 0, new QTableWidgetItem(bytestring
));
38 _widget
.setItem(current_row
, 1, new QTableWidgetItem(line
.replace('\t', ' ')));
39 // _widget.setItem(current_row, 2, new QTableWidgetItem(href));
41 _widget
.resizeColumnToContents(0);
42 _widget
.resizeColumnToContents(1);
43 _widget
.resizeColumnToContents(2);
45 width
= 12 + _widget
.sizeHint().width();
46 height
= 25 + _widget
.sizeHint().height();
48 if (width
< 250) width
= 250;
49 _widget
.resize(width
- 12, height
- 25);