#ifndef MAKE_ID
#define MAKE_ID(a,b,c,d) ((ULONG) (a)<<24 | (ULONG) (b)<<16 | (ULONG) (c)<<8 | (ULONG) (d))
#endif

#ifdef _DCC
#define __inline
#endif

//#include "MUI_Interface.h"
#include <Global/Main_Global.h>
#include "MUI_InterfaceExtern.h"


struct ObjApp * CreateApp(void)
{
	struct ObjApp * Object;

	APTR	Layout_1, Left_Side, Right_Side, Control_Buttons, Divider_1, Layout_2;
	APTR	Layout_3, Operation_Controls, Stupid_Scale, Layout_4, Time_Left_Label;
	APTR	Palette, Part_One, Accuracy_LabelCC, Status_Label, Divder, Part_Two;
	APTR	Custom_Palette_Label, Colours_Used_Label, Offset_Colour0_Label, Colour_Ordering_Label;
	APTR	Sort_Direction_Label, DivderCC, Part_Three, Dithering, Balancing;
	APTR	Red_Label, Green_Label, Blue_Label, Brightness_Label, Contrast_Label;
	APTR	Gamma_Label, Screen_Mode, Main_God_Group;
	static const struct Hook Button_ExecuteHook = { { NULL,NULL },(VOID *)Button_Execute,NULL,NULL };
	static const struct Hook Button_InsertKeyHook = { { NULL,NULL },(VOID *)Button_InsertKey,NULL,NULL };
	static const struct Hook Loaders_SelectedHook = { { NULL,NULL },(VOID *)Loaders_Selected,NULL,NULL };
	static const struct Hook Operators_SelectedHook = { { NULL,NULL },(VOID *)Operators_Selected,NULL,NULL };
	static const struct Hook Savers_SelectedHook = { { NULL,NULL },(VOID *)Savers_Selected,NULL,NULL };
	static const struct Hook Frame_InformationHook = { { NULL,NULL },(VOID *)Frame_Information,NULL,NULL };
	static const struct Hook Button_AbortHook = { { NULL,NULL },(VOID *)Button_Abort,NULL,NULL };
	static const struct Hook Button_AboutHook = { { NULL,NULL },(VOID *)Button_About,NULL,NULL };
	static const struct Hook Create_EnvelopeHook = { { NULL,NULL },(VOID *)Create_Envelope,NULL,NULL };
	static const struct Hook Remove_EnvelopeHook = { { NULL,NULL },(VOID *)Remove_Envelope,NULL,NULL };


	if (!(Object = AllocVec(sizeof(struct ObjApp), MEMF_PUBLIC|MEMF_CLEAR)))
		return(NULL);

	Object->STR_Time_Left = NULL;
	Object->STR_Total_Colours = NULL;

	Object->STR_Preferences_Reg_Group[0] = "Palette";
	Object->STR_Preferences_Reg_Group[1] = "Dithering";
	Object->STR_Preferences_Reg_Group[2] = "Balancing";
	Object->STR_Preferences_Reg_Group[3] = "Screen Mode";
	Object->STR_Preferences_Reg_Group[4] = NULL;
	Object->Palette_AccuracyContent[0] = "Enhanced";
	Object->Palette_AccuracyContent[1] = "Normal";
	Object->Palette_AccuracyContent[2] = NULL;
	Object->Palette_StatusContent[0] = "Unlocked";
	Object->Palette_StatusContent[1] = "Locked";
	Object->Palette_StatusContent[2] = NULL;
	Object->Colour_OrderingContent[0] = "No Contrast";
	Object->Colour_OrderingContent[1] = "Contrast";
	Object->Colour_OrderingContent[2] = NULL;
	Object->Sort_DirectionContent[0] = "Darkest to Lightest";
	Object->Sort_DirectionContent[1] = "Lightest to Darkest";
	Object->Sort_DirectionContent[2] = NULL;

