.CM  SCRIPT , Version - 1.1 , last edited by holger
.ad 8
.bm 8
.fm 4
.bt $Copyright by   SAP AG, 1998$$Page %$
.tm 12
.hm 6
.hs 3
.TT 1 $SQL$Project Distributed Database System$VIN15$
.tt 2 $$$
.TT 3 $$standard_editor_functions$1998-06-17$
***********************************************************
.nf


    ========== licence begin LGPL
    Copyright (C) 2000 SAP AG

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with this library; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    ========== licence end

.fo
.nf
.sp
MODULE  : pick-put-functions
=========
.sp
Purpose : Read and write the PICK buffer.
.CM *-END-* purpose -------------------------------------
.sp
.cp 3
Define  :
 
        PROCEDURE
              i15putpickbuf (VAR pick      : tin_pick_buffer;
                    VAR line         : tin_eline;
                    line_nr          : tin_natural;
                    length           : tin_natural;
                    first_col        : tin_natural;
                    VAR error        : boolean);
 
        PROCEDURE
              i15getpickbuf (VAR pick      : tin_pick_buffer;
                    VAR line         : tin_eline;
                    line_nr          : tin_natural;
                    VAR length       : tin_natural;
                    VAR error        : boolean);
 
        PROCEDURE
              i15pickhelp(
                    VAR display : tin_display_parms );
 
        FUNCTION
              in1530 : tsp_int4;
 
.CM *-END-* define --------------------------------------
.sp;.cp 3
Use     :
 
        FROM
              help: VIN05;
 
        FUNCTION
              i05ifexample : boolean;
 
        PROCEDURE
              i05getexample (
                    VAR ebuf : tin_pickobject;
                    VAR evar : tin_eform_vars;
                    clear    : boolean;
                    VAR ok   : boolean );
 
      ------------------------------ 
 
        FROM
              dialog_editor_functions: VIN11;
 
        PROCEDURE
              i11message (
                    msg_id       : tin_edit_msg;
                    VAR text     : tin_screenline;
                    VAR err_flag : boolean);
 
      ------------------------------ 
 
        FROM
              standard_editor_functions : VIN14;
 
        PROCEDURE
              i14cleareform (
                    VAR evars     : tin_eform_vars);
 
        PROCEDURE
              i14geteline (VAR eform     : tin_pickobject;
                    VAR evars     : tin_eform_vars;
                    VAR line      : tin_eline;
                    line_nr       : tin_natural;
                    VAR length    : tin_natural;
                    VAR error     : boolean);
 
        PROCEDURE
              i14puteline (VAR eform    : tin_pickobject;
                    VAR evars     : tin_eform_vars;
                    VAR line      : tin_eline;
                    line_nr       : tin_natural;
                    length        : tin_natural;
                    VAR error     : boolean);
 
      ------------------------------ 
 
        FROM
              RTE-Extension-10 : VSP10;
 
        PROCEDURE
              s10fil (size : tsp_int4;
                    VAR m : tin_eline;
                    pos : tsp_int4;
                    len : tsp_int4;
                    fillchar : char);
 
        PROCEDURE
              s10mv4 (size1 : tsp_int4; size2 : tsp_int4;
                    VAR val1 : tin_eline; p1 : tsp_int4;
                    VAR val2 : tin_eline; p2 : tsp_int4;
                    anz : tsp_int4);
&       ifdef TRACE
 
      ------------------------------ 
 
        FROM
              Test_Procedures: VMT90;
 
        PROCEDURE
              m90int (layer : tsp_layer;
                    nam : tsp_sname;
                    int : tin_natural);
 
        PROCEDURE
              m90bool (layer  : tsp_layer;
                    nam       : tsp_sname;
                    curr_bool : boolean);
 
        PROCEDURE
              m90buf (layer : tsp_layer;
                    VAR buf : tin_pickobject;
                    von,bis : integer);
 
        PROCEDURE
              m90buf1 (layer : tsp_layer;
                    VAR buf : tin_eline;
                    von,bis : integer);
 
        PROCEDURE
              m90name (layer : tsp_layer;
                    nam : tsp_name);
&       endif
 
.CM *-END-* use -----------------------------------------
.sp;.cp 3
Synonym :
 
        PROCEDURE
              s10fil;
 
              tsp_moveobj tin_eline
 
        PROCEDURE
              s10mv4;
 
              tsp_moveobj tin_eline
              tsp_moveobj tin_eline
 
        PROCEDURE
              i05getexample;
 
              tin_eform_buffer tin_pickobject
 
        PROCEDURE
              i14geteline;
 
              tin_eform_buffer tin_pickobject
 
        PROCEDURE
              i14puteline;
 
              tin_eform_buffer tin_pickobject
 
        PROCEDURE
              m90buf;
 
              tsp_buf tin_pickobject
 
        PROCEDURE
              m90buf1;
 
              tsp_buf tin_eline
 
        PROCEDURE
              m90int;
 
              integer tin_natural
 
.CM *-END-* synonym -------------------------------------
.sp;.cp 3
Author  : 
.sp
.cp 3
Created : 1988-03-23
.sp
.cp 3
Version : 1998-06-17
.sp
.cp 3
Release :      Date : 1998-06-17
.sp
***********************************************************
.sp
.cp 10
.fo
.oc _/1
Specification:
 
.CM *-END-* specification -------------------------------
.sp 2
***********************************************************
.sp
.cp 10
.fo
.oc _/1
Description:
 
.sp 2;.nf
.CM *-END-* description ---------------------------------
.sp 2
***********************************************************
.sp
.cp 10
.nf
.oc _/1
Structure:
 
.CM *-END-* structure -----------------------------------
.sp 2
**********************************************************
.sp
.cp 10
.nf
.oc _/1
.CM -lll-
Code    :
 
 
(*------------------------------*) 
 
