mirror of
https://github.com/epasveer/seer.git
synced 2026-08-30 00:50:42 +08:00
Add StructVisualizers to source/assembly editors and stack arguments/locals browsers.
This commit is contained in:
@@ -151,6 +151,9 @@ void SeerStackArgumentsBrowserWidget::handleContextMenu (const QPoint& pos) {
|
||||
QAction* addArrayVisualizerAction;
|
||||
QAction* addArrayAsteriskVisualizerAction;
|
||||
QAction* addArrayAmpersandVisualizerAction;
|
||||
QAction* addStructVisualizerAction;
|
||||
QAction* addStructAsteriskVisualizerAction;
|
||||
QAction* addStructAmpersandVisualizerAction;
|
||||
|
||||
addVariableLoggerExpressionAction = new QAction(QString("\"%1\"").arg(item->text(1)));
|
||||
addVariableLoggerAsteriskExpressionAction = new QAction(QString("\"*%1\"").arg(item->text(1)));
|
||||
@@ -166,6 +169,9 @@ void SeerStackArgumentsBrowserWidget::handleContextMenu (const QPoint& pos) {
|
||||
addArrayVisualizerAction = new QAction(QString("\"%1\"").arg(item->text(1)));
|
||||
addArrayAsteriskVisualizerAction = new QAction(QString("\"*%1\"").arg(item->text(1)));
|
||||
addArrayAmpersandVisualizerAction = new QAction(QString("\"&&%1\"").arg(item->text(1)));
|
||||
addStructVisualizerAction = new QAction(QString("\"%1\"").arg(item->text(1)));
|
||||
addStructAsteriskVisualizerAction = new QAction(QString("\"*%1\"").arg(item->text(1)));
|
||||
addStructAmpersandVisualizerAction = new QAction(QString("\"&&%1\"").arg(item->text(1)));
|
||||
|
||||
QMenu menu("Visualizers", this);
|
||||
menu.setTitle("Visualizers");
|
||||
@@ -196,6 +202,12 @@ void SeerStackArgumentsBrowserWidget::handleContextMenu (const QPoint& pos) {
|
||||
arrayVisualizerMenu.addAction(addArrayAmpersandVisualizerAction);
|
||||
menu.addMenu(&arrayVisualizerMenu);
|
||||
|
||||
QMenu structVisualizerMenu("Add variable to a Struct Visualizer");
|
||||
structVisualizerMenu.addAction(addStructVisualizerAction);
|
||||
structVisualizerMenu.addAction(addStructAsteriskVisualizerAction);
|
||||
structVisualizerMenu.addAction(addStructAmpersandVisualizerAction);
|
||||
menu.addMenu(&structVisualizerMenu);
|
||||
|
||||
// Launch the menu. Get the response.
|
||||
QAction* action = menu.exec(argumentsTreeWidget->viewport()->mapToGlobal(pos));
|
||||
|
||||
@@ -389,6 +401,45 @@ void SeerStackArgumentsBrowserWidget::handleContextMenu (const QPoint& pos) {
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Handle adding struct to visualize.
|
||||
if (action == addStructVisualizerAction) {
|
||||
|
||||
//qDebug() << "addStructVisualizer" << item->text(1);
|
||||
|
||||
// Emit the signals.
|
||||
if (item->text(1) != "") {
|
||||
emit addStructVisualize(item->text(1));
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Handle adding array to visualize.
|
||||
if (action == addStructAsteriskVisualizerAction) {
|
||||
|
||||
//qDebug() << "addStructAsteriskVisualizer" << item->text(1);
|
||||
|
||||
// Emit the signals.
|
||||
if (item->text(1) != "") {
|
||||
emit addStructVisualize(QString("*") + item->text(1));
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Handle adding array to visualize.
|
||||
if (action == addStructAmpersandVisualizerAction) {
|
||||
|
||||
//qDebug() << "addStructAmpersandVisualizer" << item->text(1);
|
||||
|
||||
// Emit the signals.
|
||||
if (item->text(1) != "") {
|
||||
emit addStructVisualize(QString("&") + item->text(1));
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
void SeerStackArgumentsBrowserWidget::handleItemEntered (QTreeWidgetItem* item, int column) {
|
||||
|
||||
Reference in New Issue
Block a user