	Object->List_Loaders = ListObject,
		MUIA_Frame, MUIV_Frame_InputList,
	End;

	Object->List_Loaders = ListviewObject,
		MUIA_Weight, 40,
		MUIA_FrameTitle, "Loaders",
		MUIA_Listview_List, Object->List_Loaders,
	End;

	Object->List_Operators = ListObject,
		MUIA_Frame, MUIV_Frame_InputList,
	End;

	Object->List_Operators = ListviewObject,
		MUIA_Weight, 80,
		MUIA_FrameTitle, "Operators",
		MUIA_Listview_List, Object->List_Operators,
	End;

	Object->List_Savers = ListObject,
		MUIA_Frame, MUIV_Frame_InputList,
	End;

	Object->List_Savers = ListviewObject,
		MUIA_Weight, 40,
		MUIA_FrameTitle, "Savers",
		MUIA_Listview_List, Object->List_Savers,
	End;

	Left_Side = GroupObject,
		MUIA_Weight, 32,
		MUIA_Frame, MUIV_Frame_Group,
		Child, Object->List_Loaders,
		Child, Object->List_Operators,
		Child, Object->List_Savers,
	End;

	Object->Main_Image = ImageObject,
		MUIA_Image_Spec, 33,
		MUIA_Weight, 30,
		MUIA_Frame, MUIV_Frame_ImageButton,
		MUIA_Image_FreeVert, TRUE,
		MUIA_Image_FreeHoriz, TRUE,
	End;

	Object->Abort = SimpleButton("Abort");

	Object->About = SimpleButton("About");

	Object->Insert_Key = SimpleButton("Insert Key");

	Object->Execute = SimpleButton("Execute");

	Control_Buttons = GroupObject,
		MUIA_Group_Columns, 4,
		Child, Object->Abort,
		Child, Object->About,
		Child, Object->Insert_Key,
		Child, Object->Execute,
	End;

	Divider_1 = RectangleObject,
		MUIA_Rectangle_HBar, TRUE,
		MUIA_FixHeight, 8,
	End;

	Object->Frames_Lister = ListObject,
		MUIA_Frame, MUIV_Frame_InputList,
	End;

	Object->Frames_Lister = ListviewObject,
		MUIA_Weight, 40,
		MUIA_FrameTitle, "Frames",
		MUIA_Listview_MultiSelect, MUIV_Listview_MultiSelect_Default,
		MUIA_Listview_List, Object->Frames_Lister,
	End;

	Object->Busy_Gauge = GaugeObject,
		GaugeFrame,
		MUIA_HelpNode, "Busy_Gauge",
		MUIA_FixHeight, 10,
		MUIA_Gauge_Horiz, TRUE,
		MUIA_Gauge_InfoText, "Loading...",
		MUIA_Gauge_Max, 100,
	End;

	Stupid_Scale = ScaleObject,
		MUIA_Scale_Horiz, TRUE,
	End;

	Time_Left_Label = TextObject,
		MUIA_Text_PreParse, "\033r",
		MUIA_Text_Contents, "Processing Finished In:",
		MUIA_InnerLeft, 0,
		MUIA_InnerRight, 0,
	End;

	Object->Time_Left = TextObject,
		MUIA_Weight, 30,
		MUIA_Background, MUII_TextBack,
		MUIA_Frame, MUIV_Frame_Text,
		MUIA_Text_Contents, Object->STR_Time_Left,
		MUIA_Text_SetMin, TRUE,
	End;

	Layout_4 = GroupObject,
		MUIA_HelpNode, "Layout_4",
		MUIA_Group_Columns, 2,
		Child, Time_Left_Label,
		Child, Object->Time_Left,
	End;

	Object->Abort_Everything = SimpleButton("Abort");

	Operation_Controls = GroupObject,
		MUIA_HelpNode, "Operation_Controls",
		MUIA_Frame, MUIV_Frame_Group,
		Child, Object->Busy_Gauge,
		Child, Stupid_Scale,
		Child, Layout_4,
		Child, Object->Abort_Everything,
	End;