FUNCTION
      in1530 : tsp_int4;
 
BEGIN
(* linkcheck function *)
in1530 := 219020121;
END;
 
(*------------------------------*) 
 
PROCEDURE
      i15putpickbuf (VAR pick      : tin_pick_buffer;
            VAR line         : tin_eline;
            line_nr          : tin_natural;
            length           : tin_natural;
            first_col        : tin_natural;
            VAR error        : boolean);
 
VAR
      helpline  : tin_eline;
      helplen   : tin_natural;
 
BEGIN
WITH pick DO
    BEGIN
    IF  blockwidth = 0
    THEN
        BEGIN
        i14puteline(content,pick_vars,line,line_nr,length,error);
        END
    ELSE
        BEGIN
        (* h.b. 01.12.1994 core behoben
              s10fil(mxin_eline,line,length + 1,max_cols - length,' ');
              s10mv4(mxin_eline,mxin_eline,line,first_col,line,1,length);
              i14puteline(content,pick_vars,line,line_nr,length,error);
              s10mv4(mxin_eline,mxin_eline,line,first_col,line,1,blockwidth);
              *)
        helplen := blockwidth;
        IF  length < blockwidth
        THEN
            helplen := length;
        (*ENDIF*) 
        s10fil(mxin_eline,helpline,1,blockwidth,bsp_c1);
        s10mv4(mxin_eline,mxin_eline,line,first_col,helpline,1,helplen);
        i14puteline(content,pick_vars,helpline,line_nr,blockwidth,error);
        END;
    (*ENDIF*) 
    END;
(*ENDWITH*) 
END;
 
(*------------------------------*) 
 
PROCEDURE
      i15getpickbuf (VAR pick      : tin_pick_buffer;
            VAR line         : tin_eline;
            line_nr          : tin_natural;
            VAR length       : tin_natural;
            VAR error        : boolean);
 
BEGIN
&ifdef TRACE
m90name(vin,'GETPICK ANFANG ===');
m90int(vin,'elength     ',pick.pick_vars.elength);
m90int(vin,'line_nr     ',line_nr);
m90int(vin,'length      ',length);
m90int(vin,'lines       ',pick.pick_vars.lines);
m90int(vin,'act_line    ',pick.pick_vars.act_line);
m90int(vin,'act_pos     ',pick.pick_vars.act_pos);
m90bool(vin,'error       ',error);
m90buf(vin,pick.content,1,pick.pick_vars.elength);
&endif
WITH pick DO
    i14geteline(content,pick_vars,line,line_nr,length,error);
(*ENDWITH*) 
&ifdef TRACE
m90name(vin,'GETPICK ENDE =====');
m90int(vin,'elength     ',pick.pick_vars.elength);
m90int(vin,'lines       ',pick.pick_vars.lines);
m90int(vin,'act_line    ',pick.pick_vars.act_line);
m90int(vin,'act_pos     ',pick.pick_vars.act_pos);
m90int(vin,'length      ',length);
m90bool(vin,'error       ',error);
m90buf1(vin,line,1,length);
&endif
END;
 
(*------------------------------*) 
 
PROCEDURE
      i15pickhelp(
            VAR display : tin_display_parms );
 
CONST
      clear     = true;
      line_mode = 0;
 
VAR
      i            : tin_natural;
      len          : tin_natural;
      line         : tin_eline;
      error        : boolean;
      ok           : boolean;
      help_eform   : tin_pickobject;
      help_evars   : tin_eform_vars;
 
BEGIN
WITH display DO
    BEGIN
    IF  i05ifexample
    THEN
        BEGIN
        error := false;
        i14cleareform (help_evars);
        i14cleareform (pick.pick_vars);
        pick.blockwidth := 0;
        i05getexample (help_eform, help_evars, clear, ok);
&       ifdef TRACE
        m90name(vin,'PICKHLP TOP  =====');
        m90int(vin,'elength     ',help_evars.elength);
        m90int(vin,'lines       ',help_evars.lines);
        m90int(vin,'act_line    ',help_evars.act_line);
        m90int(vin,'act_pos     ',help_evars.act_pos);
        m90bool(vin,'error       ',error);
        m90buf(vin,help_eform,1,help_evars.elength);
&       endif
        IF  ok
        THEN
            BEGIN
            FOR i := 1 TO help_evars.lines DO
                IF  NOT error
                THEN
                    BEGIN
                    i14geteline(help_eform, help_evars,line,i,len,error);
                    i15putpickbuf(pick,line,i,len, line_mode, error);
                    END;
                (*ENDIF*) 
            (*ENDFOR*) 
            IF  pick.pick_vars.lines > 0
            THEN
                i11message(pick_done,frame [active_screen] .sys_msg,
                      frame [active_screen] .is_error );
            (*ENDIF*) 
            END;
&       ifdef TRACE
        (*ENDIF*) 
        m90name(vin,'PICKHLP ENDE =====');
        m90int(vin,'elength     ',pick.pick_vars.elength);
        m90int(vin,'lines       ',pick.pick_vars.lines);
        m90int(vin,'act_line    ',pick.pick_vars.act_line);
        m90int(vin,'act_pos     ',pick.pick_vars.act_pos);
        m90bool(vin,'error       ',error);
        m90buf(vin,pick.content,1,pick.pick_vars.elength);
&       endif
        END;
    (*ENDIF*) 
    END;
(*ENDWITH*) 
END;
 
.CM *-END-* code ----------------------------------------
.SP 2 
***********************************************************
*-PRETTY-*  statements    :         57
*-PRETTY-*  lines of code :        162        PRETTYX 3.10 
*-PRETTY-*  lines in file :        412         1997-12-10 
.PA 
