Class HexView
An hex viewer and editor
View over a
System.IO.Stream
Inheritance
System.Object
HexView
Implements
System.IDisposable
System.ComponentModel.ISupportInitializeNotification
System.ComponentModel.ISupportInitialize
Assembly: Terminal.Gui.dll
Syntax
public class HexView : View
Constructors
HexView()
Declaration
HexView(Stream)
Declaration
public HexView(Stream source)
Parameters
| Type |
Name |
Description |
| System.IO.Stream |
source |
The System.IO.Stream to view and edit as hex, this System.IO.Stream must support seeking, or an exception will be thrown. |
Properties
AllowEdits
Gets or sets whether this
HexView allow editing of the
System.IO.Stream
of the underlying
System.IO.Stream.
Declaration
public bool AllowEdits { get; set; }
Property Value
| Type |
Description |
| System.Boolean |
true if allow edits; otherwise, false. |
BytesPerLine
The bytes length per line.
Declaration
public int BytesPerLine { get; }
Property Value
| Type |
Description |
| System.Int32 |
|
CursorPosition
Gets the current cursor position starting at one for both, line and column.
Declaration
public Point CursorPosition { get; }
Property Value
DesiredCursorVisibility
Get / Set the wished cursor when the field is focused
Declaration
public CursorVisibility DesiredCursorVisibility { get; set; }
Property Value
DisplayStart
Sets or gets the offset into the
System.IO.Stream that will displayed at the top of the
HexView
Declaration
public long DisplayStart { get; set; }
Property Value
| Type |
Description |
| System.Int64 |
The display start. |
Edits
Gets a
System.Collections.Generic.SortedDictionary`2 describing the edits done to the
HexView.
Each Key indicates an offset where an edit was made and the Value is the changed byte.
Declaration
public IReadOnlyDictionary<long, byte> Edits { get; }
Property Value
| Type |
Description |
| System.Collections.Generic.IReadOnlyDictionary<System.Int64, System.Byte> |
The edits. |
Frame
Gets or sets the frame for the view. The frame is relative to the view's container (
SuperView).
Declaration
public override Rect Frame { get; set; }
Property Value
| Type |
Description |
| Rect |
The frame. |
Overrides
Position
Gets the current character position starting at one, related to the System.IO.Stream.
Declaration
public long Position { get; }
Property Value
| Type |
Description |
| System.Int64 |
|
Source
Sets or gets the
System.IO.Stream the
HexView is operating on; the stream must support seeking (
System.IO.Stream.CanSeek == true).
Declaration
public Stream Source { get; set; }
Property Value
| Type |
Description |
| System.IO.Stream |
The source. |
Methods
ApplyEdits(Stream)
This method applies and edits made to the
System.IO.Stream and resets the
contents of the
Edits property.
Declaration
public void ApplyEdits(Stream stream = null)
Parameters
| Type |
Name |
Description |
| System.IO.Stream |
stream |
If provided also applies the changes to the passed System.IO.Stream |
DiscardEdits()
This method discards the edits made to the
System.IO.Stream by resetting the
contents of the
Edits property.
Declaration
public void DiscardEdits()
MouseEvent(MouseEvent)
Method invoked when a mouse event is generated
Declaration
public override bool MouseEvent(MouseEvent me)
Parameters
Returns
| Type |
Description |
| System.Boolean |
true, if the event was handled, false otherwise. |
Overrides
OnEdited(KeyValuePair<Int64, Byte>)
Method used to invoke the
Edited event passing the
System.Collections.Generic.KeyValuePair<, >.
Declaration
public virtual void OnEdited(KeyValuePair<long, byte> keyValuePair)
Parameters
| Type |
Name |
Description |
| System.Collections.Generic.KeyValuePair<System.Int64, System.Byte> |
keyValuePair |
The key value pair. |
OnEnter(View)
Method invoked when a view gets focus.
Declaration
public override bool OnEnter(View view)
Parameters
| Type |
Name |
Description |
| View |
view |
The view that is losing focus. |
Returns
| Type |
Description |
| System.Boolean |
true, if the event was handled, false otherwise. |
Overrides
OnPositionChanged()
Declaration
public virtual void OnPositionChanged()
PositionCursor()
Positions the cursor in the right position based on the currently focused view in the chain.
Declaration
public override void PositionCursor()
Overrides
ProcessKey(KeyEvent)
If the view is focused, gives the view a
chance to process the keystroke.
Declaration
public override bool ProcessKey(KeyEvent keyEvent)
Parameters
| Type |
Name |
Description |
| KeyEvent |
keyEvent |
Contains the details about the key that produced the event. |
Returns
| Type |
Description |
| System.Boolean |
|
Overrides
Redraw(Rect)
Redraws this view and its subviews; only redraws the views that have been flagged for a re-display.
Declaration
public override void Redraw(Rect bounds)
Parameters
| Type |
Name |
Description |
| Rect |
bounds |
The bounds (view-relative region) to redraw. |
Overrides
Events
Edited
Event to be invoked when an edit is made on the System.IO.Stream.
Declaration
public event Action<KeyValuePair<long, byte>> Edited
Event Type
| Type |
Description |
| System.Action<System.Collections.Generic.KeyValuePair<System.Int64, System.Byte>> |
|
PositionChanged
Event to be invoked when the position and cursor position changes.
Declaration
public event Action<HexView.HexViewEventArgs> PositionChanged
Event Type
Implements
System.IDisposable
System.ComponentModel.ISupportInitializeNotification
System.ComponentModel.ISupportInitialize