import net.sourceforge.phpdt.sql.view.tableview.TableAdapter;
public class SortFilterPage extends WizardPage implements SQLPage {
- TableRow row;
- TableAdapter adapter;
- Button[] filter;
- Combo[] operator;
- Text[] filterValues;
- Button[] stringFlags;
- Button[] sort;
-
- String columnNames[];
- Label query;
- FilterSort filterSort = new FilterSort();
- public SortFilterPage(String pageName) {
- super(pageName);
- }
-
- public void init(TableRow row, TableAdapter adapter) {
- this.row = row;
- this.adapter = adapter;
- }
-
- public void createControl(Composite parent) {
- System.out.println("page create control");
-
- Composite container = new Composite(parent, SWT.NULL);
- GridLayout layout = new GridLayout();
- container.setLayout(layout);
- int layoutColumns = 5;
- layout.numColumns = layoutColumns;
-
- if (row == null) {
- System.out.println("Row is null");
- }
- if (row.getColumnNames() == null) {
- System.out.println("Columns are null");
- }
- if (row.getTableData() == null) {
- System.out.println("Data is null");
- }
-
- columnNames = row.getColumnNames();
- String[] data = row.getTableData();
- for (int i = 0; i < row.getColumnCount(); i++) {
- System.out.println("data = " + i + "=" + data[i]);
- System.out.println("column = " + i + "=" + columnNames[i]);
- }
- int size = row.getColumnCount();
- filter = new Button[size];
- operator = new Combo[size];
- filterValues = new Text[size];
- stringFlags = new Button[size];
- sort = new Button[size];
- for (int i = 0; i < row.getColumnCount(); i++) {
- filter[i] = new Button(container, SWT.CHECK);
- filter[i].setText(columnNames[i]);
- filter[i].addSelectionListener(new SelectionListener() {
- public void widgetDefaultSelected(SelectionEvent e) {
- }
- public void widgetSelected(SelectionEvent e) {
- updateQuery();
- }
- });
-
- operator[i] = new Combo(container, SWT.SINGLE | SWT.READ_ONLY);
- operator[i].add("=");
- operator[i].add("<>");
- operator[i].add("<");
- operator[i].add(">");
- operator[i].addSelectionListener(new SelectionListener() {
- public void widgetDefaultSelected(SelectionEvent e) {
- }
- public void widgetSelected(SelectionEvent e) {
- updateQuery();
- }
- });
-
- filterValues[i] = new Text(container, SWT.BORDER);
- filterValues[i].setText(data[i]);
- filterValues[i].addModifyListener(new ModifyListener() {
- public void modifyText(ModifyEvent e) {
- updateQuery();
- }
- });
-
- stringFlags[i] = new Button(container, SWT.CHECK);
- stringFlags[i].setText("String");
- stringFlags[i].addSelectionListener(new SelectionListener() {
- public void widgetDefaultSelected(SelectionEvent e) {
- }
- public void widgetSelected(SelectionEvent e) {
- updateQuery();
- }
- });
-
- final int index = i;
- sort[i] = new Button(container, SWT.CHECK);
- sort[i].setText(columnNames[i]);
- sort[i].addSelectionListener(new SelectionListener() {
- public void widgetDefaultSelected(SelectionEvent e) {
- }
- public void widgetSelected(SelectionEvent e) {
- if (sort[index].getSelection()) {
- filterSort.addSort(columnNames[index]);
- } else {
- filterSort.removeSort(columnNames[index]);
- }
- updateQuery();
- }
- });
- }
- query = new Label(container, SWT.WRAP);
- GridData gridData = new GridData();
- gridData.horizontalSpan = layoutColumns;
- gridData.horizontalAlignment = GridData.FILL;
- gridData.verticalAlignment = GridData.FILL;
- gridData.grabExcessHorizontalSpace = true;
- gridData.grabExcessVerticalSpace = true;
- query.setLayoutData(gridData);
-
- setControl(container);
-
- setPageComplete(true);
- }
-
- public void updateQuery() {
- filterSort.clearFilters();
- for (int i = 0; i < filter.length; i++) {
- if (filter[i].getSelection()) {
- filterSort.addFilter(filter[i].getText(), operator[i].getText(), filterValues[i].getText(), stringFlags[i].getSelection());
- }
- }
- query.setText(filterSort.toString());
- }
-
- public boolean performFinish() {
- adapter.setFilterSort(filterSort);
- TableView.getInstance().refreshCurrent();
- return true;
- }
+ TableRow row;
+ TableAdapter adapter;
+ Button[] filter;
+ Combo[] operator;
+ Text[] filterValues;
+ Button[] stringFlags;
+ Button[] sort;
+
+ String columnNames[];
+ Label query;
+ FilterSort filterSort = new FilterSort();
+ public SortFilterPage(String pageName) {
+ super(pageName);
+ }
+
+ public void init(TableRow row, TableAdapter adapter) {
+ this.row = row;
+ this.adapter = adapter;
+ }
+
+ public void createControl(Composite parent) {
+ if (DEBUG) {
+ System.out.println("page create control");
+ }
+ Composite container = new Composite(parent, SWT.NULL);
+ GridLayout layout = new GridLayout();
+ container.setLayout(layout);
+ int layoutColumns = 5;
+ layout.numColumns = layoutColumns;
+
+ if (DEBUG) {
+ if (row == null) {
+ System.out.println("Row is null");
+ }
+ if (row.getColumnNames() == null) {
+ System.out.println("Columns are null");
+ }
+ if (row.getTableData() == null) {
+ System.out.println("Data is null");
+ }
+ }
+
+ columnNames = row.getColumnNames();
+ String[] data = row.getTableData();
+ if (DEBUG) {
+ for (int i = 0; i < row.getColumnCount(); i++) {
+ System.out.println("data = " + i + "=" + data[i]);
+ System.out.println("column = " + i + "=" + columnNames[i]);
+ }
+ }
+ int size = row.getColumnCount();
+ filter = new Button[size];
+ operator = new Combo[size];
+ filterValues = new Text[size];
+ stringFlags = new Button[size];
+ sort = new Button[size];
+ for (int i = 0; i < row.getColumnCount(); i++) {
+ filter[i] = new Button(container, SWT.CHECK);
+ filter[i].setText(columnNames[i]);
+ filter[i].addSelectionListener(new SelectionListener() {
+ public void widgetDefaultSelected(SelectionEvent e) {
+ }
+ public void widgetSelected(SelectionEvent e) {
+ updateQuery();
+ }
+ });
+
+ operator[i] = new Combo(container, SWT.SINGLE | SWT.READ_ONLY);
+ operator[i].add("=");
+ operator[i].add("<>");
+ operator[i].add("<");
+ operator[i].add(">");
+ operator[i].addSelectionListener(new SelectionListener() {
+ public void widgetDefaultSelected(SelectionEvent e) {
+ }
+ public void widgetSelected(SelectionEvent e) {
+ updateQuery();
+ }
+ });
+
+ filterValues[i] = new Text(container, SWT.BORDER);
+ filterValues[i].setText(data[i]);
+ filterValues[i].addModifyListener(new ModifyListener() {
+ public void modifyText(ModifyEvent e) {
+ updateQuery();
+ }
+ });
+
+ stringFlags[i] = new Button(container, SWT.CHECK);
+ stringFlags[i].setText("String");
+ stringFlags[i].addSelectionListener(new SelectionListener() {
+ public void widgetDefaultSelected(SelectionEvent e) {
+ }
+ public void widgetSelected(SelectionEvent e) {
+ updateQuery();
+ }
+ });
+
+ final int index = i;
+ sort[i] = new Button(container, SWT.CHECK);
+ sort[i].setText(columnNames[i]);
+ sort[i].addSelectionListener(new SelectionListener() {
+ public void widgetDefaultSelected(SelectionEvent e) {
+ }
+ public void widgetSelected(SelectionEvent e) {
+ if (sort[index].getSelection()) {
+ filterSort.addSort(columnNames[index]);
+ } else {
+ filterSort.removeSort(columnNames[index]);
+ }
+ updateQuery();
+ }
+ });
+ }
+ query = new Label(container, SWT.WRAP);
+ GridData gridData = new GridData();
+ gridData.horizontalSpan = layoutColumns;
+ gridData.horizontalAlignment = GridData.FILL;
+ gridData.verticalAlignment = GridData.FILL;
+ gridData.grabExcessHorizontalSpace = true;
+ gridData.grabExcessVerticalSpace = true;
+ query.setLayoutData(gridData);
+
+ setControl(container);
+
+ setPageComplete(true);
+ }
+
+ public void updateQuery() {
+ filterSort.clearFilters();
+ for (int i = 0; i < filter.length; i++) {
+ if (filter[i].getSelection()) {
+ filterSort.addFilter(
+ filter[i].getText(),
+ operator[i].getText(),
+ filterValues[i].getText(),
+ stringFlags[i].getSelection());
+ }
+ }
+ query.setText(filterSort.toString());
+ }
+
+ public boolean performFinish() {
+ adapter.setFilterSort(filterSort);
+ TableView.getInstance().refreshCurrent();
+ return true;
+ }
}