X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fjexer%2Fbackend%2FSwingSessionInfo.java;fp=src%2Fjexer%2Fbackend%2FSwingSessionInfo.java;h=0000000000000000000000000000000000000000;hb=36b0745bab5665306391440a531e1ee1c0625445;hp=2f74d7012130e0eeda1f44c4721396d645493b35;hpb=686d4da2d2ecc203d5f8b524225a4327777825be;p=fanfix.git diff --git a/src/jexer/backend/SwingSessionInfo.java b/src/jexer/backend/SwingSessionInfo.java deleted file mode 100644 index 2f74d70..0000000 --- a/src/jexer/backend/SwingSessionInfo.java +++ /dev/null @@ -1,226 +0,0 @@ -/* - * Jexer - Java Text User Interface - * - * The MIT License (MIT) - * - * Copyright (C) 2019 Kevin Lamonte - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * @author Kevin Lamonte [kevin.lamonte@gmail.com] - * @version 1 - */ -package jexer.backend; - -import java.awt.Insets; - -/** - * SwingSessionInfo provides a session implementation with a callback into - * Swing to support queryWindowSize(). The username is blank, language is - * "en_US", with a 80x25 text window. - */ -public class SwingSessionInfo implements SessionInfo { - - // ------------------------------------------------------------------------ - // Variables -------------------------------------------------------------- - // ------------------------------------------------------------------------ - - /** - * The Swing JFrame or JComponent. - */ - private SwingComponent swing; - - /** - * The width of a text cell in pixels. - */ - private int textWidth = 10; - - /** - * The height of a text cell in pixels. - */ - private int textHeight = 10; - - /** - * User name. - */ - private String username = ""; - - /** - * Language. - */ - private String language = "en_US"; - - /** - * Text window width. - */ - private int windowWidth = 80; - - /** - * Text window height. - */ - private int windowHeight = 25; - - // ------------------------------------------------------------------------ - // Constructors ----------------------------------------------------------- - // ------------------------------------------------------------------------ - - /** - * Public constructor. - * - * @param swing the Swing JFrame or JComponent - * @param textWidth the width of a cell in pixels - * @param textHeight the height of a cell in pixels - */ - public SwingSessionInfo(final SwingComponent swing, final int textWidth, - final int textHeight) { - - this.swing = swing; - this.textWidth = textWidth; - this.textHeight = textHeight; - } - - /** - * Public constructor. - * - * @param swing the Swing JFrame or JComponent - * @param textWidth the width of a cell in pixels - * @param textHeight the height of a cell in pixels - * @param width the number of columns - * @param height the number of rows - */ - public SwingSessionInfo(final SwingComponent swing, final int textWidth, - final int textHeight, final int width, final int height) { - - this.swing = swing; - this.textWidth = textWidth; - this.textHeight = textHeight; - this.windowWidth = width; - this.windowHeight = height; - } - - // ------------------------------------------------------------------------ - // SessionInfo ------------------------------------------------------------ - // ------------------------------------------------------------------------ - - /** - * Username getter. - * - * @return the username - */ - public String getUsername() { - return this.username; - } - - /** - * Username setter. - * - * @param username the value - */ - public void setUsername(final String username) { - this.username = username; - } - - /** - * Language getter. - * - * @return the language - */ - public String getLanguage() { - return this.language; - } - - /** - * Language setter. - * - * @param language the value - */ - public void setLanguage(final String language) { - this.language = language; - } - - /** - * Text window width getter. - * - * @return the window width - */ - public int getWindowWidth() { - return windowWidth; - } - - /** - * Text window height getter. - * - * @return the window height - */ - public int getWindowHeight() { - return windowHeight; - } - - /** - * Re-query the text window size. - */ - public void queryWindowSize() { - Insets insets = swing.getInsets(); - int width = swing.getWidth() - insets.left - insets.right; - int height = swing.getHeight() - insets.top - insets.bottom; - // In theory, if Java reported pixel-perfect dimensions, the - // expressions above would precisely line up with the requested - // window size from SwingComponent.setDimensions(). In practice, - // there appears to be a small difference. Add half a text cell in - // both directions before the division to hopefully reach the same - // result as setDimensions() was supposed to give us. - width += (textWidth / 2); - height += (textHeight / 2); - windowWidth = width / textWidth; - windowHeight = height / textHeight; - - /* - System.err.printf("queryWindowSize(): frame %d %d window %d %d\n", - swing.getWidth(), swing.getHeight(), - windowWidth, windowHeight); - */ - } - - // ------------------------------------------------------------------------ - // SwingSessionInfo ------------------------------------------------------- - // ------------------------------------------------------------------------ - - /** - * Set the dimensions of a single text cell. - * - * @param textWidth the width of a cell in pixels - * @param textHeight the height of a cell in pixels - */ - public void setTextCellDimensions(final int textWidth, - final int textHeight) { - - this.textWidth = textWidth; - this.textHeight = textHeight; - } - - /** - * Getter for the underlying Swing component. - * - * @return the SwingComponent - */ - public SwingComponent getSwingComponent() { - return swing; - } - -}