# Copyright (C) 1996-2007 by Salvador E. Tropea (SET),
# see copyrigh file for details
#
#
# That's the menu definition for the editor.
#
# SubMenu: "Name", Key [,Context]
# Creates a submenu, for example one of the pull-down or a menu inside another.
# Context is hcNoContext by default.
#
# MenuItem: "Name", Command[, Key [, Context [,"KeyName"]]]
# Creates an entry in a menu.
# Context is hcNoContext by default.
# Key is kbUnknown by default.
#
# MenuItemC: "Name", Command[, Key [,"KeyName"]]
# Like MenuItem but Context is equal to Command.
#
# MenuSeparator
# Adds a separator
#
# EndSubMenu
# Ends a submenu
#
# The context help system is currently designed to use the same context value
# as the command so you must normally use MenuItemC.
# The context is used to bring help about the menu options.
#
# The file supports some primitive conditionals, you can use $ifdef and
# $ifndef.
#

#            AC  ILNOPQST  X
# DOS/Win32:   D         UV
# UNIX:        DH        U
SubMenu: "~F~ile", kbAlF
 MenuItemC: "~O~pen...", cmeOpen, kbF3, "F3"
 MenuItemC: "~N~ew", cmeNew
 MenuItemC: "Open Read-only ~c~opy", cmeOpenROCopy
 MenuItemC: "~S~ave", cmcSave, kbF2, "F2"
 MenuItemC: "S~a~ve as...", cmcSaveAs, kbUnknown
 $if DOS or WIN32
 MenuItemC: "Save as ~U~NIX...", cmcSaveAsConvertEOL
 MenuItemC: "Save as ~D~OS...", cmcSaveAsNoConvertEOL
 $else
 MenuItemC: "Sa~v~e as DOS...", cmcSaveAsConvertEOL
 MenuItemC: "Save as ~U~NIX...", cmcSaveAsNoConvertEOL
 $endif
 MenuItemC: "Save w/ same ~t~ime...", cmcSaveSameTime
 MenuItemC: "Save a~l~l", cmeSaveAll
 MenuSeparator
 MenuItemC: "~P~rint", cmePrintEditor
 MenuItemC: "Pr~i~nt Setup...", cmeSetUpPrinter
 MenuSeparator
 $if DOS or WIN32
 MenuItemC: "~D~OS shell", cmeDosShell
 $else
 MenuItemC: "S~h~ell", cmeDosShell
 $endif
 MenuItemC: "~Q~uit", cmeQuitDelete, kbAlQ, "Alt+Q"
 MenuItemC: "E~x~it", cmeQuit, kbAlX, "Alt+X"
EndSubMenu

# ABCDEFGHILMNOPRSTUWX
SubMenu: "~E~dit", kbAlE
 MenuItemC: "~U~ndo", cmcUndo, kbAlBackSpace, "Alt+BackSpace"
 MenuItemC: "~R~edo", cmcRedo
 MenuSeparator
 MenuItemC: "Cu~t~", cmcCut, kbShDelete, "Shift+Del"
 MenuItemC: "~C~opy", cmcCopy, kbUnknown, "Ctrl+Ins"
 MenuItemC: "~P~aste", cmcPaste, kbUnknown, "Shift+Ins"
 MenuItemC: "~S~how clipboard", cmeShowClip
 MenuItemC: "C~l~ear", cmcClear, kbCtDelete, "Ctrl+Del"
 MenuSeparator
 MenuItemC: "S~e~t Local options", cmcSetLocalOptions, kbAlL, "Alt+L"
 MenuItemC: "Set ~G~lobal options", cmcSetGlobalOptions, kbAlG, "Alt+G"
 MenuSeparator
 MenuItemC: "E~x~pand all tabs", cmcExpandAllTabs
 MenuItemC: "C~o~mpact text", cmcCompactBuffer
 $if DOS or WIN32
 MenuItemC: "Copy to ~W~indows Clip.", cmcCopyOSClip
 MenuItemC: "Paste ~f~rom Wind. Clip.", cmcPasteOSClip
 $else
 MenuItemC: "Copy to OS Clipboar~d~", cmcCopyOSClip
 MenuItemC: "Paste from OS Clip~b~oard", cmcPasteOSClip
 MenuItemC: "Cop~y~ to file Clipboard", cmcCopyClipFile
 MenuItemC: "Paste ~f~rom file Clipboard", cmcPasteClipFile
 $endif
 SubMenu: "~M~acro", kbAlM
  MenuItemC: "~R~ecord", cmcRecordMacro, kbShF10, "Shift+F10"
  MenuItemC: "~S~top", cmcStopMacro, kbAlF10, "Alt+F10"
  MenuItemC: "~P~lay", cmcPlayMacro, kbCtF10, "Ctrl+F10"
 EndSubMenu
 MenuItemC: "Pus~h~ cursor position", cmcPushCursorPos
 MenuItemC: "Pop cursor pos~i~tion", cmcPopCursorPos
 SubMenu: "C~a~se (upper/lower)", kbAlA
  MenuItemC: "Block to ~u~pper", cmcToUpper
  MenuItemC: "Block to ~l~ower", cmcToLower
  MenuItemC: "~C~haracter toggle", cmcToggleCharCase
  MenuItemC: "Block ~i~nvert", cmcInvertCase
  MenuItemC: "Block ~a~lternate", cmcAltCase
 EndSubMenu
 MenuItemC: "Insert ~n~ew line (don't move)", cmcInsertNewLine, kbCtN, "Ctrl+N"
EndSubMenu

