001package jmri.jmrit.logixng; 002 003/** 004 * This interface declares an Inline LogixNG. 005 * @author Daniel Bergqvist (C) 2022 006 */ 007public interface InlineLogixNG { 008 009 /** 010 * Get the LogixNG of this InlineLogixNG. 011 * @return the LogixNG or null if it has no LogixNG 012 */ 013 LogixNG getLogixNG(); 014 015 /** 016 * Set the LogixNG of this InlineLogixNG. 017 * @param logixNG the LogixNG or null if remove the LogixNG from the InlineLogixNG 018 */ 019 void setLogixNG(LogixNG logixNG); 020 021 /** 022 * Set the system name for the LogixNG of this InlineLogixNG. 023 * @param systemName the system name 024 */ 025 void setLogixNG_SystemName(String systemName); 026 027 /** 028 * Setup the LogixNG of this InlineLogixNG. 029 */ 030 void setupLogixNG(); 031 032 /** 033 * Get the name of this InlineLogixNG. 034 * @return the name 035 */ 036 String getNameString(); 037 038 /** 039 * Get the LogixNG of this InlineLogixNG. 040 * @return the LogixNG or null if it has no LogixNG 041 */ 042 String getEditorName(); 043 044 /** 045 * Get the type of item of this InlineLogixNG. 046 * @return the type 047 */ 048 String getTypeName(); 049 050 /** 051 * Get the X position of this InlineLogixNG. 052 * @return the X position 053 */ 054 int getX(); 055 056 /** 057 * Get the Y position of this InlineLogixNG. 058 * @return the Y position 059 */ 060 int getY(); 061 062}