This file is indexed.

/usr/share/tkgate-1.8.7/scripts/menu.tcl is in tkgate-data 1.8.7-4.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
#   Copyright (C) 1987-2007 by Jeffery P. Hansen
#
#   This program is free software; you can redistribute it and/or modify
#   it under the terms of the GNU General Public License as published by
#   the Free Software Foundation; either version 2 of the License, or
#   (at your option) any later version.
#
#   This program is distributed in the hope that it will be useful,
#   but WITHOUT ANY WARRANTY; without even the implied warranty of
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#   GNU General Public License for more details.
#
#   You should have received a copy of the GNU General Public License
#   along with this program; if not, write to the Free Software
#   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# Last edit by hansen on Sat Jan 27 20:51:54 2007

#
# File menu
#
proc tkg_makeFileMenu {m} {
  menu $m
  $m add command -label [m new] -underline [ul 0] -command act_newFile -accelerator "Ctl-X k"
  $m add command -label [m open] -underline [ul 0] -command act_loadFile -accelerator "Ctl-X Ctl-F"
  $m add command -label [m openlib] -underline [ul 5] -command act_loadLibrary -accelerator "Ctl-X Ctl-L"
  $m add command -label [m save] -underline [ul 0] -command act_saveFile -accelerator "Ctl-X Ctl-S"
  $m add command -label [m saveas] -underline [ul 1] -command act_saveAsFile -accelerator "Ctl-X Ctl-W"
  $m add separator
  $m add command -label [m print] -underline [ul 0] -accelerator "Ctl-X Ctl-P" -command act_print
  $m add command -label [m options] -underline [ul 2] -command act_editOptions -accelerator "Ctl-X o"
  $m add separator
  $m add command -label [m quit]  -underline [ul 0] -command act_exit -accelerator "Ctl-X Ctl-C"
}

######################################################################
#
# Edit menu
#
# Note: state changing code in sel_updateMenuState (selection.c) must
# be changed if new options are added.
#
proc tkg_makeEditMenu {m} {
  menu $m
  $m add command -label [m undo] -underline [ul 0] -accelerator "Alt-u" -command act_undo
  $m add command -label [m redo] -underline [ul 0] -accelerator "Alt-r" -command act_redo
  $m add separator
  $m add command -label [m cut] -underline [ul 0] -accelerator "Ctl-W" -command act_cutToBuf
  $m add command -label [m copy] -underline [ul 3] -accelerator "Ctl-X x" -command act_copyToBuf
  $m add command -label [m paste] -underline [ul 0] -accelerator "Ctl-Y" -command act_yankFromBuf
  $m add command -label [m selall] -underline [ul 0] -accelerator "Ctl-X a" -command act_selectAll
  $m add command -label [m find] -underline [ul 0] -accelerator "Ctl-F" -command act_findObject
  $m add separator
  $m add command -label [m ccrot] -underline [ul 0] -accelerator "Tab" -command act_rotate
  $m add command -label [m cwrot] -underline [ul 0] -accelerator "Shift-Tab" -command act_backRotate
  $m add command -label [m algnv] -underline [ul 6] -accelerator "|" -command act_vAlign
  $m add command -label [m algnh] -underline [ul 6] -accelerator "-" -command act_hAlign
  $m add separator
  $m add command -label [m zoomin] -underline [ul 5] -accelerator "Ctl-z i" -command act_zoomIn
  $m add command -label [m zoomout] -underline [ul 5] -accelerator "Ctl-z o" -command act_zoomOut
}

######################################################################
#
# Tool selection menu
#
proc tkg_makeToolMenu {m} {
    global tkg_allowDebug

    menu $m
    $m add radiobutton -label [m move] -underline [ul 0] -variable mode -value 1 -accelerator F1 -command act_editMode
    $m add radiobutton -label [m delg] -underline [ul 0] -variable mode -value 3 -accelerator F2 -command act_deleteMode
    $m add radiobutton -label [m cutw] -underline [ul 0] -variable mode -value 0 -accelerator F3 -command act_cutMode
    $m add radiobutton -label [m inv] -underline [ul 0] -variable mode -value 2 -accelerator F4 -command act_invertMode
    $m add radiobutton -label [m bitw] -underline [ul 0] -variable mode -value 9 -accelerator F5 -command act_sizeMode
    if { $tkg_allowDebug } {
	$m add radiobutton -label [m debug] -underline [ul 0] -variable mode -value 12 -accelerator F6 -command act_debugMode
    }
    $m add separator
    $m add radiobutton -label [m rot0] -underline [ul 4] -variable rot -value 0 -accelerator Ctl-F1 -command act_rot0
    $m add radiobutton -label [m rot90] -underline [ul 4] -variable rot -value 1 -accelerator Ctl-F2 -command act_rot90
    $m add radiobutton -label [m rot180] -underline [ul 4] -variable rot -value 2 -accelerator Ctl-F3 -command act_rot180
    $m add radiobutton -label [m rot270] -underline [ul 4] -variable rot -value 3 -accelerator Ctl-F4 -command act_rot270
}