# English: ABCEFGJHILNOPRSTUW
# Spanish: ABCDEHILMNOPRSTUVY
SubMenu: "~S~earch", kbAlS
 MenuItemC: "~F~ind...", cmcFind, kbUnknown, "Ctrl+Q-F"
 MenuItemC: "~R~eplace...", cmcReplace, kbUnknown, "Ctrl+Q-A"
 MenuItemC: "~S~earch again", cmcSearchAgain, kbUnknown, "Ctrl+L"
 MenuSeparator
 MenuItemC: "S~e~arch selection forward", cmcSearchSelForward, kbShF8, "Shift+F8"
 MenuItemC: "Search selection ~b~ackward", cmcSearchSelBackward, kbShF7, "Shift+F7"
 MenuItemC: "Replace in ~a~ll opened...", cm(S&R all opened)
 MenuItemC: "Replace in all project ~i~tems...", cm(S&R all project)
 MenuSeparator
 MenuItemC: "~N~ame current function", cmcWhichFunctionIs
 MenuItemC: "~J~ump to function", cmcJumpToFunction, kbAlF2, "Alt+F2"
 MenuItemC: "Jump to ~p~rototype", cmcJumpToPrototype
 MenuItemC: "Jump ~t~o symbol", cmeSearchTag, kbCtF2, "Ctrl+F2"
 MenuItemC: "~G~o to line", cmcGotoEditorLine, kbUnknown, "Ctrl+J"
 MenuItemC: "~C~lass browser", cmeClassBrowser
 MenuItemC: "~W~ord completion", cmeWordCompletion, kbCtTab, "Ctrl+Tab"
 MenuItemC: "Jump to ~l~ast cursor position", cmcJumpLastCursorPos, kbUnknown, "Ctrl+Q-P"
 MenuItemC: "Jump to last ~u~ndo position", cmcLastPosCur
 MenuItemC: "Pus~h~ cursor position and window", cmeGPushCursorPos
 MenuItemC: "P~o~p cursor position and window (tag ret)", cmeGPopCursorPos
EndSubMenu

# CEGMNOPRSU
SubMenu: "~M~acro", kbAlM
 MenuItemC: "~R~ecord", cmcRecordMacro, kbShF10, "Shift+F10"
 MenuItemC: "~S~top", cmcStopMacro, kbAlF10, "Alt+F10"
 MenuItemC: "~P~lay", cmcPlayMacro, kbCtF10, "Ctrl+F10"
 MenuSeparator
 MenuItemC: "~C~hoose...", cmcChooseMacro
 MenuItemC: "R~e~peat", cmcRepeatMacro, kbShF3, "Shift+F3"
 MenuItemC: "~G~enerate Code", cmcGenCodeForMacro
 MenuItemC: "Ru~n~ selected code", cmcRunSel_sLisp
 MenuItemC: "Enter c~o~de to run", cmcRunEnter_sLisp
 MenuSeparator
 MenuItemC: "Pse~u~do macros...", cmcChoosePMacrosList
EndSubMenu

# English: ABCEHILMOPSTUY
# Spanish: ABCEFILMOPRTUY
SubMenu: "Re~c~tangle", kbAlR
 MenuItemC: "~S~tart", cmcSelRectStart, kbUnknown, "Ctrl+K-Shift+B"
 MenuItemC: "~E~nd",   cmcSelRectEnd, kbUnknown, "Ctrl+K-Shift+K"
 MenuItemC: "~H~ide", cmcSelRectHide, kbUnknown, "Ctrl+K-Shift+H"
 MenuSeparator
 MenuItemC: "~C~opy",  cmcSelRectCopy, kbUnknown, "Ctrl+K-Shift+C"
 MenuItemC: "Copy to cl~i~pboard", cmcSelRectCopyClip, kbUnknown, "Ctrl+K-Ctrl+Ins"
 MenuItemC: "~P~aste", cmcSelRectPaste, kbUnknown, "Ctrl+K-Shift+P"
 MenuItemC: "Paste from clip~b~oard", cmcSelRectPasteClip, kbUnknown, "Ctrl+K-Shift+Ins"
 MenuItemC: "Cu~t~",   cmcSelRectCut, kbUnknown, "Ctrl+K-Shift+T"
 MenuItemC: "De~l~ete", cmcSelRectDel, kbUnknown, "Ctrl+K-Shift+L"
 MenuItemC: "~M~ove",  cmcSelRectMove, kbUnknown, "Ctrl+K-Shift+M"
 MenuItemC: "Cop~y~ & Paste",  cmcSelRectCopyPaste, kbUnknown, "Ctrl+K-Shift+O"
 MenuItemC: "Cle~a~r",  cmcSelRectClear, kbUnknown, "Ctrl+K-Shift+E"
 MenuSeparator
 MenuItemC: "To ~u~pper",  cmcSelRectToUpper, kbUnknown
 MenuItemC: "To l~o~wer",  cmcSelRectToLower, kbUnknown
EndSubMenu

