Files
MujicaUI/docs/components/339-hex-viewer.md
T

1.4 KiB
Raw Blame History

339 HexViewer · 十六进制查看器

用途

以偏移、十六进制与 ASCII 三列对照显示字节;两列共享同一选择与光标,只构建可见行。

最小示例

data := []byte("MUJICA court ledger\x00\x01")
var state mujica.HexViewerState
view := func(c *ui.Context) {
	mujica.Use(c, mujica.Settings{})
	mujica.HexViewer(c, data, &state, mujica.HexViewerOptions{}).Element.Height(160)
}
ui.Render(view, 400, 300, 1)

参数

func HexViewer(c *ui.Context, data []byte, s *HexViewerState, opts HexViewerOptions) ChoiceResult。每行 16 字节;s.Selection() 返回选中范围;光标或锚点越界 panic。

字段 类型 默认值 含义
HexViewerState.Cursor, Anchor int 0 光标字节与 Shift 选择的起点。
Disabled bool false 不能移动与选择。

状态

选中字节在两列都显示 Selection 背景,光标字节在两列都加 AccentText 框;不可打印字节显示为点;聚焦时外侧焦点环;空数据;禁用。

事件

Changed():光标或选择变化。

键盘操作

  • Tab 聚焦;←/→ 移动一字节,↑/↓ 移动一行,Home/End 到行首行尾;加 Shift 扩展选择。
  • Cmd+C(macOS)/ Ctrl+C:以空格分隔的十六进制复制选中字节。
  • 点击任一列选择字节,Shift+点击扩展。

限制

  • 只读,不支持编辑与搜索。