/*
* This program is free software; you can redistribute it and/or modify it under the
* terms of the GNU Lesser General Public License, version 2.1 as published by the Free Software
* Foundation.
*
* You should have received a copy of the GNU Lesser General Public License along with this
* program; if not, you can obtain a copy at http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
* or from the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU Lesser General Public License for more details.
*
* Copyright (c) 2001 - 2013 Object Refinery Ltd, Pentaho Corporation and Contributors.. All rights reserved.
*/
package org.pentaho.reporting.engine.classic.demo.ancient.demo;
import java.net.URL;
import javax.swing.JComponent;
import org.pentaho.reporting.engine.classic.demo.ClassicEngineDemoBoot;
import org.pentaho.reporting.engine.classic.demo.ancient.demo.bookstore.BookstoreDemo;
import org.pentaho.reporting.engine.classic.demo.ancient.demo.cards.CardDemo;
import org.pentaho.reporting.engine.classic.demo.ancient.demo.chartdemo.ChartDemos;
import org.pentaho.reporting.engine.classic.demo.ancient.demo.conditionalgroup.ConditionalGroupDemo;
import org.pentaho.reporting.engine.classic.demo.ancient.demo.fonts.FontDemo;
import org.pentaho.reporting.engine.classic.demo.ancient.demo.form.SimplePatientFormDemo;
import org.pentaho.reporting.engine.classic.demo.ancient.demo.functions.FunctionsDemo;
import org.pentaho.reporting.engine.classic.demo.ancient.demo.groups.GroupsDemo;
import org.pentaho.reporting.engine.classic.demo.ancient.demo.groups.LogEventDemo;
import org.pentaho.reporting.engine.classic.demo.ancient.demo.groups.RowbandingDemo;
import org.pentaho.reporting.engine.classic.demo.ancient.demo.groups.TrafficLightingDemo;
import org.pentaho.reporting.engine.classic.demo.ancient.demo.huge.VeryLargeReportDemo;
import org.pentaho.reporting.engine.classic.demo.ancient.demo.internationalisation.I18nDemo;
import org.pentaho.reporting.engine.classic.demo.ancient.demo.invoice.InvoiceDemo;
import org.pentaho.reporting.engine.classic.demo.ancient.demo.largetext.LGPLTextDemo;
import org.pentaho.reporting.engine.classic.demo.ancient.demo.layouts.LayoutDemo;
import org.pentaho.reporting.engine.classic.demo.ancient.demo.multireport.MultiReportDemoCollection;
import org.pentaho.reporting.engine.classic.demo.ancient.demo.onetomany.PeopleReportDemo;
import org.pentaho.reporting.engine.classic.demo.ancient.demo.opensource.OpenSourceDemo;
import org.pentaho.reporting.engine.classic.demo.ancient.demo.sportscouncil.SportsCouncilDemo;
import org.pentaho.reporting.engine.classic.demo.ancient.demo.subreport.SubReportDemoCollection;
import org.pentaho.reporting.engine.classic.demo.ancient.demo.surveyscale.SurveyScaleDemo;
import org.pentaho.reporting.engine.classic.demo.ancient.demo.swingicons.SwingIconsDemo;
import org.pentaho.reporting.engine.classic.demo.ancient.demo.world.WorldDemo;
import org.pentaho.reporting.engine.classic.demo.elements.sbarcodes.SimpleBarcodesXMLDemo;
import org.pentaho.reporting.engine.classic.demo.elements.sparklines.SparklineXMLDemo;
import org.pentaho.reporting.engine.classic.demo.features.datasource.SQLDataSourceDemo;
import org.pentaho.reporting.engine.classic.demo.features.interactivity.InteractiveSwingDemo;
import org.pentaho.reporting.engine.classic.demo.features.loading.FileLoadingDemo;
import org.pentaho.reporting.engine.classic.demo.features.parameters.ParameterDemo;
import org.pentaho.reporting.engine.classic.demo.features.subreport.SQLSubReportDemo;
import org.pentaho.reporting.engine.classic.demo.util.CompoundDemoFrame;
import org.pentaho.reporting.engine.classic.demo.util.DefaultDemoSelector;
import org.pentaho.reporting.engine.classic.demo.util.DemoSelector;
import org.pentaho.reporting.libraries.base.config.ModifiableConfiguration;
import org.pentaho.reporting.libraries.base.util.ObjectUtilities;
import org.pentaho.reporting.libraries.designtime.swing.LibSwingUtil;
public class DemoFrontend extends CompoundDemoFrame
{
private JComponent infoPane;
public DemoFrontend(final DemoSelector demoSelector)
{
super(demoSelector);
setIgnoreEmbeddedConfig(true);
final ModifiableConfiguration editableConfig =
ClassicEngineDemoBoot.getInstance().getEditableConfig();
editableConfig.setConfigProperty(EMBEDDED_KEY, "true");
init();
}
public static DemoSelector createDemoInfo()
{
final DefaultDemoSelector rootSelector = new DefaultDemoSelector
("All JFreeReport Demos");
// the most important demos first: the ones that get you started
rootSelector.addDemo(new HelloWorld());
rootSelector.addDemo(new GroupsDemo());
rootSelector.addDemo(new LogEventDemo());
rootSelector.addDemo(new SwingIconsDemo());
rootSelector.addDemo(new RowbandingDemo());
rootSelector.addDemo(new TrafficLightingDemo());
//
rootSelector.addChild(OpenSourceDemo.createDemoInfo());
rootSelector.addChild(WorldDemo.createDemoInfo());
rootSelector.addChild(InvoiceDemo.createDemoInfo());
rootSelector.addChild(PeopleReportDemo.createDemoInfo());
rootSelector.addChild(SurveyScaleDemo.createDemoInfo());
rootSelector.addChild(FunctionsDemo.createDemoInfo());
rootSelector.addChild(LayoutDemo.createDemoInfo());
rootSelector.addChild(CardDemo.createDemoInfo());
rootSelector.addChild(MultiReportDemoCollection.createDemoInfo());
rootSelector.addChild(SubReportDemoCollection.createDemoInfo());
rootSelector.addChild(ChartDemos.createDemoInfo());
rootSelector.addDemo(new ConditionalGroupDemo());
rootSelector.addDemo(new SimplePatientFormDemo());
rootSelector.addDemo(new SportsCouncilDemo());
rootSelector.addDemo(new LGPLTextDemo());
rootSelector.addDemo(new I18nDemo());
rootSelector.addDemo(new VeryLargeReportDemo());
rootSelector.addDemo(new BookstoreDemo());
rootSelector.addDemo(new FontDemo());
rootSelector.addDemo(new SQLSubReportDemo());
rootSelector.addDemo(new SQLDataSourceDemo());
rootSelector.addDemo(new InteractiveSwingDemo());
rootSelector.addDemo(new ParameterDemo());
rootSelector.addDemo(new SparklineXMLDemo());
rootSelector.addDemo(new SimpleBarcodesXMLDemo());
rootSelector.addDemo(new FileLoadingDemo());
return rootSelector;
}
protected JComponent getNoHandlerInfoPane()
{
if (infoPane == null)
{
final URL url = ObjectUtilities.getResource
("org/pentaho/reporting/engine/classic/demo/demo-introduction.html", CompoundDemoFrame.class);
infoPane = createDescriptionTextPane(url);
}
return infoPane;
}
public static void main(final String[] args)
{
ClassicEngineDemoBoot.getInstance().start();
final DemoFrontend frontend = new DemoFrontend(createDemoInfo());
frontend.pack();
LibSwingUtil.centerFrameOnScreen(frontend);
frontend.setVisible(true);
}
}