# English: ACDEGJLMNPRSTUWZ0123456789
# Spanish: ABCDEILMNOPRSUVZ0123456789
SubMenu: "~W~indows", kbAlW
 MenuItemC: "~S~ize/move",cmeResize, kbCtF5, "Ctrl+F5"
 MenuItemC: "~Z~oom", cmeZoom, kbF5, "F5"
 MenuItemC: "~T~ile", cmeTile
 MenuItemC: "C~a~scade", cmeCascade
 MenuItemC: "~N~ext", cmeNext, kbF6, "F6"
 MenuItemC: "~P~revious", cmePrev, kbShF6, "Shift+F6"
 MenuItemC: "~C~lose", cmeClose, kbAlF3, "Alt+F3"
 MenuItemC: "~L~ist", cmeListWin, kbAl0, "Alt+0"
 MenuItemC: "~U~ser Screen", cmeUserScreen, kbAlF5, "Alt+F5"
 MenuItemC: "Pro~j~ect Window", cmeSelWinPrj, kbAl1, "Alt+1"
 MenuItemC: "~M~essage Window", cmeSelWinMessage
 MenuItemC: "Debu~g~ger Window", cmeSelDebugWin
 MenuItemC: "~W~atches Window", cmeSelWatchesWin
 SubMenu: "~E~dition Windows", kbAlE
   MenuItemC: "Window  ~2~", cmeSelWindow2, kbAl2, "Alt+2"
   MenuItemC: "Window  ~3~", cmeSelWindow3, kbAl3, "Alt+3"
   MenuItemC: "Window  ~4~", cmeSelWindow4, kbAl4, "Alt+4"
   MenuItemC: "Window  ~5~", cmeSelWindow5, kbAl5, "Alt+5"
   MenuItemC: "Window  ~6~", cmeSelWindow6, kbAl6, "Alt+6"
   MenuItemC: "Window  ~7~", cmeSelWindow7, kbAl7, "Alt+7"
   MenuItemC: "Window  ~8~", cmeSelWindow8, kbAl8, "Alt+8"
   MenuItemC: "Window  ~9~", cmeSelWindow9, kbAl9, "Alt+9"
   MenuItemC: "Window 10", cmeSelWindow10
   MenuItemC: "Window 11", cmeSelWindow11
   MenuItemC: "Window 12", cmeSelWindow12
   MenuItemC: "Window 13", cmeSelWindow13
   MenuItemC: "Window 14", cmeSelWindow14
   MenuItemC: "Window 15", cmeSelWindow15
   MenuItemC: "Window 16", cmeSelWindow16
   MenuItemC: "Window 17", cmeSelWindow17
   MenuItemC: "Window 18", cmeSelWindow18
   MenuItemC: "Window 19", cmeSelWindow19
 EndSubMenu
 MenuSeparator
 MenuItemC: "Sc~r~oll Up", cmcScrollUp, kbCtZ, "Ctrl+Z"
 MenuItemC: "Scroll ~D~own", cmcScrollDown, kbCtW, "Ctrl+W"
EndSubMenu

# ABCDEFGHIKLMNOPRSXW
SubMenu: "~T~ool&Ops", kbAlT
 SubMenu: "~O~ptions", kbUnknown
# ABCDEFGHIKLMNOPRSTU
   SubMenu: "~C~olors", kbAlC
     MenuItemC: "~C~ustomize...", cmeSetColors
     $if DOS or Linux
     MenuItemC: "~P~alette...", cmeEditPalette
     $endif
     MenuItemC: "~T~heme...", cmeColorTheme
   EndSubMenu
   MenuItemC: "~L~ocal edition...", cmcSetLocalOptions, kbAlL, "Alt+L"
   MenuItemC: "Glo~b~al edition...", cmcSetGlobalOptions, kbAlG, "Alt+G"
   MenuItemC: "Editor ~G~eneral...", cmeEdGralOptions
   MenuItemC: "Checking for ~m~odified files...", cmeSetModiCkOps
   MenuItemC: "Scr~e~en saver...", cmeScreenSaverOpts
   MenuItemC: "S~D~G Options...", cmeSDGDialog
   MenuItemC: "~R~un program (which one)...", cmeConfRunCommand
   SubMenu: "~K~eyboard", kbAlK
     MenuItemC: "~K~ey assignment", cmeEditKeyBind
     MenuItemC: "~S~etup Alt keys", cmeSetUpAltKeys
     MenuItemC: "~B~ack to defaults", cmeKbBackDefault
     MenuItemC: "~C~onsult scan codes", cmeSeeScanCodes
     $ifdef DOS
     MenuItemC: "Key ~p~ad behavior", cmeKeyPadBehavior
     $endif
   EndSubMenu
   MenuItemC: "~S~creen Options...", cmeSetScreenOps
   MenuItemC: "Encod~i~ngs...", cmeEncodings
   MenuItemC: "Fon~t~s...", cmeFonts
   MenuItemC: "~U~ser words...", cmeEditUserWords
   MenuItemC: "De~f~ault global edition...", cmeEditDeflOpts
   MenuItemC: "File ~o~pen dialog...", cmeFileOpenOptions
   MenuItemC: "Do~n~'t create backups for...", cmeEditNoBkp
   MenuItemC: "Searc~h~ files under cursor in...", cmeIncludeList
   SubMenu: "T~a~g files", kbAlA
     MenuItemC: "~L~ist of tag files...", cmeTagFiles
     MenuItemC: "~O~ptions...", cmeTagsOps
     MenuItemC: "~R~egenerate central file", cmeTagsAutoRegen
   EndSubMenu
   $if CALENDAR
   MenuItemC: "Calendar (holida~y~s)...", cmeHolidaysConf
   $endif
   MenuItemC: "Advice dialogs...", cmeAdviceDiagConf
 EndSubMenu
 $if CALCULATOR
 MenuItemC: "~C~alculator", cmeCalculator, kbAlF4, "Alt+F4"
 MenuItemC: "Poc~k~et calculator", cmePocketCalc
 $endif
 MenuItemC: "~S~DG", cmeSDG, kbF9, "F9"
 MenuItemC: "~R~un program", cmeRunCommand, kbCtF9, "Ctrl+F9"
 MenuItemC: "~G~rep...", cmeGrepDialog, kbShF2, "Shift+F2"
 MenuItemC: "~A~SCII Chart", cmeASCIIChart
 $if CALENDAR
 MenuItemC: "Ca~l~endar", cmeCalendar
 $endif
 $if MP3
 SubMenu: "MP~3~ songs", kbUnknown
   MenuItemC: "~S~elect a song", cmeMP3Open
   MenuItemC: "~P~lay selected", cmeMP3Start
   MenuItemC: "S~t~op selected", cmeMP3Stop
   MenuItemC: "~C~onvert to WAV", cmeMP3Convert
   MenuSeparator
   MenuItemC: "~E~dit/Create list", cmeMP3EditPlayList
   MenuItemC: "P~l~ay list", cmeMP3PlayList
   MenuItemC: "St~o~p list", cmeMP3StopList
   MenuSeparator
   $if MIXER
   MenuItemC: "Sound board mi~x~er", cmeBoardMixer
   $endif
 EndSubMenu
 $endif
 SubMenu: "~H~TML Accents", kbUnknown
   MenuItemC: "Convert ~a~ccents to tags", cmeHTMLAccents
   MenuItemC: "Convert ~t~ags to accents", cmeHTMLTag2Accent
 EndSubMenu
 MenuItemC: "E~x~port as HTML...", cmeExportAsHTML
 MenuItemC: "Insert key ~n~ame", cmcInsertKeyName
 MenuItemC: "Re~m~ap code page...", cmeRemapCodePage
 MenuItemC: "~P~rofile Editor", cmcProfileEditor
 MenuItemC: "Paste ~E~macs mode", cmcPasteEmacsMode
 MenuItemC: "Redra~w~ screen", cmeReDraw
 MenuItemC: "~B~lock quoted printable decode", cmcQuotedPrintDecode
 SubMenu: "Un/~I~ndent block", kbUnknown
