package nongnu.cashews.eclipse.composer.wizards; import java.util.LinkedList; import java.util.regex.Matcher; import java.util.regex.Pattern; import org.eclipse.draw2d.Panel; import org.eclipse.jface.dialogs.InputDialog; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.viewers.TableViewer; import org.eclipse.jface.wizard.WizardPage; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Listener; import org.eclipse.swt.widgets.Table; import org.eclipse.swt.widgets.TableColumn; import org.eclipse.swt.widgets.TableItem; import org.eclipse.swt.widgets.Text; class ValueDataSelectedPage2 extends WizardPage { /* * private Button d; * * private Button c; * * private Button dr; */ private Table input, valueData; private TableViewer tableViewer; private Button add, add2; private Panel panel; private Label dv, dc; private Text dvT, dcT; ProcessData pd = new ProcessData(); //ValueDataSelectedPage vdp = new ValueDataSelectedPage(); /** * ComplaintsPage constructor */ public ValueDataSelectedPage2() { super("ValuedataSelectPage2"); setTitle("Value data Select"); setDescription("Please input the data values "); setPageComplete(false); } /** * Creates the page controls */ public void createControl(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); composite.setLayout(new GridLayout(3,false)); LinkedList entries = new LinkedList(); input = new Table(composite, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL); input.setLayoutData(new GridData(GridData.FILL_VERTICAL | GridData.FILL_HORIZONTAL)); new TableColumn(input, SWT.NULL).setText(" Input "); input.setHeaderVisible(true); input.setLinesVisible(true); // System.out.println(vdp.input.getItemCount()); for (int i=0; i<12; i++) { TableItem item = new TableItem (input, SWT.NONE); item.setText ("Item " + i); } input.addListener (SWT.Selection, new Listener () { public void handleEvent (Event event) { for (int a = 0; a"); add.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { InputDialog dlg = new InputDialog(null,"Input Dialog","Please input the number of the value data!","",null); dlg.open(); Pattern untitled = Pattern.compile("[0-9]*"); Matcher matcher = untitled.matcher(dlg.getValue()); if ((dlg.getValue()==null)||(!matcher.matches())){ MessageDialog.openError(null, "CASheW-s Composer Error", "Please install an integer"); return; } else{ TableItem item = new TableItem (valueData, SWT.NULL); item.setText (1, dlg.getValue()); int i = input.getItemCount(); System.out.println("ItemCount" + i); while(i!=0){ if((input.getItem(i-1).getData()!=null)&&(input.getItem(i-1).getData().equals("checked"))){ //TableItem item = new TableItem (valueData, SWT.NULL); item.setText (0, input.getItem(i-1).getText()); input.remove(i-1); } i--; } System.out.println("match"); if (input.getItemCount() != i){ setPageComplete(true); } else{setPageComplete(false);} } } }); add2 = new Button(composite1,SWT.RIGHT); add2.setText("<-Add"); valueData = new Table(composite, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL); // Set up the table valueData.setLayoutData(new GridData(GridData.FILL_VERTICAL | GridData.FILL_HORIZONTAL)); TableColumn vd = new TableColumn(valueData, SWT.CENTER); TableColumn num = new TableColumn(valueData, SWT.CENTER); vd.setText(" ValueData "); num.setText("Number of value data"); valueData.showColumn(vd); valueData.setHeaderVisible(true); valueData.setLinesVisible(true); for (int i = 0, n = valueData.getColumnCount(); i < n; i++) valueData.getColumn(i).pack(); valueData.addListener (SWT.Selection, new Listener () { public void handleEvent (Event event) { String string = event.detail == SWT.CHECK ? "Checked" : "Selected"; System.out.println (event.item + " " + string); event.item.setData("checked"); } }); add2.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { int i = valueData.getItemCount(); System.out.println("ItemCount" + i); while(i!=0){ if((valueData.getItem(i-1).getData()!=null)&&(valueData.getItem(i-1).getData().equals("checked"))){ TableItem item = new TableItem (input, SWT.NULL); item.setText (0, valueData.getItem(i-1).getText()); valueData.remove(i-1); } i--; } } }); setControl(composite); } }