com.byterefinery.rmbench.dialogs.CheckConstraintEditorDialog.java Source code

Java tutorial

Introduction

Here is the source code for com.byterefinery.rmbench.dialogs.CheckConstraintEditorDialog.java

Source

/*
* created 24-Feb-2006
*
 * Copyright 2009, ByteRefinery
 * 
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
*
* $Id$
*/
package com.byterefinery.rmbench.dialogs;

import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.window.IShellProvider;
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.Shell;
import org.eclipse.swt.widgets.Text;

import com.byterefinery.rmbench.model.schema.CheckConstraint;
import com.byterefinery.rmbench.operations.ModifyCheckConstraintOperation;

public class CheckConstraintEditorDialog extends Dialog {

    private CheckConstraint constraint;
    private Text nameText;
    private Text expressionText;

    public CheckConstraintEditorDialog(Shell parentShell, CheckConstraint constraint) {
        super(parentShell);
        this.constraint = constraint;
        parentShell.setText(Messages.CheckConstraintEditorDialog_Title);
    }

    public CheckConstraintEditorDialog(IShellProvider parentShell, CheckConstraint constraint) {
        super(parentShell);
        this.constraint = constraint;
        parentShell.getShell().setText(Messages.CheckConstraintEditorDialog_Title);
    }

    protected Control createDialogArea(Composite parent) {
        Composite container = new Composite(parent, SWT.NONE);
        GridData gridData;
        GridLayout layout = new GridLayout();
        container.setLayout(layout);
        layout.numColumns = 2;

        Label label = new Label(container, SWT.NONE);
        label.setText(Messages.CheckConstraintEditorDialog_Name + ":"); //$NON-NLS-2$

        gridData = new GridData();
        gridData.horizontalAlignment = GridData.FILL;
        gridData.verticalAlignment = GridData.FILL;
        gridData.grabExcessHorizontalSpace = true;
        gridData.grabExcessVerticalSpace = true;
        container.setLayoutData(gridData);

        nameText = new Text(container, SWT.SINGLE | SWT.BORDER);
        gridData = new GridData();
        gridData.horizontalAlignment = GridData.FILL;
        gridData.grabExcessHorizontalSpace = true;
        nameText.setLayoutData(gridData);
        nameText.setText(constraint.getName());

        label = new Label(container, SWT.NONE);
        label.setText(Messages.CheckConstraintEditorDialog_Expression + ":"); //$NON-NLS-2$

        expressionText = new Text(container, SWT.MULTI | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
        gridData = new GridData();
        gridData.horizontalAlignment = GridData.FILL;
        gridData.verticalAlignment = GridData.FILL;
        gridData.grabExcessHorizontalSpace = true;
        gridData.grabExcessVerticalSpace = true;
        gridData.minimumHeight = convertHeightInCharsToPixels(5);
        gridData.minimumWidth = convertWidthInCharsToPixels(30);
        expressionText.setLayoutData(gridData);
        expressionText.setText(constraint.getExpression());

        return container;
    }

    protected void okPressed() {
        if ((constraint.getName().equals(nameText.getText()))
                && (constraint.getExpression().equals(expressionText.getText()))) {
            super.okPressed();
        }

        ModifyCheckConstraintOperation op = new ModifyCheckConstraintOperation(constraint, nameText.getText(),
                expressionText.getText());
        op.execute(this);
        super.okPressed();
    }
}