/** * Saves the settings to a file. * * @param file The file we're saving to * @throws IOException if the file could not be saved. */ public void save(File file) throws IOException { PrintStream out = new PrintStream(new FileOutputStream(file)); out.println("font.size=" + fontSize); out.println("font.bold=" + bold); out.println("font.italic=" + italic); out.println(); out.println("pad.top=" + paddingTop); out.println("pad.right=" + paddingRight); out.println("pad.bottom=" + paddingBottom); out.println("pad.left=" + paddingLeft); out.println("pad.advance.x=" + paddingAdvanceX); out.println("pad.advance.y=" + paddingAdvanceY); out.println(); out.println("glyph.page.width=" + glyphPageWidth); out.println("glyph.page.height=" + glyphPageHeight); out.println(); for (Iterator iter = effects.iterator(); iter.hasNext();) { ConfigurableEffect effect = (ConfigurableEffect)iter.next(); out.println("effect.class=" + effect.getClass().getName()); for (Iterator iter2 = effect.getValues().iterator(); iter2.hasNext();) { Value value = (Value)iter2.next(); out.println("effect." + value.getName() + "=" + value.getString()); } out.println(); } out.close(); }
void open (File file) throws SlickException { EffectPanel[] panels = (EffectPanel[])effectPanels.toArray(new EffectPanel[effectPanels.size()]); for (int i = 0; i < panels.length; i++) panels[i].remove(); HieroSettings settings = new HieroSettings(file.getAbsolutePath()); fontSizeSpinner.setValue(new Integer(settings.getFontSize())); boldCheckBox.setSelected(settings.isBold()); italicCheckBox.setSelected(settings.isItalic()); padTopSpinner.setValue(new Integer(settings.getPaddingTop())); padRightSpinner.setValue(new Integer(settings.getPaddingRight())); padBottomSpinner.setValue(new Integer(settings.getPaddingBottom())); padLeftSpinner.setValue(new Integer(settings.getPaddingLeft())); padAdvanceXSpinner.setValue(new Integer(settings.getPaddingAdvanceX())); padAdvanceYSpinner.setValue(new Integer(settings.getPaddingAdvanceY())); glyphPageWidthCombo.setSelectedItem(new Integer(settings.getGlyphPageWidth())); glyphPageHeightCombo.setSelectedItem(new Integer(settings.getGlyphPageHeight())); for (Iterator iter = settings.getEffects().iterator(); iter.hasNext();) { ConfigurableEffect settingsEffect = (ConfigurableEffect)iter.next(); for (int i = 0, n = effectsListModel.getSize(); i < n; i++) { ConfigurableEffect effect = (ConfigurableEffect)effectsListModel.getElementAt(i); if (effect.getClass() == settingsEffect.getClass()) { effect.setValues(settingsEffect.getValues()); new EffectPanel(effect); break; } } } updateFont(); }
/** * Saves the settings to a file. * * @param file The file we're saving to * @throws IOException if the file could not be saved. * @throws SlickException if effect from effects is not ConfigurableEffect */ public void save(@Nonnull File file) throws SlickException, IOException { try( final FileOutputStream fileOutputStream = new FileOutputStream(file); final PrintStream out = new PrintStream(fileOutputStream) ) { out.println("font.size=" + fontSize); out.println("font.bold=" + bold); out.println("font.italic=" + italic); out.println(); out.println("pad.top=" + paddingTop); out.println("pad.right=" + paddingRight); out.println("pad.bottom=" + paddingBottom); out.println("pad.left=" + paddingLeft); out.println("pad.advance.x=" + paddingAdvanceX); out.println("pad.advance.y=" + paddingAdvanceY); out.println(); out.println("glyph.page.width=" + glyphPageWidth); out.println("glyph.page.height=" + glyphPageHeight); out.println(); for (Iterator<Effect> iter = effects.iterator(); iter.hasNext();) { if(!(iter.next() instanceof ConfigurableEffect)) { throw new SlickException("Effect is not org.newdawn.slick.font.effects.ConfigurableEffect"); } ConfigurableEffect effect = (ConfigurableEffect) iter.next(); out.println("effect.class=" + effect.getClass().getName()); for (Value value : effect.getValues()) { out.println("effect." + value.getName() + "=" + value.getString()); } out.println(); } } }
public ConfigurableEffect getEffect () { return effect; }