--
    -- Example of setting control colors using CLAW.
    --
    -- Edit History:
    --
    --  3/ 7/97 - RLB - Created simple test to check out color stuff.
    --  3/10/97 - RLB - Complicated test to check out more color stuff, and
    --			icons and fonts.
    --  4/24/97 - RLB - Made simplified version for Claw Demo.

with Claw.Frame_Window,
     Claw.Canvas,
     Claw.Static,
     Claw.Push_Button,
     Claw.Checkbox,
     Claw.Fonts;

package Test_CC_Window is

    procedure Start;

    function Is_Done return Boolean;

private

    use type Claw.Identifier_Type;
    Info_ID : constant  Claw.Identifier_Type := 5;
    Static1_ID : constant Claw.Identifier_Type := 11;
    Static2_ID : constant Claw.Identifier_Type := 21;
    Static3_ID : constant Claw.Identifier_Type := 31;
    Button_ID  : constant Claw.Identifier_Type := 41;
    Checkbox_ID: constant Claw.Identifier_Type := 111;

    type Displays is new Claw.Frame_Window.Frame_Window_Type with record
	Info_Mess : Claw.Static.Static_Type;
	Static1_Mess : Claw.Static.Static_Type;
	Static2_Mess : Claw.Static.Static_Type;
	Static3_Mess : Claw.Static.Static_Type;
	Button : Claw.Push_Button.Button_Type;
	New_Font : Claw.Fonts.Font_Type;
	Sys_Font : Claw.Fonts.Font_Type;
	Checkbox  : Claw.Checkbox.Checkbox_Type;
	Org_Color_Scheme : Natural := 0;
    end record;

    procedure When_Command (Window : in out Displays;
			    From   : in Claw.Command_Source_Type;
			    Command_Id : in Claw.Menu_Identifier_Type;
                            Unknown_Command : in out Boolean);
      -- Called when a menu command is executed.

    procedure When_Child_Notify (Window  : in out Displays;
				 Code    : in Claw.Notification_Code_Type;
				 Data	 : in Claw.Notification_Data_Type'Class;
				 Control : in out Claw.Root_Control_Type'Class;
				 Unknown_Command : in out Boolean);
	-- This procedure is called whenever a child control sends a notification
	-- to Window.  The specification notification is specified by Code,
	-- and Control is the control's Claw object.
	-- Notification_Codes are defined in the packages for the
	-- various controls.
	-- If this routine does not recognize (or handle) the command, it
	-- should return Unknown_Command = True.  This will cause CLAW to
	-- exceute the default action for the command, usually nothing
	-- (but some system commands do have default actions).
	-- This routine is often overridden to provide actions for the
	-- notifications.  If it is not overridden, all commands return
	-- Unknown_Command = True.

end Test_CC_Window;