[jboss-svn-commits] JBL Code SVN: r12637 - labs/jbossrules/trunk/drools-eclipse/drools-guided-editor-plugin/src/org/drools/eclipse/rulebuilder/ui.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sun Jun 17 06:58:30 EDT 2007
Author: arhan
Date: 2007-06-17 06:58:29 -0400 (Sun, 17 Jun 2007)
New Revision: 12637
Added:
labs/jbossrules/trunk/drools-eclipse/drools-guided-editor-plugin/src/org/drools/eclipse/rulebuilder/ui/AddCompositeConstraintOptionDialog.java
Modified:
labs/jbossrules/trunk/drools-eclipse/drools-guided-editor-plugin/src/org/drools/eclipse/rulebuilder/ui/FactPatternWidget.java
Log:
layout is fixed
todo: delete actions
Added: labs/jbossrules/trunk/drools-eclipse/drools-guided-editor-plugin/src/org/drools/eclipse/rulebuilder/ui/AddCompositeConstraintOptionDialog.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-guided-editor-plugin/src/org/drools/eclipse/rulebuilder/ui/AddCompositeConstraintOptionDialog.java (rev 0)
+++ labs/jbossrules/trunk/drools-eclipse/drools-guided-editor-plugin/src/org/drools/eclipse/rulebuilder/ui/AddCompositeConstraintOptionDialog.java 2007-06-17 10:58:29 UTC (rev 12637)
@@ -0,0 +1,115 @@
+package org.drools.eclipse.rulebuilder.ui;
+
+import org.drools.brms.client.modeldriven.brxml.CompositeFieldConstraint;
+import org.drools.brms.client.modeldriven.brxml.FactPattern;
+import org.drools.brms.client.modeldriven.brxml.SingleFieldConstraint;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+
+public class AddCompositeConstraintOptionDialog extends RuleDialog {
+
+ private final FormToolkit toolkit;
+
+ private RuleModeller modeller;
+
+ private FactPattern pattern;
+
+ private final CompositeFieldConstraint constraint;
+
+ public AddCompositeConstraintOptionDialog(Shell parent, FormToolkit toolkit,
+ RuleModeller modeller, CompositeFieldConstraint constraint, FactPattern pattern) {
+ super(parent, "Add fields to this constriant", "Pick the value from combo.");
+
+ this.toolkit = toolkit;
+ this.modeller = modeller;
+ this.constraint = constraint;
+ this.pattern = pattern;
+ }
+
+ protected Control createDialogArea(final Composite parent) {
+ Composite composite = (Composite) super.createDialogArea(parent);
+
+ GridLayout l = new GridLayout();
+ l.numColumns = 3;
+ l.marginBottom = 0;
+ l.marginHeight = 0;
+ l.marginLeft = 0;
+ l.marginRight = 0;
+ l.marginTop = 0;
+ l.marginWidth = 0;
+ composite.setLayout(l);
+
+ GridData gd = new GridData(GridData.FILL_HORIZONTAL);
+ gd.horizontalSpan = 2;
+
+ createFieldRestrictionCombo(composite, gd);
+ createMultiFieldCombo(composite, gd);
+
+ return composite;
+ }
+
+ private void createFieldRestrictionCombo(Composite composite, GridData gd) {
+ toolkit.createLabel(composite, "Add a restriction on a field");
+ final Combo combo = new Combo(composite, SWT.READ_ONLY);
+ combo.setLayoutData(gd);
+ combo.add("...");
+ String[] fields = this.modeller.getSuggestionCompletionEngine().getFieldCompletions( this.pattern.factType );
+ for ( int i = 0; i < fields.length; i++ ) {
+ combo.add( fields[i] );
+ }
+ combo.select(0);
+
+ combo.addListener(SWT.Selection, new Listener() {
+ public void handleEvent(Event event) {
+ if (combo.getSelectionIndex() == 0) {
+ return;
+ }
+
+ constraint.addConstraint( new SingleFieldConstraint( combo.getText() ));
+ modeller.setDirty(true);
+ modeller.reloadLhs();
+ close();
+ }
+ });
+
+ }
+
+ private void createMultiFieldCombo(Composite composite, GridData gd) {
+ toolkit.createLabel(composite, "Multiple field constraint");
+ final Combo combo = new Combo(composite, SWT.READ_ONLY);
+ combo.setLayoutData(gd);
+ combo.add("...");
+ combo.add("All of (And)");
+ combo.add("Any of (Or)");
+ combo.setData("All of (And)",
+ CompositeFieldConstraint.COMPOSITE_TYPE_AND);
+ combo.setData("Any of (Or)",
+ CompositeFieldConstraint.COMPOSITE_TYPE_OR);
+ combo.select(0);
+
+ combo.addListener(SWT.Selection, new Listener() {
+ public void handleEvent(Event event) {
+ if (combo.getSelectionIndex() == 0) {
+ return;
+ }
+ CompositeFieldConstraint comp = new CompositeFieldConstraint();
+ comp.compositeJunctionType = combo.getText();
+ constraint.addConstraint( comp );
+
+ modeller.setDirty(true);
+ modeller.reloadLhs();
+ close();
+ }
+ });
+
+ }
+
+}
Modified: labs/jbossrules/trunk/drools-eclipse/drools-guided-editor-plugin/src/org/drools/eclipse/rulebuilder/ui/FactPatternWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-guided-editor-plugin/src/org/drools/eclipse/rulebuilder/ui/FactPatternWidget.java 2007-06-17 03:47:09 UTC (rev 12636)
+++ labs/jbossrules/trunk/drools-eclipse/drools-guided-editor-plugin/src/org/drools/eclipse/rulebuilder/ui/FactPatternWidget.java 2007-06-17 10:58:29 UTC (rev 12637)
@@ -72,7 +72,7 @@
addMoreOptionsAction();
Composite constraintComposite = toolkit.createComposite(parent);
GridLayout constraintLayout = new GridLayout();
- constraintLayout.numColumns = 6;
+ constraintLayout.numColumns = 8;
constraintComposite.setLayout(constraintLayout);
for (int row = 0; row < pattern.getFieldConstraints().length; row++) {
@@ -158,6 +158,32 @@
toolkit.createLabel(constraintComposite, "Any of:");
}
+// button "delete"
+ ImageHyperlink delLink = addImage(constraintComposite,
+ "icons/delete_obj.gif");
+
+ final int currectRow = row;
+
+ delLink.addHyperlinkListener(new IHyperlinkListener() {
+ public void linkActivated(HyperlinkEvent e) {
+ MessageBox dialog = new MessageBox(Display.getCurrent()
+ .getActiveShell(), SWT.YES | SWT.NO | SWT.ICON_WARNING);
+ dialog.setMessage("Remove this (nested) restriction.");
+ dialog.setText("Remove this item from nested constraint?");
+ if (dialog.open() == SWT.YES) {
+ pattern.removeConstraint(currectRow);
+ getModeller().reloadLhs();
+ getModeller().setDirty(true);
+ }
+ }
+
+ public void linkEntered(HyperlinkEvent e) {
+ }
+
+ public void linkExited(HyperlinkEvent e) {
+ }
+ });
+
//button "add"
ImageHyperlink link = addImage(constraintComposite,
"icons/new_item.gif");
@@ -176,63 +202,36 @@
}
});
- // Nested elements
-
-
+ // Nested elementss
FieldConstraint[] nested = constraint.constraints;
if (nested != null) {
+ Composite nestedComposite = toolkit.createComposite(constraintComposite);
+ GridData gd = new GridData(GridData.FILL_HORIZONTAL);
+ gd.horizontalSpan = 5;
+ nestedComposite.setLayoutData(gd);
+
+ GridLayout l = new GridLayout();
+ l.numColumns = 8;
+ l.marginBottom = 0;
+ l.marginHeight = 0;
+ l.marginLeft = 0;
+ l.marginRight = 0;
+ l.marginTop = 0;
+ l.marginWidth = 0;
+ l.verticalSpacing = 0;
+ nestedComposite.setLayout(l);
+
for (int i = 0; i < nested.length; i++) {
- Composite nestedComposite = toolkit.createComposite(constraintComposite);
-
- GridLayout l = new GridLayout();
- l.numColumns = 6;
- l.marginBottom = 0;
- l.marginHeight = 0;
- l.marginLeft = 0;
- l.marginRight = 0;
- l.marginTop = 0;
- l.marginWidth = 0;
- l.verticalSpacing = 0;
- nestedComposite.setLayout(l);
-
- GridData gd = new GridData(GridData.FILL_HORIZONTAL);
- gd.horizontalSpan = 3;
- nestedComposite.setLayoutData(gd);
-
renderFieldConstraints(nestedComposite, nested[i], i, false);
+ toolkit.paintBordersFor(nestedComposite);
}
}else{
- toolkit.createLabel(constraintComposite, ""); // dummy
- toolkit.createLabel(constraintComposite, ""); // dummy
- toolkit.createLabel(constraintComposite, ""); // dummy
+ toolkit.createLabel(constraintComposite, "1"); // dummy
+ toolkit.createLabel(constraintComposite, "2"); // dummy
+ toolkit.createLabel(constraintComposite, "3"); // dummy
+ toolkit.createLabel(constraintComposite, "4"); // dummy
+ toolkit.createLabel(constraintComposite, "5"); // dummy
}
-
- //button "delete"
- ImageHyperlink delLink = addImage(constraintComposite,
- "icons/delete_item_small.gif");
-
- final int currectRow = row;
-
- delLink.addHyperlinkListener(new IHyperlinkListener() {
- public void linkActivated(HyperlinkEvent e) {
- MessageBox dialog = new MessageBox(Display.getCurrent()
- .getActiveShell(), SWT.YES | SWT.NO | SWT.ICON_WARNING);
- dialog.setMessage("Remove this (nested) restriction.");
- dialog.setText("Remove this item from nested constraint?");
- if (dialog.open() == SWT.YES) {
- pattern.removeConstraint(currectRow);
- getModeller().reloadLhs();
- getModeller().setDirty(true);
- }
- }
-
- public void linkEntered(HyperlinkEvent e) {
- }
-
- public void linkExited(HyperlinkEvent e) {
- }
- });
- toolkit.createLabel(constraintComposite, ""); // dummy
}
private void renderSingleFieldConstraint(Composite constraintComposite,
@@ -274,8 +273,9 @@
toolkit.createLabel(parent, ""); // dummy
toolkit.createLabel(parent, ""); // dummy
- // toolkit.createLabel(parent, ""); // dummy
+ //toolkit.createLabel(parent, ""); // dummy
+
ConnectiveConstraint con = c.connectives[i];
addRemoveConstraintAction(parent, c, con);
connectiveOperatorDropDown(parent, con, c.fieldName);
@@ -395,7 +395,9 @@
box.select(i);
}
}
- box.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 3;
+ box.setLayoutData(gridData);
box.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
c.operator = HumanReadable.getOperatorName(box.getText());
@@ -417,7 +419,9 @@
box.select(i);
}
}
- box.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
+ gridData.horizontalSpan = 3;
+ box.setLayoutData(gridData);
box.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
con.operator = HumanReadable.getOperatorName(box.getText());
@@ -459,7 +463,8 @@
GridData.FILL_HORIZONTAL));
break;
case SingleFieldConstraint.TYPE_VARIABLE:
- variableEditor(parent, c);
+ variableEditor(parent, c, new GridData(
+ GridData.FILL_HORIZONTAL));
break;
default:
break;
@@ -468,11 +473,13 @@
}
private void variableEditor(Composite composite,
- final ISingleFieldConstraint c) {
+ final ISingleFieldConstraint c, GridData gd) {
List vars = getModeller().getModel().getBoundVariablesInScope(c);
final Combo combo = new Combo(composite, SWT.READ_ONLY);
+ gd.horizontalSpan = 1;
+ combo.setLayoutData(gd);
if (c.value == null) {
combo.add("Choose ...");
}
@@ -521,6 +528,7 @@
box.setText(c.value);
}
+ gd.horizontalSpan = 1;
box.setLayoutData(gd);
box.addModifyListener(new ModifyListener() {
More information about the jboss-svn-commits
mailing list