Add type selector popup, view root switching, and new type creation

- Type selector chevron [▸] on command row opens searchable popup
- Popup lists all root structs with filter, keyboard nav, side-triangle indicator
- Selecting a type switches the editor view via setViewRootId
- "Create new type" inserts a new root struct with no name
- Command row displays the active view root's name
- Tests for chevron detection, span compatibility, view switching, undo
This commit is contained in:
batallion2
2026-02-09 12:21:03 -07:00
committed by sysadmin
parent 0e65b9997e
commit f4149faa9a
15 changed files with 1611 additions and 291 deletions

View File

@@ -9,8 +9,6 @@
#include <QFutureWatcher>
#include <memory>
class QSplitter;
namespace rcx {
class RcxController;
@@ -80,7 +78,7 @@ public:
~RcxController() override;
RcxEditor* primaryEditor() const;
RcxEditor* addSplitEditor(QSplitter* splitter);
RcxEditor* addSplitEditor(QWidget* parent = nullptr);
void removeSplitEditor(RcxEditor* editor);
QList<RcxEditor*> editors() const { return m_editors; }
@@ -146,6 +144,7 @@ private:
void attachToProcess(uint32_t pid, const QString& processName);
void switchToSavedSource(int idx);
void pushSavedSourcesToEditors();
void showTypeSelectorPopup(RcxEditor* editor);
// ── Auto-refresh methods ──
void setupAutoRefresh();