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