001package jmri.jmrix.can.cbus.swing.modules.sprogdcc; 002 003import javax.annotation.Nonnull; 004 005import jmri.jmrix.can.cbus.node.CbusNode; 006import jmri.jmrix.can.cbus.node.CbusNodeNVTableDataModel; 007import jmri.jmrix.can.cbus.swing.modules.AbstractEditNVPane; 008import jmri.jmrix.can.cbus.swing.modules.CbusConfigPaneProvider; 009import jmri.jmrix.can.cbus.swing.modules.base.Sol8BasePaneProvider; 010 011import org.openide.util.lookup.ServiceProvider; 012 013/** 014 * Returns configuration objects for a SPROG DCC CANSOLIO 015 * 016 * @author Andrew Crosland Copyright (C) 2021 017 */ 018@ServiceProvider(service = CbusConfigPaneProvider.class) 019public class CansolioPaneProvider extends Sol8BasePaneProvider { 020 021 String type = "CANSOLIO"; 022 023 public CansolioPaneProvider() { 024 super(); 025 } 026 027 /** {@inheritDoc} */ 028 @Override 029 @Nonnull 030 public String getModuleType() { 031 return type; 032 } 033 034 /** {@inheritDoc} */ 035 @Override 036 public AbstractEditNVPane getEditNVFrame(CbusNodeNVTableDataModel dataModel, CbusNode node) { 037 // Always a new pane for this node and data model. Providers are shared by 038 // all nodes of a type, so a cached pane would stay bound to the first node and 039 // data model it was created for, and gather duplicate components and listeners. 040 _nVarEditFrame = new CansolioEditNVPane(dataModel, node); 041 return _nVarEditFrame.getContent(); 042 } 043}