	Accuracy_LabelCC = Label("Palette Accuracy:");

	Object->Palette_Accuracy = CycleObject,
		MUIA_HelpNode, "Palette_Accuracy",
		MUIA_Cycle_Entries, Object->Palette_AccuracyContent,
	End;

	Status_Label = Label("Palette Status:");

	Object->Palette_Status = CycleObject,
		MUIA_HelpNode, "Palette_Status",
		MUIA_Cycle_Entries, Object->Palette_StatusContent,
	End;

	Part_One = GroupObject,
		MUIA_HelpNode, "Part_One",
		MUIA_Group_Columns, 2,
		Child, Accuracy_LabelCC,
		Child, Object->Palette_Accuracy,
		Child, Status_Label,
		Child, Object->Palette_Status,
	End;

	Divder = RectangleObject,
		MUIA_Rectangle_HBar, TRUE,
		MUIA_FixHeight, 8,
	End;

	Custom_Palette_Label = Label("Custom Palette");

	Object->Custom_Palette = CheckMark(FALSE);

	Object->TotalColours_Label = Label("Colours (Total):");

	Object->Total_Colours = TextObject,
		MUIA_Background, MUII_TextBack,
		MUIA_Frame, MUIV_Frame_Text,
		MUIA_Text_Contents, Object->STR_Total_Colours,
		MUIA_Text_SetMin, TRUE,
	End;

	Colours_Used_Label = TextObject,
		MUIA_Text_PreParse, "\033r",
		MUIA_Text_Contents, "Colours Used:",
		MUIA_Weight, 1,
		MUIA_InnerLeft, 0,
		MUIA_InnerRight, 0,
	End;

	Object->Colours_Used = SliderObject,
		MUIA_HelpNode, "Colours_Used",
		MUIA_Disabled, TRUE,
		MUIA_Frame, MUIV_Frame_Gauge,
		MUIA_Slider_Min, 0,
		MUIA_Slider_Max, 100,
		MUIA_Slider_Level, 0,
	End;

	Offset_Colour0_Label = TextObject,
		MUIA_Text_PreParse, "\033r",
		MUIA_Text_Contents, "Offset Colour Zero:",
		MUIA_Weight, 1,
		MUIA_InnerLeft, 0,
		MUIA_InnerRight, 0,
	End;

	Object->Offset_Colour0 = SliderObject,
		MUIA_HelpNode, "Offset_Colour0",
		MUIA_Disabled, TRUE,
		MUIA_Frame, MUIV_Frame_Gauge,
		MUIA_Slider_Min, 0,
		MUIA_Slider_Max, 100,
		MUIA_Slider_Level, 0,
	End;

	Colour_Ordering_Label = Label("Colour Ordering:");

	Object->Colour_Ordering = CycleObject,
		MUIA_HelpNode, "Colour_Ordering",
		MUIA_Cycle_Entries, Object->Colour_OrderingContent,
	End;

	Sort_Direction_Label = TextObject,
		MUIA_Text_PreParse, "\033r",
		MUIA_Text_Contents, "Sort Direction:",
		MUIA_Weight, 1,
		MUIA_InnerLeft, 0,
		MUIA_InnerRight, 0,
	End;

	Object->Sort_Direction = CycleObject,
		MUIA_HelpNode, "Sort_Direction",
		MUIA_Cycle_Entries, Object->Sort_DirectionContent,
	End;

	Part_Two = GroupObject,
		MUIA_HelpNode, "Part_Two",
		MUIA_Group_Columns, 2,
		Child, Custom_Palette_Label,
		Child, Object->Custom_Palette,
		Child, Object->TotalColours_Label,
		Child, Object->Total_Colours,
		Child, Colours_Used_Label,
		Child, Object->Colours_Used,
		Child, Offset_Colour0_Label,
		Child, Object->Offset_Colour0,
		Child, Colour_Ordering_Label,
		Child, Object->Colour_Ordering,
		Child, Sort_Direction_Label,
		Child, Object->Sort_Direction,
	End;

