Subroutine MTF.PAINT.B(orientation, menu.x.orig, menu.y.orig, menu.width, menu.choices, menu.items) ****************************************************************************** * * Paint MOTIF like menu * * Module %M% Version %I% Date %H% * * (c) Copyright 1998 Ardent Software Inc. - All Rights Reserved * This is unpublished proprietary source code of Ardent Software Inc. * The copyright notice above does not evidence any actual or intended * publication of such source code. * ******************************************************************************* * * Maintenence log - insert most recent change descriptions at top * * Date.... GTAR# WHO Description......................................... * 10/14/98 23801 SAP Change copyrights. * 05/13/91 8345 DTM Changed print to tprint * 2/07/91 7673 DTM Changed drawing methods * 06/28/90 7236 JWT New MOTIF like new capability * ******************************************************************************* * This subroutine paints a MOTIF menu object on the terminal screen. * Arguments to the function are: * orientation - is the menu horizontal (menubar) or vertical * * menu.x.orig - the x (horizontal) anchor point for the menu * * menu.y.orig - the y (vertical) anchor point for the menu * * menu.width - for vertical menus, the width of the menu; * for horizontal menus, a dynamic array of horizontal * start and end points. * * menu.choices - number of menu elements * * menu.items - dynamic array containing the preformated text * of each menu line id = "%W%" $include UNIVERSE.INCLUDE MTF.INCL.H if orientation = HORIZONTAL then * For a menubar we just print all the menu items across the * line designated by menu.y.orig for i = 1 to menu.choices tprint @(menu.width, menu.y.orig):menu.items: next i end else * For a menu box, we first generate a border string for printing the * top and bottom border. border = str(h.line,menu.width-2) * Then we print the upper border tprint @(menu.x.orig,menu.y.orig):lu.corner:border:ru.corner * And finally, we print the lower border tprint @(menu.x.orig,menu.y.orig+menu.choices+1):ll.corner:border:rl.corner * Now print each menu line for i = 1 to menu.choices tprint @(menu.x.orig,menu.y.orig+i):menu.items: next i end return end