<Type Name="HexView" FullName="Terminal.Gui.HexView">
  <TypeSignature Language="C#" Value="public class HexView : Terminal.Gui.View" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit HexView extends Terminal.Gui.View" />
  <AssemblyInfo>
    <AssemblyName>Terminal.Gui</AssemblyName>
    <AssemblyVersion>1.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <Base>
    <BaseTypeName>Terminal.Gui.View</BaseTypeName>
  </Base>
  <Interfaces />
  <Docs>
    <summary>
            An Hex viewer an editor view over a System.IO.Stream
            </summary>
    <remarks>
      <para>
            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).    
            </para>
      <para>
            Users can switch from one side to the other by using the tab key.  
            </para>
      <para>
            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.
            </para>
      <para>
            It is possible to control the first byte shown by setting the DisplayStart property 
            to the offset that you want to start viewing.
            </para>
    </remarks>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public HexView (System.IO.Stream source);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.IO.Stream source) cil managed" />
      <MemberType>Constructor</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Parameters>
        <Parameter Name="source" Type="System.IO.Stream" />
      </Parameters>
      <Docs>
        <param name="source">Source stream, this stream should support seeking, or this will raise an exceotion.</param>
        <summary>
            Creates and instance of the HexView that will render a seekable stream in hex on the allocated view region.
            </summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="AllowEdits">
      <MemberSignature Language="C#" Value="public bool AllowEdits { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance bool AllowEdits" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>
            Gets or sets a value indicating whether this <see cref="T:Terminal.Gui.HexView" /> allow editing of the contents of the underlying stream.
            </summary>
        <value>
          <c>true</c> if allow edits; otherwise, <c>false</c>.</value>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="ApplyEdits">
      <MemberSignature Language="C#" Value="public void ApplyEdits ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void ApplyEdits() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
            This method applies the edits to the stream and resets the contents of the Edits property
            </summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="DisplayStart">
      <MemberSignature Language="C#" Value="public long DisplayStart { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance int64 DisplayStart" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Int64</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>
            Configures the initial offset to be displayed at the top
            </summary>
        <value>The display start.</value>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Edits">
      <MemberSignature Language="C#" Value="public System.Collections.Generic.IReadOnlyDictionary&lt;long,byte&gt; Edits { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class System.Collections.Generic.IReadOnlyDictionary`2&lt;int64, unsigned int8&gt; Edits" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Collections.Generic.IReadOnlyDictionary&lt;System.Int64,System.Byte&gt;</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>
            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.
            </summary>
        <value>The edits.</value>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Frame">
      <MemberSignature Language="C#" Value="public override Terminal.Gui.Rect Frame { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance valuetype Terminal.Gui.Rect Frame" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>Terminal.Gui.Rect</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>To be added.</summary>
        <value>To be added.</value>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="PositionCursor">
      <MemberSignature Language="C#" Value="public override void PositionCursor ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance void PositionCursor() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>
            Positions the cursor based for the hex view
            </summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="ProcessKey">
      <MemberSignature Language="C#" Value="public override bool ProcessKey (Terminal.Gui.KeyEvent keyEvent);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool ProcessKey(valuetype Terminal.Gui.KeyEvent keyEvent) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="keyEvent" Type="Terminal.Gui.KeyEvent" />
      </Parameters>
      <Docs>
        <param name="keyEvent">To be added.</param>
        <summary>To be added.</summary>
        <returns>To be added.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Redraw">
      <MemberSignature Language="C#" Value="public override void Redraw (Terminal.Gui.Rect region);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance void Redraw(valuetype Terminal.Gui.Rect region) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="region" Type="Terminal.Gui.Rect" />
      </Parameters>
      <Docs>
        <param name="region">To be added.</param>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Source">
      <MemberSignature Language="C#" Value="public System.IO.Stream Source { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class System.IO.Stream Source" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.IO.Stream</ReturnType>
      </ReturnValue>
      <Docs>
        <summary>
            The source stream to display on the hex view, the stream should support seeking.
            </summary>
        <value>The source.</value>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
  </Members>
</Type>
