[jboss-svn-commits] JBL Code SVN: r12600 - 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
Thu Jun 14 18:11:44 EDT 2007
Author: arhan
Date: 2007-06-14 18:11:44 -0400 (Thu, 14 Jun 2007)
New Revision: 12600
Modified:
labs/jbossrules/trunk/drools-eclipse/drools-guided-editor-plugin/src/org/drools/eclipse/rulebuilder/ui/FactPatternWidget.java
Log:
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-14 21:55:56 UTC (rev 12599)
+++ labs/jbossrules/trunk/drools-eclipse/drools-guided-editor-plugin/src/org/drools/eclipse/rulebuilder/ui/FactPatternWidget.java 2007-06-14 22:11:44 UTC (rev 12600)
@@ -74,7 +74,12 @@
GridLayout constraintLayout = new GridLayout();
constraintLayout.numColumns = 6;
constraintComposite.setLayout(constraintLayout);
- renderFieldConstraints(constraintComposite, true);
+
+ for (int row = 0; row < pattern.getFieldConstraints().length; row++) {
+ renderFieldConstraints(constraintComposite, pattern
+ .getFieldConstraints()[row], row, true);
+ }
+
toolkit.paintBordersFor(constraintComposite);
}
@@ -95,7 +100,8 @@
public void linkExited(HyperlinkEvent e) {
}
});
- link.setToolTipText("Add a field to this condition, or bind a varible to this fact.");
+ link
+ .setToolTipText("Add a field to this condition, or bind a varible to this fact.");
}
private void addDeleteAction() {
@@ -130,16 +136,51 @@
delWholeLink.setToolTipText("Remove this condition.");
}
- private void renderFieldConstraints(Composite constraintComposite, boolean showBinding) {
- for (int row = 0; row < pattern.getFieldConstraints().length; row++) {
- FieldConstraint constraint = pattern.getFieldConstraints()[row];
+ private void renderFieldConstraints(Composite constraintComposite,
+ FieldConstraint constraint, int row, boolean showBinding) {
+ if (constraint instanceof SingleFieldConstraint) {
+ renderSingleFieldConstraint(constraintComposite, row, constraint,
+ showBinding);
+ } else if (constraint instanceof CompositeFieldConstraint) {
+ compositeFieldConstraintEditor(constraintComposite,
+ (CompositeFieldConstraint) constraint);
+ }
- if (constraint instanceof SingleFieldConstraint) {
- renderSingleFieldConstraint(constraintComposite, row, constraint, showBinding);
- } else if (constraint instanceof CompositeFieldConstraint) {
- //TODO:
- // compositeFieldConstraintEditor
+ }
+
+ private void compositeFieldConstraintEditor(Composite constraintComposite,
+ CompositeFieldConstraint constraint) {
+ if (constraint.compositeJunctionType
+ .equals(CompositeFieldConstraint.COMPOSITE_TYPE_AND)) {
+ toolkit.createLabel(constraintComposite, "All of:");
+ } else {
+ toolkit.createLabel(constraintComposite, "Any of:");
+ }
+
+ ImageHyperlink link = addImage(constraintComposite,
+ "icons/new_item.gif");
+ link.addHyperlinkListener(new IHyperlinkListener() {
+ public void linkActivated(HyperlinkEvent e) {
+ // TODO Auto-generated method stub
}
+
+ public void linkEntered(HyperlinkEvent e) {
+ // TODO Auto-generated method stub
+ }
+
+ public void linkExited(HyperlinkEvent e) {
+ // TODO Auto-generated method stub
+ }
+
+ });
+
+ FieldConstraint[] nested = constraint.constraints;
+ if (nested != null) {
+ //TODO: implement as a pop-up
+
+ for (int i = 0; i < nested.length; i++) {
+ //renderFieldConstraints(constraintComposite, nested[i], i, false);
+ }
}
}
@@ -147,14 +188,15 @@
int row, FieldConstraint constraint, boolean showBinding) {
final SingleFieldConstraint c = (SingleFieldConstraint) constraint;
if (c.constraintValueType != SingleFieldConstraint.TYPE_PREDICATE) {
- createConstraintRow(constraintComposite, row, c);
+ createConstraintRow(constraintComposite, row, c, showBinding);
} else {
createPredicateConstraintRow(constraintComposite, row, c);
}
}
private void createConstraintRow(Composite constraintComposite, int row,
- final SingleFieldConstraint c) {
+ final SingleFieldConstraint c, boolean showBinding) { // TODO: use
+ // showBinding
toolkit.createLabel(constraintComposite, c.fieldName);
if (c.connectives == null || c.connectives.length == 0) {
addRemoveFieldAction(constraintComposite, row);
@@ -290,7 +332,8 @@
return pattern.factType;
}
- private void operatorDropDown(Composite parent, final SingleFieldConstraint c) {
+ private void operatorDropDown(Composite parent,
+ final SingleFieldConstraint c) {
String[] ops = getCompletions().getOperatorCompletions(
pattern.factType, c.fieldName);
final Combo box = new Combo(parent, SWT.SIMPLE | SWT.DROP_DOWN
@@ -334,7 +377,8 @@
}
// from org.drools.brms.client.modeldriven.ui.ConstraintValueEditor
- private void constraintValueEditor(final Composite parent, final ISingleFieldConstraint c) {
+ private void constraintValueEditor(final Composite parent,
+ final ISingleFieldConstraint c) {
if (c.constraintValueType == SingleFieldConstraint.TYPE_UNDEFINED) {
ImageHyperlink link = addImage(parent, "icons/edit.gif");
link.setToolTipText("Choose value editor type");
@@ -356,11 +400,13 @@
} else {
switch (c.constraintValueType) {
case SingleFieldConstraint.TYPE_LITERAL:
- literalValueEditor(parent, c, new GridData(GridData.FILL_HORIZONTAL));
+ literalValueEditor(parent, c, new GridData(
+ GridData.FILL_HORIZONTAL));
break;
case SingleFieldConstraint.TYPE_RET_VALUE:
addImage(parent, "icons/function_assets.gif");
- formulaValueEditor(parent, c, new GridData(GridData.FILL_HORIZONTAL));
+ formulaValueEditor(parent, c, new GridData(
+ GridData.FILL_HORIZONTAL));
break;
case SingleFieldConstraint.TYPE_VARIABLE:
variableEditor(parent, c);
@@ -371,7 +417,8 @@
}
}
- private void variableEditor(Composite composite, final ISingleFieldConstraint c) {
+ private void variableEditor(Composite composite,
+ final ISingleFieldConstraint c) {
List vars = getModeller().getModel().getBoundVariablesInScope(c);
final Combo combo = new Combo(composite, SWT.READ_ONLY);
@@ -396,8 +443,8 @@
}
- private void literalValueEditor(Composite parent, final ISingleFieldConstraint c,
- GridData gd) {
+ private void literalValueEditor(Composite parent,
+ final ISingleFieldConstraint c, GridData gd) {
final Text box = toolkit.createText(parent, "");
if (c.value != null) {
@@ -415,8 +462,8 @@
});
}
- private void formulaValueEditor(Composite parent, final ISingleFieldConstraint c,
- GridData gd) {
+ private void formulaValueEditor(Composite parent,
+ final ISingleFieldConstraint c, GridData gd) {
final Text box = toolkit.createText(parent, "");
More information about the jboss-svn-commits
mailing list