<Type Name="Responder" FullName="Terminal.Gui.Responder">
  <TypeSignature Language="C#" Value="public class Responder" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Responder extends System.Object" />
  <AssemblyInfo>
    <AssemblyName>Terminal.Gui</AssemblyName>
    <AssemblyVersion>1.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces />
  <Docs>
    <summary>
            Responder base class implemented by objects that want to participate on keyboard and mouse input.
            </summary>
    <remarks>To be added.</remarks>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public Responder ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
      <MemberType>Constructor</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <Parameters />
      <Docs>
        <summary>To be added.</summary>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="CanFocus">
      <MemberSignature Language="C#" Value="public virtual bool CanFocus { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance bool CanFocus" />
      <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.Responder" /> can focus.
            </summary>
        <value>
          <c>true</c> if can focus; otherwise, <c>false</c>.</value>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="HasFocus">
      <MemberSignature Language="C#" Value="public virtual bool HasFocus { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance bool HasFocus" />
      <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.Responder" /> has focus.
            </summary>
        <value>
          <c>true</c> if has focus; otherwise, <c>false</c>.</value>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="MouseEvent">
      <MemberSignature Language="C#" Value="public virtual bool MouseEvent (Terminal.Gui.MouseEvent mouseEvent);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool MouseEvent(valuetype Terminal.Gui.MouseEvent mouseEvent) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="mouseEvent" Type="Terminal.Gui.MouseEvent" />
      </Parameters>
      <Docs>
        <param name="mouseEvent">Contains the details about the mouse event.</param>
        <summary>
            Method invoked when a mouse event is generated
            </summary>
        <returns>
          <c>true</c>, if the event was handled, <c>false</c> otherwise.</returns>
        <remarks>To be added.</remarks>
      </Docs>
    </Member>
    <Member MemberName="ProcessColdKey">
      <MemberSignature Language="C#" Value="public virtual bool ProcessColdKey (Terminal.Gui.KeyEvent keyEvent);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool ProcessColdKey(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">Contains the details about the key that produced the event.</param>
        <summary>
              This method can be overwritten by views that
                want to provide accelerator functionality
                (Alt-key for example), but without
                interefering with normal ProcessKey behavior.
            </summary>
        <returns>To be added.</returns>
        <remarks>
          <para>
                After keys are sent to the subviews on the
                current view, all the view are
                processed and the key is passed to the views
                to allow some of them to process the keystroke
                as a cold-key. </para>
          <para>
               This functionality is used, for example, by
               default buttons to act on the enter key.
               Processing this as a hot-key would prevent
               non-default buttons from consuming the enter
               keypress when they have the focus.
             </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="ProcessHotKey">
      <MemberSignature Language="C#" Value="public virtual bool ProcessHotKey (Terminal.Gui.KeyEvent kb);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool ProcessHotKey(valuetype Terminal.Gui.KeyEvent kb) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="kb" Type="Terminal.Gui.KeyEvent" />
      </Parameters>
      <Docs>
        <param name="kb">To be added.</param>
        <summary>
              This method can be overwritten by view that
                want to provide accelerator functionality
                (Alt-key for example).
            </summary>
        <returns>To be added.</returns>
        <remarks>
          <para>
                Before keys are sent to the subview on the
                current view, all the views are
                processed and the key is passed to the widgets
                to allow some of them to process the keystroke
                as a hot-key. </para>
          <para>
                For example, if you implement a button that
                has a hotkey ok "o", you would catch the
                combination Alt-o here.  If the event is
                caught, you must return true to stop the
                keystroke from being dispatched to other
                views.
             </para>
        </remarks>
      </Docs>
    </Member>
    <Member MemberName="ProcessKey">
      <MemberSignature Language="C#" Value="public virtual bool ProcessKey (Terminal.Gui.KeyEvent keyEvent);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot 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">Contains the details about the key that produced the event.</param>
        <summary>
              If the view is focused, gives the view a
              chance to process the keystroke. 
            </summary>
        <returns>To be added.</returns>
        <remarks>
          <para>
                Views can override this method if they are
                interested in processing the given keystroke.
                If they consume the keystroke, they must
                return true to stop the keystroke from being
                processed by other widgets or consumed by the
                widget engine.    If they return false, the
                keystroke will be passed using the ProcessColdKey
                method to other views to process.
              </para>
          <para>
                The View implementation does nothing but return false,
                so it is not necessary to call base.ProcessKey if you 
                derive directly from View, but you should if you derive
                other View subclasses.
              </para>
        </remarks>
      </Docs>
    </Member>
  </Members>
</Type>
