Add MCP bridge for external tool integration

Embedded JSON-RPC server over named pipes (rcx-mcp) enabling external
tools like Claude Code to inspect and manipulate the node tree, read/write
hex data, switch sources, and trigger UI actions. Includes stdio adapter
(rcx-mcp-stdio) for stdin/stdout transport. Server is stopped by default;
user starts via File > Start MCP Server.

Also extracts MainWindow class declaration to mainwindow.h and improves
type selector popup Esc button styling.
This commit is contained in:
IChooseYou
2026-02-10 10:55:27 -07:00
committed by sysadmin
parent df566064ba
commit 4295460597
9 changed files with 1400 additions and 103 deletions

View File

@@ -131,10 +131,17 @@ TypeSelectorPopup::TypeSelectorPopup(QWidget* parent)
row->addStretch();
m_escLabel = new QLabel(QStringLiteral("Esc"));
QPalette dimPal = pal;
dimPal.setColor(QPalette::WindowText, theme.textDim);
m_escLabel->setPalette(dimPal);
m_escLabel = new QToolButton;
m_escLabel->setText(QStringLiteral("\u2715 Esc"));
m_escLabel->setAutoRaise(true);
m_escLabel->setCursor(Qt::PointingHandCursor);
m_escLabel->setStyleSheet(QStringLiteral(
"QToolButton { color: %1; border: none; padding: 2px 6px; }"
"QToolButton:hover { color: %2; }")
.arg(theme.textDim.name(), theme.indHoverSpan.name()));
connect(m_escLabel, &QToolButton::clicked, this, [this]() {
hide();
});
row->addWidget(m_escLabel);
layout->addLayout(row);
@@ -144,8 +151,7 @@ TypeSelectorPopup::TypeSelectorPopup(QWidget* parent)
{
m_createBtn = new QToolButton;
m_createBtn->setText(QStringLiteral("+ Create new type\u2026"));
m_createBtn->setIcon(QIcon(QStringLiteral(":/vsicons/add.svg")));
m_createBtn->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
m_createBtn->setToolButtonStyle(Qt::ToolButtonTextOnly);
m_createBtn->setAutoRaise(true);
m_createBtn->setCursor(Qt::PointingHandCursor);
m_createBtn->setPalette(pal);