	DivderCC = RectangleObject,
		MUIA_Rectangle_HBar, TRUE,
		MUIA_FixHeight, 8,
	End;

	Object->Edit_Palette = SimpleButton("Edit...");

	Object->Get_WB_Palette = SimpleButton("Get Workbench Palette");

	Object->Load_Palette = SimpleButton("Load Palette...");

	Object->Save_Palette = SimpleButton("Save Palette As...");

	Part_Three = GroupObject,
		MUIA_HelpNode, "Part_Three",
		MUIA_Group_Columns, 2,
		Child, Object->Edit_Palette,
		Child, Object->Get_WB_Palette,
		Child, Object->Load_Palette,
		Child, Object->Save_Palette,
	End;

	Object->Rest_Default_Palette = SimpleButton("Reset to Default");

	Palette = GroupObject,
		Child, Part_One,
		Child, Divder,
		Child, Part_Two,
		Child, DivderCC,
		Child, Part_Three,
		Child, Object->Rest_Default_Palette,
	End;

	Object->DitherType_Lister = ListObject,
		MUIA_Frame, MUIV_Frame_InputList,
	End;

	Object->DitherType_Lister = ListviewObject,
		MUIA_Weight, 50,
		MUIA_Listview_List, Object->DitherType_Lister,
	End;

	Object->Dither_Amount = SliderObject,
		MUIA_HelpNode, "Dither_Amount",
		MUIA_Frame, MUIV_Frame_Gauge,
		MUIA_Slider_Min, 1,
		MUIA_Slider_Max, 256,
		MUIA_Group_Horiz, FALSE,
		MUIA_Slider_Level, 1,
		MUIA_Slider_Reverse, TRUE,
	End;

	Dithering = GroupObject,
		MUIA_Weight, 3,
		MUIA_Frame, MUIV_Frame_Group,
		MUIA_Group_Columns, 2,
		Child, Object->DitherType_Lister,
		Child, Object->Dither_Amount,
	End;

	Red_Label = TextObject,
		MUIA_Text_PreParse, "\033r",
		MUIA_Text_Contents, "Red:",
		MUIA_FramePhantomHoriz, TRUE,
		MUIA_Weight, 2,
		MUIA_InnerLeft, 0,
		MUIA_InnerRight, 0,
	End;

	Object->Red_Balance_Slider = SliderObject,
		MUIA_HelpNode, "Red_Balance_Slider",
		MUIA_Frame, MUIV_Frame_Gauge,
		MUIA_Slider_Min, -255,
		MUIA_Slider_Max, 255,
		MUIA_Slider_Level, 0,
	End;

	Green_Label = Label("Green:");

	Object->Green_Balance_Slider = SliderObject,
		MUIA_HelpNode, "Green_Balance_Slider",
		MUIA_Frame, MUIV_Frame_Gauge,
		MUIA_Slider_Min, -255,
		MUIA_Slider_Max, 255,
		MUIA_Slider_Level, 0,
	End;

	Blue_Label = Label("Blue:");

	Object->Blue_Balance_Slider = SliderObject,
		MUIA_HelpNode, "Blue_Balance_Slider",
		MUIA_Frame, MUIV_Frame_Gauge,
		MUIA_Slider_Min, -255,
		MUIA_Slider_Max, 255,
		MUIA_Slider_Level, 0,
	End;

	Brightness_Label = Label("Brightness:");

	Object->Brightness_Balance_Slider = SliderObject,
		MUIA_HelpNode, "Brightness_Balance_Slider",
		MUIA_Frame, MUIV_Frame_Gauge,
		MUIA_Slider_Min, -255,
		MUIA_Slider_Max, 255,
		MUIA_Slider_Level, 0,
	End;

