• Subject: Re: UIM panels - help & documentation?
  • From: "Simon Coulter" <shc@xxxxxxxxxxxxxxxxx>
  • Date: Tue, 17 Feb 98 22:19:12 +1100

//--- forwarded letter -------------------------------------------------------
> X-Mailer: Forte Agent 1.5/32.451
> Date: Tue, 17 Feb 98 00:46:18 +0000
> From: lgoodbar@tecinfo.com
> To: MIDRANGE-L@midrange.com
> Reply-To: MIDRANGE-L@midrange.com
> Subject: Re: UIM panels - help & documentation?

> 
> On Mon, 16 Feb 1998 11:08:29 -0700, David Morris
> <dmorris@plumcreek.com> wrote:
> 
> >The manual can be found in the "Application and System Support" bookshelf.  
>The book 
> >is "Application Display Programming".  There is also an API manual if you 
>want to go that 
> >route.  It is "User Interface APIs".  Don't know what you mean by the 
> >no support for refresh.  Your code has to perform the refresh.  You need to 
> >read through the list and preform an update or rebuild the list.  I can give 
>you 
> >an example if you need one.
> 
> Thanks. I've gotta take a look.
> 
> I know that UIM doesn't perform a refresh. My question was (or should
> be) how do I tell UIM to start displaying the list 3 pages down after
> I refresh? The WRKOUTQ/WRKSPLF commands, etc., leave you on the same
> screen when you perform a refresh. I'd like to do the same.
> 
> I'd also like an F11 (change view) type option as well, but I'll grab
> those manuals first!
> 
>  - lg -

Hello lg,

First the F11=Alternate view function.  This is very straight-forward.  Using 
the following code the 
F11 key is defined to UIM to perform a CHGVIEW.  This tells UIM to cycle 
through the LISTVIEW 
definitions.

Here is a condition to control the text of F11:
:COND   NAME = libview0   EXPR = 'libview = 0'.
:COND   NAME = libview1   EXPR = 'libview = 1'.

Here is the key definition:
:KEYL NAME = listkeys.
.*
:KEYI KEY = HELP      ACTION = 'HELP'       HELP = 'F_HELPKEY'
:KEYI KEY = ENTER     ACTION = 'ENTER'      HELP = 'F_ENTER'
:KEYI KEY = ROLLUP    ACTION = 'ROLLUP'     HELP = 'F_ROLLUP'
:KEYI KEY = ROLLDOWN  ACTION = 'ROLLDOWN'   HELP = 'F_ROLLDOWN'
:KEYI KEY = F1        ACTION = 'HELP'       HELP = 'F_HELP'
:KEYI KEY = F3        ACTION = 'RETURN 3'   HELP = 'F_EXIT'
     .F3=Exit
:KEYI KEY = F5        ACTION = 'RETURN 5'   HELP = 'F_REFRESH'
     .F5=Refresh
:KEYI KEY = F11       ACTION = 'CHGVIEW'    HELP = 'F_CHGVIEW'
      COND = libview0
     .F11=Libraries only
:KEYI KEY = F11       ACTION = 'CHGVIEW'    HELP = 'F_CHGVIEW'
      COND = libview1
     .F11=Descriptions
:KEYI KEY = F12       ACTION = 'RETURN 12'  HELP = 'F_CANCEL'
     .F12=Cancel
:KEYI KEY = F17       ACTION = 'RETURN 17'  HELP = 'F_TOP'
     .F17=Top
:KEYI KEY = F18       ACTION = 'RETURN 18'  HELP = 'F_BOTTOM'
     .F18=Bottom
:EKEYL.

Here is the panel definition:
:PANEL NAME    = list1
       HELP    = 'listhelp'
       KEYL    = listkeys
       ENTER   = 'RETURN 99'
       CSRVAR  = csrvarval
       CSRLST  = csrlstval
       CSREID  = csreidval
      .Work with Some Stuff
.*
:LIST   LISTDEF = liblist   DEPTH = '*'   MAXHEAD = 4   ACTOR = uim
        VIEW    = libview.
.*
:TOPINST .Type options, press Enter.
.*
:LISTACT   OPTION  = 1   HELP = 'libact1'
           ENTER   = 'CMD CALL PGM(UIMCL/WRKLIB) PARM(&library ''1'')'
           .1=Create
:LISTACT   OPTION  = 2   HELP = 'libact2'
           ENTER   = 'CMD CALL PGM(UIMCL/WRKLIB) PARM(&library ''2'')'
           .2=Change
:LISTACT   OPTION  = 3   HELP = 'libact3'
           ENTER   = 'CMD CALL PGM(UIMCL/WRKLIB) PARM(&library ''3'')'
           .3=Copy
:LISTACT   OPTION  = 4   HELP = 'libact4'
           CONFIRM = confirm1
           ENTER   = 'CMD CALL PGM(UIMCL/WRKLIB) PARM(&library ''4'')'
           .4=Delete
:LISTACT   OPTION  = 5   HELP = 'libact5'
           ENTER   = 'CMD CALL PGM(UIMCL/WRKLIB) PARM(&library ''5'')'
           .5=Display
.*
:LISTCOL   VAR = opt          USAGE = INOUT   MAXWIDTH = 03
           HELP = 'opthelp'   .Opt
:LISTCOL   VAR = library      USAGE = OUT     MAXWIDTH = 10
           HELP = 'libhelp'   .Library
:LISTCOL   VAR = owner        USAGE = OUT     MAXWIDTH = 10
           HELP = 'ownerhelp' .Owner
:LISTCOL   VAR = loc          USAGE = OUT     MAXWIDTH = 12
           HELP = 'lochelp'   .Location
:LISTCOL   VAR = desc         USAGE = OUT     MAXWIDTH = 30
           HELP = 'deschelp'  .Description
.*
:LISTVIEW   COLS = 'opt library owner loc desc'.
:LISTVIEW   COLS = 'opt library'
            LAYOUT = 3.
.*
:ELIST.


Repositioning the list is also fairly easy.  You need to find the entry at the 
top of the current 
page, save enough information about it to be able to locate that entry in the 
list, and then search 
for after you rebuild the list.  If you define the list building process 
correctly you can have UIM 
continually add entries to the list until the item you are looking for is found.

It has been quite a while since I last did this and I do not have example code 
(I left it at IBM *8)

Oops, I've got to go.  I'll come back to this in a day or so.


Regards,
Simon Coulter.

//----------------------------------------------------------
// FlyByNight Software         AS/400 Technical Specialists
// Phone: +61 3 9419 0175      Mobile: +61 3 0411 091 400
// Fax:   +61 3 9419 0175      E-mail: shc@flybynight.com.au
// 
// Windoze should not be open at Warp speed.
 

+---
| This is the Midrange System Mailing List!
| To submit a new message, send your mail to "MIDRANGE-L@midrange.com".
| To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---


As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.