File: DialogXRefs.cpp

package info (click to toggle)
edb-debugger 1.3.0-2.2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 5,124 kB
  • sloc: cpp: 46,241; xml: 4,998; ansic: 3,088; sh: 52; asm: 33; makefile: 5
file content (40 lines) | stat: -rw-r--r-- 1,003 bytes parent folder | download | duplicates (4)
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

#include "DialogXRefs.h"

namespace AnalyzerPlugin {

/**
 * @brief DialogXRefs::DialogXRefs
 * @param parent
 */
DialogXRefs::DialogXRefs(QWidget *parent, Qt::WindowFlags f)
	: QDialog(parent, f) {
	ui.setupUi(this);
}

/**
 * @brief DialogXRefs::on_listReferences_itemDoubleClicked
 * @param item
 */
void DialogXRefs::on_listReferences_itemDoubleClicked(QListWidgetItem *item) {

	edb::address_t site = item->data(Qt::UserRole).toULongLong();
	edb::v1::jump_to_address(site);
}

/**
 * @brief DialogXRefs::addReference
 * @param ref
 */
void DialogXRefs::addReference(const std::pair<edb::address_t, edb::address_t> &ref) {

	int offset;
	QString sym = edb::v1::find_function_symbol(ref.first, ref.first.toPointerString(), &offset);

	auto string = tr("%1. %2 -> %3").arg(ui.listReferences->count() + 1, 2, 10, QChar('0')).arg(sym).arg(ref.second.toPointerString());

	auto item = new QListWidgetItem(string, ui.listReferences);
	item->setData(Qt::UserRole, static_cast<qlonglong>(ref.first));
}

}