	Contrast_Label = Label("Contrast:");

	Object->Contrast_Balance_Slider = SliderObject,
		MUIA_HelpNode, "Contrast_Balance_Slider",
		MUIA_Frame, MUIV_Frame_Gauge,
		MUIA_Slider_Min, -255,
		MUIA_Slider_Max, 255,
		MUIA_Slider_Level, 0,
	End;

	Gamma_Label = Label("Gamma:");

	Object->Gamma_Balance_Slider = SliderObject,
		MUIA_HelpNode, "Gamma_Balance_Slider",
		MUIA_Frame, MUIV_Frame_Gauge,
		MUIA_Slider_Min, -255,
		MUIA_Slider_Max, 255,
		MUIA_Slider_Level, 0,
	End;

	Balancing = GroupObject,
		MUIA_Weight, 10,
		MUIA_Frame, MUIV_Frame_Group,
		MUIA_Group_Columns, 2,
		Child, Red_Label,
		Child, Object->Red_Balance_Slider,
		Child, Green_Label,
		Child, Object->Green_Balance_Slider,
		Child, Blue_Label,
		Child, Object->Blue_Balance_Slider,
		Child, Brightness_Label,
		Child, Object->Brightness_Balance_Slider,
		Child, Contrast_Label,
		Child, Object->Contrast_Balance_Slider,
		Child, Gamma_Label,
		Child, Object->Gamma_Balance_Slider,
	End;

	Object->LV_label_4 = ListObject,
		MUIA_Frame, MUIV_Frame_InputList,
	End;

	Object->LV_label_4 = ListviewObject,
		MUIA_HelpNode, "LV_label_4",
		MUIA_Listview_MultiSelect, MUIV_Listview_MultiSelect_Default,
		MUIA_Listview_List, Object->LV_label_4,
	End;

	Screen_Mode = GroupObject,
		Child, Object->LV_label_4,
	End;

	Object->Preferences_Reg_Group = RegisterObject,
		MUIA_Register_Titles, Object->STR_Preferences_Reg_Group,
		MUIA_HelpNode, "Preferences_Reg_Group",
		MUIA_Weight, 70,
		Child, Palette,
		Child, Dithering,
		Child, Balancing,
		Child, Screen_Mode,
	End;

	Layout_3 = GroupObject,
		MUIA_HelpNode, "Layout_3",
		Child, Operation_Controls,
		Child, Object->Preferences_Reg_Group,
	End;

	Layout_2 = GroupObject,
		MUIA_Group_Horiz, TRUE,
		Child, Object->Frames_Lister,
		Child, Layout_3,
	End;

	Right_Side = GroupObject,
		MUIA_Weight, 90,
		MUIA_Frame, MUIV_Frame_Group,
		Child, Control_Buttons,
		Child, Divider_1,
		Child, Layout_2,
	End;

	Layout_1 = GroupObject,
		MUIA_Group_Horiz, TRUE,
		Child, Left_Side,
		Child, Object->Main_Image,
		Child, Right_Side,
	End;

	Object->Main_Window = WindowObject,
		MUIA_Window_Title, "A Big Time Digital Design Production",
		MUIA_Window_ID, MAKE_ID('0', 'W', 'I', 'N'),
		WindowContents, Layout_1,
	End;

	Object->Popable_Group1 = GroupObject,
		MUIA_HelpNode, "Popable_Group1",
	End;

	Object->STR_Misc_Value_1 = String("", 80);

	Object->Misc_Value_1 = PopobjectObject,
		MUIA_HelpNode, "Misc_Value_1",
		MUIA_Popobject_ObjStrHook, &Create_EnvelopeHook,
		MUIA_Popobject_StrObjHook, &Remove_EnvelopeHook,
		MUIA_Popstring_String, Object->STR_Misc_Value_1,
		MUIA_Popstring_Button, PopButton(MUII_PopUp),
		MUIA_Popobject_Object, Object->Popable_Group1,
	End;

