-- Autogenerated by MSIL2Ada v. 2
-- By: Martin C. Carlisle
--     Department of Computer Science
--     US Air Force Academy
--     carlislem@acm.org
pragma Extensions_Allowed(On);
with MSSyst.Object;
with MSIL_Types;
use MSIL_Types;
with type MSSyst.ComponentModel.IComponent.Ref is access;
with type MSSyst.IDisposable.Ref is access;
with type MSSyst.ComponentModel.ISynchronizeInvoke.Ref is access;
with type MSSyst.Windows.Forms.IWin32Window.Ref is access;
with type MSSyst.EventHandler.Ref is access;
with type MSSyst.Windows.Forms.UICuesEventHandler.Ref is access;
with type MSSyst.Windows.Forms.ControlEventHandler.Ref is access;
with type MSSyst.Windows.Forms.DragEventHandler.Ref is access;
with type MSSyst.Windows.Forms.DrawItemEventHandler.Ref is access;
with type MSSyst.Windows.Forms.GiveFeedbackEventHandler.Ref is access;
with type MSSyst.Windows.Forms.HelpEventHandler.Ref is access;
with type MSSyst.Windows.Forms.InvalidateEventHandler.Ref is access;
with type MSSyst.Windows.Forms.KeyEventHandler.Ref is access;
with type MSSyst.Windows.Forms.KeyPressEventHandler.Ref is access;
with type MSSyst.Windows.Forms.LayoutEventHandler.Ref is access;
with type MSSyst.Windows.Forms.MouseEventHandler.Ref is access;
with type MSSyst.Windows.Forms.PaintEventHandler.Ref is access;
with type MSSyst.Windows.Forms.QueryAccessibilityHelpEventHandler.Ref is access;
with type MSSyst.Windows.Forms.QueryContinueDragEventHandler.Ref is access;
with type MSSyst.ComponentModel.CancelEventHandler.Ref is access;
with type MSSyst.IAsyncResult.Ref is access;
with type MSSyst.Delegate.Ref is access;
with type MSSyst.Object.Ref_array is access;
with type MSSyst.Windows.Forms.Control.Ref is access;
with type MSSyst.Drawing.Graphics.Ref is access;
with type MSSyst.Runtime.Remoting.ObjRef.Ref is access;
with type MSSyst.Type_k.Ref is access;
with MSSyst.Windows.Forms.DragDropEffects;
with type MSSyst.Object.Ref is access;
with type MSSyst.Windows.Forms.Form.Ref is access;
with type MSSyst.Windows.Forms.AccessibleObject.Ref is access;
with type MSSyst.String.Ref is access;
with MSSyst.Windows.Forms.AccessibleRole;
with MSSyst.Windows.Forms.TabAlignment;
with MSSyst.Windows.Forms.AnchorStyles;
with MSSyst.Windows.Forms.TabAppearance;
with type MSSyst.Drawing.Color.Valuetype is tagged;
with type MSSyst.Drawing.Image.Ref is access;
with type MSSyst.Windows.Forms.BindingContext.Ref is access;
with type MSSyst.Drawing.Rectangle.Valuetype is tagged;
with type MSSyst.Drawing.Size.Valuetype is tagged;
with type MSSyst.ComponentModel.IContainer.Ref is access;
with type MSSyst.Windows.Forms.ContextMenu.Ref is access;
with type MSSyst.Windows.Forms.Control.ControlCollection.Ref is access;
with type MSSyst.Windows.Forms.Cursor.Ref is access;
with type MSSyst.Windows.Forms.ControlBindingsCollection.Ref is access;
with MSSyst.Windows.Forms.DockStyle;
with MSSyst.Windows.Forms.TabDrawMode;
with type MSSyst.Drawing.Font.Ref is access;
with type MSSyst.Windows.Forms.ImageList.Ref is access;
with MSSyst.Windows.Forms.ImeMode;
with type MSSyst.Drawing.Point.Valuetype is tagged;
with type MSSyst.Drawing.Region.Ref is access;
with MSSyst.Windows.Forms.RightToLeft;
with type MSSyst.Windows.Forms.TabPage.Ref is access;
with type MSSyst.ComponentModel.ISite.Ref is access;
with MSSyst.Windows.Forms.TabSizeMode;
with type MSSyst.Windows.Forms.TabControl.TabPageCollection.Ref is access;
with type MSSyst.Windows.Forms.IWindowTarget.Ref is access;
with type MSSyst.Windows.Forms.IContainerControl.Ref is access;
with MSSyst.Windows.Forms.Message;
with MSSyst.Windows.Forms.BoundsSpecified;
with MSSyst.Windows.Forms.Control;
package MSSyst.Windows.Forms.TabControl is
   type Typ;
   type Ref is access all Typ'Class;
   type Ref_addrof is access all Ref;
   type Ref_Arr is array(Natural range <>) of Ref;
   type Ref_Array is access all Ref_Arr;
   type Ref_Array_addrof is access all Ref_Array;
   type Typ(
         I_IComponent : MSSyst.ComponentModel.IComponent.Ref;
         I_IDisposable : MSSyst.IDisposable.Ref;
         I_ISynchronizeInvoke : MSSyst.ComponentModel.ISynchronizeInvoke.Ref;
         I_IWin32Window : MSSyst.Windows.Forms.IWin32Window.Ref
      ) is new MSSyst.Windows.Forms.Control.Typ(
         I_IComponent => I_IComponent,
         I_IDisposable => I_IDisposable,
         I_ISynchronizeInvoke => I_ISynchronizeInvoke,
         I_IWin32Window => I_IWin32Window
      ) with record
      null;
   end record;
   function new_TabControl(
      This : Ref := null) return Ref;
   procedure add_DrawItem(
      This : access Typ;
      value : MSSyst.Windows.Forms.DrawItemEventHandler.Ref);
   procedure add_Paint(
      This : access Typ;
      value : MSSyst.Windows.Forms.PaintEventHandler.Ref);
   procedure add_SelectedIndexChanged(
      This : access Typ;
      value : MSSyst.EventHandler.Ref);
   function get_Alignment(
      This : access Typ) return MSSyst.Windows.Forms.TabAlignment.Valuetype;
   function get_Appearance(
      This : access Typ) return MSSyst.Windows.Forms.TabAppearance.Valuetype;
   function get_BackColor(
      This : access Typ) return MSSyst.Drawing.Color.Valuetype;
   function get_BackgroundImage(
      This : access Typ) return MSSyst.Drawing.Image.Ref;
   function get_DisplayRectangle(
      This : access Typ) return MSSyst.Drawing.Rectangle.Valuetype;
   function get_DrawMode(
      This : access Typ) return MSSyst.Windows.Forms.TabDrawMode.Valuetype;
   function get_ForeColor(
      This : access Typ) return MSSyst.Drawing.Color.Valuetype;
   function get_HotTrack(
      This : access Typ) return Standard.Boolean;
   function get_ImageList(
      This : access Typ) return MSSyst.Windows.Forms.ImageList.Ref;
   function get_ItemSize(
      This : access Typ) return MSSyst.Drawing.Size.Valuetype;
   function get_Multiline(
      This : access Typ) return Standard.Boolean;
   function get_Padding(
      This : access Typ) return MSSyst.Drawing.Point.Valuetype;
   function get_RowCount(
      This : access Typ) return Integer;
   function get_SelectedIndex(
      This : access Typ) return Integer;
   function get_SelectedTab(
      This : access Typ) return MSSyst.Windows.Forms.TabPage.Ref;
   function get_ShowToolTips(
      This : access Typ) return Standard.Boolean;
   function get_SizeMode(
      This : access Typ) return MSSyst.Windows.Forms.TabSizeMode.Valuetype;
   function get_TabCount(
      This : access Typ) return Integer;
   function get_TabPages(
      This : access Typ) return MSSyst.Windows.Forms.TabControl.TabPageCollection.Ref;
   function get_Text(
      This : access Typ) return MSSyst.String.Ref;
   function GetControl(
      This : access Typ;
      index : Integer) return MSSyst.Windows.Forms.Control.Ref;
   function GetTabRect(
      This : access Typ;
      index : Integer) return MSSyst.Drawing.Rectangle.Valuetype;
   procedure remove_DrawItem(
      This : access Typ;
      value : MSSyst.Windows.Forms.DrawItemEventHandler.Ref);
   procedure remove_Paint(
      This : access Typ;
      value : MSSyst.Windows.Forms.PaintEventHandler.Ref);
   procedure remove_SelectedIndexChanged(
      This : access Typ;
      value : MSSyst.EventHandler.Ref);
   procedure set_Alignment(
      This : access Typ;
      value : MSSyst.Windows.Forms.TabAlignment.Valuetype);
   procedure set_Appearance(
      This : access Typ;
      value : MSSyst.Windows.Forms.TabAppearance.Valuetype);
   procedure set_BackColor(
      This : access Typ;
      value : MSSyst.Drawing.Color.Valuetype);
   procedure set_BackgroundImage(
      This : access Typ;
      value : MSSyst.Drawing.Image.Ref);
   procedure set_DrawMode(
      This : access Typ;
      value : MSSyst.Windows.Forms.TabDrawMode.Valuetype);
   procedure set_ForeColor(
      This : access Typ;
      value : MSSyst.Drawing.Color.Valuetype);
   procedure set_HotTrack(
      This : access Typ;
      value : Standard.Boolean);
   procedure set_ImageList(
      This : access Typ;
      value : MSSyst.Windows.Forms.ImageList.Ref);
   procedure set_ItemSize(
      This : access Typ;
      value : MSSyst.Drawing.Size.Valuetype);
   procedure set_Multiline(
      This : access Typ;
      value : Standard.Boolean);
   procedure set_Padding(
      This : access Typ;
      value : MSSyst.Drawing.Point.Valuetype);
   procedure set_SelectedIndex(
      This : access Typ;
      value : Integer);
   procedure set_SelectedTab(
      This : access Typ;
      value : MSSyst.Windows.Forms.TabPage.Ref);
   procedure set_ShowToolTips(
      This : access Typ;
      value : Standard.Boolean);
   procedure set_SizeMode(
      This : access Typ;
      value : MSSyst.Windows.Forms.TabSizeMode.Valuetype);
   procedure set_Text(
      This : access Typ;
      value : MSSyst.String.Ref);
   function ToString(
      This : access Typ) return MSSyst.String.Ref;