######################################################################
#
# Circuit menu
#
proc tkg_makeCircMenu {m} {
  menu $m
  $m add command -label [m circprop] -underline [ul 8] -command act_editCProps -accelerator "Ctl-x E"
  $m add command -label [m cpath] -underline [ul 8] -command act_cpathAnal -accelerator "Ctl-x r"
}

######################################################################
#
# Simulator menu
#
proc tkg_makeSimMenu {m s} {
  menu $m
  $m add command -label [m simbegin] -underline [ul 0] -command act_startSimulator -accelerator "Ctl-S b"
  $m add separator
  $m add command -label [m simrun] -underline [ul 0] -command act_simRun -accelerator "Ctl-S g" -state $s
  $m add command -label [m simpause] -underline [ul 0] -command act_simStop  -accelerator "Ctl-S s" -state $s
  $m add command -label [m simstep] -underline [ul 0] -command act_simStep -accelerator "Space" -state $s
  $m add command -label [m simcycle] -underline [ul 5] -command act_simCycle -state $s -accelerator "Tab"
  $m add command -label [m simbreak] -underline [ul 0] -state $s -command act_editBreakpoints -accelerator "Ctl-S k"
  $m add command -label [m simscript] -underline [ul 1] -state $s -command act_doSimScript -accelerator "Ctl-S x"
  $m add separator
  $m add command -label [m simload] -underline [ul 1] -state $s -command act_simLoadMem -accelerator "Ctl-S l"
  $m add command -label [m simdump] -underline [ul 1] -state $s -command act_simDumpMem -accelerator "Ctl-S d"
  $m add separator
  $m add command -label [m simadprobe] -underline [ul 0] -command act_toggleProbe -accelerator "P" -state $s
}

######################################################################
#
# Module Operations
#
proc tkg_makeModuleMenu {m} {
  menu $m
  $m add command -label [m modopen] -underline [ul 0] -command act_openMod -accelerator >
  $m add command -label [m modclose] -underline [ul 0] -command act_closeMod -accelerator <
  $m add separator
  $m add command -label [m modseti] -underline [ul 0] -command act_setBlockDesc -accelerator "Ctl-b s"
  $m add command -label [m modediti] -underline [ul 0] -command act_editBlockDesc -accelerator "Ctl-b e"
  $m add separator
  $m add command -label [m modnew] -underline [ul 0] -accelerator "Ctl-b n" -command act_blockNew
  $m add command -label [m moddel] -underline [ul 0] -accelerator "Ctl-b d" -command act_blockDelete
  $m add command -label [m modcopy] -underline [ul 0] -accelerator "Ctl-b c" -command act_blockCopy
  $m add command -label [m modrename] -underline [ul 0] -accelerator "Ctl-b r" -command  act_blockRename
  $m add command -label [m modclaim] -underline [ul 1] -accelerator "Ctl-b l" -command act_blockClaim
}

######################################################################
#
# Gate menu
#
proc tkg_makeGateMenu {m} {
  global gatesetech_w

  menu $m
  $m add command -label [m gataddin] -underline [ul 4] -command act_addIn -accelerator \[
  $m add command -label [m gataddout] -underline [ul 4]  -command act_addOut -accelerator \]
  $m add command -label [m gataddinout] -underline [ul 6] -command act_addInOut -accelerator -
  $m add command -label [m gatiochg] -underline [ul 1]  -command act_editPort -accelerator @
  $m add separator
  $m add command -label [m gatanchor] -underline [ul 0] -command act_anchor -accelerator "Ctl-x f"
  $m add command -label [m gatunanchor] -underline [ul 0] -command act_unacnhor -accelerator "Ctl-x u"
  $m add separator
  $m add command -label [m gatrep] -underline [ul 0] -command act_replicate -accelerator Ctl-V
  $m add command -label [m gatdel] -underline [ul 0] -accelerator Del -command act_delete
  $m add cascade -label [m gatsettech] -underline [ul 0] -menu $m.settech
  $m add command -label [m gatprop] -underline [ul 0] -command act_editProps -accelerator E

  menu $m.settech -tearoff 0 
  set gatesetech_w $m.settech
}

