[jboss-svn-commits] JBL Code SVN: r12320 - 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
Mon Jun 4 16:05:30 EDT 2007


Author: arhan
Date: 2007-06-04 16:05:30 -0400 (Mon, 04 Jun 2007)
New Revision: 12320

Modified:
   labs/jbossrules/trunk/drools-eclipse/drools-guided-editor-plugin/src/org/drools/eclipse/rulebuilder/ui/AddNewConditionDialog.java
Log:
DSLSentence support

Modified: labs/jbossrules/trunk/drools-eclipse/drools-guided-editor-plugin/src/org/drools/eclipse/rulebuilder/ui/AddNewConditionDialog.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-guided-editor-plugin/src/org/drools/eclipse/rulebuilder/ui/AddNewConditionDialog.java	2007-06-04 19:40:16 UTC (rev 12319)
+++ labs/jbossrules/trunk/drools-eclipse/drools-guided-editor-plugin/src/org/drools/eclipse/rulebuilder/ui/AddNewConditionDialog.java	2007-06-04 20:05:30 UTC (rev 12320)
@@ -2,6 +2,7 @@
 
 import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
 import org.drools.brms.client.modeldriven.brxml.CompositeFactPattern;
+import org.drools.brms.client.modeldriven.brxml.DSLSentence;
 import org.drools.brms.client.modeldriven.brxml.FactPattern;
 import org.drools.brms.client.modeldriven.brxml.IPattern;
 import org.eclipse.swt.SWT;
