X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fjexer%2Fbits%2FCell.java;h=a8efa2b3c56465dc7ee93dc76fefa399bed85603;hb=738dd8c426dcc6ed2508d68b7985f68d66549889;hp=56633e779b245a0b2ba90df3e34d7d51414af851;hpb=d6ee0801333ff93dffd851f4c1a44519c96c371d;p=nikiroo-utils.git diff --git a/src/jexer/bits/Cell.java b/src/jexer/bits/Cell.java deleted file mode 100644 index 56633e7..0000000 --- a/src/jexer/bits/Cell.java +++ /dev/null @@ -1,196 +0,0 @@ -/* - * Jexer - Java Text User Interface - * - * The MIT License (MIT) - * - * Copyright (C) 2017 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.bits; - -/** - * This class represents a single text cell on the screen. - */ -public final class Cell extends CellAttributes { - - // ------------------------------------------------------------------------ - // Variables -------------------------------------------------------------- - // ------------------------------------------------------------------------ - - /** - * The character at this cell. - */ - private char ch; - - // ------------------------------------------------------------------------ - // Constructors ----------------------------------------------------------- - // ------------------------------------------------------------------------ - - /** - * Public constructor sets default values of the cell to blank. - * - * @see #isBlank() - * @see #reset() - */ - public Cell() { - reset(); - } - - /** - * Public constructor sets the character. Attributes are the same as - * default. - * - * @param ch character to set to - * @see #reset() - */ - public Cell(final char ch) { - reset(); - this.ch = ch; - } - - // ------------------------------------------------------------------------ - // Cell ------------------------------------------------------------------- - // ------------------------------------------------------------------------ - - /** - * Getter for cell character. - * - * @return cell character - */ - public char getChar() { - return ch; - } - - /** - * Setter for cell character. - * - * @param ch new cell character - */ - public void setChar(final char ch) { - this.ch = ch; - } - - /** - * Reset this cell to a blank. - */ - @Override - public void reset() { - super.reset(); - ch = ' '; - } - - /** - * Check to see if this cell has default attributes: white foreground, - * black background, no bold/blink/reverse/underline/protect, and a - * character value of ' ' (space). - * - * @return true if this cell has default attributes. - */ - public boolean isBlank() { - if ((getForeColor().equals(Color.WHITE)) - && (getBackColor().equals(Color.BLACK)) - && !isBold() - && !isBlink() - && !isReverse() - && !isUnderline() - && !isProtect() - && (ch == ' ') - ) { - return true; - } - - return false; - } - - /** - * Comparison check. All fields must match to return true. - * - * @param rhs another Cell instance - * @return true if all fields are equal - */ - @Override - public boolean equals(final Object rhs) { - if (!(rhs instanceof Cell)) { - return false; - } - - Cell that = (Cell) rhs; - - if (ch == that.ch) { - return super.equals(rhs); - } - return false; - } - - /** - * Hashcode uses all fields in equals(). - * - * @return the hash - */ - @Override - public int hashCode() { - int A = 13; - int B = 23; - int hash = A; - hash = (B * hash) + super.hashCode(); - hash = (B * hash) + (int)ch; - return hash; - } - - /** - * Set my field values to that's field. - * - * @param rhs an instance of either Cell or CellAttributes - */ - @Override - public void setTo(final Object rhs) { - // Let this throw a ClassCastException - CellAttributes thatAttr = (CellAttributes) rhs; - super.setTo(thatAttr); - - if (rhs instanceof Cell) { - Cell that = (Cell) rhs; - this.ch = that.ch; - } - } - - /** - * Set my field attr values to that's field. - * - * @param that a CellAttributes instance - */ - public void setAttr(final CellAttributes that) { - super.setTo(that); - } - - /** - * Make human-readable description of this Cell. - * - * @return displayable String - */ - @Override - public String toString() { - return String.format("fore: %s back: %s bold: %s blink: %s ch %c", - getForeColor(), getBackColor(), isBold(), isBlink(), ch); - } -}