/* * 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.navigation; import org.antlr.netbeans.editor.navigation.AbstractNavigatorPanel; import org.antlr.works.editor.grammar.GrammarEditorKit; import org.antlr.works.editor.grammar.GrammarParserDataDefinitions; import org.netbeans.spi.navigator.NavigatorPanel.Registration; import org.openide.util.Lookup; import org.openide.util.NbBundle; @NbBundle.Messages({ "LBL_rules=Rules", "HINT_rules=Rules" }) @Registration(mimeType = GrammarEditorKit.GRAMMAR_MIME_TYPE, position = 100, displayName = "#LBL_rules") public class GrammarRulesPanel extends AbstractNavigatorPanel<GrammarRulesPanelUI> { private static volatile GrammarRulesPanel INSTANCE; public GrammarRulesPanel() { super(GrammarEditorKit.GRAMMAR_MIME_TYPE, GrammarParserDataDefinitions.NAVIGATOR_ROOT, GrammarParserDataDefinitions.NAVIGATOR_UI_VISIBLE); } @Override public String getDisplayName() { return Bundle.LBL_rules(); } @Override public String getDisplayHint() { return Bundle.HINT_rules(); } @Override public void panelActivated(Lookup context) { INSTANCE = this; super.panelActivated(context); } @Override public void panelDeactivated() { INSTANCE = null; super.panelDeactivated(); getComponent().showWaitNode(); } @Override public Lookup getLookup() { return getComponent().getLookup(); } public static GrammarRulesPanel getInstance() { return INSTANCE; } @Override protected GrammarRulesPanelUI createPanelUI() { return new GrammarRulesPanelUI(); } }