MODULE TPUPlus_RECT IDENT "901229" ! ! TPUPlus code module ! ! Rectangular Cut/Paste utility procedures ! ! PROCEDURE PCE_TOGGLE_RECTANGULAR ! !**************************************** PROCEDURE PCE_TOGGLE_RECTANGULAR local this_mode; this_mode := get_info (current_buffer, "MODE"); if (get_info (pce$select_mode, "type") = UNSPECIFIED) then pce$select_mode := "NORMAL"; endif; if pce$select_mode = "RECTANGULAR" then pce$select_mode := "NORMAL"; if (eve$x_select_position <> 0) or (eve$x_box_array <> 0) then eve$message (EVE$_NOSETBOXIFSEL); eve$learn_abort; return (FALSE); endif; eve$x_box_select_flag := FALSE; eve$clear_select_position; ! in case select is active ! eve$message (EVE$_DEFSELACTIVE); eve$define_attr ("eve_set_box_noselect", "eve_set_box_noselect;", message_text (EVE$_DEFSELACTIVE, 0)); else pce$select_mode := "RECTANGULAR"; ! set the local mode variable ! auto set BOX INSERT/OVERSTRIKE to be same as buffer INSERT/OVERSTRIKE if this_mode = OVERSTRIKE then eve$x_box_pad_flag := TRUE; ! eve$message (EVE$_BOXPADMODE); eve$define_attr ("eve_set_box_pad", "eve_set_box_pad;", message_text (EVE$_BOXPADMODE, 0)); else eve$x_box_pad_flag := FALSE; ! eve$message (EVE$_BOXNOPADMODE); eve$define_attr ("eve_set_box_nopad", "eve_set_box_nopad;", message_text (EVE$_BOXNOPADMODE, 0)); endif; if (eve$x_select_position <> 0) or (eve$x_box_array <> 0) then eve$message (EVE$_NOSETBOXIFSEL); eve$learn_abort; return (FALSE); endif; eve$x_box_select_flag := TRUE; eve$clear_select_position; ! in case select is active ! eve$message (EVE$_BOXSELACTIVE); eve$define_attr ("eve_set_box_select", "eve_set_box_select;", message_text (EVE$_BOXSELACTIVE, 0)); endif; eve$update_status_lines; ENDPROCEDURE; !**************************************** PROCEDURE EVE$BOX_SELECT_STATUS_FIELD (THE_LENGTH, THE_FORMAT) if pce$select_mode = "RECTANGULAR" then return (fao (the_format, "Rect")); else return ""; endif; ENDPROCEDURE; ENDMODULE; define_key ("pce_toggle_rectangular", f12, "TPUPLUS pce_toggle_rectangular (Rect.)", eve$x_user_keys); define_key ("pce_toggle_rectangular", f12, "TPUPLUS pce_toggle_rectangular (Rect.)", eve$x_edt_keys);