/**
*
*/
package org.nightlabs.jfire.reporting.ui.layout.scheduled;
import org.eclipse.jface.viewers.ColumnWeightData;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.TableLayout;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.nightlabs.base.ui.table.TableLabelProvider;
import org.nightlabs.jfire.base.ui.jdo.ActiveJDOObjectController;
import org.nightlabs.jfire.base.ui.jdo.ActiveJDOObjectTableComposite;
import org.nightlabs.jfire.reporting.scheduled.ScheduledReport;
import org.nightlabs.jfire.reporting.scheduled.id.ScheduledReportID;
/**
* Active table showing {@link ScheduledReport}s of the current user.
*
* @author Alexander Bieber <!-- alex [AT] nightlabs [DOT] de -->
*/
public class ScheduledReportsTable extends ActiveJDOObjectTableComposite<ScheduledReportID, ScheduledReport> {
class LabelProvider extends TableLabelProvider {
@Override
public String getColumnText(Object elment, int columnIdx) {
if (elment instanceof ScheduledReport) {
return ((ScheduledReport) elment).getName().getText();
}
return "";
}
}
public ScheduledReportsTable(Composite parent, int style) {
super(parent, style);
}
/*
* (non-Javadoc)
* @see org.nightlabs.jfire.base.ui.jdo.ActiveJDOObjectTableComposite#createActiveJDOObjectController()
*/
@Override
protected ActiveJDOObjectController<ScheduledReportID, ScheduledReport> createActiveJDOObjectController() {
return new ActiveScheduledReportsJDOObjectController();
}
/*
* (non-Javadoc)
* @see org.nightlabs.jfire.base.ui.jdo.ActiveJDOObjectTableComposite#createLabelProvider()
*/
@Override
protected ITableLabelProvider createLabelProvider() {
return new LabelProvider();
}
/*
* (non-Javadoc)
* @see org.nightlabs.base.ui.table.AbstractTableComposite#createTableColumns(org.eclipse.jface.viewers.TableViewer, org.eclipse.swt.widgets.Table)
*/
@Override
protected void createTableColumns(TableViewer tableViewer, Table table) {
new TableColumn(table, SWT.LEFT).setText("Scheduled report");
TableLayout tableLayout = new TableLayout();
tableLayout.addColumnData(new ColumnWeightData(1));
table.setLayout(tableLayout);
}
}