+++ /dev/null
-package com.quantum.properties;
-
-import com.quantum.model.Column;
-import com.quantum.model.Entity;
-import com.quantum.model.Index;
-import com.quantum.view.bookmark.EntityNode;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.TabFolder;
-import org.eclipse.swt.widgets.TabItem;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.dialogs.PropertyPage;
-
-public class EntityPropertyPage extends PropertyPage {
-
- protected Control createContents(Composite parent) {
-
- Composite composite = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.numColumns = 2;
- composite.setLayout(layout);
- GridData data = new GridData(GridData.FILL);
- data.grabExcessHorizontalSpace = true;
- composite.setLayoutData(data);
-
- Label label = new Label(composite, SWT.NONE);
- label.setText("Name:");
-
- Entity entity = getEntity();
-
- Label name = new Label(composite, SWT.NONE);
- name.setText(entity.getName());
-
- label = new Label(composite, SWT.NONE);
- label.setText("Schema:");
-
- Label schema = new Label(composite, SWT.NONE);
- schema.setText(entity.getSchema());
-
- if (!Entity.SEQUENCE_TYPE.equals(getEntity().getType())) {
- TabFolder tabFolder = new TabFolder(parent, SWT.NONE);
- layout = new GridLayout();
- tabFolder.setLayout(layout);
- data = new GridData(GridData.FILL_BOTH);
- data.grabExcessHorizontalSpace = true;
- data.grabExcessVerticalSpace = true;
- data.verticalAlignment = GridData.FILL;
- data.horizontalSpan = 2;
- data.verticalAlignment = GridData.VERTICAL_ALIGN_BEGINNING;
- tabFolder.setLayoutData(data);
-
- createColumnsTab(tabFolder);
- createIndexesTab(tabFolder);
- }
-
- return composite;
- }
-
- private Entity getEntity() {
- Entity entity =
- ((EntityNode) getElement()).getEntity();
- return entity;
- }
-
- private void createColumnsTab(TabFolder tabFolder) {
- TabItem columnsTab = new TabItem(tabFolder, SWT.NONE);
- columnsTab.setText("Columns");
-
- Table table = new Table(tabFolder, SWT.FULL_SELECTION | SWT.MULTI);
- table.setLinesVisible(true);
- table.setHeaderVisible(true);
-
- GridLayout layout = new GridLayout();
- layout.marginWidth = 5;
- layout.marginHeight = 5;
- table.setLayout(layout);
- GridData data = new GridData(GridData.FILL);
- data.horizontalAlignment = GridData.FILL_HORIZONTAL;
- data.verticalAlignment = GridData.FILL_VERTICAL;
- data.grabExcessHorizontalSpace = true;
- data.grabExcessVerticalSpace = true;
- table.setLayoutData(data);
-
- String[] columnNames = { "Name", "Type", "Size", "Digits",
- "Primary Key", "Nullable", "Remarks" };
-
- for (int i = 0, length = columnNames.length; i < length; i++) {
- TableColumn column = new TableColumn(table, SWT.NONE);
- column.setText(columnNames[i]);
- }
- for (int i = 0, length = columnNames.length; i < length; i++) {
- table.getColumn(i).pack();
- }
-
- Column[] columns = getEntity().getColumns();
- for (int i = 0, length = columns.length; i < length; i++) {
- TableItem item = new TableItem(table, SWT.NONE);
- item.setText(new String[] {
- columns[i].getName(),
- columns[i].getTypeName(),
- String.valueOf(columns[i].getSize()),
- columns[i].getNumberOfFractionalDigits() == 0 ? "" :
- String.valueOf(columns[i].getNumberOfFractionalDigits()),
- columns[i].isPrimaryKey() ? "Yes" : "No",
- columns[i].isNullable() ? "Yes" : "No",
- columns[i].getRemarks() });
- }
-
- for (int i = 0, length = columnNames.length; i < length; i++) {
- table.getColumn(i).pack();
- }
-
- data = new GridData(GridData.FILL);
- data.horizontalAlignment = GridData.FILL_HORIZONTAL;
- data.verticalAlignment = GridData.FILL_VERTICAL;
- data.grabExcessHorizontalSpace = true;
- data.grabExcessVerticalSpace = true;
- table.setLayoutData(data);
-
- columnsTab.setControl(table);
- }
-
- private void createIndexesTab(TabFolder tabFolder) {
- TabItem indexesTab = new TabItem(tabFolder, SWT.NONE);
- indexesTab.setText("Indexes");
-
- Table table = new Table(tabFolder, SWT.FULL_SELECTION | SWT.MULTI);
- table.setLinesVisible(true);
- table.setHeaderVisible(true);
-
- GridLayout layout = new GridLayout();
- layout.marginWidth = 5;
- layout.marginHeight = 5;
- table.setLayout(layout);
- GridData data = new GridData(GridData.FILL);
- data.horizontalAlignment = GridData.FILL_HORIZONTAL;
- data.verticalAlignment = GridData.FILL_VERTICAL;
- data.grabExcessHorizontalSpace = true;
- data.grabExcessVerticalSpace = true;
- table.setLayoutData(data);
-
- String[] columnNames = { "Name", "Column", "Ascending" };
-
- for (int i = 0, length = columnNames.length; i < length; i++) {
- TableColumn column = new TableColumn(table, SWT.NONE);
- column.setText(columnNames[i]);
- }
- for (int i = 0, length = columnNames.length; i < length; i++) {
- table.getColumn(i).pack();
- }
-
- Index[] indexes = getEntity().getIndexes();
- for (int i = 0, length = indexes.length; i < length; i++) {
- for (int j = 0, numberOfColumns = indexes[i].getNumberOfColumns();
- j < numberOfColumns; j++) {
-
- TableItem item = new TableItem(table, SWT.NONE);
- item.setText(new String[] {
- j == 0 ? indexes[i].getName() : "",
- indexes[i].getColumnName(j),
- indexes[i].isAscending(j) ? "Yes"
- : (indexes[i].isDescending(j)) ? "No" : "" });
- }
- }
-
- for (int i = 0, length = columnNames.length; i < length; i++) {
- table.getColumn(i).pack();
- }
-
- data = new GridData(GridData.FILL);
- data.horizontalAlignment = GridData.FILL_HORIZONTAL;
- data.verticalAlignment = GridData.FILL_VERTICAL;
- data.grabExcessHorizontalSpace = true;
- data.grabExcessVerticalSpace = true;
- table.setLayoutData(data);
-
- indexesTab.setControl(table);
- }
-
-}
\ No newline at end of file