| 2104 | // ── Editable-field text-color indicator ── |
| 2105 | |
| 2106 | void RcxEditor::paintEditableSpans(int line) { |
| 2107 | const LineMeta* lm = metaForLine(line); |
| 2108 | if (!lm) return; |
| 2109 | // CommandRow: paint Source/BaseAddress + root class (type+name) spans |
| 2110 | if (lm->lineKind == LineKind::CommandRow) { |
| 2111 | NormalizedSpan norm; |
| 2112 | if (resolvedSpanFor(line, EditTarget::Source, norm)) |
| 2113 | fillIndicatorCols(IND_EDITABLE, line, norm.start, norm.end); |
| 2114 | if (resolvedSpanFor(line, EditTarget::BaseAddress, norm)) |
| 2115 | fillIndicatorCols(IND_EDITABLE, line, norm.start, norm.end); |
| 2116 | if (resolvedSpanFor(line, EditTarget::RootClassType, norm)) |
| 2117 | fillIndicatorCols(IND_EDITABLE, line, norm.start, norm.end); |
| 2118 | if (resolvedSpanFor(line, EditTarget::RootClassName, norm)) |
| 2119 | fillIndicatorCols(IND_EDITABLE, line, norm.start, norm.end); |
| 2120 | return; |
| 2121 | } |
| 2122 | if (isSyntheticLine(*lm)) return; |
| 2123 | NormalizedSpan norm; |
| 2124 | for (EditTarget t : {EditTarget::Type, EditTarget::Name, EditTarget::Value, |
| 2125 | EditTarget::ArrayElementType, EditTarget::ArrayElementCount, |
| 2126 | EditTarget::PointerTarget}) { |
| 2127 | if (resolvedSpanFor(line, t, norm)) |
| 2128 | fillIndicatorCols(IND_EDITABLE, line, norm.start, norm.end); |
| 2129 | } |
| 2130 | } |
| 2131 | |
| 2132 | void RcxEditor::updateEditableIndicators(int line) { |
| 2133 | if (m_editState.active) return; |
nothing calls this directly
no test coverage detected