######################################################################
#
# Gate creation menus - created based on data in each gate's .c file.
#
proc tkg_makeMakeMenu {m} {
  gat_makeMakeMenu $m
}

menubutton .mbar.file -text [m file] -underline [ul 0] -menu .mbar.file.menu
tkg_makeFileMenu .mbar.file.menu

menubutton .mbar.edit -text [m edit] -underline [ul 0] -menu .mbar.edit.menu 
tkg_makeEditMenu  .mbar.edit.menu

menubutton .mbar.tool -text [m tool] -underline [ul 0] -menu .mbar.tool.menu 
tkg_makeToolMenu .mbar.tool.menu

menubutton .mbar.circ -text [m circ] -underline [ul 0] -menu .mbar.circ.menu 
tkg_makeCircMenu .mbar.circ.menu

menubutton .mbar.sim -text [m simulate] -underline [ul 0] -menu .mbar.sim.menu
tkg_makeSimMenu .mbar.sim.menu normal

menubutton .mbar.module -text [m module] -underline [ul 1] -menu .mbar.module.menu
tkg_makeModuleMenu  .mbar.module.menu


menubutton .mbar.gate -text [m gate] -underline [ul 0] -menu .mbar.gate.menu
tkg_makeGateMenu  .mbar.gate.menu

menubutton .mbar.make -text [m make] -underline [ul 0] -menu .mbar.make.menu
tkg_makeMakeMenu  .mbar.make.menu

######################################################################
#
# Help menu
#
menubutton .mbar.help -text [m help] -underline [ul 0] -menu .mbar.help.menu
menu .mbar.help.menu
.mbar.help.menu add command -label [m hlpabout] -underline [ul 0] -command act_showAbout
.mbar.help.menu add command -label [m hlplicense] -underline [ul 0] -command act_showLicense
.mbar.help.menu add command -label [m hlpdoc] -underline [ul 0] -command act_showDocumentation
.mbar.help.menu add separator
.mbar.help.menu add cascade -label [m hlptut] -menu .mbar.help.menu.tut -underline [ul 1]
.mbar.help.menu add cascade -label [m hlpexample] -menu .mbar.help.menu.ex -underline [ul 1]

menu .mbar.help.menu.ex -tearoff 0
.mbar.help.menu.ex add command -label [m exampcomb] -underline [ul 0] -command act_loadExample1
.mbar.help.menu.ex add command -label [m examp3bit] -underline [ul 0] -command act_loadExample2
.mbar.help.menu.ex add command -label [m examp8bit] -underline [ul 0] -command act_loadExample3
.mbar.help.menu.ex add command -label [m examptrff] -underline [ul 0] -command act_loadExample4
.mbar.help.menu.ex add command -label [m exampcpu] -underline [ul 12] -command act_loadExample5

menu .mbar.help.menu.tut -tearoff 0
.mbar.help.menu.tut add command -label [m tutwelcome] -underline [ul 0] -command act_loadTutorial1
.mbar.help.menu.tut add command -label [m tutcreate] -underline [ul 0] -command act_loadTutorial2
.mbar.help.menu.tut add command -label [m tutedit1] -underline [ul 19] -command act_loadTutorial3
.mbar.help.menu.tut add command -label [m tutedit2] -underline [ul 19] -command act_loadTutorial4
.mbar.help.menu.tut add command -label [m tutmods] -underline [ul 0] -command act_loadTutorial5
.mbar.help.menu.tut add command -label [m tutsim] -underline [ul 0] -command act_loadTutorial6

######################################################################
#
# Final menu creation
#

pack .mbar.file .mbar.edit .mbar.tool .mbar.circ .mbar.sim .mbar.module .mbar.gate .mbar.make -in .mbar -side left
pack .mbar.help -in .mbar -side right