Class HexView
An Hex viewer an editor view over a System.IO.Stream
Inherited Members
Namespace: Terminal.Gui
Assembly: Terminal.Gui.dll
Syntax
public class HexView : Terminal.Gui.View
Remarks
This provides a hex editor on top of a seekable stream with the left side showing an hex
dump of the values in the stream and the right side showing the contents (filterd to
non-control sequence ascii characters).
Users can switch from one side to the other by using the tab key.
If you want to enable editing, set the AllowsEdits property, once that is done, the user can make changes to the hexadecimal values of the stream. Any changes done are tracked in the Edits property which is a sorted dictionary indicating the position where the change was made and the new value. A convenience ApplyEdits method can be used to c apply the methods to the underlying stream.
It is possible to control the first byte shown by setting the DisplayStart property to the offset that you want to start viewing.
Constructors
HexView(Stream)
Creates and instance of the HexView that will render a seekable stream in hex on the allocated view region.
Declaration
public HexView (System.IO.Stream source);
Parameters
Type | Name | Description |
---|---|---|
System.IO.Stream | source | Source stream, this stream should support seeking, or this will raise an exceotion. |
Properties
AllowEdits
Gets or sets a value indicating whether this HexView allow editing of the contents of the underlying stream.
Declaration
public bool AllowEdits { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
|
DisplayStart
Configures the initial offset to be displayed at the top
Declaration
public long DisplayStart { get; set; }
Property Value
Type | Description |
---|---|
System.Int64 | The display start. |
Edits
Gets a list of the edits done to the buffer which is a sorted dictionary with the positions where the edit took place and the value that was set.
Declaration
public System.Collections.Generic.IReadOnlyDictionary<long,byte> Edits { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IReadOnlyDictionary<System.Int64,System.Byte> | The edits. |
Frame
Declaration
public override Terminal.Gui.Rect Frame { get; set; }
Property Value
Type | Description |
---|---|
Rect | To be added. |
Source
The source stream to display on the hex view, the stream should support seeking.
Declaration
public System.IO.Stream Source { get; set; }
Property Value
Type | Description |
---|---|
System.IO.Stream | The source. |
Methods
ApplyEdits()
This method applies the edits to the stream and resets the contents of the Edits property
Declaration
public void ApplyEdits ();
PositionCursor()
Positions the cursor based for the hex view
Declaration
public override void PositionCursor ();
ProcessKey(KeyEvent)
Declaration
public override bool ProcessKey (Terminal.Gui.KeyEvent keyEvent);
Parameters
Type | Name | Description |
---|---|---|
KeyEvent | keyEvent | To be added. |
Returns
Type | Description |
---|---|
System.Boolean | To be added. |
Redraw(Rect)
Declaration
public override void Redraw (Terminal.Gui.Rect region);
Parameters
Type | Name | Description |
---|---|---|
Rect | region | To be added. |