Added slots for toggling memory highlighting in the HexViewerWidget
This commit is contained in:
@@ -43,7 +43,10 @@ HexViewerWidget::HexViewerWidget(
|
|||||||
|
|
||||||
this->toolBar = this->container->findChild<QWidget*>("tool-bar");
|
this->toolBar = this->container->findChild<QWidget*>("tool-bar");
|
||||||
this->bottomBar = this->container->findChild<QWidget*>("bottom-bar");
|
this->bottomBar = this->container->findChild<QWidget*>("bottom-bar");
|
||||||
|
|
||||||
this->refreshButton = this->container->findChild<QToolButton*>("refresh-memory-btn");
|
this->refreshButton = this->container->findChild<QToolButton*>("refresh-memory-btn");
|
||||||
|
this->highlightStackMemoryButton = this->container->findChild<SvgToolButton*>("highlight-stack-memory-btn");
|
||||||
|
this->highlightFocusedMemoryButton = this->container->findChild<SvgToolButton*>("highlight-focused-memory-btn");
|
||||||
|
|
||||||
this->toolBar->setContentsMargins(0, 0, 0, 0);
|
this->toolBar->setContentsMargins(0, 0, 0, 0);
|
||||||
this->toolBar->layout()->setContentsMargins(5, 0, 5, 1);
|
this->toolBar->layout()->setContentsMargins(5, 0, 5, 1);
|
||||||
@@ -67,6 +70,20 @@ HexViewerWidget::HexViewerWidget(
|
|||||||
this->byteItemGraphicsScene = this->byteItemGraphicsView->getScene();
|
this->byteItemGraphicsScene = this->byteItemGraphicsView->getScene();
|
||||||
byteItemGraphicsViewLayout->insertWidget(0, this->byteItemGraphicsView);
|
byteItemGraphicsViewLayout->insertWidget(0, this->byteItemGraphicsView);
|
||||||
|
|
||||||
|
QObject::connect(
|
||||||
|
this->highlightStackMemoryButton,
|
||||||
|
&QToolButton::clicked,
|
||||||
|
this,
|
||||||
|
&HexViewerWidget::toggleStackMemoryHighlighting
|
||||||
|
);
|
||||||
|
|
||||||
|
QObject::connect(
|
||||||
|
this->highlightFocusedMemoryButton,
|
||||||
|
&QToolButton::clicked,
|
||||||
|
this,
|
||||||
|
&HexViewerWidget::toggleFocusedMemoryHighlighting
|
||||||
|
);
|
||||||
|
|
||||||
QObject::connect(
|
QObject::connect(
|
||||||
&insightWorker,
|
&insightWorker,
|
||||||
&InsightWorker::targetStateUpdated,
|
&InsightWorker::targetStateUpdated,
|
||||||
@@ -127,3 +144,21 @@ void HexViewerWidget::onByteWidgetsAdjusted() {
|
|||||||
// labelItem->widget()->deleteLater();
|
// labelItem->widget()->deleteLater();
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void HexViewerWidget::toggleStackMemoryHighlighting() {
|
||||||
|
auto enable = !this->settings.highlightStackMemory;
|
||||||
|
|
||||||
|
this->highlightStackMemoryButton->setChecked(enable);
|
||||||
|
this->settings.highlightStackMemory = enable;
|
||||||
|
|
||||||
|
this->byteItemGraphicsScene->update();
|
||||||
|
}
|
||||||
|
|
||||||
|
void HexViewerWidget::toggleFocusedMemoryHighlighting() {
|
||||||
|
auto enable = !this->settings.highlightFocusedMemory;
|
||||||
|
|
||||||
|
this->highlightFocusedMemoryButton->setChecked(enable);
|
||||||
|
this->settings.highlightFocusedMemory = enable;
|
||||||
|
|
||||||
|
this->byteItemGraphicsScene->update();
|
||||||
|
}
|
||||||
|
|||||||
@@ -19,6 +19,8 @@
|
|||||||
#include "HexViewerWidgetSettings.hpp"
|
#include "HexViewerWidgetSettings.hpp"
|
||||||
#include "ByteItemContainerGraphicsView.hpp"
|
#include "ByteItemContainerGraphicsView.hpp"
|
||||||
|
|
||||||
|
#include "src/Insight/UserInterfaces/InsightWindow/Widgets/SvgToolButton.hpp"
|
||||||
|
|
||||||
namespace Bloom::Widgets
|
namespace Bloom::Widgets
|
||||||
{
|
{
|
||||||
class HexViewerWidget: public QWidget
|
class HexViewerWidget: public QWidget
|
||||||
@@ -51,15 +53,17 @@ namespace Bloom::Widgets
|
|||||||
|
|
||||||
ByteItemContainerGraphicsView* byteItemGraphicsView = nullptr;
|
ByteItemContainerGraphicsView* byteItemGraphicsView = nullptr;
|
||||||
ByteItemGraphicsScene* byteItemGraphicsScene = nullptr;
|
ByteItemGraphicsScene* byteItemGraphicsScene = nullptr;
|
||||||
QWidget* byteWidgetScrollArea = nullptr;
|
|
||||||
QWidget* byteWidgetAddressContainer = nullptr;
|
|
||||||
QVBoxLayout* byteWidgetAddressLayout = nullptr;
|
|
||||||
QLabel* hoveredAddressLabel = nullptr;
|
QLabel* hoveredAddressLabel = nullptr;
|
||||||
|
|
||||||
|
SvgToolButton* highlightStackMemoryButton = nullptr;
|
||||||
|
SvgToolButton* highlightFocusedMemoryButton = nullptr;
|
||||||
|
|
||||||
Targets::TargetState targetState = Targets::TargetState::UNKNOWN;
|
Targets::TargetState targetState = Targets::TargetState::UNKNOWN;
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void onTargetStateChanged(Targets::TargetState newState);
|
void onTargetStateChanged(Targets::TargetState newState);
|
||||||
void onByteWidgetsAdjusted();
|
void onByteWidgetsAdjusted();
|
||||||
|
void toggleStackMemoryHighlighting();
|
||||||
|
void toggleFocusedMemoryHighlighting();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user