001package jmri.jmrix.dccpp.swing.messages; 002 003import javax.annotation.Nonnull; 004 005import jmri.jmrit.display.*; 006import jmri.jmrix.dccpp.DCCppSystemConnectionMemo; 007 008import org.openide.util.lookup.ServiceProvider; 009 010/** A factory for a DCC-EX Messages display that can be put on a panel. */ 011@ServiceProvider(service = PositionableFactory.class) 012public class MessagesPositionableFactory implements PositionableFactory { 013 014 public MessagesPositionableFactory() { 015 } 016 017 @Nonnull 018 @Override 019 public String getIdentifier() { 020 return "DCC-EX-Messages"; 021 } 022 023 @Nonnull 024 @Override 025 public String getDescription() { 026 return Bundle.getMessage("MessagesFrameTitle"); 027 } 028 029 /** Only offered when there's at least one DCC-EX connection. */ 030 @Override 031 public boolean isEnabled() { 032 return !jmri.InstanceManager.getList(DCCppSystemConnectionMemo.class).isEmpty(); 033 } 034 035 @Override 036 public void addPositionable(@Nonnull Editor editor, DoAfter doAfter) { 037 ConfigureMessages.createConfigureMessages(editor, doAfter); 038 } 039 040}