public static void Delete(HexEditorData data) { if (data.IsSomethingSelected) { data.DeleteSelection(); return; } if (data.Caret.Offset >= data.Length) { return; } data.ByteBuffer.Remove(data.Caret.Offset, 1); data.UpdateLine(data.Caret.Line); }
public static void GotoPrevious(HexEditorData data) { data.Bookmarks.Sort(); long cur = -1; for (int i = 0; i < data.Bookmarks.Count; i++) { if (data.Bookmarks[i] < data.Caret.Offset && cur < data.Bookmarks[i]) { cur = data.Bookmarks[i]; } } if (cur == -1 && data.Bookmarks.Count > 0) { cur = data.Bookmarks[data.Bookmarks.Count - 1]; } if (cur != -1) { data.Caret.Offset = cur; data.UpdateLine(data.Caret.Offset / data.BytesInRow); } }
public static void GotoNext(HexEditorData data) { data.Bookmarks.Sort(); long cur = long.MaxValue; for (int i = 0; i < data.Bookmarks.Count; i++) { if (data.Bookmarks[i] > data.Caret.Offset && cur > data.Bookmarks[i]) { cur = data.Bookmarks[i]; } } if (cur == long.MaxValue && data.Bookmarks.Count > 0) { cur = data.Bookmarks[0]; } if (cur != long.MaxValue) { data.Caret.Offset = cur; data.UpdateLine(data.Caret.Offset / data.BytesInRow); } }
public static void SwitchCaretMode(HexEditorData data) { data.Caret.IsInsertMode = !data.Caret.IsInsertMode; data.UpdateLine(data.Caret.Line); }
public static void SwitchSide(HexEditorData data) { data.Caret.InTextEditor = !data.Caret.InTextEditor; data.UpdateLine(data.Caret.Line); }