blob: 1461f7be035cdea89538af71e55465066927aa72 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package groovy.ui.view
def handler = false
if (!handler) {
try {
handler = build("""
package groovy.ui
import com.apple.mrj.*
class ConsoleMacOsSupport implements MRJQuitHandler, MRJAboutHandler {
def quitHandler
def aboutHandler
public void handleAbout() {
aboutHandler()
}
public void handleQuit() {
quitHandler()
}
}
def handler = new ConsoleMacOsSupport(quitHandler:controller.&exit, aboutHandler:controller.&showAbout)
MRJApplicationUtils.registerAboutHandler(handler)
MRJApplicationUtils.registerQuitHandler(handler)
return handler
""", new GroovyClassLoader(this.class.classLoader))
} catch (Exception se) {
// usually an AccessControlException, sometimes applets and JNLP won't let
// you access MRJ classes.
// However, in any exceptional case back out and use the BasicMenuBar
se.printStackTrace()
build(BasicMenuBar)
return
}
}
menuBar {
menu(text: 'File', mnemonic: 'F') {
menuItem(newFileAction, icon:null)
menuItem(newWindowAction, icon:null)
menuItem(openAction, icon:null)
separator()
menuItem(saveAction, icon:null)
menuItem(saveAsAction, icon:null)
separator()
menuItem(printAction, icon:null)
}
menu(text: 'Edit', mnemonic: 'E') {
menuItem(undoAction, icon:null)
menuItem(redoAction, icon:null)
separator()
menuItem(cutAction, icon:null)
menuItem(copyAction, icon:null)
menuItem(pasteAction, icon:null)
separator()
menuItem(findAction, icon:null)
menuItem(findNextAction, icon:null)
menuItem(findPreviousAction, icon:null)
menuItem(replaceAction, icon:null)
separator()
menuItem(selectAllAction, icon:null)
separator()
menuItem(commentAction, icon:null)
menuItem(selectBlockAction, icon:null)
}
menu(text: 'View', mnemonic: 'V') {
menuItem(clearOutputAction, icon:null)
separator()
menuItem(largerFontAction, icon:null)
menuItem(smallerFontAction, icon:null)
separator()
checkBoxMenuItem(captureStdOutAction, selected: controller.captureStdOut)
checkBoxMenuItem(captureStdErrAction, selected: controller.captureStdErr)
checkBoxMenuItem(fullStackTracesAction, selected: controller.fullStackTraces)
checkBoxMenuItem(showScriptInOutputAction, selected: controller.showScriptInOutput)
checkBoxMenuItem(visualizeScriptResultsAction, selected: controller.visualizeScriptResults)
checkBoxMenuItem(showToolbarAction, selected: controller.showToolbar)
checkBoxMenuItem(detachedOutputAction, selected: controller.detachedOutput)
checkBoxMenuItem(autoClearOutputAction, selected: controller.autoClearOutput)
}
menu(text: 'History', mnemonic: 'I') {
menuItem(historyPrevAction, icon:null)
menuItem(historyNextAction, icon:null)
}
menu(text: 'Script', mnemonic: 'S') {
menuItem(runAction, icon:null)
checkBoxMenuItem(saveOnRunAction, selected: controller.saveOnRun)
menuItem(runSelectionAction, icon:null)
checkBoxMenuItem(threadInterruptAction, selected: controller.threadInterrupt)
menuItem(interruptAction, icon:null)
menuItem(compileAction, icon:null)
separator()
menuItem(addClasspathJar)
menuItem(addClasspathDir)
menuItem(clearClassloader)
separator()
menuItem(inspectLastAction, icon:null)
menuItem(inspectVariablesAction, icon:null)
menuItem(inspectAstAction, icon:null)
menuItem(inspectTokensAction, icon:null)
}
}