mirror of
https://github.com/rizinorg/cutter.git
synced 2024-12-22 21:06:10 +00:00
842dda45bd
* Adding a header to the DisassemblyWidget to show the function prototype * Moving the afcf headerLabel functionality to the GraphWidget * In middle of implementation * In middle * syntax highlighter added * Implementation done. * Fixed the changes that were not necessary.
42 lines
1.6 KiB
C++
42 lines
1.6 KiB
C++
#include "MainWindow.h"
|
|
#include "GraphWidget.h"
|
|
#include "DisassemblerGraphView.h"
|
|
#include "WidgetShortcuts.h"
|
|
|
|
GraphWidget::GraphWidget(MainWindow *main, QAction *action) :
|
|
CutterDockWidget(main, action)
|
|
{
|
|
this->setObjectName("Graph");
|
|
this->setAllowedAreas(Qt::AllDockWidgetAreas);
|
|
this->graphView = new DisassemblerGraphView(this);
|
|
this->setWidget(graphView);
|
|
|
|
// getting the name of the class is implementation defined, and cannot be
|
|
// used reliably across different compilers.
|
|
//QShortcut *toggle_shortcut = new QShortcut(widgetShortcuts[typeid(this).name()], main);
|
|
QShortcut *toggle_shortcut = new QShortcut(widgetShortcuts["GraphWidget"], main);
|
|
connect(toggle_shortcut, &QShortcut::activated, this, [ = ]() {
|
|
toggleDockWidget(true);
|
|
main->updateDockActionChecked(action);
|
|
});
|
|
|
|
connect(this, &QDockWidget::visibilityChanged, this, [ = ](bool visibility) {
|
|
if (visibility) {
|
|
Core()->setMemoryWidgetPriority(CutterCore::MemoryWidgetType::Graph);
|
|
this->graphView->header->setFixedWidth(width());
|
|
}
|
|
});
|
|
|
|
connect(Core(), &CutterCore::raisePrioritizedMemoryWidget,
|
|
this, [ = ](CutterCore::MemoryWidgetType type) {
|
|
bool emptyGraph = (type == CutterCore::MemoryWidgetType::Graph && Core()->isGraphEmpty());
|
|
if (type == CutterCore::MemoryWidgetType::Graph && !emptyGraph) {
|
|
this->raise();
|
|
this->graphView->setFocus();
|
|
this->graphView->header->setFixedWidth(width());
|
|
}
|
|
});
|
|
}
|
|
|
|
GraphWidget::~GraphWidget() {}
|