/** * Copyright (C) 2021 Adrien Hopkins * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ package sevenUnits.newGUI; /** * An object that controls user interaction with 7Units * * @author Adrien Hopkins * @since 2021-12-15 */ public interface View { /** * @return settings user has set in the view * @since 2021-12-15 */ UserSettings getUserSettings(); /** * Sets the user settings on the settings page, if this view has one. Does * not update settings internally; this is intended for loading settings from * a file. * * @param settings settings to set * @since 2021-12-15 */ void setUserSettings(UserSettings settings); /** * Shows an error message. * * @param title title of error message; on any view that uses an error * dialog, this should be the title of the error dialog. * @param message error message * @since 2021-12-15 */ void showErrorMessage(String title, String message); }