# ACNOTU
   MenuItemC: "Indent ~o~ne space", cmcIndentBlkOne
   MenuItemC: "Unindent o~n~e character", cmcUnIndentBlkOne
   MenuItemC: "Indent one ~t~ab/gap", cmcIndentBlk
   MenuItemC: "~U~nindent one tab/gap", cmcUnIndentBlk
   MenuItemC: "~C~omment indent", cmcCommentIndent
   MenuItemC: "Comment unin~d~ent", cmcCommentUnIndent
   MenuItemC: "~A~rbitrary indent", cmcArbitraryIndent
 EndSubMenu
 MenuItemC: "Test of macro from menu", cm(Test RunProgram)
# Here is an example of how you can to execute a piece of sLisp code.
#MenuItemC: "Test of macro from menu", cm((ShowInMessageWindow "Hi! ;-)"))
 MenuItemC: "~D~elete memorized backups", cmeDeleteBkps
EndSubMenu

SubMenu: "~P~roject", kbAlP
 MenuItemC: "~O~pen...", cmeOpenPrj
 MenuItemC: "~C~lose", cmeClosePrj
 MenuItemC: "~S~ave", cmeSavePrj
 MenuItemC: "Save ~d~esktop here", cmeSaveDesktop
 MenuItemC: "E~x~port project", cmeExportPrj
 MenuItemC: "~I~mport project items", cmeImportPrj
EndSubMenu

$if DEBUG
# EN: ABCDEGHIKLMNOPRSTW 3
# ES: ABCDEILMNOPRSTUVX 3
SubMenu: "~D~ebug", kbAlD
 SubMenu: "~O~ptions", kbUnknown
# EN: AMPS
# ES: AMPS
  MenuItemC: "~P~rogram and mode...", cmeDebugOptions
  MenuItemC: "Path for ~s~ources...", cmeSourceList
  MenuItemC: "~M~essages displayed...", cmeDbgOptsMsgs
  MenuItemC: "~A~dvanced...", cmeDbgOptionsAdv
 EndSubMenu
 SubMenu: "Go to st~a~te", kbUnknown
# EN: CR
# ES: CL
  MenuItemC: "~C~onnected", cmeDbgGoConnected
  MenuItemC: "~R~eady to run", cmeDbgGoReadyToRun
 EndSubMenu
 MenuItemC: "~B~reakpoint", cmeBreakpoint, kbCtF8, "Ctrl+F8"
 MenuItemC: "Ed~i~t breakpoints...", cmeDbgEditBreakPts
 MenuItemC: "Edit watchpoints... ~3~", cmeDbgEditWatchPts
 MenuSeparator
 MenuItemC: "~R~un/Continue/Atach", cmeDbgRunContinue, kbShF9, "Shift+F9"
 MenuItemC: "~S~tep over", cmeDbgStepOver, kbF8, "F8"
 MenuItemC: "~T~race into", cmeDbgTraceInto, kbF7, "F7"
 MenuItemC: "~G~o to cursor", cmeDbgGoToCursor, kbF4, "F4"
 MenuItemC: "~U~ntil return", cmeDbgFinishFun
 MenuItemC: "Return ~n~ow", cmeDbgReturnNow
 MenuItemC: "Sto~p~", cmeDbgStop
 MenuItemC: "Restart (~K~ill)", cmeDbgKill
 MenuItemC: "Se~l~ect thread...", cmeDbgThreadSel
 MenuSeparator
 MenuItemC: "Disasse~m~bler Window...", cmeDbgDisAsmWin
 MenuItemC: "~E~valuate/Modify...", cmeDbgEvalModify, kbCtF4, "Ctrl+F4"
 SubMenu: "~W~atch an expression", kbUnknown
