[jboss-svn-commits] JBL Code SVN: r14012 - in labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse: rulebuilder/editors and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Aug 3 16:19:23 EDT 2007
Author: ahtik
Date: 2007-08-03 16:19:23 -0400 (Fri, 03 Aug 2007)
New Revision: 14012
Modified:
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLDocumentProvider.java
labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/RuleEditor.java
Log:
Changed Guided Editor drl preview page from simple StyledText to DRLRuleEditor page. Works only in readonly mode as before.
Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLDocumentProvider.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLDocumentProvider.java 2007-08-03 18:39:41 UTC (rev 14011)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/editors/DRLDocumentProvider.java 2007-08-03 20:19:23 UTC (rev 14012)
@@ -17,7 +17,7 @@
public class DRLDocumentProvider extends TextFileDocumentProvider {
public IDocument getDocument(Object element) {
- IDocument document = super.getDocument(element);
+ IDocument document = getParentDocument(element);
if (document != null) {
IDocumentPartitioner partitioner =
new FastPartitioner(
@@ -32,4 +32,9 @@
protected IAnnotationModel createAnnotationModel(IFile file) {
return new DRLAnnotationModel(file);
}
+
+ protected IDocument getParentDocument(Object element) {
+ return super.getDocument(element);
+ }
+
}
Modified: labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/RuleEditor.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/RuleEditor.java 2007-08-03 18:39:41 UTC (rev 14011)
+++ labs/jbossrules/trunk/drools-eclipse/drools-eclipse-plugin/src/main/java/org/drools/eclipse/rulebuilder/editors/RuleEditor.java 2007-08-03 20:19:23 UTC (rev 14012)
@@ -17,6 +17,8 @@
import org.drools.compiler.DrlParser;
import org.drools.eclipse.DroolsEclipsePlugin;
import org.drools.eclipse.dsl.editor.DSLAdapter;
+import org.drools.eclipse.editors.DRLDocumentProvider;
+import org.drools.eclipse.editors.DRLRuleEditor;
import org.drools.eclipse.util.ProjectClassLoader;
import org.drools.lang.dsl.DSLMappingFile;
import org.eclipse.core.internal.resources.Container;
@@ -31,10 +33,8 @@
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jface.text.Document;
import org.eclipse.jface.text.IDocument;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyledText;
-import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorPart;
@@ -52,18 +52,18 @@
implements
IResourceChangeListener {
- private BrlPage guidedEditor;
+ private BrlPage guidedEditor;
private TextEditor xmlEditor = new TextEditor();
- private StyledText drlPreviewText;
-
private SuggestionCompletionEngine completion;
private SuggestionCompletionLoader loader;
private FileEditorInput packageEditorInput;
+ private final Document drlDocument;
+
private IResourceChangeListener packageFileTracker = new IResourceChangeListener() {
public void resourceChanged(IResourceChangeEvent event) {
@@ -84,6 +84,7 @@
ResourcesPlugin.getWorkspace().addResourceChangeListener( this );
ResourcesPlugin.getWorkspace().addResourceChangeListener( packageFileTracker,
IResourceChangeEvent.POST_CHANGE );
+ drlDocument = new Document();
}
@@ -99,8 +100,28 @@
addPage( xmlEditor,
getEditorInput() );
- addPage( initializePreviewDRLText() );
+ DRLRuleEditor drlEditor = new DRLRuleEditor() {
+ protected IDocumentProvider createDocumentProvider() {
+ return new DRLDocumentProvider() {
+ public boolean isReadOnly(Object element) {
+ return true;
+ }
+ public boolean isModifiable(Object element) {
+ return false;
+ }
+
+ protected IDocument getParentDocument(Object element) {
+ return drlDocument;
+ }
+ };
+ }
+
+ };
+
+ addPage( drlEditor,
+ xmlEditor.getEditorInput() );
+
IPath packagePath = getCurrentDirectoryPath( getEditorInput() ).append( "rule.package" );
IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile( packagePath );
@@ -135,8 +156,8 @@
setPageText( 2,
"Generated DRL (read-only)" );
- updateName(false);
-
+ updateName( false );
+
} catch ( PartInitException e ) {
e.printStackTrace();
}
@@ -145,31 +166,22 @@
private void updateName(boolean forced) {
String name = xmlEditor.getTitle();
setPartName( name );
-
+
//TODO Add support for other than .brl extensions
- if (guidedEditor.getModeller()!=null && guidedEditor.getModeller().getModel()!=null && (guidedEditor.getModeller().getModel().name==null || forced)) {
- String shortName = name.substring( 0, name.length()-".brl".length() );
- guidedEditor.getModeller().getModel().name=shortName;
+ if ( guidedEditor.getModeller() != null && guidedEditor.getModeller().getModel() != null && (guidedEditor.getModeller().getModel().name == null || forced) ) {
+ String shortName = name.substring( 0,
+ name.length() - ".brl".length() );
+ guidedEditor.getModeller().getModel().name = shortName;
}
-
+
updateDRLPage();
-
+
}
private IPath getCurrentDirectoryPath(IEditorInput editorInput) {
return ((FileEditorInput) editorInput).getFile().getFullPath().removeLastSegments( 1 ).addTrailingSeparator();
}
- private Composite initializePreviewDRLText() {
-
- drlPreviewText = new StyledText( getContainer(),
- SWT.V_SCROLL | SWT.H_SCROLL );
- drlPreviewText.setEditable( false );
- drlPreviewText.setCaret( null );
-
- return drlPreviewText;
- }
-
private void reloadCompletionEngine() {
try {
@@ -251,7 +263,7 @@
if ( newModel ) {
guidedEditor.getModeller().setDirty( false );
}
- updateName(false);
+ updateName( false );
}
guidedEditor.refresh();
@@ -272,40 +284,42 @@
updateDRLPage();
- updateName(false);
+ updateName( false );
}
}
private void updateDRLPage() {
-
- String drl="";
+
+ String drl = "";
try {
drl = BRDRLPersistence.getInstance().marshal( guidedEditor.getRuleModel() );
-
+
IResource resource = ResourceUtil.getResource( xmlEditor.getEditorInput() );
-
- Reader reader = DSLAdapter.getDSLContent( drl, resource );
+
+ Reader reader = DSLAdapter.getDSLContent( drl,
+ resource );
DrlParser parser = new DrlParser();
- if (reader!=null) {
- drl = parser.getExpandedDRL( drl, reader );
+ if ( reader != null ) {
+ drl = parser.getExpandedDRL( drl,
+ reader );
}
} catch ( Throwable t ) {
StringWriter strwriter = new StringWriter();
t.printStackTrace( new PrintWriter( strwriter ) );
- drl = "\nPROBLEM WITH THE DRL CONVERSION!\n\n\nDRL:\n"+drl+"\n\nSTACKTRACE:\n"+strwriter.toString();
+ drl = "\nPROBLEM WITH THE DRL CONVERSION!\n\n\nDRL:\n" + drl + "\n\nSTACKTRACE:\n" + strwriter.toString();
}
- drlPreviewText.setText( drl );
+ drlDocument.set( drl );
}
public void doSave(IProgressMonitor monitor) {
IDocument document = getInputDocument();
- if (xmlEditor.isDirty()) {
+ if ( xmlEditor.isDirty() ) {
guidedEditor.setModelXML( document.get() );
} else if ( guidedEditor.isDirty() ) {
document.set( BRXMLPersistence.getInstance().marshal( guidedEditor.getRuleModel() ) );
@@ -316,7 +330,7 @@
guidedEditor.getModeller().setDirty( false );
guidedEditor.refresh();
-
+
}
private IDocument getInputDocument() {
@@ -329,11 +343,11 @@
public void doSaveAs() {
xmlEditor.doSaveAs();
guidedEditor.getModeller().setDirty( false );
- updateName(true);
+ updateName( true );
setInput( xmlEditor.getEditorInput() );
-
+
guidedEditor.refresh();
-
+
}
public boolean isSaveAsAllowed() {
More information about the jboss-svn-commits
mailing list