/** Updates the information displayed in the fields. */ public void update() { super.update(); // update the common fields InteractiveEntity interactiveEntity = (InteractiveEntity) entity; String sprite = interactiveEntity.getProperty("sprite"); String behavior = interactiveEntity.getProperty("behavior"); EntitySubtype subtype = interactiveEntity.getSubtype(); boolean hasSprite = (!sprite.equals("_none")); withSpriteField.setSelected(hasSprite); spriteField.setSelectedId(hasSprite ? sprite : ""); spriteField.setEnabled(hasSprite); if (behavior.equals("map")) { behaviorField.setSelectedIndex(1); messageField.setEnabled(false); itemField.setEnabled(false); } else if (behavior.substring(0, 5).equals("item#")) { behaviorField.setSelectedIndex(2); messageField.setEnabled(false); itemField.setEnabled(true); itemField.setSelectedId(behavior.substring(5)); } else if (behavior.substring(0, 7).equals("dialog#")) { behaviorField.setSelectedIndex(0); messageField.setEnabled(true); itemField.setEnabled(false); messageField.setText(behavior.substring(7)); } }
/** * Returns the specific part of the action made on the entity. * * @return the specific part of the action made on the entity */ protected ActionEditEntitySpecific getSpecificAction() { String sprite = spriteField.getSelectedId(); if (!withSpriteField.isSelected()) { sprite = "_none"; } String behavior = "map"; if (messageField.isEnabled()) { behavior = "dialog#" + messageField.getText(); } else if (itemField.isEnabled()) { behavior = "item#" + itemField.getSelectedId(); } return new ActionEditEntitySpecific(entity, sprite, behavior); }
/** * Constructor. * * @param tileset A tileset. * @param oldPatternId The tile pattern id to change in this tileset. */ public TilePatternIdRefactoringComponent(Tileset tileset, String oldPatternId) { super(); setLayout(new BoxLayout(this, BoxLayout.PAGE_AXIS)); setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); JPanel patternIdPanel = new JPanel(); patternIdPanel.setLayout(new BoxLayout(patternIdPanel, BoxLayout.LINE_AXIS)); patternIdPanel.setAlignmentX(1.0f); JLabel patternIdLabel = new JLabel("Tile pattern id:"); patternIdPanel.add(patternIdLabel); patternIdPanel.add(Box.createHorizontalStrut(10)); patternIdField = new JTextField(oldPatternId, 20); patternIdField.selectAll(); patternIdPanel.add(patternIdField); patternIdPanel.setAlignmentX(0.0f); add(patternIdPanel); add(Box.createVerticalStrut(10)); updateMapsCheckBox = new JCheckBox("Update references in existing maps"); updateMapsCheckBox.setSelected(true); updateMapsCheckBox.setAlignmentX(0.0f); add(updateMapsCheckBox); }
/** Returns the new id entered by the user. */ public String getTilePatternId() { return patternIdField.getText(); }