MCPcopy Create free account
hub / github.com/CE-Programming/CEmu / scroll

Method scroll

gui/qt/debugger/hexwidget.cpp:49–85  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

47}
48
49void HexWidget::scroll(int value) {
50 adjust();
51
52 if (!m_scrollable || !isEnabled()) {
53 return;
54 }
55
56 verticalScrollBar()->blockSignals(true);
57 if (value <= verticalScrollBar()->minimum()) {
58 int addr = m_base;
59 QByteArray data;
60 for (int i = -m_bytesPerLine; i < 0; i++) {
61 if (addr + i >= 0) {
62 data.append(static_cast<char>(mem_peek_byte(addr + i)));
63 }
64 }
65 if (data.size()) {
66 m_scrolled = true;
67 m_base -= data.size();
68 prependData(data);
69 verticalScrollBar()->setValue(1);
70 }
71 }
72 if (value >= verticalScrollBar()->maximum()) {
73 int addr = m_maxOffset + m_base + 1;
74 QByteArray data;
75 for (int i = 0; i < m_bytesPerLine && (addr + i) < 0x1000000; i++) {
76 data.append(mem_peek_byte(addr + i));
77 }
78 if (data.size()) {
79 m_scrolled = true;
80 appendData(data);
81 verticalScrollBar()->setValue(verticalScrollBar()->maximum() - 1);
82 }
83 }
84 verticalScrollBar()->blockSignals(false);
85}
86
87int HexWidget::indexPrevOf(const QByteArray &ba) {
88 int res = m_data.mid(0, m_cursorOffset / 2).lastIndexOf(ba);

Callers 1

updateLineNumberAreaMethod · 0.80

Calls 1

mem_peek_byteFunction · 0.85

Tested by

no test coverage detected