Closes #23
This commit is contained in:
1 parent
713276d34a
commit
fc97682b37
45 files changed
+6760
-5
No files matched your search
@@ -241,7 +241,26 @@ has no metadata payload. The payload types are:
|
||||
- `FrameInfo`
|
||||
- `SignalInfo`
|
||||
|
||||
The tree supports browsing through the optional `DbcTreeModel` adapter.
|
||||
The tree is independent of Qt and supports browsing through the optional
|
||||
`DbcTreeModel` adapter. `GetParent()` returns a non-owning parent pointer;
|
||||
`GetRow()` returns the zero-based sibling position (zero for a detached node or
|
||||
root). `GetChild()` returns nullptr outside the child range, and `AddChild()`
|
||||
ignores null children. Appending children preserves existing addresses and rows.
|
||||
|
||||
Nodes cannot be copied or moved. Transfer their `std::unique_ptr` ownership to
|
||||
preserve parent links and addresses. `AddChild()` accepts an rvalue ownership
|
||||
handle and rejects self/ancestor insertion and already-attached children with
|
||||
`std::invalid_argument` before consuming ownership. There is no detach or
|
||||
reparent operation; callers must supply exclusive ownership.
|
||||
|
||||
`GetFrameKey()` returns `std::optional<FrameKey>` for frame nodes and signals
|
||||
directly attached to a frame. `GetSignalKey()` returns `std::optional<SignalKey>`
|
||||
for those signals. Roots, detached signals, and signals without a frame parent
|
||||
have no key. Keys use normalized CAN ID plus standard/extended type, and signal
|
||||
keys also include the signal name. They match runtime definition keys, remain
|
||||
independent of row order and frame display names, and survive source-database
|
||||
changes or destruction. Renaming a signal changes its logical identity. Returned
|
||||
keys are values and may be retained after destroying the tree.
|
||||
|
||||
It is **not** the primary runtime decode structure.
|
||||
|
||||
|
||||
Reference in new issue
Block a user