187 lines
5.5 KiB
Plaintext
187 lines
5.5 KiB
Plaintext
!----------------------------
|
|
begin OInterface
|
|
prefix = G4Cmds_
|
|
end
|
|
!----------------------------
|
|
begin OWidget
|
|
name = G4Cmds_palette
|
|
type = XmFormDialog
|
|
children = G4Cmds_get_list G4Cmds_path G4Cmds_up G4Cmds_frame_dirs G4Cmds_frame_hists G4Cmds_label G4Cmds_edit G4Cmds_dump G4Cmds_cancel G4Cmds_update
|
|
autoUnmanage = False
|
|
dialogTitle = G4 command chooser
|
|
mapCallback = osh> callWidgetCallbacks G4Cmds_get_list activateCallback
|
|
end
|
|
!----------------------------
|
|
begin OWidget
|
|
name = G4Cmds_get_list
|
|
type = XmPushButton
|
|
labelString = Update list
|
|
leftAttachment = attach_form
|
|
rightAttachment = attach_form
|
|
topAttachment = attach_form
|
|
activateCallback = osh>\
|
|
list=`do G4 askListOfCommands | cutStringBegin - 1`\
|
|
setWidgetResource G4Cmds_update value $list\
|
|
setWidgetResource G4Cmds_path value ''\
|
|
callWidgetCallbacks G4Cmds_update activateCallback
|
|
end
|
|
!----------------------------
|
|
begin OWidget
|
|
name = G4Cmds_path
|
|
type = XmText
|
|
leftAttachment = attach_form
|
|
rightAttachment = attach_form
|
|
topAttachment = attach_form
|
|
topAttachment = attach_widget
|
|
topWidget = G4Cmds_get_list
|
|
end
|
|
!----------------------------
|
|
begin OWidget
|
|
name = G4Cmds_update
|
|
type = XmText
|
|
editMode = multi_line_edit
|
|
activateCallback = osh>\
|
|
setWidgetResource G4Cmds_dirs selectedItems ''\
|
|
setWidgetResource G4Cmds_objs selectedItems ''\
|
|
path=`getWidgetResource G4Cmds_path value`\
|
|
test $path ne '' && path=`printf '%s/' $path`\
|
|
lpath=`getStringLength $path`\
|
|
pattern=`printf '%s*' $path`\
|
|
list=`getWidgetResource G4Cmds_update value | matchString - $pattern | cutStringBegin - $lpath`\
|
|
pattern=`printf '*/*' `\
|
|
dirs=`matchString $list $pattern | getStringWord - 1 '/' | removeDuplicates - | sort - `\
|
|
objs=`matchString $list $pattern no | removeDuplicates - | sort -`\
|
|
test $dirs eq '' && setWidgetResource G4Cmds_dirs items ''\
|
|
test $dirs ne '' && setWidgetResource G4Cmds_dirs items $dirs\
|
|
test $objs eq '' && setWidgetResource G4Cmds_objs items ''\
|
|
test $objs ne '' && setWidgetResource G4Cmds_objs items $objs
|
|
end
|
|
!----------------------------
|
|
begin OWidget
|
|
name = G4Cmds_up
|
|
type = XmPushButton
|
|
labelString = Up directory
|
|
topAttachment = attach_widget
|
|
topWidget = G4Cmds_path
|
|
leftAttachment = attach_form
|
|
rightAttachment = attach_form
|
|
activateCallback = osh>\
|
|
path=`getWidgetResource G4Cmds_path value`\
|
|
path=`removeLastStringWord $path '/'`\
|
|
setWidgetResource G4Cmds_path value $path\
|
|
callWidgetCallbacks G4Cmds_update activateCallback
|
|
end
|
|
!----------------------------
|
|
begin OWidget
|
|
name = G4Cmds_frame_dirs
|
|
type = XmFrame
|
|
children = G4Cmds_dirs
|
|
topAttachment = attach_widget
|
|
topWidget = G4Cmds_up
|
|
leftAttachment = attach_form
|
|
rightAttachment = attach_position
|
|
rightPosition = 50
|
|
bottomAttachment = attach_widget
|
|
bottomWidget = G4Cmds_label
|
|
end
|
|
!----------------------------
|
|
begin OWidget
|
|
name = G4Cmds_dirs
|
|
type = XmScrolledList
|
|
background = lightgrey
|
|
visibleItemCount = 10
|
|
selectionPolicy = single_select
|
|
scrollBarDisplayPolicy = static
|
|
listSizePolicy = constant
|
|
singleSelectionCallback = osh>\
|
|
string=`getWidgetResource G4Cmds_dirs selectedItems`\
|
|
test $string eq '' && exit \
|
|
path=`getWidgetResource G4Cmds_path value`\
|
|
#path=`removeLastStringWord $path '/'`\
|
|
#setWidgetResource G4Cmds_path value $path\
|
|
test $path ne '' && appendText G4Cmds_path '/'\
|
|
appendText G4Cmds_path $string\
|
|
callWidgetCallbacks G4Cmds_update activateCallback
|
|
end
|
|
!----------------------------
|
|
begin OWidget
|
|
name = G4Cmds_frame_hists
|
|
type = XmFrame
|
|
children = G4Cmds_objs
|
|
topAttachment = attach_widget
|
|
topWidget = G4Cmds_up
|
|
leftAttachment = attach_widget
|
|
leftWidget = G4Cmds_frame_dirs
|
|
rightAttachment = attach_form
|
|
bottomAttachment = attach_widget
|
|
bottomWidget = G4Cmds_label
|
|
end
|
|
!----------------------------
|
|
begin OWidget
|
|
name = G4Cmds_objs
|
|
type = XmScrolledList
|
|
background = lightgrey
|
|
visibleItemCount = 10
|
|
selectionPolicy = single_select
|
|
listSizePolicy = constant
|
|
scrollBarDisplayPolicy = static
|
|
end
|
|
!----------------------------
|
|
begin OWidget
|
|
name = G4Cmds_label
|
|
type = XmLabel
|
|
labelString = Operations
|
|
leftAttachment = attach_form
|
|
rightAttachment = attach_form
|
|
bottomAttachment = attach_widget
|
|
bottomWidget = G4Cmds_edit
|
|
background = black
|
|
foreground = white
|
|
end
|
|
!----------------------------
|
|
begin OWidget
|
|
name = G4Cmds_edit
|
|
type = XmPushButton
|
|
labelString = Edit
|
|
leftAttachment = attach_form
|
|
rightAttachment = attach_form
|
|
bottomAttachment = attach_widget
|
|
bottomWidget = G4Cmds_dump
|
|
activateCallback = &osh>\
|
|
path=`getWidgetResource G4Cmds_path value`\
|
|
obj=`getWidgetResource G4Cmds_objs selectedItems`\
|
|
string=`printf '/%s/%s' $path $obj`\
|
|
name='G4Params.odb'\
|
|
do G4 createCommandPanel $string $name\
|
|
odb=`collect OInterface where dataBaseName eq $name`\
|
|
isValid $odb && destroy $odb\
|
|
load $name | realize - ;manageWidget G4Params_palette;raiseWidget G4Params_palette_popup
|
|
end
|
|
!----------------------------
|
|
begin OWidget
|
|
name = G4Cmds_dump
|
|
type = XmPushButton
|
|
labelString = Guidance
|
|
leftAttachment = attach_form
|
|
rightAttachment = attach_form
|
|
bottomAttachment = attach_widget
|
|
bottomWidget = G4Cmds_cancel
|
|
activateCallback = &osh>\
|
|
path=`getWidgetResource G4Cmds_path value`\
|
|
obj=`getWidgetResource G4Cmds_objs selectedItems`\
|
|
string=`printf '/%s/%s' $path $obj`\
|
|
echo `do G4 getCommandGuidance $string`
|
|
end
|
|
!----------------------------
|
|
begin OWidget
|
|
name = G4Cmds_cancel
|
|
type = XmPushButton
|
|
labelString = Cancel
|
|
activateCallback = osh> unmanageWidget `thisWidgetParent`
|
|
bottomAttachment = attach_form
|
|
leftAttachment = attach_form
|
|
rightAttachment = attach_form
|
|
end
|
|
|
|
|