/* (c) 2014 - 2016 Open Source Geospatial Foundation - all rights reserved * (c) 2001 - 2013 OpenPlans * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package org.geoserver.web.admin; import static org.geoserver.web.admin.PreviewFontProvider.PREVIEW_IMAGE; import org.apache.wicket.Component; import org.apache.wicket.markup.html.image.Image; import org.apache.wicket.markup.html.image.resource.BufferedDynamicImageResource; import org.apache.wicket.markup.html.panel.Fragment; import org.apache.wicket.model.IModel; import org.geoserver.web.wicket.GeoServerDataProvider.Property; import org.geoserver.web.wicket.GeoServerTablePanel; /** * Shows a paged list of the fonts that are available to the JVM * * @author Miles Jordan, Australian Antarctic Division */ public class JVMFontsPage extends ServerAdminPage { PreviewFontProvider provider = new PreviewFontProvider(); GeoServerTablePanel<PreviewFont> table; public JVMFontsPage() { updateModel(); } @SuppressWarnings("serial") private void updateModel() { table = new GeoServerTablePanel<PreviewFont>("table", provider) { @Override protected Component getComponentForProperty(String id, IModel<PreviewFont> itemModel, Property<PreviewFont> property) { PreviewFont previewFont = itemModel.getObject(); if (property == PREVIEW_IMAGE) { BufferedDynamicImageResource image = previewFont.getPreviewImage(); Fragment f = new Fragment(id, "previewImageFragment", JVMFontsPage.this); f.add(new Image("previewImage", image)); return f; } return null; } }; table.setOutputMarkupId(true); add(table); } }