package org.goko.test.recorder.ui.test;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.inject.Inject;
import org.eclipse.jface.viewers.ArrayContentProvider;
import org.eclipse.jface.viewers.ColumnLabelProvider;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.TableViewerColumn;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FormAttachment;
import org.eclipse.swt.layout.FormData;
import org.eclipse.swt.layout.FormLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.goko.common.elements.combo.LabeledValue;
public class testPart {
private Table table;
private Table table_1;
@Inject
public testPart() {
}
@PostConstruct
public void postConstruct(Composite parent) {
parent.setLayout(new FormLayout());
TableViewer tableViewer = new TableViewer(parent, SWT.BORDER | SWT.FULL_SELECTION);
table = tableViewer.getTable();
FormData fd_table = new FormData();
fd_table.bottom = new FormAttachment(0, 98);
fd_table.right = new FormAttachment(0, 507);
fd_table.top = new FormAttachment(0);
fd_table.left = new FormAttachment(0);
table.setLayoutData(fd_table);
tableViewer.setContentProvider(new ArrayContentProvider());
List<Tuple<?>> lstTuple = new ArrayList<Tuple<?>>();
TupleLabeledValue<Integer> tupleMotorMapping = new TupleLabeledValue<Integer>(tableViewer, "Mapping", new LabeledValue<Integer>(1, "X axis"),new LabeledValue<Integer>(2, "Y axis"),new LabeledValue<Integer>(4, "Z axis"),new LabeledValue<Integer>(8, "A axis"));
lstTuple.add( new TupleDouble("Step angle", 1.5, 1.6, 1.7, 1.8));
lstTuple.add( new TupleDouble("Travel/rev", 31.5, 21.6, 41.7, 51.8));
TupleLabeledValue<Integer> tupleMicroStep = new TupleLabeledValue<Integer>(tableViewer, "Microsteps", new LabeledValue<Integer>(1, "1 Microstep"),new LabeledValue<Integer>(2, "1/2 Microstep"),new LabeledValue<Integer>(4, "1/4 Microstep"),new LabeledValue<Integer>(8, "1/8 Microstep"));
TupleLabeledValue<Integer> tuplePolarity = new TupleLabeledValue<Integer>(tableViewer, "Polarity", new LabeledValue<Integer>(0, "Normal"),new LabeledValue<Integer>(1, "Reversed"));
TupleLabeledValue<Integer> tuplePowerMode = new TupleLabeledValue<Integer>(tableViewer, "Power mode", new LabeledValue<Integer>(0, "Disabled"),new LabeledValue<Integer>(1, "Always on"),new LabeledValue<Integer>(2, "On when in cycle"),new LabeledValue<Integer>(3, "On when moving"));
lstTuple.add( tupleMotorMapping );
lstTuple.add( tupleMicroStep );
lstTuple.add( tuplePolarity );
lstTuple.add( tuplePowerMode );
/*lstTuple.add( new TupleInteger("Polarity", 0, 1, 2, 3));
lstTuple.add( new TupleInteger("Power mode", 0, 1, 2, 3));
*/
//lstTuple.add( new Tuple<Boolean>("Power management", true, false, false , true));
TableViewerColumn tableViewerColumn_1 = new TableViewerColumn(tableViewer, SWT.NONE);
tableViewerColumn_1.setLabelProvider(new ColumnLabelProvider(){
@Override
public String getText(Object element) {
return ((Tuple<?>)element).getName();
}
});
TableColumn tableColumn = tableViewerColumn_1.getColumn();
tableColumn.setWidth(100);
TableViewerColumn tableViewerColumn = new TableViewerColumn(tableViewer, SWT.NONE);
tableViewerColumn.setLabelProvider(new ColumnLabelProvider(){
@Override
public String getText(Object element) {
return String.valueOf(((Tuple<?>)element).get(0));
}
});
tableViewerColumn.setEditingSupport(new TestEditingSupport(tableViewer, 0));
TableColumn tblclmnMotor = tableViewerColumn.getColumn();
tblclmnMotor.setWidth(100);
tblclmnMotor.setText("Motor 1");
TableViewerColumn tableViewerColumn_2 = new TableViewerColumn(tableViewer, SWT.NONE);
tableViewerColumn_2.setLabelProvider(new ColumnLabelProvider(){
@Override
public String getText(Object element) {
return String.valueOf(((Tuple<?>)element).get(1));
}
});
tableViewerColumn_2.setEditingSupport(new TestEditingSupport(tableViewer, 1));
TableColumn tblclmnMotor_1 = tableViewerColumn_2.getColumn();
tblclmnMotor_1.setWidth(100);
tblclmnMotor_1.setText("Motor 2");
TableViewerColumn tableViewerColumn_3 = new TableViewerColumn(tableViewer, SWT.NONE);
TableColumn tblclmnMotor_3 = tableViewerColumn_3.getColumn();
tblclmnMotor_3.setWidth(100);
tblclmnMotor_3.setText("Motor 3");
tableViewerColumn_3.setLabelProvider(new ColumnLabelProvider(){
@Override
public String getText(Object element) {
return String.valueOf(((Tuple<?>)element).get(2));
}
});
tableViewerColumn_3.setEditingSupport(new TestEditingSupport(tableViewer, 2));
TableViewerColumn tableViewerColumn_4 = new TableViewerColumn(tableViewer, SWT.NONE);
TableColumn tblclmnMotor_2 = tableViewerColumn_4.getColumn();
tblclmnMotor_2.setWidth(100);
tblclmnMotor_2.setText("Motor 4");
tableViewerColumn_4.setLabelProvider(new ColumnLabelProvider(){
@Override
public String getText(Object element) {
return String.valueOf(((Tuple<?>)element).get(3));
}
});
tableViewerColumn_4.setEditingSupport(new TestEditingSupport(tableViewer, 3));
TableViewer tableViewer_1 = new TableViewer(parent, SWT.BORDER | SWT.FULL_SELECTION);
table_1 = tableViewer_1.getTable();
table_1.setLinesVisible(true);
table_1.setHeaderVisible(true);
FormData fd_table_1 = new FormData();
fd_table_1.bottom = new FormAttachment(100, -10);
fd_table_1.right = new FormAttachment(table, 0, SWT.RIGHT);
fd_table_1.top = new FormAttachment(table, 16);
fd_table_1.left = new FormAttachment(0, 10);
table_1.setLayoutData(fd_table_1);
// /* TableViewerColumn tableViewerColumn_5 = new TableViewerColumn(tableViewer_1, SWT.NONE);
// TableColumn tblclmnProperty = tableViewerColumn_5.getColumn();
// tblclmnProperty.setWidth(100);
// tblclmnProperty.setText("Property");
// tableViewerColumn_5.setLabelProvider(new PropertyNameColumnLabelProvider(0));
//
// /*TableViewerColumn tableViewerColumn_6 = new TableViewerColumn(tableViewer_1, SWT.NONE);
// TableColumn tblclmnMotor_4 = tableViewerColumn_6.getColumn();
// tblclmnMotor_4.setWidth(100);
// tblclmnMotor_4.setText("Motor 1");
// tableViewerColumn_6.setLabelProvider(new PropertyValueColumnLabelProvider(0));
// tableViewerColumn_6.setEditingSupport( new PropertyTableEditingSupport(tableViewer_1, 0));
//*/
// createColumn(tableViewer_1, "Motor 1", 0);
// createColumn(tableViewer_1, "Motor 2", 1);
// createColumn(tableViewer_1, "Motor 3", 2);
// createColumn(tableViewer_1, "Motor 4", 3);
// tableViewer_1.setContentProvider(new PropertyTableContentProvider());
// tableViewer_1.setInput(initTableProperty());
//
//
// //tableViewer_1.setInput(lstTuple);
//
// }
//
// protected void createColumn(TableViewer tableViewer, String title, int columnIndex){
// TableViewerColumn tableViewerColumn = new TableViewerColumn(tableViewer, SWT.NONE);
// TableColumn tblclmnMotor = tableViewerColumn.getColumn();
// tblclmnMotor.setWidth(100);
// tblclmnMotor.setText(title);
// tableViewerColumn.setLabelProvider(new PropertyValueColumnLabelProvider(columnIndex));
// tableViewerColumn.setEditingSupport( new PropertyTableEditingSupport(tableViewer, columnIndex));
//
// }
// protected PropertyTable initTableProperty(){
// PropertyTable pTable = new PropertyTable(4);
//
//
// ComboboxPropertyDescriptor<Integer> axisMapping = new ComboboxPropertyDescriptor<Integer>("axismapping","Axis mapping");
// axisMapping.addChoice("X axis", 1);
// axisMapping.addChoice("Y axis", 2);
// axisMapping.addChoice("Z axis", 3);
// axisMapping.addChoice("A axis", 4);
//
// DoublePropertyDescriptor stepangle = new DoublePropertyDescriptor("stepangle", "Step angle");
// DoublePropertyDescriptor travelPerRev = new DoublePropertyDescriptor("travelPerRevolution", "Travel/revolution");
//
// ComboboxPropertyDescriptor<Integer> microsteps = new ComboboxPropertyDescriptor<Integer>("microsteps","Microsteps");
// microsteps.addChoice("1", 1);
// microsteps.addChoice("1/2", 2);
// microsteps.addChoice("1/4", 4);
// microsteps.addChoice("1/8", 8);
//
// ComboboxPropertyDescriptor<Integer> polarity = new ComboboxPropertyDescriptor<Integer>("polarity","Polarity");
// polarity.addChoice("Normal", 0);
// polarity.addChoice("Reversed", 1);
//
// ComboboxPropertyDescriptor<Integer> powerMode = new ComboboxPropertyDescriptor<Integer>("powerMode","Power mode");
// powerMode.addChoice("Powered when idle", 0);
// powerMode.addChoice("Off when idle", 1);
//
// pTable.addProperty(axisMapping);
// pTable.addProperty(stepangle);
// pTable.addProperty(travelPerRev);
// pTable.addProperty(microsteps);
// pTable.addProperty(polarity);
// pTable.addProperty(powerMode);
//
// return pTable;
// }
}
}