/***************************/
/* Initializes all the gui */
/***************************/
PROC init_gui()

	DEF a4_tmp
	DEF delete_path_hook : PTR TO hook
	DEF edit_path_hook : PTR TO hook
	DEF gui_add_path_hook : PTR TO hook
	DEF app_add_path_hook : PTR TO hook
	DEF delete_default_tool_hook : PTR TO hook
	DEF edit_default_tool_hook : PTR TO hook
	DEF gui_add_default_tool_hook : PTR TO hook
	DEF app_add_default_tool_hook : PTR TO hook
	DEF save_prefs_hook : PTR TO hook
	DEF go_hook : PTR TO hook

	MOVE.L	A4 , a4_tmp

	delete_path_hook := New( SIZEOF hook )
	delete_path_hook.entry := {gui_delete_path}
	delete_path_hook.data := a4_tmp

	edit_path_hook := New( SIZEOF hook )
	edit_path_hook.entry := {edit_path}
	edit_path_hook.data := a4_tmp

	gui_add_path_hook := New( SIZEOF hook )
	gui_add_path_hook.entry := {gui_add_path}
	gui_add_path_hook.data := a4_tmp

	app_add_path_hook := New( SIZEOF hook )
	app_add_path_hook.entry := {app_add_path}
	app_add_path_hook.data := a4_tmp

	delete_default_tool_hook := New( SIZEOF hook )
	delete_default_tool_hook.entry := {delete_default_tool}
	delete_default_tool_hook.data := a4_tmp

	edit_default_tool_hook := New( SIZEOF hook )
	edit_default_tool_hook.entry := {edit_default_tool}
	edit_default_tool_hook.data := a4_tmp

	gui_add_default_tool_hook := New( SIZEOF hook )
	gui_add_default_tool_hook.entry := {gui_add_default_tool}
	gui_add_default_tool_hook.data := a4_tmp

	app_add_default_tool_hook := New( SIZEOF hook )
	app_add_default_tool_hook.entry := {app_add_default_tool}
	app_add_default_tool_hook.data := a4_tmp

	save_prefs_hook := New( SIZEOF hook )
	save_prefs_hook.entry := {gui_save_prefs}
	save_prefs_hook.data := a4_tmp

	go_hook := New( SIZEOF hook )
	go_hook.entry := {gui_go}
	go_hook.data := a4_tmp

		/**********************************************************************/
	doMethod(	deftII.wi_main , [ MUIM_Notify , MUIA_Window_CloseRequest , MUI_TRUE ,
				deftII.app , 2 , MUIM_Application_ReturnID , MUIV_Application_ReturnID_Quit ] )

	doMethod(	deftII.bt_quit , [ MUIM_Notify , MUIA_Pressed , FALSE ,
				deftII.app , 2 , MUIM_Application_ReturnID , MUIV_Application_ReturnID_Quit ] )

	doMethod(	deftII.bt_about , [ MUIM_Notify , MUIA_Pressed , FALSE ,
				deftII.app , 2 , MUIM_Application_ReturnID , ID_BT_ABOUT ] )

	doMethod(	deftII.bt_save_prefs , [ MUIM_Notify , MUIA_Pressed , FALSE ,
				deftII.bt_save_prefs , 2 , MUIM_CallHook , save_prefs_hook ] )

	doMethod(	deftII.bt_go , [ MUIM_Notify , MUIA_Pressed , FALSE ,
				deftII.gr_paths , 3 , MUIM_Set , MUIA_Disabled , MUI_TRUE ] )

	doMethod(	deftII.bt_go , [ MUIM_Notify , MUIA_Pressed , FALSE ,
				deftII.gr_default_tools , 3 , MUIM_Set , MUIA_Disabled , MUI_TRUE ] )

	doMethod(	deftII.bt_go , [ MUIM_Notify , MUIA_Pressed , FALSE ,
				deftII.bt_go , 3 , MUIM_Set , MUIA_Disabled , MUI_TRUE ] )

	doMethod(	deftII.bt_go , [ MUIM_Notify , MUIA_Pressed , FALSE ,
				deftII.bt_save_prefs , 3 , MUIM_Set , MUIA_Disabled , MUI_TRUE ] )

	doMethod(	deftII.bt_go , [ MUIM_Notify , MUIA_Pressed , FALSE ,
				deftII.bt_about , 3 , MUIM_Set , MUIA_Disabled , MUI_TRUE ] )

	doMethod(	deftII.bt_go , [ MUIM_Notify , MUIA_Pressed , FALSE ,
				deftII.bt_quit , 3 , MUIM_Set , MUIA_Disabled , MUI_TRUE ] )

	doMethod(	deftII.bt_go , [ MUIM_Notify , MUIA_Pressed , FALSE ,
				deftII.bt_go , 2 , MUIM_CallHook , go_hook ] )

	doMethod(	deftII.bt_stop , [ MUIM_Notify , MUIA_Pressed , FALSE ,
				deftII.gr_paths , 3 , MUIM_Set , MUIA_Disabled , FALSE ] )

	doMethod(	deftII.bt_stop , [ MUIM_Notify , MUIA_Pressed , FALSE ,
				deftII.gr_default_tools , 3 , MUIM_Set , MUIA_Disabled , FALSE ] )

	doMethod(	deftII.bt_stop , [ MUIM_Notify , MUIA_Pressed , FALSE ,
				deftII.bt_go , 3 , MUIM_Set , MUIA_Disabled , FALSE ] )

	doMethod(	deftII.bt_stop , [ MUIM_Notify , MUIA_Pressed , FALSE ,
				deftII.bt_save_prefs , 3 , MUIM_Set , MUIA_Disabled , FALSE ] )

	doMethod(	deftII.bt_stop , [ MUIM_Notify , MUIA_Pressed , FALSE ,
				deftII.bt_about , 3 , MUIM_Set , MUIA_Disabled , FALSE ] )

	doMethod(	deftII.bt_stop , [ MUIM_Notify , MUIA_Pressed , FALSE ,
				deftII.bt_quit , 3 , MUIM_Set , MUIA_Disabled , FALSE ] )

	doMethod(	deftII.bt_stop , [ MUIM_Notify , MUIA_Pressed , FALSE ,
				deftII.app , 2 , MUIM_Application_ReturnID , ID_BT_STOP ] )
		/**********************************************************************/
	doMethod(	deftII.bt_delete_path , [ MUIM_Notify , MUIA_Pressed , FALSE ,
				deftII.bt_delete_path , 2 , MUIM_CallHook , delete_path_hook ] )

	doMethod(	deftII.lv_paths , [ MUIM_Notify , MUIA_Listview_DoubleClick , MUI_TRUE ,
				deftII.lv_paths , 2 , MUIM_CallHook , edit_path_hook ] )

	doMethod(	deftII.stR_PA_path , [ MUIM_Notify , MUIA_String_Acknowledge , MUIV_EveryTime ,
				deftII.stR_PA_path , 2 , MUIM_CallHook , gui_add_path_hook ] ) 

	doMethod(	deftII.gr_paths , [ MUIM_Notify , MUIA_AppMessage , MUIV_EveryTime ,
				deftII.gr_paths , 3 , MUIM_CallHook , app_add_path_hook , MUIV_TriggerValue ] )
		/**********************************************************************/
	doMethod(	deftII.bt_delete_def_tool , [ MUIM_Notify , MUIA_Pressed , FALSE ,
				deftII.bt_delete_def_tool , 2 , MUIM_CallHook , delete_default_tool_hook ] )

	doMethod(	deftII.lv_default_tools , [ MUIM_Notify , MUIA_Listview_DoubleClick , MUI_TRUE ,
				deftII.lv_default_tools , 2 , MUIM_CallHook , edit_default_tool_hook ] )

	doMethod(	deftII.stR_PO_new_def_tool , [ MUIM_Notify , MUIA_String_Acknowledge , MUIV_EveryTime ,
				deftII.stR_PO_new_def_tool , 2 , MUIM_CallHook , gui_add_default_tool_hook ] ) 

	doMethod(	deftII.gr_default_tools , [ MUIM_Notify , MUIA_AppMessage , MUIV_EveryTime ,
				deftII.gr_paths , 3 , MUIM_CallHook , app_add_default_tool_hook , MUIV_TriggerValue ] )

	doMethod(	deftII.stR_old_def_tool , [ MUIM_Notify , MUIA_String_Acknowledge , MUIV_EveryTime ,
				deftII.wi_main , 3 , MUIM_Set , MUIA_Window_ActiveObject , deftII.stR_PO_new_def_tool ] )

	doMethod(	deftII.lv_new_def_tools , [ MUIM_Notify , MUIA_Listview_DoubleClick , MUI_TRUE ,
				deftII.po_new_def_tool , 2 , MUIM_Popstring_Close , TRUE ] )
		/**********************************************************************/

	doMethod(	deftII.wi_main , [ MUIM_Window_SetCycleChain ,
									deftII.lv_default_tools , deftII.bt_delete_def_tool ,
									deftII.stR_old_def_tool , deftII.stR_PO_new_def_tool ,
									deftII.lv_paths , deftII.stR_PA_path , deftII.bt_delete_path ,
									deftII.bt_go , deftII.bt_stop , deftII.bt_save_prefs ,
									deftII.bt_about , deftII.bt_quit , NIL ] )

	set( deftII.wi_main	, MUIA_Window_ID , IDEX_WI_MAIN )
	set( deftII.wi_main , MUIA_Window_Open , MUI_TRUE )

ENDPROC
