public static void Delete (HexEditorData data) { if (data.IsSomethingSelected) { data.DeleteSelection (); return; } if (data.Caret.Offset >= data.Length) return; data.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); }