| 2747 | } |
| 2748 | |
| 2749 | void MainWindow::addMemDock(const QString &magic, int bytes, bool ascii) { |
| 2750 | if (m_docksMemory.contains(magic)) { |
| 2751 | return; |
| 2752 | } |
| 2753 | |
| 2754 | DockWidget *dw; |
| 2755 | dw = new DockWidget(TXT_MEM_DOCK, this); |
| 2756 | dw->setObjectName(magic); |
| 2757 | dw->setState(m_uiEditMode); |
| 2758 | dw->setAttribute(Qt::WA_DeleteOnClose); |
| 2759 | |
| 2760 | if (m_setup) { |
| 2761 | dw->setFloating(true); |
| 2762 | dw->setGeometry(QStyle::alignedRect( |
| 2763 | Qt::LeftToRight, |
| 2764 | Qt::AlignCenter, |
| 2765 | dw->minimumSize(), |
| 2766 | qApp->screens().first()->availableGeometry())); |
| 2767 | } |
| 2768 | |
| 2769 | m_docksMemory.append(magic); |
| 2770 | m_docksMemoryBytes.append(bytes); |
| 2771 | m_docksMemoryAscii.append(ascii); |
| 2772 | |
| 2773 | QWidget *widget = new QWidget(); |
| 2774 | QVBoxLayout *vlayout = new QVBoxLayout(); |
| 2775 | QHBoxLayout *hlayout = new QHBoxLayout(); |
| 2776 | QPushButton *buttonGoto = new QPushButton(m_iconGoto, tr("Goto")); |
| 2777 | QPushButton *buttonSearch = new QPushButton(m_iconSearch, tr("Search")); |
| 2778 | QToolButton *buttonAscii = new QToolButton(); |
| 2779 | QToolButton *buttonSync = new QToolButton(); |
| 2780 | buttonAscii->setCheckable(true); |
| 2781 | buttonAscii->setChecked(ascii); |
| 2782 | buttonAscii->setIcon(m_iconAscii); |
| 2783 | buttonSync->setIcon(m_iconSync); |
| 2784 | buttonAscii->setToolTip(tr("Show ASCII")); |
| 2785 | buttonSync->setToolTip(tr("Sync Changes")); |
| 2786 | QSpacerItem *spacer = new QSpacerItem(0, 20, QSizePolicy::Expanding, QSizePolicy::Maximum); |
| 2787 | QSpinBox *spin = new QSpinBox(); |
| 2788 | HexWidget *edit = new HexWidget(); |
| 2789 | |
| 2790 | buttonGoto->setEnabled(guiDebug); |
| 2791 | buttonSearch->setEnabled(guiDebug); |
| 2792 | buttonAscii->setEnabled(guiDebug); |
| 2793 | buttonSync->setEnabled(guiDebug); |
| 2794 | spin->setEnabled(guiDebug); |
| 2795 | edit->setEnabled(guiDebug); |
| 2796 | edit->setContextMenuPolicy(Qt::CustomContextMenu); |
| 2797 | edit->setAsciiArea(ascii); |
| 2798 | edit->setScrollable(true); |
| 2799 | |
| 2800 | m_memWidget = edit; |
| 2801 | |
| 2802 | connect(edit, &HexWidget::customContextMenuRequested, this, &MainWindow::contextMem); |
| 2803 | connect(buttonSearch, &QPushButton::clicked, [this, edit]{ memSearchEdit(edit); }); |
| 2804 | connect(buttonGoto, &QPushButton::clicked, [this, edit]{ memGotoEdit(edit); }); |
| 2805 | connect(buttonSync, &QToolButton::clicked, [this, edit]{ memSyncEdit(edit); }); |
| 2806 | connect(buttonAscii, &QToolButton::toggled, [this, edit, magic]{ |
nothing calls this directly
no test coverage detected