# EN: DNSUW
# ES: CENPU
  MenuItemC: "~N~ormal watch...", cmeDbgWatchExpNorm, kbCtF7, "Ctrl+F7"
  MenuItemC: "~W~ith scope...", cmeDbgWatchExpScp
  MenuItemC: "~U~sing the Inspector...", cmeDbgInspector, kbCtF6, "Ctrl+F6"
  MenuItemC: "~D~ata window...", cmeDbgDataWindow
  MenuItemC: "~S~tack window", cmeDbgStackWindow
 EndSubMenu
 MenuItemC: "~C~alling stack", cmeDbgCallStack, kbCtF3, "Ctrl+F3"
 MenuSeparator
 SubMenu: "~D~ebug session", kbUnknown
#EN: DLTU
#ES: BDES
  MenuItemC: "De~t~ach", cmeDbgDetach
  MenuItemC: "Clear deb~u~g elements...", cmeDbgCleanElem
  MenuItemC: "C~l~ose", cmeDbgCloseSession
  MenuItemC: "~D~estroy (DANGER!)", cmeDbgEndSession
 EndSubMenu
EndSubMenu
$endif

# ABIMST
SubMenu: "~H~elp", kbAlH
 MenuItemC: "~I~NF View", cmeInfView, kbF1, "F1"
 MenuItemC: "~A~nother InfView", cmeAnotherInfView
 MenuItemC: "~T~ip of the day", cmeTipOfTheDay
 SubMenu: "~S~yntax help", kbUnknown
   MenuItemC: "~O~ptions", cmeSyntaxHelpOps
   MenuItemC: "~F~iles to search", cmeSyntaxHelpFiles
   MenuItemC: "~S~earch", cmeSyntaxHelp, kbCtF1, "Ctrl+F1"
 EndSubMenu
 MenuItemC: "~M~an page View", cmeManPageView
 MenuSeparator
 MenuItemC: "A~b~out", cmeAboutBox
EndSubMenu

#
#   That's a special menu, it pop-ups when you right click in an editor
# window. The cursor is first moved to the mouse position and then the
# menu is displayed.
#
SubMenu: "Editor Right Click", kbUnknown
 MenuItemC: "~S~yntax help", cmeSyntaxHelp, kbCtF1, "Ctrl+F1"
 MenuItemC: "~F~ind...", cmcFind, kbUnknown, "Ctrl+Q-F"
 MenuItemC: "~R~eplace...", cmcReplace, kbUnknown, "Ctrl+Q-A"
 MenuItemC: "~J~ump to function", cmcJumpToFunction, kbAlF2, "Alt+F2"
 MenuItemC: "Jump to ~p~rototype", cmcJumpToPrototype
 MenuSeparator
 MenuItemC: "~C~opy", cmcCopy, kbCtInsert, "Ctrl+Ins"
 MenuItemC: "~P~aste", cmcPaste, kbShInsert, "Shift+Ins"
 MenuItemC: "Cu~t~", cmcCut, kbShDelete, "Shift+Del"
EndSubMenu

#
# You can define different menues for different contexts.
# Currently we have a special menu for the Data Window. That's because this
# window have tons of commands.
#

NewMenu: hcDataViewer, 0

SubMenu: "~F~ile", kbAlF
# EN: RWX
 MenuItemC: "~R~ead block...", cmDWRead, kbCtR, "Ctrl+R"
 MenuItemC: "~W~rite block...", cmDWWrite, kbCtW, "Ctrl+W"
 MenuItemC: "E~x~it", cmeQuit, kbAlX, "Alt+X"
EndSubMenu

SubMenu: "~M~ove", kbAlM
# EN: ADLOPRSTUW
 MenuItemC: "~U~p", cmDWUp, kbUp, "Cursor up"
 MenuItemC: "~D~own", cmDWDown, kbDown, "Cursor down"
 MenuItemC: "~R~ight", cmDWRight, kbRight, "->"
 MenuItemC: "~L~eft", cmDWLeft, kbLeft, "<-"
 MenuItemC: "Page d~o~wn", cmDWPgDn, kbPgDn, "Page Down"
 MenuItemC: "Page u~p~", cmDWPgUp, kbPgUp, "Page Up"
 MenuItemC: "Fir~s~t column", cmDWFirstColumn, kbHome, "Home"
 MenuItemC: "L~a~st column", cmDWLastColumn, kbEnd, "End"
 MenuItemC: "First ro~w~", cmDWFirstRow, kbCtHome, "Ctrl+Home"
 MenuItemC: "Las~t~ row", cmDWLastRow, kbCtEnd, "Ctrl+End"
 MenuItemC: "First addr. ~i~ncrement", cmDWBaseIncrement, kbCtRight, "Ctrl+->"
 MenuItemC: "~F~irst addr. decrement", cmDWBaseDecrement, kbCtLeft, "Ctrl+<-"
EndSubMenu

SubMenu: "~A~ddress", kbAlA
# EN: BFGINPR
 MenuItemC: "Change ~b~ase address...", cmDWBaseAddress, kbCtB, "Ctrl+B"
 MenuItemC: "~G~o to new address...", cmDWGotoAddress, kbCtG, "Ctrl+G"
 MenuItemC: "Follow ~p~ointer", cmDWFollowPointer, kbCtF, "Ctrl+F"
 MenuItemC: "Follow pointer in ~n~ew window", cmDWFollowPtnNew, kbCtO, "Ctrl+O"
 MenuItemC: "~R~ecompute address", cmDWRecompute, kbCtH, "Ctrl+H"
EndSubMenu

