/*
* Copyright (c) 2012 Sam Harwell, Tunnel Vision Laboratories LLC
* All rights reserved.
*
* The source code of this document is proprietary work, and is not licensed for
* distribution. For information about licensing, contact Sam Harwell at:
* sam@tunnelvisionlabs.com
*/
package org.antlr.works.editor.grammar.debugger;
import java.io.IOException;
import org.netbeans.core.spi.multiview.MultiViewElement;
import org.netbeans.core.spi.multiview.text.MultiViewEditorElement;
import org.openide.filesystems.FileObject;
import org.openide.filesystems.MIMEResolver;
import org.openide.loaders.DataObjectExistsException;
import org.openide.loaders.MultiDataObject;
import org.openide.loaders.MultiFileLoader;
import org.openide.util.Lookup;
import org.openide.util.NbBundle;
import org.openide.windows.TopComponent;
@NbBundle.Messages({
"LexerDebuggerResolver=Lexer Debugger Files",
"CTL_SourceTabCaption=&Source"
})
@MIMEResolver.ExtensionRegistration(
position=100,
displayName="#LexerDebuggerResolver",
extension={"ldbg", "linterp"},
mimeType=LexerDebuggerEditorKit.LEXER_DEBUGGER_MIME_TYPE)
public class LexerDebuggerDataObject extends MultiDataObject {
public LexerDebuggerDataObject(FileObject pf, MultiFileLoader loader) throws DataObjectExistsException, IOException {
super(pf, loader);
registerEditor(LexerDebuggerEditorKit.LEXER_DEBUGGER_MIME_TYPE, true);
}
@Override
protected int associateLookup() {
return 1;
}
@MultiViewElement.Registration(
displayName="#CTL_SourceTabCaption",
iconBase="",
persistenceType=TopComponent.PERSISTENCE_ONLY_OPENED,
preferredID="",
mimeType=LexerDebuggerEditorKit.LEXER_DEBUGGER_MIME_TYPE,
position=2000)
public static MultiViewEditorElement createMultiViewEditorElement(Lookup context) {
return new MultiViewEditorElement(context);
}
}