	Object->Popable_Group2 = GroupObject,
		MUIA_HelpNode, "Popable_Group2",
	End;

	Object->STR_Misc_Value_2 = String("", 80);

	Object->Misc_Value_2 = PopobjectObject,
		MUIA_HelpNode, "Misc_Value_2",
		MUIA_Popobject_ObjStrHook, &Create_EnvelopeHook,
		MUIA_Popobject_StrObjHook, &Remove_EnvelopeHook,
		MUIA_Popstring_String, Object->STR_Misc_Value_2,
		MUIA_Popstring_Button, PopButton(MUII_PopUp),
		MUIA_Popobject_Object, Object->Popable_Group2,
	End;

	Object->Popable_Group3 = GroupObject,
		MUIA_HelpNode, "Popable_Group3",
	End;

	Object->STR_Misc_Value_3 = String("", 80);

	Object->Misc_Value_3 = PopobjectObject,
		MUIA_HelpNode, "Misc_Value_3",
		MUIA_Popobject_ObjStrHook, &Create_EnvelopeHook,
		MUIA_Popobject_StrObjHook, &Remove_EnvelopeHook,
		MUIA_Popstring_String, Object->STR_Misc_Value_3,
		MUIA_Popstring_Button, PopButton(MUII_PopUp),
		MUIA_Popobject_Object, Object->Popable_Group3,
	End;

	Object->Popable_Group4 = GroupObject,
		MUIA_HelpNode, "Popable_Group4",
	End;

	Object->STR_Misc_Value_4 = String("", 80);

	Object->Misc_Value_4 = PopobjectObject,
		MUIA_HelpNode, "Misc_Value_4",
		MUIA_Popobject_ObjStrHook, &Create_EnvelopeHook,
		MUIA_Popobject_StrObjHook, &Remove_EnvelopeHook,
		MUIA_Popstring_String, Object->STR_Misc_Value_4,
		MUIA_Popstring_Button, PopButton(MUII_PopUp),
		MUIA_Popobject_Object, Object->Popable_Group4,
	End;

	Object->Top_Level_Group = GroupObject,
		Child, Object->Misc_Value_1,
		Child, Object->Misc_Value_2,
		Child, Object->Misc_Value_3,
		Child, Object->Misc_Value_4,
	End;

	Main_God_Group = GroupObject,
		Child, Object->Top_Level_Group,
	End;

	Object->Operator_Parms = WindowObject,
		MUIA_Window_Title, "Big Time Digital Design.",
		MUIA_Window_ID, MAKE_ID('1', 'W', 'I', 'N'),
		WindowContents, Main_God_Group,
	End;

	Object->App = ApplicationObject,
		MUIA_Application_Author, "Cray-1",
		MUIA_Application_Base, "CONTROL",
		MUIA_Application_Title, "Cray-1's Control",
		MUIA_Application_Version, "$VER: Beta 01.01 (01.27.95)",
		MUIA_Application_Copyright, "Mr Cray-1",
		MUIA_Application_Description, "A Better Version of ProControl",
		SubWindow, Object->Main_Window,
		SubWindow, Object->Operator_Parms,
	End;


	if (!Object->App)
	{
		FreeVec(Object);
		return(NULL);
	}

	DoMethod(Object->Main_Window,
		MUIM_Notify, MUIA_Window_CloseRequest, TRUE,
		Object->App,
		2,
		MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit
		);

	DoMethod(Object->List_Loaders,
		MUIM_Notify, MUIA_Listview_DoubleClick, TRUE,
		Object->App,
		2,
		MUIM_CallHook, &Loaders_SelectedHook
		);

	DoMethod(Object->List_Operators,
		MUIM_Notify, MUIA_Listview_DoubleClick, TRUE,
		Object->App,
		2,
		MUIM_CallHook, &Operators_SelectedHook
		);