SubMenu: "M~o~de", kbAlO
# EN: ADER
 MenuItemC: "Toggle ~a~uto follow", cmDWTogAutoF, kbCtA, "Ctrl+A"
 MenuItemC: "Change ~d~isplay mode", cmDWDispMode, kbCtD, "Ctrl+D"
 MenuItemC: "Toggle ~e~ndian mode", cmDWTogEndian, kbCtE, "Ctrl+E"
 MenuItemC: "Change ~r~adix", cmDWRadix, kbCtX, "Ctrl+X"
EndSubMenu

SubMenu: "~B~lock", kbAlB
# EN: CFM
 MenuItemC: "~F~ill...", cmDWFill, kbCtI, "Ctrl+I"
 MenuItemC: "~C~lear...", cmDWClear, kbCtL, "Ctrl+L"
 MenuItemC: "~M~ove...", cmDWMove, kbCtM, "Ctrl+M"
EndSubMenu

SubMenu: "~V~arious", kbAlV
# EN: LMU
 MenuItemC: "~L~ess bytes per line", cmDWLessLines, kbMinus, "-"
 MenuItemC: "~M~ore bytes per line", cmDWMoreLines, kbPlus, "+"
 MenuItemC: "~U~pdate memory", cmDWUpdateMemory, kbEnter, "Enter"
EndSubMenu

SubMenu: "~W~indows", kbAlW
# EN: CGJLNPSWZ
 MenuItemC: "~S~ize/move",cmeResize, kbCtF5, "Ctrl+F5"
 MenuItemC: "~Z~oom", cmeZoom, kbF5, "F5"
 MenuItemC: "~N~ext", cmeNext, kbF6, "F6"
 MenuItemC: "~P~revious", cmePrev, kbShF6, "Shift+F6"
 MenuItemC: "~C~lose", cmeClose, kbAlF3, "Alt+F3"
 MenuItemC: "~L~ist", cmeListWin, kbAl0, "Alt+0"
 MenuItemC: "Pro~j~ect Window", cmeSelWinPrj, kbAl1, "Alt+1"
 MenuItemC: "Debu~g~ger Window", cmeSelDebugWin
 MenuItemC: "~W~atches Window", cmeSelWatchesWin
EndSubMenu



#
# A special menu for the InfView (help system)
#

NewMenu: hcInfView, 4

SubMenu: "~F~ile", kbAlF
 MenuItemC: "~O~pen info file...", cmInfOpen, kbCtA, "Ctrl+A"
 MenuItemC: "E~x~it", cmeQuit, kbAlX, "Alt+X"
EndSubMenu

# EN: CDFHTW
SubMenu: "~E~dit", kbAlE
 MenuItemC: "~C~opy", cmcCopy, kbCtInsert, "Ctrl+Ins"
 $if DOS or WIN32
 MenuItemC: "Copy to ~W~indows Clip.", cmcCopyOSClip
 $else
 MenuItemC: "Copy to OS Clipboar~d~", cmcCopyOSClip
 $endif
 $if DOS
# It only works for the djgpp's reference
 MenuItemC: "Copy ~h~eader", cmInfPasteIn, kbCtI, "Ctrl+I"
 $endif
 MenuSeparator
 MenuItemC: "Con~f~iguration dialog...", cmhConfigDia, kbCtF, "Ctrl+F"
 MenuItemC: "Con~t~rol dialog...", cmInfControl, kbAlF10, "Alt+F10"
EndSubMenu

SubMenu: "~S~earch", kbAlS
 MenuItemC: "~F~ind...", cmcFind, kbCtS, "Ctrl+S"
 MenuItemC: "~S~earch again", cmcSearchAgain, kbCtL, "Ctrl+L"
 MenuSeparator
 MenuItemC: "~B~ookmarks...", cmInfBookM, kbCtB, "Ctrl+B"
 MenuItemC: "List of ~n~odes...", cmInfNodes, kbCtO, "Ctrl+O"
 MenuItemC: "~G~o to '(file)node'...", cmInfGoto, kbCtG, "Ctrl+G"
EndSubMenu

# EN: DGJLNPTU
SubMenu: "~N~avigation", kbAlN
 MenuItemC: "~L~ast visited topic", cmInfBack, kbAlF1, "Alt+F1"
 MenuItemC: "~N~ext topic", cmhNext, kbCtN, "Ctrl+N"
 MenuItemC: "~P~revious topic", cmhPrev, kbCtP, "Ctrl+P"
 MenuItemC: "Go ~u~p in herarchy", cmhUp, kbCtU, "Ctrl+U"
 MenuItemC: "Main menu for ~t~his file", cmInfTop, kbCtT, "Ctrl+T"
 MenuItemC: "Info ~d~irectory", cmInfDir, kbCtD, "Ctrl+D"
 MenuItemC: "~J~ump to last link", cmInfLastLink, kb0, "0"
 SubMenu: "~G~o to link number", kbAlG
   MenuItemC: "Link ~1~", cmInfLink1, kb1, "1"
   MenuItemC: "Link ~2~", cmInfLink2, kb2, "2"
   MenuItemC: "Link ~3~", cmInfLink3, kb3, "3"
   MenuItemC: "Link ~4~", cmInfLink4, kb4, "4"
   MenuItemC: "Link ~5~", cmInfLink5, kb5, "5"
   MenuItemC: "Link ~6~", cmInfLink6, kb6, "6"
   MenuItemC: "Link ~7~", cmInfLink7, kb7, "7"
   MenuItemC: "Link ~8~", cmInfLink8, kb8, "8"
   MenuItemC: "Link ~9~", cmInfLink9, kb9, "9"
 EndSubMenu
EndSubMenu

