/* * Copyright (c) 1998-2017 by Richard A. Wilkes. All rights reserved. * * This Source Code Form is subject to the terms of the Mozilla Public * License, version 2.0. If a copy of the MPL was not distributed with * this file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This Source Code Form is "Incompatible With Secondary Licenses", as * defined by the Mozilla Public License, version 2.0. */ package com.trollworks.gcs.character; import com.trollworks.gcs.page.DropPanel; import com.trollworks.toolkit.annotation.Localize; import com.trollworks.toolkit.ui.layout.ColumnLayout; import com.trollworks.toolkit.ui.widget.Wrapper; import com.trollworks.toolkit.utility.Localization; import java.awt.Color; import javax.swing.SwingConstants; /** The character description panel. */ public class DescriptionPanel extends DropPanel { @Localize("Description") @Localize(locale = "de", value = "Beschreibung") @Localize(locale = "ru", value = "Описание") @Localize(locale = "es", value = "Descripción") private static String DESCRIPTION; @Localize("Race:") @Localize(locale = "de", value = "Rasse") @Localize(locale = "ru", value = "Раса:") @Localize(locale = "es", value = "Raza:") private static String RACE; @Localize("Size:") @Localize(locale = "de", value = "Größe") @Localize(locale = "ru", value = "Разм.:") @Localize(locale = "es", value = "Talla:") private static String SIZE_MODIFIER; @Localize("The character's size modifier") @Localize(locale = "de", value = "Der Größenmodifikator des Charakters") @Localize(locale = "ru", value = "Модификатор размера") @Localize(locale = "es", value = "Modificador por talla del personaje") private static String SIZE_MODIFIER_TOOLTIP; @Localize("TL:") @Localize(locale = "de", value = "TL:") @Localize(locale = "ru", value = "ТУ:") @Localize(locale = "es", value = "NT") private static String TECH_LEVEL; @Localize("<html><body>TL0: Stone Age<br>TL1: Bronze Age<br>TL2: Iron Age<br>TL3: Medieval<br>TL4: Age of Sail<br>TL5: Industrial Revolution<br>TL6: Mechanized Age<br>TL7: Nuclear Age<br>TL8: Digital Age<br>TL9: Microtech Age<br>TL10: Robotic Age<br>TL11: Age of Exotic Matter<br>TL12: Anything Goes</body></html>") @Localize(locale = "de", value = "<html><body>TL0: Steinzeit<br>TL1: Bronzezeit<br>TL2: Eisenzeit<br>TL3: Mittelalter<br>TL4: Renaissance / Kolonialzeitalter<br>TL5: Industrielle Revolution<br>TL6: Zeitalter der Mechanik<br>TL7: Ära der Kernkraft<br>TL8: Ära der Digitalisierung<br>TL9: Ära der Mikrotechnik<br>TL10: Ära der Robotik<br>TL11: Ära der Exotischen Materie<br>TL12: Was ihr wollt!</body></html>") @Localize(locale = "ru", value = "<html><body>ТУ0: Каменный век<br>ТУ1: Бронзовый век<br>ТУ2: Железный век<br>ТУ3: Средневековье<br>ТУ4: Эпоха парусов<br>ТУ5: Промышленный переворот<br>ТУ6: Эпоха механики<br>ТУ7: Атомная эпоха<br>ТУ8: Цифровая эпоха<br>ТУ9: Эпоха микротехники<br>ТУ10: Эпоха роботизации<br>ТУ11: Эпоха экзотических материалов<br>ТУ12: Всё, что угодно</body></html>") @Localize(locale = "es", value = "<html><body>TL0: Edad de Piedra<br>TL1: Edad de Bronce<br>TL2: Edad de Hierro<br>TL3: Edad Media<br>TL4: Era del Renacimiento<br>TL5: Revolución Industrial<br>TL6: Era de la Mecanización<br>TL7: Era Nuclear<br>TL8: Era Digital<br>TL9: Era de la Microtecnología<br>TL10: Era de la Robótica<br>TL11: Era del Dominio de la Materia<br>TL12: Más allá</body></html>") private static String TECH_LEVEL_TOOLTIP; @Localize("Age:") @Localize(locale = "de", value = "Alter:") @Localize(locale = "ru", value = "Возраст:") @Localize(locale = "es", value = "Edad:") static String AGE; @Localize("Gender:") @Localize(locale = "de", value = "Geschl.:") @Localize(locale = "ru", value = "Пол:") @Localize(locale = "es", value = "Género:") static String GENDER; @Localize("Birthday:") @Localize(locale = "de", value = "Geburt:") @Localize(locale = "ru", value = "Д. р.:") @Localize(locale = "es", value = "Cumpleaños:") static String BIRTHDAY; @Localize("Height:") @Localize(locale = "de", value = "Höhe:") @Localize(locale = "ru", value = "Рост:") @Localize(locale = "es", value = "Altura:") static String HEIGHT_FIELD; @Localize("Weight:") @Localize(locale = "de", value = "Gew.:") @Localize(locale = "ru", value = "Вес:") @Localize(locale = "es", value = "Peso:") static String WEIGHT; @Localize("Hair:") @Localize(locale = "de", value = "Haar:") @Localize(locale = "ru", value = "Волосы:") @Localize(locale = "es", value = "Pelo:") static String HAIR; @Localize("The character's hair style and color") @Localize(locale = "de", value = "Die Frisur und Haarfarbe des Charakters") @Localize(locale = "ru", value = "Прическа и цвет волос") @Localize(locale = "es", value = "Color y estilo del pelo del personaje") static String HAIR_TOOLTIP; @Localize("Eyes:") @Localize(locale = "de", value = "Augen:") @Localize(locale = "ru", value = "Глаза:") @Localize(locale = "es", value = "Ojos:") static String EYE_COLOR; @Localize("The character's eye color") @Localize(locale = "de", value = "Die Augenfarbe des Charakters") @Localize(locale = "ru", value = "Цвет глаз") @Localize(locale = "es", value = "Color de ojos del personaje") static String EYE_COLOR_TOOLTIP; @Localize("Skin:") @Localize(locale = "de", value = "Haut:") @Localize(locale = "ru", value = "Кожа:") @Localize(locale = "es", value = "Piel:") static String SKIN_COLOR; @Localize("The character's skin color") @Localize(locale = "de", value = "Die Hautfarbe des Charakters") @Localize(locale = "ru", value = "Цвет кожы") @Localize(locale = "es", value = "Color de la piel del personaje") static String SKIN_COLOR_TOOLTIP; @Localize("Hand:") @Localize(locale = "de", value = "Händig:") @Localize(locale = "ru", value = "Рука:") @Localize(locale = "es", value = "Mano:") static String HANDEDNESS; @Localize("The character's preferred hand") @Localize(locale = "de", value = "Die bevorzugte Hand des Charakters") @Localize(locale = "ru", value = "Основная рука") @Localize(locale = "es", value = "Mano preferida del personaje") static String HANDEDNESS_TOOLTIP; static { Localization.initialize(); } /** * Creates a new description panel. * * @param sheet The sheet to display the data for. */ public DescriptionPanel(CharacterSheet sheet) { super(new ColumnLayout(5, 2, 0), DESCRIPTION); Wrapper wrapper = new Wrapper(new ColumnLayout(2, 2, 0)); createLabelAndField(wrapper, sheet, Profile.ID_RACE, RACE, null, SwingConstants.LEFT); createLabelAndField(wrapper, sheet, Profile.ID_GENDER, GENDER, null, SwingConstants.LEFT); createLabelAndField(wrapper, sheet, Profile.ID_AGE, AGE, null, SwingConstants.LEFT); createLabelAndField(wrapper, sheet, Profile.ID_BIRTHDAY, BIRTHDAY, null, SwingConstants.LEFT); add(wrapper); createDivider(); wrapper = new Wrapper(new ColumnLayout(2, 2, 0)); createLabelAndField(wrapper, sheet, Profile.ID_HEIGHT, HEIGHT_FIELD, null, SwingConstants.LEFT); createLabelAndField(wrapper, sheet, Profile.ID_WEIGHT, WEIGHT, null, SwingConstants.LEFT); createLabelAndField(wrapper, sheet, Profile.ID_SIZE_MODIFIER, SIZE_MODIFIER, SIZE_MODIFIER_TOOLTIP, SwingConstants.LEFT); createLabelAndField(wrapper, sheet, Profile.ID_TECH_LEVEL, TECH_LEVEL, TECH_LEVEL_TOOLTIP, SwingConstants.LEFT); add(wrapper); createDivider(); wrapper = new Wrapper(new ColumnLayout(2, 2, 0)); createLabelAndField(wrapper, sheet, Profile.ID_HAIR, HAIR, HAIR_TOOLTIP, SwingConstants.LEFT); createLabelAndField(wrapper, sheet, Profile.ID_EYE_COLOR, EYE_COLOR, EYE_COLOR_TOOLTIP, SwingConstants.LEFT); createLabelAndField(wrapper, sheet, Profile.ID_SKIN_COLOR, SKIN_COLOR, SKIN_COLOR_TOOLTIP, SwingConstants.LEFT); createLabelAndField(wrapper, sheet, Profile.ID_HANDEDNESS, HANDEDNESS, HANDEDNESS_TOOLTIP, SwingConstants.LEFT); add(wrapper); } private void createDivider() { Wrapper panel = new Wrapper(); panel.setOnlySize(1, 1); add(panel); addVerticalBackground(panel, Color.black); } }