[508255] added transparency prefernces for monitoring items
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=508255
Signed-off-by: Alois Zoitl <alois.zoitl@gmx.at>
diff --git a/plugins/org.eclipse.fordiac.ide.monitoring/src/org/eclipse/fordiac/ide/monitoring/editparts/MonitoringEditPart.java b/plugins/org.eclipse.fordiac.ide.monitoring/src/org/eclipse/fordiac/ide/monitoring/editparts/MonitoringEditPart.java
index 238e7a0..d6c7abb 100644
--- a/plugins/org.eclipse.fordiac.ide.monitoring/src/org/eclipse/fordiac/ide/monitoring/editparts/MonitoringEditPart.java
+++ b/plugins/org.eclipse.fordiac.ide.monitoring/src/org/eclipse/fordiac/ide/monitoring/editparts/MonitoringEditPart.java
@@ -25,6 +25,7 @@
import org.eclipse.fordiac.ide.model.monitoring.MonitoringElement;
import org.eclipse.fordiac.ide.monitoring.Activator;
import org.eclipse.fordiac.ide.monitoring.MonitoringManager;
+import org.eclipse.fordiac.ide.monitoring.preferences.PreferenceConstants;
import org.eclipse.fordiac.ide.util.imageprovider.FordiacImage;
import org.eclipse.fordiac.ide.util.preferences.PreferenceGetter;
import org.eclipse.gef.EditPolicy;
@@ -33,10 +34,39 @@
import org.eclipse.gef.commands.Command;
import org.eclipse.gef.editpolicies.DirectEditPolicy;
import org.eclipse.gef.requests.DirectEditRequest;
+import org.eclipse.jface.util.IPropertyChangeListener;
+import org.eclipse.jface.util.PropertyChangeEvent;
import org.eclipse.swt.widgets.Display;
public class MonitoringEditPart extends AbstractMonitoringBaseEditPart {
+
+ /** The property change listener. */
+ private final IPropertyChangeListener propertyChangeListener = new IPropertyChangeListener() {
+ @Override
+ public void propertyChange(PropertyChangeEvent event) {
+ if (event.getProperty().equals(PreferenceConstants.P_MONITORING_TRANSPARENCY)) {
+ ((SetableAlphaLabel)getFigure()).setAlpha(PreferenceConstants.getMonitoringTransparency());
+ }
+ }
+ };
+
+ @Override
+ public void activate() {
+ if (!isActive()) {
+ super.activate();
+ Activator.getDefault().getPreferenceStore().addPropertyChangeListener(propertyChangeListener);
+ }
+ }
+
+
+ @Override
+ public void deactivate() {
+ if (isActive()) {
+ super.deactivate();
+ Activator.getDefault().getPreferenceStore().removePropertyChangeListener(propertyChangeListener);
+ }
+ }
public boolean isEvent() {
@@ -56,9 +86,7 @@
protected void createEditPolicies() {
if(!isEvent()) {
//only allow direct edit if it is not an event, see Bug 510735 for details.
- installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE,
- new DirectEditPolicy(){
-
+ installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new DirectEditPolicy(){
@Override
protected Command getDirectEditCommand(DirectEditRequest request) {
String value = (String) request.getCellEditor().getValue();
@@ -73,10 +101,8 @@
MonitoringEditPart editPart = (MonitoringEditPart)getHost();
if (null != editPart) {
editPart.getNameLabel().setText(value);
- }
-
- }
-
+ }
+ }
});
}
}
@@ -108,7 +134,7 @@
l.setBorder(new MarginBorder(0, 5, 0, 5));
l.setText("N/A");
l.setMinimumSize(new Dimension(50, 1));
- l.setAlpha(190);
+ l.setAlpha(PreferenceConstants.getMonitoringTransparency());
return l;
}
diff --git a/plugins/org.eclipse.fordiac.ide.monitoring/src/org/eclipse/fordiac/ide/monitoring/preferences/MonitoringPreferences.java b/plugins/org.eclipse.fordiac.ide.monitoring/src/org/eclipse/fordiac/ide/monitoring/preferences/MonitoringPreferences.java
index 0136cc1..285438d 100644
--- a/plugins/org.eclipse.fordiac.ide.monitoring/src/org/eclipse/fordiac/ide/monitoring/preferences/MonitoringPreferences.java
+++ b/plugins/org.eclipse.fordiac.ide.monitoring/src/org/eclipse/fordiac/ide/monitoring/preferences/MonitoringPreferences.java
@@ -47,27 +47,28 @@
IntegerFieldEditor polling = new IntegerFieldEditor(
PreferenceConstants.P_POLLING_INTERVAL, "Polling interval in ms",
- getFieldEditorParent(), 300);
+ getFieldEditorParent(), PreferenceConstants.P_POLLING_INTERVAL_DEVAULT_VALUE);
polling.setValidRange(1, 60000);
addField(polling);
IntegerFieldEditor connectionTimeout = new IntegerFieldEditor(
PreferenceConstants.P_RESPONSE_TIMEOUT, "Response Timout in ms",
- getFieldEditorParent(), 3000);
+ getFieldEditorParent(), PreferenceConstants.P_RESPONSE_TIMEOUT_DEVAULT_VALUE);
connectionTimeout.setValidRange(1, 60000);
-
addField(connectionTimeout);
+
+
+ IntegerFieldEditor monitoringTransparency = new IntegerFieldEditor(
+ PreferenceConstants.P_MONITORING_TRANSPARENCY, "Monitoring indicator transparency level",
+ getFieldEditorParent(), PreferenceConstants.P_MONITORING_TRANSPARENCY_VALUE);
+ monitoringTransparency.setValidRange(100, 255);
+ addField(monitoringTransparency);
}
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)
- */
public void init(IWorkbench workbench) {
+ //nothing todo here
}
}
\ No newline at end of file
diff --git a/plugins/org.eclipse.fordiac.ide.monitoring/src/org/eclipse/fordiac/ide/monitoring/preferences/PreferenceConstants.java b/plugins/org.eclipse.fordiac.ide.monitoring/src/org/eclipse/fordiac/ide/monitoring/preferences/PreferenceConstants.java
index fb018cc..2e71191 100644
--- a/plugins/org.eclipse.fordiac.ide.monitoring/src/org/eclipse/fordiac/ide/monitoring/preferences/PreferenceConstants.java
+++ b/plugins/org.eclipse.fordiac.ide.monitoring/src/org/eclipse/fordiac/ide/monitoring/preferences/PreferenceConstants.java
@@ -23,13 +23,17 @@
public static final String P_FORCE_COLOR = "forceColor"; //$NON-NLS-1$
- static final String P_POLLING_INTERVAL = "pollingInterval"; //$NON-NLS-1$
+ public static final String P_POLLING_INTERVAL = "pollingInterval"; //$NON-NLS-1$
- static final int P_POLLING_INTERVAL_DEVAULT_VALUE = 300;
+ public static final int P_POLLING_INTERVAL_DEVAULT_VALUE = 300;
- static final String P_RESPONSE_TIMEOUT = "responseTimeout"; //$NON-NLS-1$
+ public static final String P_RESPONSE_TIMEOUT = "responseTimeout"; //$NON-NLS-1$
- static final int P_RESPONSE_TIMEOUT_DEVAULT_VALUE = 3000;
+ public static final int P_RESPONSE_TIMEOUT_DEVAULT_VALUE = 3000;
+
+ public static final String P_MONITORING_TRANSPARENCY = "monitoringTransparency"; //$NON-NLS-1$
+
+ public static final int P_MONITORING_TRANSPARENCY_VALUE = 190;
public static int getTimeOutValue(){
int timeout = Activator.getDefault().getPreferenceStore().getInt(PreferenceConstants.P_RESPONSE_TIMEOUT);
@@ -46,5 +50,13 @@
}
return timeout;
}
+
+ public static int getMonitoringTransparency(){
+ int transparency = Activator.getDefault().getPreferenceStore().getInt(PreferenceConstants.P_MONITORING_TRANSPARENCY);
+ if(0 == transparency){
+ transparency = P_MONITORING_TRANSPARENCY_VALUE;
+ }
+ return transparency;
+ }
}
diff --git a/plugins/org.eclipse.fordiac.ide.monitoring/src/org/eclipse/fordiac/ide/monitoring/preferences/PreferenceInitializer.java b/plugins/org.eclipse.fordiac.ide.monitoring/src/org/eclipse/fordiac/ide/monitoring/preferences/PreferenceInitializer.java
index ee8f41b..029e689 100644
--- a/plugins/org.eclipse.fordiac.ide.monitoring/src/org/eclipse/fordiac/ide/monitoring/preferences/PreferenceInitializer.java
+++ b/plugins/org.eclipse.fordiac.ide.monitoring/src/org/eclipse/fordiac/ide/monitoring/preferences/PreferenceInitializer.java
@@ -40,6 +40,7 @@
store.setDefault(PreferenceConstants.P_RESPONSE_TIMEOUT, PreferenceConstants.P_RESPONSE_TIMEOUT_DEVAULT_VALUE);
store.setDefault(PreferenceConstants.P_POLLING_INTERVAL, PreferenceConstants.P_POLLING_INTERVAL_DEVAULT_VALUE);
+ store.setDefault(PreferenceConstants.P_MONITORING_TRANSPARENCY, PreferenceConstants.P_MONITORING_TRANSPARENCY_VALUE);
}
}