X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.databoard%2Fsrc%2Forg%2Fsimantics%2Fdataboard%2Fforms%2FDataboardDialog.java;h=ee780c4373bbdc3acf6df88ef15d8d93aaf0de74;hb=refs%2Fchanges%2F38%2F238%2F2;hp=ea2efd97050d53f8148bf1d5f2c56e27c6fda265;hpb=969bd23cab98a79ca9101af33334000879fb60c5;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.databoard/src/org/simantics/databoard/forms/DataboardDialog.java b/bundles/org.simantics.databoard/src/org/simantics/databoard/forms/DataboardDialog.java index ea2efd970..ee780c437 100644 --- a/bundles/org.simantics.databoard/src/org/simantics/databoard/forms/DataboardDialog.java +++ b/bundles/org.simantics.databoard/src/org/simantics/databoard/forms/DataboardDialog.java @@ -1,114 +1,114 @@ -package org.simantics.databoard.forms; - -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.dialogs.IDialogConstants; -import org.eclipse.swt.SWT; -import org.eclipse.swt.custom.ScrolledComposite; -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.Shell; -import org.simantics.databoard.accessor.error.AccessorConstructionException; -import org.simantics.databoard.accessor.error.AccessorException; -import org.simantics.databoard.binding.RecordBinding; -import org.simantics.databoard.binding.error.BindingException; - -public class DataboardDialog extends Dialog { - - RecordBinding formBinding; - Object initialValues; - String title; - Object result; - DataboardForm form; - Composite composite; - - /** - * Create dialog window - * - * @param parentShell - * @param title - * @param formBinding - * @param initialValues values according to formBinding or null - */ - public DataboardDialog(Shell parentShell, String title, RecordBinding formBinding, Object initialValues) { - super(parentShell); - this.formBinding = formBinding; - this.initialValues = initialValues; - this.title = title; - - setBlockOnOpen(true); - setShellStyle(SWT.RESIZE | SWT.TITLE | SWT.CLOSE | SWT.BORDER); - } - - @Override - protected void createButtonsForButtonBar(Composite parent) { - createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true); - createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false); - } - - @Override - protected Control createDialogArea(Composite parent) { - ScrolledComposite scroll = new ScrolledComposite(parent, SWT.V_SCROLL); - composite = new Composite(scroll, 0); - scroll.setContent(composite); - scroll.setExpandHorizontal(true); - scroll.setExpandVertical(false); - form = new DataboardForm(); - form.setFirstColumnWidth(0); - form.addFields(composite, formBinding.type()); - - composite.setLayout( new GridLayout(3, false) ); - composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 3, 1)); - - if ( initialValues != null ) { - try { - form.writeFields(composite, formBinding, initialValues); - } catch (AccessorException e) { - e.printStackTrace(); - } catch (BindingException e) { - e.printStackTrace(); - } catch (AccessorConstructionException e) { - e.printStackTrace(); - } - } - - composite.pack(); - - return scroll; - } - - protected void configureShell(Shell newShell) { - super.configureShell(newShell); - newShell.setText(title); - } - - @Override - protected void okPressed() { - try { - result = formBinding.createDefault(); - form.readFields(composite, formBinding, result); - } catch (BindingException e) { - e.printStackTrace(); - result = null; - } catch (AccessorConstructionException e) { - e.printStackTrace(); - result = null; - } catch (AccessorException e) { - e.printStackTrace(); - result = null; - } - super.okPressed(); - } - - @Override - protected void cancelPressed() { - result = null; - super.cancelPressed(); - } - - public Object getResult() { - return result; - } - +package org.simantics.databoard.forms; + +import org.eclipse.jface.dialogs.Dialog; +import org.eclipse.jface.dialogs.IDialogConstants; +import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.ScrolledComposite; +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.Shell; +import org.simantics.databoard.accessor.error.AccessorConstructionException; +import org.simantics.databoard.accessor.error.AccessorException; +import org.simantics.databoard.binding.RecordBinding; +import org.simantics.databoard.binding.error.BindingException; + +public class DataboardDialog extends Dialog { + + RecordBinding formBinding; + Object initialValues; + String title; + Object result; + DataboardForm form; + Composite composite; + + /** + * Create dialog window + * + * @param parentShell + * @param title + * @param formBinding + * @param initialValues values according to formBinding or null + */ + public DataboardDialog(Shell parentShell, String title, RecordBinding formBinding, Object initialValues) { + super(parentShell); + this.formBinding = formBinding; + this.initialValues = initialValues; + this.title = title; + + setBlockOnOpen(true); + setShellStyle(SWT.RESIZE | SWT.TITLE | SWT.CLOSE | SWT.BORDER); + } + + @Override + protected void createButtonsForButtonBar(Composite parent) { + createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true); + createButton(parent, IDialogConstants.CANCEL_ID, IDialogConstants.CANCEL_LABEL, false); + } + + @Override + protected Control createDialogArea(Composite parent) { + ScrolledComposite scroll = new ScrolledComposite(parent, SWT.V_SCROLL); + composite = new Composite(scroll, 0); + scroll.setContent(composite); + scroll.setExpandHorizontal(true); + scroll.setExpandVertical(false); + form = new DataboardForm(); + form.setFirstColumnWidth(0); + form.addFields(composite, formBinding.type()); + + composite.setLayout( new GridLayout(3, false) ); + composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 3, 1)); + + if ( initialValues != null ) { + try { + form.writeFields(composite, formBinding, initialValues); + } catch (AccessorException e) { + e.printStackTrace(); + } catch (BindingException e) { + e.printStackTrace(); + } catch (AccessorConstructionException e) { + e.printStackTrace(); + } + } + + composite.pack(); + + return scroll; + } + + protected void configureShell(Shell newShell) { + super.configureShell(newShell); + newShell.setText(title); + } + + @Override + protected void okPressed() { + try { + result = formBinding.createDefault(); + form.readFields(composite, formBinding, result); + } catch (BindingException e) { + e.printStackTrace(); + result = null; + } catch (AccessorConstructionException e) { + e.printStackTrace(); + result = null; + } catch (AccessorException e) { + e.printStackTrace(); + result = null; + } + super.okPressed(); + } + + @Override + protected void cancelPressed() { + result = null; + super.cancelPressed(); + } + + public Object getResult() { + return result; + } + } \ No newline at end of file