! STP_DEFINE_KEYS.TPU ! This module defines the keys for the SETPOINT Text Processor package. ! procedure stp_define_keys_module_ident return "V1.0" endprocedure procedure stp_define_keys_module_init stp_x_keys := 'STP_KEYS'; SET(RIGHT_MARGIN_ACTION,current_buffer); eve$set_edt_keypad; stp_set_stp_keypad; eve$declare_help_library("stp","tpu$eveplus:stphelp","", "For help with Setpoint's Text Processor, type STP and press RETURN."); endprocedure; ! Procedure to turn on the Setpoint Text Processor keypad ! procedure stp_set_stp_keypad local temp_key_map; on_error message("error at line: "+str(error_line)); endon_error; ! ! Make sure it is already not in the eve$x_key_map_list ! temp_key_map := get_info (KEY_MAP, "first", eve$x_key_map_list); loop exitif temp_key_map = 0; exitif temp_key_map = stp_x_keys; temp_key_map := get_info (KEY_MAP, "next", eve$x_key_map_list); endloop; ! ! If the key_map is already in the key_list, then remove it first. ! if temp_key_map <> 0 then remove_key_map (eve$x_key_map_list, stp_x_keys, ALL); endif; ! ! Now add the key_map to the key_list after the first key map in the ! list. If there is no first key map, then add this key map first. ! temp_key_map := get_info (KEY_MAP, "first",eve$x_key_map_list); if (temp_key_map <> 0) then remove_key_map (eve$x_key_map_list, temp_key_map, ALL); endif; add_key_map (eve$x_key_map_list, "first", stp_x_keys); if (temp_key_map <> 0) then add_key_map (eve$x_key_map_list, "first", temp_key_map); endif; ! ! Make sure it is already not in the eve$x_command_key_map_list ! temp_key_map := get_info (KEY_MAP, "first", eve$x_command_key_map_list); loop exitif temp_key_map = 0; exitif temp_key_map = stp_x_keys; temp_key_map := get_info (KEY_MAP, "next", eve$x_command_key_map_list); endloop; ! ! If the key_map is already in the key_list, then remove it first. ! if temp_key_map <> 0 then remove_key_map (eve$x_command_key_map_list, stp_x_keys, ALL); endif; ! ! Now add the key_map to the key_list after the first key map in the ! list. If there is no first key map, then add this key map first. ! temp_key_map := get_info (KEY_MAP, "first",eve$x_command_key_map_list); if (temp_key_map <> 0) then remove_key_map (eve$x_command_key_map_list, temp_key_map, ALL); endif; add_key_map (eve$x_command_key_map_list, "first", stp_x_keys); if (temp_key_map <> 0) then add_key_map (eve$x_command_key_map_list, "first", temp_key_map); endif; return (1); endprocedure procedure stp_set_nostp_keypad on_error [TPU$_KEYMAPNOTFND]: [OTHERWISE]: endon_error; remove_key_map(eve$x_key_map_list, stp_x_keys,ALL); remove_key_map(eve$x_command_key_map_list, stp_x_keys,ALL); return(1); endprocedure procedure eve_set_keypad_stp stp_set_stp_keypad; message("Setpoint Text Processor keypad ON."); endprocedure procedure eve_set_keypad_nostp stp_set_nostp_keypad; message("Setpoint Text Processor keypad OFF."); endprocedure procedure stp_define_keys on_error message("Error at line: "+str(error_line)); endon_error; stp_x_keys := create_key_map ('STP_KEYS'); ! ! Miscellaneous Keys ! define_key (eve$$kt_return + "eve_column('')",F17, "STP Column",stp_x_keys); define_key (eve$$kt_return + "eve_attach('')",F20, "EVE Attach",stp_x_keys); define_key (eve$$kt_return + 'eve_delete_buffer(get_info(current_buffer,"name"))', KEY_NAME(DEL_KEY,SHIFT_KEY), "STP Delete_Current_Buffer (Delete Current Buffer)",stp_x_keys); define_key (eve$$kt_return + "eve$$display_ruler", KEY_NAME("R",SHIFT_KEY),"EVE Ruler (Display Ruler)",stp_x_keys); define_key (eve$$kt_return + "eve_write_file('')", KEY_NAME(ENTER,SHIFT_KEY), "EVE Write_File (Write File)",stp_x_keys); define_key (eve$$kt_return + "eve_get_file('')", ENTER,"EVE Get_File (Get File)",stp_x_keys); define_key (eve$$kt_return + "eve_store_text",F19,"Store Text",stp_x_keys); define_key (eve$$kt_return + "eve_shift_left('40')", KEY_NAME(LEFT,SHIFT_KEY), "EVE Shift_Left (Shift Left 40)",stp_x_keys); define_key (eve$$kt_return + "eve_shift_right('40')", KEY_NAME(RIGHT,SHIFT_KEY), "EVE Shift_Right (Shift Right 40)",stp_x_keys); define_key (eve$$kt_return + "eve$exit", F10, "EVE Exit (Exit w/o questions)",stp_x_keys); define_key (eve$$kt_return + "eve_help(' ')", HELP, "EVE Help (Detailed Help)", stp_x_keys); define_key (eve$$kt_return + "eve_normal_word_separators", KEY_NAME("N",SHIFT_KEY),"STP Normal_Word_Separators",stp_x_keys); define_key (eve$$kt_return + "eve_programmer_word_separators", KEY_NAME("P",SHIFT_KEY),"STP Programmer_Word_Separators",stp_x_keys); ! ! Window Keys ! define_key (eve$$kt_return + "eve_delete_window", KEY_NAME(E5,SHIFT_KEY),"EVE Delete_Window",stp_x_keys); define_key (eve$$kt_return + "eve_split_window", KEY_NAME(E6,SHIFT_KEY),"EVE Split_Window",stp_x_keys); define_key (eve$$kt_return + "eve_enlarge_window('3')", KEY_NAME(UP,SHIFT_KEY),"EVE Enlarge_Window (Enlarge Window 3)", stp_x_keys); define_key (eve$$kt_return + "eve_shrink_window('3')", KEY_NAME(DOWN,SHIFT_KEY),"EVE Shrink_Window (Shrink Window 3)", stp_x_keys); define_key (eve$$kt_return + "eve_next_window", KP3,"EVE Next_Window",stp_x_keys); define_key (eve$$kt_return + "eve_toggle_num_windows", KEY_NAME(KP3,SHIFT_KEY),"EVE Toggle_Num_Windows (Toggle Windows)", stp_x_keys); ! ! Rectangle Keys ! define_key (eve$$kt_return + "eve_rectangular_select", KEY_NAME(E4,SHIFT_KEY), "STP Rectangular_Select (Rectangular Select)",stp_x_keys); define_key (eve$$kt_return + "eve_rectangular_insert_here", KEY_NAME(E2,SHIFT_KEY), "STP Rectangular_Insert_Here (Rectangular Insert Here)", stp_x_keys); define_key (eve$$kt_return + "eve_rectangular_remove", KEY_NAME(E3,SHIFT_KEY), "STP Rectangular_Remove (Rectangular Remove)",stp_x_keys); define_key (eve$$kt_return + "eve_rectangular_Text_Fill", F18,"STP Rectangular_Text_Fill (Rectangular Text Fill)",stp_x_keys); define_key (eve$$kt_return + "eve_rectangular_change_case", KEY_NAME(F18,SHIFT_KEY), "STP Rectangular_Change_Case (Rectangular Change Case)",stp_x_keys); define_key (eve$$kt_return + "eve_rectangular_store_text", KEY_NAME(F19,SHIFT_KEY), "STP Rectangular_Store_Text (Rectangular Store Text)",stp_x_keys); endprocedure ! ! Code to execute at build time.. ! stp_define_keys; compile("procedure stp_define_keys endprocedure"); eve$$require ("eve$core"); ! Build dependencies eve$$require ("eve$file"); eve$$require ("eve$format"); eve$$require ("eve$extend"); eve$$require ("eve$edit"); eve$$require ("eve$advanced"); eve$$require ("eve$help"); eve$$require ("eve$edt"); eve$$require ("eve$windows"); eve$$require ("eve$show"); ! eve$$require ("stp_rectangle"); eve$$require ("stp_misc");