package com.github.pfichtner.jrunalyser.ui.trackstat; import java.io.IOException; import javax.swing.JPanel; import com.github.pfichtner.jrunalyser.base.datasource.DatasourceFascade; import com.github.pfichtner.jrunalyser.di.Inject; import com.github.pfichtner.jrunalyser.ui.base.AbstractUiPlugin; import com.github.pfichtner.jrunalyser.ui.base.DefaultGridData; import com.github.pfichtner.jrunalyser.ui.base.GridData; import com.github.pfichtner.jrunalyser.ui.base.GridDataProvider; import com.github.pfichtner.jrunalyser.ui.base.i18n.I18N; import com.github.pfichtner.jrunalyser.ui.dock.ebus.TrackLoaded; import com.google.common.eventbus.EventBus; import com.google.common.eventbus.Subscribe; public class TrackStatsPlugin extends AbstractUiPlugin implements GridDataProvider { private static final GridData gridData = new DefaultGridData(0, 1, 1, 3); private static final I18N i18n = I18N .builder(TrackStatsPlugin.class) .withParent( com.github.pfichtner.jrunalyser.ui.base.UiPlugins.getI18n()) .build(); public static I18N getI18n() { return i18n; } private TrackStatsPanel panel; public TrackStatsPlugin() { this.panel = new TrackStatsPanel(); } @Override public String getTitle() { return i18n .getText("com.github.pfichtner.jrunalyser.ui.trackstat.TrackStatsPlugin.title"); //$NON-NLS-1$ } @Override public JPanel getPanel() { return this.panel; } @Override public GridData getGridData() { return gridData; } @Inject public void setEventBus(EventBus eventBus) { this.panel.addEventBusPoster(eventBus); } @Inject public void setDatasourceFascade(DatasourceFascade dsf) { this.panel.setDatasourceFascade(dsf); } @Subscribe public void setTrack(TrackLoaded message) throws IOException { this.panel.setTrack(message); } }