@@ -23,91 +24,129 @@
  */
 public class AddNewConditionDialog extends RuleDialog {
 
-    private final FormToolkit toolkit;
+	private final FormToolkit toolkit;
 
-    private IPattern          pattern;
+	private IPattern pattern;
 
-    private RuleModeller      modeller;
+	private RuleModeller modeller;
 
-    public AddNewConditionDialog(Shell parent,
-                                 FormToolkit toolkit,
-                                 RuleModeller modeller) {
+	public AddNewConditionDialog(Shell parent, FormToolkit toolkit,
+			RuleModeller modeller) {
 
-        super( parent,
-               "Add new condition to the rule",
-               "Pick the values from combos and confirm the selection." );
+		super(parent, "Add new condition to the rule",
+				"Pick the values from combos and confirm the selection.");
 
-        this.toolkit = toolkit;
-        this.modeller = modeller;
-    }
+		this.toolkit = toolkit;
+		this.modeller = modeller;
+	}
 
-    protected Control createDialogArea(final Composite parent) {
-        Control dialog = super.createDialogArea( parent );
+	protected Control createDialogArea(final Composite parent) {
+		Control dialog = super.createDialogArea(parent);
 
-        Composite composite = (Composite) dialog;
+		Composite composite = (Composite) dialog;
 
-        toolkit.createLabel( composite,
-                             "Fact" );
+		addFacts(composite);
 
-        String[] factTypes = getCompletion().getFactTypes();
-        final Combo factsCombo = new Combo( composite,
-                                            SWT.READ_ONLY );
-        factsCombo.add( "Choose fact type..." );
-        for ( int i = 0; i < factTypes.length; i++ ) {
-            factsCombo.add( factTypes[i] );
-        }
-        factsCombo.select( 0 );
+		addConditionType(composite);
 
-        factsCombo.addListener( SWT.Selection,
-                                new Listener() {
-                                    public void handleEvent(Event event) {
-                                    	if ( factsCombo.getSelectionIndex() == 0 ) {
-                                            return;
-                                        }
-                                        modeller.getModel().addLhsItem( new FactPattern( factsCombo.getText() ) );
-                                        modeller.reloadLhs();
-                                        modeller.setDirty( true );
-                                        close();
-                                    }
-                                } );
+		addDSLSentences(composite);
 
-        toolkit.createLabel( composite,
-                             "Condition type" );
+		return composite;
+	}
 
-        final Combo conditionalsCombo = new Combo( composite,
-                                                   SWT.READ_ONLY );
-        String[] conditionalElements = getCompletion().getConditionalElements();
-        conditionalsCombo.add( "Choose condition type..." );
-        for ( int i = 0; i < conditionalElements.length; i++ ) {
-            conditionalsCombo.add( conditionalElements[i] );
-        }
-        conditionalsCombo.select( 0 );
+	private void addFacts(Composite composite) {
+		toolkit.createLabel(composite, "Fact");
 
-        conditionalsCombo.addListener( SWT.Selection,
-                                       new Listener() {
-                                           public void handleEvent(Event event) {
-                                               if ( conditionalsCombo.getSelectionIndex() == 0 ) {
-                                                   return;
-                                               }
+		String[] factTypes = getCompletion().getFactTypes();
+		final Combo factsCombo = new Combo(composite, SWT.READ_ONLY);
+		factsCombo.add("Choose fact type...");
+		for (int i = 0; i < factTypes.length; i++) {
+			factsCombo.add(factTypes[i]);
+		}
+		factsCombo.select(0);
 
-                                               modeller.getModel().addLhsItem( new CompositeFactPattern( conditionalsCombo.getText() ) );
-                                               modeller.reloadLhs();
-                                               modeller.setDirty( true );
-                                               close();
-                                           }
-                                       } );
+		factsCombo.addListener(SWT.Selection, new Listener() {
+			public void handleEvent(Event event) {
+				if (factsCombo.getSelectionIndex() == 0) {
+					return;
+				}
+				modeller.getModel().addLhsItem(
+						new FactPattern(factsCombo.getText()));
+				modeller.reloadLhs();
+				modeller.setDirty(true);
+				close();
+			}
+		});
+	}
 
-        //setBlockOnOpen( true );
+	private void addConditionType(Composite composite) {
+		toolkit.createLabel(composite, "Condition type");
 
-        return composite;
-    }
+		final Combo conditionalsCombo = new Combo(composite, SWT.READ_ONLY);
+		String[] conditionalElements = getCompletion().getConditionalElements();
+		conditionalsCombo.add("Choose condition type...");
+		for (int i = 0; i < conditionalElements.length; i++) {
+			conditionalsCombo.add(conditionalElements[i]);
+		}
+		conditionalsCombo.select(0);
 
-    public IPattern getPattern() {
-        return pattern;
-    }
+		conditionalsCombo.addListener(SWT.Selection, new Listener() {
+			public void handleEvent(Event event) {
+				if (conditionalsCombo.getSelectionIndex() == 0) {
+					return;
+				}
 
-    private SuggestionCompletionEngine getCompletion() {
-        return modeller.getSuggestionCompletionEngine();
-    }
+				modeller.getModel().addLhsItem(
+						new CompositeFactPattern(conditionalsCombo.getText()));
+				modeller.reloadLhs();
+				modeller.setDirty(true);
+				close();
+			}
+		});
+	}
 
+	
+	//
+	// The list of DSL sentences
+	//
+	private void addDSLSentences(Composite composite) {
+		if (getCompletion().getDSLConditions().length > 0) {
+			toolkit.createLabel(composite, "Condition sentences");
+			
+			final Combo dslCombo = new Combo(composite, SWT.READ_ONLY);
+			dslCombo.add("Choose...");
+
+			for (int i = 0; i < getCompletion().getDSLConditions().length; i++) {
+				DSLSentence sen = getCompletion().getDSLConditions()[i];
+				dslCombo.add(sen.toString());
+			}
+
+			dslCombo.addListener(SWT.Selection, new Listener() {
+				public void handleEvent(Event event) {
+					if (dslCombo.getSelectionIndex() == 0) {
+						return;
+					}
+
+					modeller.getModel()
+							.addLhsItem(
+									(DSLSentence) getCompletion()
+											.getDSLConditions()[dslCombo
+											.getSelectionIndex()]);
+					modeller.reloadLhs();
+					modeller.setDirty(true);
+					close();
+				}
+			});
+
+		}
+	}
+
+	public IPattern getPattern() {
+		return pattern;
+	}
+
+	private SuggestionCompletionEngine getCompletion() {
+		return modeller.getSuggestionCompletionEngine();
+	}
+
 }




More information about the jboss-svn-commits mailing list