SubMenu: "~W~indows", kbAlW
 MenuItemC: "~S~ize/move",cmeResize, kbCtF5, "Ctrl+F5"
 MenuItemC: "~Z~oom", cmeZoom, kbF5, "F5"
 MenuItemC: "~N~ext", cmeNext, kbF6, "F6"
 MenuItemC: "~P~revious", cmePrev, kbShF6, "Shift+F6"
 MenuItemC: "~C~lose", cmeClose, kbAlF3, "Alt+F3"
 MenuItemC: "~L~ist", cmeListWin, kbAl0, "Alt+0"
 MenuItemC: "Pro~j~ect Window", cmeSelWinPrj, kbAl1, "Alt+1"
EndSubMenu

SubMenu: "~H~elp", kbAlH
 MenuItemC: "How to use the ~h~elp", cmInfHelp, kbCtH, "Ctrl+H"
 MenuItemC: "~A~nother InfView", cmeAnotherInfView
EndSubMenu

#
#   The following is the declaration for the status line of the editor. It
# contains short cuts. They are context sensitive so they apply to a range
# of "help contexts".
#
# StatusRange: first context, number of contexts
# Starts a declaration.
#
# StatusEntry: Label, Command, Key
# Declares a short cut.
#
# StatusHiddenEntry: Command, Key
# Declares a short cut that is invisible.
#
# EndStatusRange
# Closes the declaration
#

#
# Default short cuts for low range of contexts
#
StatusRange: 0, 255
StatusEntry: "~F2~ Save", cmcSave, kbF2
StatusEntry: "~F3~ Open", cmeOpen, kbF3
StatusEntry: "~Alt+F3~ Close", cmeClose, kbAlF3
StatusEntry: "~F5~ Zoom", cmeZoom, kbF5
StatusEntry: "~F6~ Next", cmeNext, kbF6
StatusEntry: "~F10~ Menu", cmMenu, kbF10
StatusHiddenEntry: cmeResize, kbCtF5
StatusHiddenEntry: cmeLastHelp, kbAlF1
StatusHiddenEntry: cmeNextMessage, kbAlF8
StatusHiddenEntry: cmePrevMessage, kbAlF7
StatusHiddenEntry: cmeInfView, kbF1
EndStatusRange

#
# Find & replace
#
StatusRange: hcReplace, 2
StatusEntry: "~F1~ Help", cmeInfView, kbF1
StatusEntry: "~Ctrl+Ins~ Copy", cmtilCopy, kbCtInsert
StatusEntry: "~Shift+Ins~ Paste", cmtilPaste, kbShInsert
EndStatusRange

#
# InfView short cuts
#
StatusRange: hcInfView, 4
StatusEntry: "~Alt+F1~ Back", cmInfBack, kbAlF1
StatusEntry: "~Alt+F10~ Control", cmInfControl, kbAlF10
StatusEntry: "~^H~ Help", cmInfHelp, kbCtH
$if DOS
StatusEntry: "~Ctrl+I~ Include", cmInfPasteIn, kbCtI
$endif
StatusEntry: "~Ctrl+B~ Bookmark", cmInfBookM, kbCtB
# Example of cmh* command: (for testing purposes)
#StatusEntry: "~^D~ Up", cmhUp, kbCtD
StatusHiddenEntry: cmZoom, kbF5
EndStatusRange

#
# List of windows (Alt+0)
#
StatusRange: hcListWin, 4
StatusEntry: "~Del~ Close", cmDelete, kbDelete
StatusEntry: "~Ins~ Open", cmInsert, kbInsert
StatusEntry: "~F1~ Help", cmeInfView, kbF1
StatusEntry: "~Ctrl+Del~ Delete File", cmDelFile, kbCtDelete
EndStatusRange

#
# Project window
#
StatusRange: hcEditorProjectWindow, 4
StatusEntry: "~Ins~ Insert", cmInsert, kbInsert
StatusEntry: "~Del~ Delete", cmDelete, kbDelete
StatusEntry: "~F5~ Zoom", cmZoom, kbF5
StatusEntry: "~Alt+V~ View mode", cmChangeSort, kbAlV
StatusHiddenEntry: cmeLastHelp, kbAlF1
EndStatusRange

#
# Message window
#
StatusRange: hcMessageWindow, 1
StatusEntry: "~Alt+F7~ Previous", cmePrevMessage, kbAlF7
StatusEntry: "~Alt+F8~ Next", cmeNextMessage, kbAlF8
StatusEntry: "~Ctrl+C~ Stop", cmeStopChild, kbCtC
StatusEntry: "Save As", cmcSaveAs, kbUnknown
StatusEntry: "~Ctrl+Ins~ Copy", cmcCopy, kbCtInsert
StatusEntry: "Copy OS clip.", cmcCopyOSClip, kbUnknown
StatusHiddenEntry: cmZoom, kbF5
StatusHiddenEntry: cmeLastHelp, kbAlF1
EndStatusRange

#
# Calculator
#
StatusRange: hcCalculator, 4
StatusEntry: "~ENTER~ Evaluate", cmEval, kbEnter
StatusEntry: "~Ctrl+Ins~ Copy", cmtilCopy, kbCtInsert
StatusEntry: "~Shift+Ins~ Paste", cmtilPaste, kbShInsert
StatusEntry: "~F1~ Help", cmeInfView, kbF1
EndStatusRange

#
# Grep window
#
StatusRange: hcGrepDialog, 1
StatusEntry: "~F1~ Help", cmeInfView, kbF1
StatusEntry: "~Ctrl+Ins~ Copy", cmtilCopy, kbCtInsert
StatusEntry: "~Shift+Ins~ Paste", cmtilPaste, kbShInsert
StatusEntry: "~Ctrl+C~ Stop", cmeStopChild, kbCtC
EndStatusRange

