|
|
The Object menu should be the name of the primary system resource being managed (examples: User, Printer, Filesystem). The functions under this menu usually involve creating, modifying, or deleting an object.
Template menu procedure: UiBuildMenus
proc UiBuildMenus {form} { global appvalsset menuBar [VtMenuBar $form.menuBar \ -helpMenuItemList [SaHelpGetOptionsList]] VxSetVar $form menuBar $menuBar set openhost $appvals(openhost)
if {$openhost} { UiBuildHostMenu $menuBar }
# Main object menu UiBuildObjectMenu $menuBar
# view menu for auto refresh? UiBuildViewMenu $menuBar
UiBuildOptionsMenu $menuBar return $menuBar }
#====================================================================== XXX === # UiBuildHostMenu # # Build the host menu including: # o Open Host... # o Exit #------------------------------------------------------------------------------ proc UiBuildHostMenu {parent} { global appvals
set hostMenu [VtPulldown $parent.hostMenu \ -label [IntlMsg HOST] \ -mnemonic [IntlMsg HOST_MN] \ ] VxSetVar $parent hostMenu $hostMenu
VtPushButton $hostMenu.openhost \ -label [IntlMsg OPENHOST] \ -mnemonic [IntlMsg OPENHOST_MN] \ -acceleratorString [IntlMsg OPENHOST_ACCSTR] \ -accelerator [IntlMsg OPENHOST_ACC] \ -shortHelpCallback SaShortHelpCB \ -shortHelpString [IntlMsg OPENHOST_SH \ [list $appvals(itemname)]] \ -callback SaOpenHostCB \ -autoLock SaOpenHostCB VtSeparator $hostMenu.s1 set exitMenu $hostMenu
# exit button VtPushButton $exitMenu.exit \ -label [IntlMsg EXIT] \ -mnemonic [IntlMsg EXIT_NM] \ -shortHelpCallback SaShortHelpCB \ -shortHelpString [IntlMsg EXIT_SH [list $appvals(title)]] \ -callback UiCloseCB \ -autoLock UiCloseCB
# Correct/consistent UI does not use Exit accelerators #-acceleratorString "Ctrl+X" #-accelerator "Ctrl<Key>X" }
#====================================================================== XXX === # UiBuildObjectMenu # # Build the object(Who) menu including: # o Examine... #------------------------------------------------------------------------------ proc UiBuildObjectMenu {parent} { global appvals
if {$appvals(examineMenu)} { set label $appvals(object) set mnemonic $appvals(objectmn) set fileMenu [VtPulldown $parent.fileMenu \ -label $label \ -mnemonic $mnemonic \ ] VxSetVar $parent fileMenu $fileMenu }
# examine button if {$appvals(examineMenu)} { set examine [VtPushButton $fileMenu.examine \ -label [IntlMsg EXAMINE] \ -mnemonic [IntlMsg EXAMINE_MN] \ -shortHelpCallback SaShortHelpCB \ -shortHelpString [IntlMsg EXAMINE] \ -callback UiExamineCB \ -autoLock UiExamineCB] VxSetVar $parent examine $examine # If there is no "Host Menu" then "Exit" will need to be part # of this menu (below a separator) if {! $appvals(openhost)} { VtSeparator $fileMenu.s2 set exitMenu $fileMenu # exit button VtPushButton $exitMenu.exit \ -label [IntlMsg EXIT] \ -mnemonic [IntlMsg EXIT_MN] \ -shortHelpCallback SaShortHelpCB \ -shortHelpString [IntlMsg EXIT_SH [list $appval s(title)]] \ -callback UiCloseCB \ -autoLock UiCloseCB
} } }
#====================================================================== XXX === # UiBuildOptionsMenu # # Build the option menu including: # o short help toggle #------------------------------------------------------------------------------ proc UiBuildOptionsMenu {form} { global appvals
# Define the Pulldown itself set optionMenu [VtPulldown $form.optionMenu \ -label [IntlMsg OPTIONS] \ -mnemonic [IntlMsg OPTIONS_MN] \ ]
# menu items
# short help SaShortHelpLoad $appvals(client) SaShortHelpMenuOptions $optionMenu
# toolbar if {$appvals(toolbar)} { UiToolBarBuildMenuOptions $optionMenu }
VxSetVar $form optionMenu $optionMenu return $optionMenu }
#====================================================================== XXX === # UiBuildViewMenu # # Build the view menu including: # o auto refresh parameters #------------------------------------------------------------------------------ proc UiBuildViewMenu {form} { global appvals
# in the template, this view menu is defined only for auto refresh # delete the following check if view is desired regardless if {!$appvals(autorefresh)} { return {} }
set viewMenu [VtPulldown $form.viewMenu \ -label [IntlMsg VIEW] \ -mnemonic [IntlMsg VIEW_MN] \ ] VxSetVar $form viewMenu $viewMenu
# add the auto refresh menu options if {$appvals(autorefresh)} { set intervalCB {}
# Allow user to select auto refresh interval? if {$appvals(autorefreshcust)} { # use default callback in package set intervalCB \ [list SaAutoRefreshIntervalCB \ $appvals(autorefreshmin) \ $appvals(autorefreshmax) \ ] } VtSeparator $viewMenu.s1 SaAutoRefresh UiRefreshCB \ $viewMenu \ "data" \ SaShortHelpCB \ $intervalCB SaAutoRefreshLoad $appvals(client) }
}