001package jmri.jmrit.throttle; 002 003 004import jmri.DccLocoAddress; 005import jmri.jmrit.roster.RosterEntry; 006 007/** 008 * 009 * An interface to abstract UI controllers of throttle 010 * (ThrottleFrame for Swing throttles for instance) 011 * 012 * @author Lionel Jeanson 2026 013 */ 014public interface ThrottleControllerUI { 015 016 /** 017 * Return that throttle control container 018 * 019 * @return the throttle control container 020 */ 021 ThrottleControllersUIContainer getThrottleControllersContainer(); 022 023 /** 024 * Set that throttle control container 025 * 026 * @param tw the throttle control container to set 027 */ 028 void setThrottleControllersContainer(ThrottleControllersUIContainer tw); 029 030 /** 031 * Set that throttle control roster entry 032 * 033 * @param re the roster entry 034 */ 035 void setRosterEntry(RosterEntry re); 036 037 /** 038 * Set that throttle control address 039 * 040 * @param number address number 041 * @param isLong is long address 042 */ 043 void setAddress(int number, boolean isLong); 044 045 /** 046 * Set that throttle control address 047 * 048 * @param la DccLocoAddress 049 */ 050 void setAddress(DccLocoAddress la); 051 052 /** 053 * Emergency stop that throttle 054 * 055 */ 056 void eStop(); 057 058 /** 059 * Bring that throttle control to front 060 * 061 */ 062 void toFront(); 063}