private
   pragma Convention(MSIL,Typ);
   pragma MSIL_Constructor(new_TabControl);
   pragma Import(MSIL,add_DrawItem,"add_DrawItem");
   pragma Import(MSIL,add_Paint,"add_Paint");
   pragma Import(MSIL,add_SelectedIndexChanged,"add_SelectedIndexChanged");
   pragma Import(MSIL,get_Alignment,"get_Alignment");
   pragma Import(MSIL,get_Appearance,"get_Appearance");
   pragma Import(MSIL,get_BackColor,"get_BackColor");
   pragma Import(MSIL,get_BackgroundImage,"get_BackgroundImage");
   pragma Import(MSIL,get_DisplayRectangle,"get_DisplayRectangle");
   pragma Import(MSIL,get_DrawMode,"get_DrawMode");
   pragma Import(MSIL,get_ForeColor,"get_ForeColor");
   pragma Import(MSIL,get_HotTrack,"get_HotTrack");
   pragma Import(MSIL,get_ImageList,"get_ImageList");
   pragma Import(MSIL,get_ItemSize,"get_ItemSize");
   pragma Import(MSIL,get_Multiline,"get_Multiline");
   pragma Import(MSIL,get_Padding,"get_Padding");
   pragma Import(MSIL,get_RowCount,"get_RowCount");
   pragma Import(MSIL,get_SelectedIndex,"get_SelectedIndex");
   pragma Import(MSIL,get_SelectedTab,"get_SelectedTab");
   pragma Import(MSIL,get_ShowToolTips,"get_ShowToolTips");
   pragma Import(MSIL,get_SizeMode,"get_SizeMode");
   pragma Import(MSIL,get_TabCount,"get_TabCount");
   pragma Import(MSIL,get_TabPages,"get_TabPages");
   pragma Import(MSIL,get_Text,"get_Text");
   pragma Import(MSIL,GetControl,"GetControl");
   pragma Import(MSIL,GetTabRect,"GetTabRect");
   pragma Import(MSIL,remove_DrawItem,"remove_DrawItem");
   pragma Import(MSIL,remove_Paint,"remove_Paint");
   pragma Import(MSIL,remove_SelectedIndexChanged,"remove_SelectedIndexChanged");
   pragma Import(MSIL,set_Alignment,"set_Alignment");
   pragma Import(MSIL,set_Appearance,"set_Appearance");
   pragma Import(MSIL,set_BackColor,"set_BackColor");
   pragma Import(MSIL,set_BackgroundImage,"set_BackgroundImage");
   pragma Import(MSIL,set_DrawMode,"set_DrawMode");
   pragma Import(MSIL,set_ForeColor,"set_ForeColor");
   pragma Import(MSIL,set_HotTrack,"set_HotTrack");
   pragma Import(MSIL,set_ImageList,"set_ImageList");
   pragma Import(MSIL,set_ItemSize,"set_ItemSize");
   pragma Import(MSIL,set_Multiline,"set_Multiline");
   pragma Import(MSIL,set_Padding,"set_Padding");
   pragma Import(MSIL,set_SelectedIndex,"set_SelectedIndex");
   pragma Import(MSIL,set_SelectedTab,"set_SelectedTab");
   pragma Import(MSIL,set_ShowToolTips,"set_ShowToolTips");
   pragma Import(MSIL,set_SizeMode,"set_SizeMode");
   pragma Import(MSIL,set_Text,"set_Text");
   pragma Import(MSIL,ToString,"ToString");
end MSSyst.Windows.Forms.TabControl;
pragma Extensions_Allowed(Off);
pragma Import(MSIL,MSSyst.Windows.Forms.TabControl,
   ".ver 1:0:3300:0 .publickeytoken=( b7 7a 5c 56 19 34 e0 89 )",
   "[System.Windows.Forms]System.Windows.Forms.TabControl");
