[jboss-svn-commits] JBL Code SVN: r26539 - labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/dsl/editor.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu May 14 11:47:21 EDT 2009


Author: KrisVerlaenen
Date: 2009-05-14 11:47:21 -0400 (Thu, 14 May 2009)
New Revision: 26539

Modified:
   labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor2.java
   labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLRuleViewer.java
Log:
JBRULES-2001: DRL-Viewer does not keep position if refocused
 - remembering top line of DRL editor

Modified: labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor2.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor2.java	2009-05-14 14:46:12 UTC (rev 26538)
+++ labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/dsl/editor/DSLRuleEditor2.java	2009-05-14 15:47:21 UTC (rev 26539)
@@ -24,6 +24,8 @@
 
 	private DSLRuleEditor dslRuleEditor;
 	private DSLtoDRLRuleViewer drlRuleViewer;
+	// cached view region of drl viewer so it can be restored after switching tabs
+	private int selection;
 
 	public void init(IEditorSite site, IEditorInput input) throws PartInitException {
 		super.init(site, input);
@@ -86,11 +88,15 @@
 	            expander.expand(content);
 	            // if translation succeeds, change to drl viewer
 				drlRuleViewer.setInput(getEditorInput());
+				drlRuleViewer.setSelectedRange(selection);
 	        } catch (Throwable t) {
+	        	t.printStackTrace();
 	        	// if translation fails, show error and go to first page
 	        	handleError(t);
 	        	setActivePage(0);
 	        }
+		} else if (getActivePage() == 0) {
+			selection = drlRuleViewer.getSelectedRange();
 		}
 		super.setFocus();
 	}

Modified: labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLRuleViewer.java
===================================================================
--- labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLRuleViewer.java	2009-05-14 14:46:12 UTC (rev 26538)
+++ labs/jbossrules/trunk/drools-eclipse/org.drools.eclipse/src/main/java/org/drools/eclipse/dsl/editor/DSLtoDRLRuleViewer.java	2009-05-14 15:47:21 UTC (rev 26539)
@@ -38,6 +38,14 @@
 		ErrorDialog.openError(getSite().getShell(),
 				"DSL Rule Translation Error!", "DSL Rule Translation Error!",
 				status);
+	}
+	
+	public int getSelectedRange() {
+		return getSourceViewer().getTopIndex();
+	}
+	
+	public void setSelectedRange(int index) {
+		getSourceViewer().setTopIndex(index);
+	}
 
-	}
 }




More information about the jboss-svn-commits mailing list