	DoMethod(Object->List_Savers,
		MUIM_Notify, MUIA_Listview_DoubleClick, TRUE,
		Object->App,
		2,
		MUIM_CallHook, &Savers_SelectedHook
		);

	DoMethod(Object->Abort,
		MUIM_Notify, MUIA_Pressed, FALSE,
		Object->App,
		2,
		MUIM_CallHook, &Button_AbortHook
		);

	DoMethod(Object->About,
		MUIM_Notify, MUIA_Pressed, FALSE,
		Object->App,
		2,
		MUIM_CallHook, &Button_AboutHook
		);

	DoMethod(Object->Insert_Key,
		MUIM_Notify, MUIA_Pressed, FALSE,
		Object->App,
		2,
		MUIM_CallHook, &Button_InsertKeyHook
		);

	DoMethod(Object->Execute,
		MUIM_Notify, MUIA_Pressed, FALSE,
		Object->App,
		2,
		MUIM_CallHook, &Button_ExecuteHook
		);

	DoMethod(Object->Frames_Lister,
		MUIM_Notify, MUIA_Listview_DoubleClick, TRUE,
		Object->App,
		2,
		MUIM_CallHook, &Frame_InformationHook
		);

	DoMethod(Object->Custom_Palette,
		MUIM_Notify, MUIA_Selected, TRUE,
		Object->Colours_Used,
		3,
		MUIM_Set, MUIA_Disabled, FALSE
		);

	DoMethod(Object->Custom_Palette,
		MUIM_Notify, MUIA_Selected, TRUE,
		Object->Offset_Colour0,
		3,
		MUIM_Set, MUIA_Disabled, FALSE
		);

	DoMethod(Object->Custom_Palette,
		MUIM_Notify, MUIA_Selected, FALSE,
		Object->Colours_Used,
		3,
		MUIM_Set, MUIA_Disabled, TRUE
		);

	DoMethod(Object->Custom_Palette,
		MUIM_Notify, MUIA_Selected, FALSE,
		Object->Offset_Colour0,
		3,
		MUIM_Set, MUIA_Disabled, TRUE
		);

	DoMethod(Object->Main_Window,
		MUIM_Window_SetCycleChain, Object->List_Loaders,
		Object->List_Operators,
		Object->List_Savers,
		Object->Main_Image,
		Object->Abort,
		Object->About,
		Object->Insert_Key,
		Object->Execute,
		Object->Frames_Lister,
		Object->Abort_Everything,
		Object->Preferences_Reg_Group,
		Object->Palette_Accuracy,
		Object->Palette_Status,
		Object->Custom_Palette,
		Object->Colours_Used,
		Object->Offset_Colour0,
		Object->Colour_Ordering,
		Object->Sort_Direction,
		Object->Edit_Palette,
		Object->Get_WB_Palette,
		Object->Load_Palette,
		Object->Save_Palette,
		Object->Rest_Default_Palette,
		Object->DitherType_Lister,
		Object->Dither_Amount,
		Object->Red_Balance_Slider,
		Object->Green_Balance_Slider,
		Object->Blue_Balance_Slider,
		Object->Brightness_Balance_Slider,
		Object->Contrast_Balance_Slider,
		Object->Gamma_Balance_Slider,
		Object->LV_label_4,
		0
		);

	DoMethod(Object->Operator_Parms,
		MUIM_Notify, MUIA_Window_CloseRequest, TRUE,
		Object->App,
		2,
		MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit
		);

	DoMethod(Object->Operator_Parms,
		MUIM_Window_SetCycleChain, Object->Top_Level_Group,
		Object->Misc_Value_1,
		Object->Misc_Value_2,
		Object->Misc_Value_3,
		Object->Misc_Value_4,
		0
		);

	set(Object->Operator_Parms,
		MUIA_Window_Open, TRUE
		);


	return(Object);
}

void DisposeApp(struct ObjApp * Object)
{
	MUI_DisposeObject(Object->App);
	FreeVec(Object);
}