#
# Debug Watches
#
StatusRange: hcWatchesWin, 0
StatusEntry: "~F1~ Help", cmeInfView, kbF1
StatusEntry: "~Ins~ Add", cmInsert, kbInsert
StatusEntry: "~Ctrl+A/+~ Add w/scope", cmInsertWScope, kbPlus
StatusEntry: "~Del~ Delete", cmDelete, kbDelete
StatusEntry: "~Enter~ Edit", cmEditWatch, kbEnter
StatusEntry: "~F5~ Zoom", cmZoom, kbF5
StatusEntry: "~Alt+X", cmeQuit, kbAlX
StatusHiddenEntry: cmInsertWScope, kbCtA
EndStatusRange

#
# Debug Window
#
StatusRange: hcDebugMsgWin, 0
StatusEntry: "~F1~ Help", cmeInfView, kbF1
StatusEntry: "~Ins~ Send command", cmGDBCommand, kbInsert
StatusEntry: "Save As", cmcSaveAs, kbUnknown
StatusEntry: "~Ctrl+Ins~ Copy", cmcCopy, kbCtInsert
StatusEntry: "Copy OS clip.", cmcCopyOSClip, kbUnknown
StatusHiddenEntry: cmZoom, kbF5
EndStatusRange

#
# Breakpoints window (also Watchpoints)
#
StatusRange: hcBkptDialog, 1
StatusEntry: "~F1~ Help", cmeInfView, kbF1
StatusEntry: "~Ins~ Add", cmBkAdd, kbInsert
StatusEntry: "~Del~ Delete", cmBkDel, kbDelete
StatusEntry: "~+~ Enable", cmBkEnable, kbPlus
StatusEntry: "~-~ Disable", cmBkDisable, kbMinus
EndStatusRange

#
# Inspector windows
#
StatusRange: hcInspector, 0
StatusEntry: "~E/+~ Expand", cmExpand, kbPlus
StatusEntry: "~C/-~ Collapse", cmCollapse, kbMinus
StatusEntry: "~ENTER~ Inspect", cmDbgInspect, kbEnter
StatusEntry: "~^R~ Recycle", cmRecycle, kbCtR
StatusEntry: "~^M~ Modify", cmModifyIns, kbCtM
StatusEntry: "~^F~ Format", cmFormatIns, kbCtF
StatusHiddenEntry: cmeInfView, kbF1
StatusHiddenEntry: cmClose, kbEsc
StatusHiddenEntry: cmExpand, kbE
StatusHiddenEntry: cmCollapse, kbC
EndStatusRange

#
# Data Windows
#
StatusRange: hcDataViewer, 0
StatusEntry: "~F1~ Help", cmeInfView, kbF1
StatusEntry: "~F5~ Zoom", cmZoom, kbF5
StatusEntry: "~Ctrl+Y~ Recycle", cmRecycle, kbCtY
EndStatusRange

#
# Disassembler Windows
#
StatusRange: hcDisassembler, 0
StatusEntry: "~F1~ Help", cmeInfView, kbF1
StatusEntry: "~F5~ Zoom", cmZoom, kbF5
StatusEntry: "~ENTER~ Modify register", cmModifyReg, kbEnter
StatusHiddenEntry: cmClose, kbEsc
EndStatusRange

#
# Deafault for the rest
#
StatusRange: 0, 0xFFFF
StatusEntry: "~F1~ Help", cmeInfView, kbF1
StatusEntry: "~F5~ Zoom", cmZoom, kbF5
EndStatusRange

#
#  Table for the assigned function keys.
#  Note I: I think F11 and F12 should be left for user usage.
#  Note II: Complex combinations (i.e. Shift+Alt+Fx) should be used carefully
#  because they aren't supported by all terminals and because they should be
#  reserved for OS level tasks or Window Manager.
#
# F1       Help
# Ctrl+F1  Syntax help
# Alt+F1   Last help
# 
# F2       Save
# Ctrl+F2  Jump symbol
# Alt+F2   Jump function
# Shift+F2 Grep
# 
# F3       Open
# Shift+F3 Repeat macro
# Alt+F3   Close
# Ctrl+F3  Calling stack (debug)
# 
# F4       Go to cursor (debug)
# Alt+F4   Calculator
# Ctrl+F4  Evaluate/Modify (debug)
# 
# F5       Zoom
# Ctrl+F5  Size/Move
# Alt+F5   User screen
# 
# F6       Next Window
# Shift+F6 Previous Window
# Ctrl+F6  Inspector (debug)
# 
# F7       Trace into (debug)
# Ctrl+F7  Normal watch (debug)
# Alt+F7   Previous message
# Shift+F7 Search sel backwards
# 
# F8       Step over (debug)
# Ctrl+F8  Breakpoint (debug)
# Alt+F8   Next message
# Shift+F7 Search sel forward
# 
# F9       SDG
# Ctrl+F9  Run program
# Shift+F9 Run (debug)
# 
# F10       Menu
# Shift+F10 Record macro
# Alt+F10   Stop recording macro | Control dialog when InfView
# Ctrl+F10  Play recorded macro
# 
#           F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12
# Alone      X  X  X  X  X  X  X  X  X   X   U   U
# Shift         X  X        X  X  X  X   X   U   U
# Ctrl       X  X  X  X  X  X  X  X  X   X   U   U
# Alt        X  X  X  X  X     X  X      X   U   U

