001package jmri.jmrix.lenz.liusbserver; 002 003import javax.swing.JPanel; 004 005/** 006 * Handle configuring an XpressNet layout connection via a LIUSB Server. 007 * <p> 008 * This uses the {@link LIUSBServerAdapter} class to do the actual connection. 009 * 010 * @author Paul Bender Copyright (C) 2009 011 * 012 * @see LIUSBServerAdapter 013 */ 014public class ConnectionConfig extends jmri.jmrix.AbstractNetworkConnectionConfig { 015 016 /** 017 * Ctor for an object being created during load process. 018 * Swing init is deferred. 019 * @param p network port adapter. 020 */ 021 public ConnectionConfig(jmri.jmrix.NetworkPortAdapter p) { 022 super(p); 023 } 024 025 /** 026 * Ctor for a connection configuration with no preexisting adapter. 027 * {@link #setInstance()} will fill the adapter member. 028 */ 029 public ConnectionConfig() { 030 super(); 031 } 032 033 @Override 034 public String name() { 035 return Bundle.getMessage("LenzLiusbServerName"); 036 } 037 038 /** 039 * {@inheritDoc} 040 */ 041 @Override 042 protected void setInstance() { 043 if (adapter == null) { 044 adapter = new LIUSBServerAdapter(); 045 } 046 } 047 048 /** 049 * {@inheritDoc} 050 */ 051 @Override 052 public void loadDetails(JPanel details) { 053 super.loadDetails(details); 054 hostNameField.setText(LIUSBServerAdapter.DEFAULT_IP_ADDRESS); 055 hostNameField.setEnabled(false); // we can't change this now. 056 portFieldLabel.setText(Bundle.getMessage("CommunicationPortLabel")); 057 portField.setText(String.valueOf(LIUSBServerAdapter.COMMUNICATION_TCP_PORT)); 058 portField.setEnabled(false); // we can't change this now. 059 options.get(adapter.getOption1Name()).getComponent().setEnabled(false); // we can't change this now. 060 } 061 062}