|
From: <caw...@us...> - 2007-03-16 13:26:36
|
Revision: 2190
http://svn.sourceforge.net/rubyeclipse/?rev=2190&view=rev
Author: cawilliams
Date: 2007-03-16 06:26:35 -0700 (Fri, 16 Mar 2007)
Log Message:
-----------
apply marcin naglik's patch for Ticket #239 (Evaluation Expressions settings not persisted)
Modified Paths:
--------------
trunk/org.rubypeople.rdt.debug.ui/src/org/rubypeople/rdt/internal/debug/ui/evaluation/EvaluationExpression.java
trunk/org.rubypeople.rdt.debug.ui/src/org/rubypeople/rdt/internal/debug/ui/evaluation/EvaluationExpressionReaderWriter.java
trunk/org.rubypeople.rdt.debug.ui/src/org/rubypeople/rdt/internal/debug/ui/preferences/EvaluationExpressionsPreferencePage.java
Modified: trunk/org.rubypeople.rdt.debug.ui/src/org/rubypeople/rdt/internal/debug/ui/evaluation/EvaluationExpression.java
===================================================================
--- trunk/org.rubypeople.rdt.debug.ui/src/org/rubypeople/rdt/internal/debug/ui/evaluation/EvaluationExpression.java 2007-03-16 13:23:28 UTC (rev 2189)
+++ trunk/org.rubypeople.rdt.debug.ui/src/org/rubypeople/rdt/internal/debug/ui/evaluation/EvaluationExpression.java 2007-03-16 13:26:35 UTC (rev 2190)
@@ -17,11 +17,13 @@
private String name ;
private String description;
private String expression;
-
- public EvaluationExpression(String name, String description, String expression) {
+ private boolean enabled;
+
+ public EvaluationExpression(String name, String description, String expression, boolean enabled) {
this.name = name ;
this.description = description ;
this.expression = expression ;
+ this.enabled = enabled ;
}
public String getDescription() {
return description;
@@ -45,13 +47,17 @@
public String substitute(String value) {
return this.expression.replaceAll(VARIABLE_TOKEN, value) ;
}
-
- public boolean hasVariable() {
+ public boolean isEnabled() {
+ return enabled;
+ }
+ public void setEnabled(boolean enabled) {
+ this.enabled = enabled;
+ }
+ public boolean hasVariable() {
return this.expression.indexOf(VARIABLE_TOKEN) != -1 ;
}
public Object clone() throws CloneNotSupportedException {
- return new EvaluationExpression(this.getName(), this.getDescription(), this.getExpression()) ;
+ return new EvaluationExpression(this.getName(), this.getDescription(), this.getExpression(), this.enabled) ;
}
-
}
Modified: trunk/org.rubypeople.rdt.debug.ui/src/org/rubypeople/rdt/internal/debug/ui/evaluation/EvaluationExpressionReaderWriter.java
===================================================================
--- trunk/org.rubypeople.rdt.debug.ui/src/org/rubypeople/rdt/internal/debug/ui/evaluation/EvaluationExpressionReaderWriter.java 2007-03-16 13:23:28 UTC (rev 2189)
+++ trunk/org.rubypeople.rdt.debug.ui/src/org/rubypeople/rdt/internal/debug/ui/evaluation/EvaluationExpressionReaderWriter.java 2007-03-16 13:26:35 UTC (rev 2190)
@@ -68,6 +68,7 @@
private static final String TEMPLATE_ELEMENT = "expression"; //$NON-NLS-1$
private static final String NAME_ATTRIBUTE = "name"; //$NON-NLS-1$
private static final String DESCRIPTION_ATTRIBUTE = "description"; //$NON-NLS-1$
+ private static final String ENABLED_ATTRIBUTE = "enabled"; //$NON-NLS-1$
/**
* Create a new instance.
@@ -134,13 +135,15 @@
String description = getStringValue(attributes, DESCRIPTION_ATTRIBUTE, ""); //$NON-NLS-1$
description = translateString(description, bundle);
+ String enabled = getStringValue(attributes, ENABLED_ATTRIBUTE, "false"); //$NON-NLS-1$
+
StringBuffer buffer = new StringBuffer();
NodeList children = node.getChildNodes();
for (int j = 0; j != children.getLength(); j++) {
String value = children.item(j).getNodeValue();
if (value != null) buffer.append(value);
}
- expressions.add(new EvaluationExpression(name, description, buffer.toString()));
+ expressions.add(new EvaluationExpression(name, description, buffer.toString(), new Boolean(enabled)));
}
return (EvaluationExpression[]) expressions.toArray(new EvaluationExpression[expressions.size()]);
@@ -221,6 +224,10 @@
description.setValue(evaluationExpression.getDescription());
attributes.setNamedItem(description);
+ Attr enabled = document.createAttribute(ENABLED_ATTRIBUTE);
+ enabled.setValue(String.valueOf(evaluationExpression.isEnabled()));
+ attributes.setNamedItem(enabled);
+
Text pattern = document.createTextNode(evaluationExpression.getExpression());
node.appendChild(pattern);
Modified: trunk/org.rubypeople.rdt.debug.ui/src/org/rubypeople/rdt/internal/debug/ui/preferences/EvaluationExpressionsPreferencePage.java
===================================================================
--- trunk/org.rubypeople.rdt.debug.ui/src/org/rubypeople/rdt/internal/debug/ui/preferences/EvaluationExpressionsPreferencePage.java 2007-03-16 13:23:28 UTC (rev 2189)
+++ trunk/org.rubypeople.rdt.debug.ui/src/org/rubypeople/rdt/internal/debug/ui/preferences/EvaluationExpressionsPreferencePage.java 2007-03-16 13:26:35 UTC (rev 2190)
@@ -41,7 +41,10 @@
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.preference.PreferencePage;
import org.eclipse.jface.text.templates.persistence.TemplateReaderWriter;
+import org.eclipse.jface.viewers.CheckStateChangedEvent;
+import org.eclipse.jface.viewers.CheckboxTableViewer;
import org.eclipse.jface.viewers.DoubleClickEvent;
+import org.eclipse.jface.viewers.ICheckStateListener;
import org.eclipse.jface.viewers.IDoubleClickListener;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.IStructuredContentProvider;
@@ -51,7 +54,6 @@
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.viewers.TableLayout;
-import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.window.Window;
import org.eclipse.swt.SWT;
@@ -203,7 +205,7 @@
}
- private TableViewer fTableViewer;
+ private CheckboxTableViewer fTableViewer;
/* buttons */
private Button fAddButton;
@@ -267,7 +269,7 @@
TableColumn column2 = new TableColumn(table, SWT.NONE);
column2.setText(RdtDebugUiMessages.EvaluationExpressionsPreferencePage_column_description);
- fTableViewer = new TableViewer(table);
+ fTableViewer = new CheckboxTableViewer(table);
fTableViewer.setLabelProvider(new EvaluationExpressionLabelProvider());
fTableViewer.setContentProvider(new EvaluationExpressionContentProvider());
@@ -285,6 +287,13 @@
}
});
+ fTableViewer.addCheckStateListener(new ICheckStateListener(){
+
+ public void checkStateChanged(CheckStateChangedEvent event) {
+ ((EvaluationExpression) event.getElement()).setEnabled(event.getChecked());
+ }
+ });
+
Composite buttons = new Composite(innerParent, SWT.NONE);
buttons.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING));
layout = new GridLayout();
@@ -345,7 +354,7 @@
});
fTableViewer.setInput(fModel);
-
+ setEnabledExpresions(fTableViewer);
updateButtons();
configureTableResizing(innerParent, buttons, table, column1, column2);
@@ -354,6 +363,18 @@
}
/**
+ * Sets the list checkboxes to proper state
+ *
+ * @param viewer checkbox viewer
+ */
+ private void setEnabledExpresions(CheckboxTableViewer viewer) {
+ for(Object o : fModel.getExpressionsAsArray()) {
+ EvaluationExpression expr = (EvaluationExpression)o;
+ viewer.setChecked(o, expr.isEnabled());
+ }
+ }
+
+ /**
* Creates a separator between buttons
*
* @param parent
@@ -438,7 +459,7 @@
private void add() {
- EvaluationExpression evalExpression = new EvaluationExpression("", "", "");
+ EvaluationExpression evalExpression = new EvaluationExpression("", "", "", false);
String title = RdtDebugUiMessages.EditEvaluationExpressionDialog_add;
Dialog dialog = new EditEvaluationExpressionDialog(getShell(), title, evalExpression);
if (dialog.open() == Window.OK) {
@@ -512,7 +533,7 @@
File file = new File(path);
if (file.isHidden()) {
- String title = RdtDebugUiMessages.EvaluationExpressionsPreferencePage_export_error_title;
+ String title = RdtDebugUiMessages.EvaluationExpressionsPreferencePage_export_error_title;
String message = RdtDebugUiMessages.getFormattedString(RdtDebugUiMessages.EvaluationExpressionsPreferencePage_export_error_hidden, file.getAbsolutePath());
MessageDialog.openError(getShell(), title, message);
return;
@@ -582,7 +603,7 @@
return super.performCancel();
}
- protected TableViewer getTableViewer() {
+ protected CheckboxTableViewer getTableViewer() {
return fTableViewer;
}
}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|