blob: 84f307f8b0e2d324fe62a182cb2b2a362941209b [file] [log] [blame]
package org.eclipse.dltk.ruby.internal.debug.ui;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.Preferences.IPropertyChangeListener;
import org.eclipse.core.runtime.Preferences.PropertyChangeEvent;
import org.eclipse.debug.core.model.IValue;
import org.eclipse.debug.core.model.IVariable;
import org.eclipse.debug.internal.ui.model.elements.VariableLabelProvider;
import org.eclipse.debug.internal.ui.viewers.model.provisional.IPresentationContext;
import org.eclipse.dltk.debug.core.model.IScriptVariable;
public class RubyVariableLabelProvider extends VariableLabelProvider implements
IPropertyChangeListener {
/**
* Map of view id to qualified name setting
*/
// private Map fQualifiedNameSettings = new HashMap();
// private boolean fQualifiedNames = false;
public RubyVariableLabelProvider() {
// JDIDebugUIPlugin.getDefault().getPluginPreferences().addPropertyChangeListener(this);
}
@Override
protected String getValueText(IVariable variable, IValue value,
IPresentationContext context) throws CoreException {
// if (value instanceof IJavaValue) {
// return
// escapeSpecialChars(fLabelProvider.getFormattedValueText((IJavaValue)
// value));
// }
return super.getValueText(variable, value, context);
}
@Override
protected String getValueTypeName(IVariable variable, IValue value,
IPresentationContext context) throws CoreException {
// String typeName=
// DebugUIMessages.JDIModelPresentation_unknown_type__2;
// try {
// typeName = value.getReferenceTypeName();
// if (!fQualifiedNames) {
// return fLabelProvider.removeQualifierFromGenericName(typeName);
// }
// } catch (DebugException e) {}
// return typeName;
return super.getVariableTypeName(variable, context);
}
@Override
protected String getVariableTypeName(IVariable variable,
IPresentationContext context) throws CoreException {
// String typeName=
// DebugUIMessages.JDIModelPresentation_unknown_type__2;
// try {
// typeName = variable.getReferenceTypeName();
// if (!fQualifiedNames) {
// return fLabelProvider.removeQualifierFromGenericName(typeName);
// }
// } catch (DebugException e) {}
// return typeName;
return super.getVariableTypeName(variable, context);
}
/**
* Returns if the the specified presentation context is showing qualified
* names or not
*
* @param context
* @return true if the presentation context is showing qualified names,
* false otherwise
*/
// private Boolean isShowQualfiiedNames(IPresentationContext context) {
// Boolean qualified = (Boolean) fQualifiedNameSettings.get(context.getId());
// if (qualified == null) {
// qualified =
// Boolean.valueOf(JDIDebugUIPlugin.getDefault().getPluginPreferences().getBoolean(context.getId()
// + '.' + IJDIPreferencesConstants.PREF_SHOW_QUALIFIED_NAMES));
// fQualifiedNameSettings.put(context.getId(), qualified);
// }
// return qualified;
// }
@Override
protected String getColumnText(IVariable variable, IValue value,
IPresentationContext context, String columnId) throws CoreException {
if (RubyVariableColumnPresentation.COLUMN_INSTANCE_ID.equals(columnId)) {
String key = ((IScriptVariable)variable).getId();
return key;
}
return super.getColumnText(variable, value, context, columnId);
}
public void propertyChange(PropertyChangeEvent event) {
// TODO Auto-generated method stub
}
/**
* Sets qualified name setting before building label
*/
// protected void retrieveLabel(ILabelUpdate update) throws CoreException {
// Boolean showQ = isShowQualfiiedNames(update.getPresentationContext());
// fQualifiedNames = showQ.booleanValue();
// fLabelProvider.setAttribute(JDIModelPresentation.DISPLAY_QUALIFIED_NAMES,
// showQ);
// super.retrieveLabel(update);
// }
/*
* (non-Javadoc)
*
* @see org.eclipse.core.runtime.Preferences$IPropertyChangeListener#propertyChange(org.eclipse.core.runtime.Preferences.PropertyChangeEvent)
*/
// public void propertyChange(PropertyChangeEvent event) {
// if
// (event.getProperty().endsWith(IJDIPreferencesConstants.PREF_SHOW_QUALIFIED_NAMES))
// {
// fQualifiedNameSettings.clear();
// }
// }
/*
* (non-Javadoc)
*
* @see org.eclipse.debug.internal.ui.model.elements.ElementLabelProvider#requiresUIJob(org.eclipse.debug.internal.ui.viewers.model.provisional.ILabelUpdate[])
*/
// protected boolean requiresUIJob(ILabelUpdate[] updates) {
// return !JDIModelPresentation.isInitialized();
// }
}