home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1999 March B / SCO_CASTOR4RRT.iso / base / root.15 / etc / dcu.d / menus / dcumain / dcumain~
Text File  |  1998-08-19  |  4KB  |  205 lines

  1. #ident    "@(#)dcu:menus/dcumain    1.28.2.1"
  2.  
  3. function dcucancel
  4. {
  5. # dcucancel(main_wid)
  6. # Called when the "Exit DCU and Cancel Changes" "Main Menu" option
  7. # is selected.
  8. # Calling/Exit State: 0 for success and 1 for failure.
  9.  
  10. [ "$DCUDEBUG" -gt 3 ] && {
  11. print -u2 "$0 called"
  12. set -x
  13. }
  14.  
  15. integer key err=0 i=0
  16. typeset _t 
  17.  
  18. while (( i+=1 ))
  19. do
  20.     if [ "${BDTYPE[$i]}" = $none ]
  21.     then
  22.         break
  23.     fi
  24.     if [ -n "${BDCHGS[$i]}" ]
  25.     then
  26.         display "$MODNOSAVE" -bg $RED -fg $WHITE
  27.         _t=$CURWIN
  28.         RMexit_choice
  29.         input_handler
  30.         wclose $_t
  31.         if [ "$EXIT_CONF" = "1" ]
  32.         then
  33.             dcumain
  34.             return 0
  35.         fi
  36.         break
  37.     fi
  38. done
  39.  
  40. i=0
  41. if [ "$UNIX_INSTALL" = Y ]
  42. then
  43.     #update resmgr database
  44.     while (( i+=1 ))
  45.     do
  46.         if [ "${BDTYPE[$i]}" = $none ]
  47.         then
  48.             break
  49.         fi
  50.         BDCHGS[$i]=""
  51.     done
  52.  
  53.     IHVaddresmgr
  54.  
  55.     i=0
  56.     while (( i+=1 ))
  57.     do
  58.         if [ "${BDTYPE[$i]}" = $none ]
  59.         then
  60.             break
  61.         fi
  62.         if [ "${BDTYPE[$i]}" = $unused ]
  63.         then
  64.             continue
  65.         fi
  66.         if (( ${BDCHGS[$i]} ))
  67.         then
  68.             if [ "${BDCNFG[$i]}" = "$Y" ]
  69.             then
  70.                 wrtRM_key $i
  71.                 err=$?
  72.                 if (( err ))
  73.                 then
  74.                     display -w "$BAD_UPDATE" -bg $RED -fg $WHITE
  75.                     footer "$GENERIC_CONTINUE_FOOTER"
  76.                     call proc_loop
  77.                 fi
  78.             fi
  79.         fi
  80.     done
  81. fi
  82.  
  83. for key in $DEL_KEYS
  84. do
  85.     RMdelkey $key
  86. done
  87.  
  88. HBADISKETTE=0
  89. DCUCNFGIHV=
  90. call RMclose
  91. msgnoerr
  92. footer ""
  93. wclose $1
  94. }
  95.  
  96. function exit_exit
  97. {
  98. # exit_exit()
  99. # Choices exit callback when the Exit DCU and Cancel Changes
  100. # Main Menu selection item has been choosen and a change has been
  101. # detected and is not going to be saved.
  102. # Calling/Exit State: void.
  103.  
  104. [ "$DCUDEBUG" -gt 3 ] && {
  105. print -u2 "$0 called"
  106. set -x
  107. }
  108.         case $CHOICE in
  109.         ${EXIT_OPT[0]})
  110.                 EXIT_CONF=0
  111.                 ;;
  112.         ${EXIT_OPT[1]})
  113.                 EXIT_CONF=1
  114.                 ;;
  115.         esac
  116. }
  117.  
  118. function RMexit_choice
  119. {
  120. # RMexit_choice()
  121. # Called when exiting the DCU without saving any changes that were made.
  122. # The user is given the ability to "Ignore Changes and Exit DCU" or
  123. # "Enter the DCU to Apply Changes".
  124. # Calling/Exit State: void.
  125.  
  126. [ "$DCUDEBUG" -gt 3 ] && {
  127. print -u2 "$0 called"
  128. set -x
  129. }
  130.         typeset exitchoice
  131.  
  132.         if [ -z "${EXIT_OPT}" ]
  133.         then
  134.                 typeset OIFS="$IFS"
  135.                 IFS="$nl"
  136.                 set -A EXIT_OPT ${CHOOSE_EXIT_CONF}
  137.                 IFS="$OIFS"
  138.         fi
  139.         exitchoice=$EXIT_OPT
  140.     CHOOSE_TITLE="$CHOICES"
  141.     CHOOSE_FOOTER="$DCU_CHOOSE_FOOTER"
  142.         choose -f -e -exit exit_exit -winparms " -below 0 -fg $COMBO2_FG -bg $COMBO2_BG" "$exitchoice" "${EXIT_OPT[@]}"
  143. }
  144.  
  145. function dcurestart
  146. {
  147. # dcurestart(main_wid)
  148. # Used to be called when the "Restart DCU and Cancel Changes" "Main Menu"
  149. # option was selected.
  150. # Calling/Exit State: void.
  151.  
  152. [ "$DCUDEBUG" -gt 3 ] && {
  153. print -u2 "$0 called"
  154. set -x
  155. }
  156.  
  157. integer key
  158. for key in $DEL_KEYS
  159. do
  160.     RMdelkey $key
  161. done
  162.  
  163. call RMclose
  164. msgnoerr
  165. footer ""
  166. wclose $1
  167. if [ "$UNIX_INSTALL" = Y ]
  168. then
  169.     /sbin/dcu
  170. else
  171.     [ "$DCUSILENT" = N ] && {
  172.         call endwin
  173.         dcuclear
  174.     }
  175.     setstty
  176.     exec ${DCUDIR}/winxksh -c "${DCUSCRIPTS}/dcu"
  177. fi
  178. }
  179.  
  180. function dcumain
  181. {
  182. # dcumain()
  183. # Called whenever the DCU Main Menu needs to be displayed.
  184. # Calling/Exit State: void.
  185.  
  186. [ "$DCUDEBUG" -gt 1 ] && {
  187. print -u2 "$0 called"
  188. set -x
  189. }
  190.     integer lines=5
  191.     place_window DCUMAINWIDTH+5 $lines -title "$DCUMAIN_TITLE" -current 'footer "$DCUMAIN_FOOTER"'
  192.     typeset wid=$CURWIN
  193.     open_menu -exit 'msgnoerr "$DCUEXIT_ERR"; false' -x 3 -y 1
  194.     typeset mid=$MID
  195.         add_menu_item -help 'helpwin dcu.board' -select "wclose $wid; boards 1" -entry 'msgnoerr $BOARD_PROMPT'  "$BOARD"
  196.     add_menu_item -help 'helpwin dcu.driver' -select "wclose $wid; category" -entry 'msgnoerr $DRIVER_PROMPT'  "$DRIVER"
  197.     add_menu_item -help 'helpwin dcu.apply' -select "footer "";wclose $wid; RMupdate $wid" -entry 'msgnoerr $SAVE_PROMPT'  "$SAVE"
  198.     add_menu_item -help 'helpwin dcu.cancel' -select "footer "";wclose $wid; dcucancel $wid" -entry 'msgnoerr $DCUCANCEL_PROMPT'  "$DCUCANCEL"
  199. #    if [ "$UNIX_INSTALL" != Y ]
  200. #    then
  201. #        add_menu_item -help 'helpwin dcu.restart' -select "dcurestart $wid" -entry 'msgnoerr $RESTART_PROMPT'  "^$RESTART"
  202. #    fi
  203.     run_menu $mid 0
  204. }
  205.