package xyz.thastertyn.UserInterface.Content; import java.io.IOException; import com.googlecode.lanterna.gui2.Label; import com.googlecode.lanterna.gui2.Panel; import com.googlecode.lanterna.gui2.WindowBasedTextGUI; import xyz.thastertyn.Types.Choice; import xyz.thastertyn.UserInterface.UpdateListener; /** * Wrapper to include all classes that deal with content in some way */ public abstract class JecnaContent { protected Panel mainPanel; protected boolean hasStarted = false; protected Label borderLabel; protected UpdateListener listener; protected abstract void setGUI(); protected abstract void download(Choice choice) throws IOException; public abstract void showOptions(final WindowBasedTextGUI textGUI) throws IOException; public abstract void downloadDefault() throws IOException; public Panel getPanel() { return mainPanel; } public boolean hasStarted() { return hasStarted; } public Label getLabel() { return borderLabel; } }