001package jmri.jmrix.dccpp.swing.messages; 002 003import java.awt.Color; 004import java.awt.Dimension; 005 006import javax.annotation.CheckForNull; 007 008import jmri.jmrix.dccpp.DCCppSystemConnectionMemo; 009 010/** Settings for a DCC-EX Messages display, shared by the window and the panel icon. */ 011public interface MessagesConfiguration { 012 013 void setMemo(DCCppSystemConnectionMemo memo); 014 015 DCCppSystemConnectionMemo getMemo(); 016 017 boolean isMemoEditable(); 018 019 void setExpirySeconds(int seconds); 020 021 int getExpirySeconds(); 022 023 void setMaxLines(int lines); 024 025 int getMaxLines(); 026 027 void setAutoOpen(boolean autoOpen); 028 029 boolean isAutoOpen(); 030 031 void setPlaySound(boolean playSound); 032 033 boolean isPlaySound(); 034 035 void setSoundFile(String path); 036 037 String getSoundFile(); 038 039 void setMessageForeground(Color color); 040 041 Color getMessageForeground(); 042 043 void setMessageBackground(Color color); 044 045 Color getMessageBackground(); 046 047 /** Fixed size as columns (width) and lines (height), or null to size to fit. */ 048 void setMessagesSize(@CheckForNull Dimension size); 049 050 @CheckForNull 051 Dimension getMessagesSize(); 052 053}