1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-23 17:05:26 +02:00

Bugzilla 297269.

randy
This commit is contained in:
Randy Rohrbach 2010-01-19 17:21:03 +00:00
parent 5df49fc5d3
commit 5689e4da5d
3 changed files with 46 additions and 8 deletions

View file

@ -30,5 +30,8 @@
<viewShortcut id="org.eclipse.cdt.debug.ui.memory.memorybrowser.MemoryBrowser"/>
</perspectiveExtension>
</extension>
<extension
point="org.eclipse.core.runtime.preferences">
<initializer class="org.eclipse.cdt.debug.ui.memory.memorybrowser.MemoryBrowserPreferenceInitializer"/>
</extension>
</plugin>

View file

@ -55,6 +55,7 @@ import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.action.Separator;
import org.eclipse.jface.dialogs.IDialogConstants;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.resource.ColorRegistry;
import org.eclipse.jface.resource.JFaceResources;
import org.eclipse.jface.util.IPropertyChangeListener;
@ -126,6 +127,9 @@ public class MemoryBrowser extends ViewPart implements IDebugContextListener, IL
private final static String KEY_MEMORY_BLOCK = "MEMORY"; //$NON-NLS-1$
private final static String KEY_RETRIEVAL = "RETRIEVAL"; //$NON-NLS-1$
private final static String KEY_CONTAINER = "CONTAINER"; //$NON-NLS-1$
public static final String PREF_DEFAULT_RENDERING = "org.eclipse.cdt.debug.ui.memory.memorybrowser.defaultRendering"; //$NON-NLS-1$
public MemoryBrowser() {
}
@ -138,19 +142,25 @@ public class MemoryBrowser extends ViewPart implements IDebugContextListener, IL
public void createPartControl(Composite parent) {
// set default rendering type. use the traditional rendering if available. fallback on first registered type.
// this should eventually be configurable via a preference page.
boolean isTraditionalRenderingAvailable = false;
final String traditionalRenderingId = "org.eclipse.cdt.debug.ui.memory.traditional.TraditionalRendering"; //$NON-NLS-1$
boolean isDefaultRenderingAvailable = false;
IPreferenceStore store = MemoryBrowserPlugin.getDefault().getPreferenceStore();
String defaultRendering = store.getString(PREF_DEFAULT_RENDERING);
if(defaultRendering == null || defaultRendering.trim().length() == 0)
{
defaultRendering = "org.eclipse.cdt.debug.ui.memory.traditional.TraditionalRendering"; //$NON-NLS-1$
}
IMemoryRenderingType[] types = getRenderingTypes();
for(final IMemoryRenderingType type : types)
{
if(type.getId().equals(traditionalRenderingId))
if(type.getId().equals(defaultRendering))
{
isTraditionalRenderingAvailable = true;
isDefaultRenderingAvailable = true;
break;
}
}
if(isTraditionalRenderingAvailable)
defaultRenderingTypeId = traditionalRenderingId;
if(isDefaultRenderingAvailable)
defaultRenderingTypeId = defaultRendering;
else if(types.length > 0)
defaultRenderingTypeId = types[0].getId();
@ -581,9 +591,11 @@ public class MemoryBrowser extends ViewPart implements IDebugContextListener, IL
return defaultRenderingTypeId;
}
private void setDefaultRenderingTypeId(String id)
public void setDefaultRenderingTypeId(String id)
{
defaultRenderingTypeId = id;
IPreferenceStore store = MemoryBrowserPlugin.getDefault().getPreferenceStore();
store.setValue(PREF_DEFAULT_RENDERING, defaultRenderingTypeId);
}
private void populateTabWithRendering(final CTabItem tab, final IMemoryBlockRetrieval retrieval, Object context)

View file

@ -0,0 +1,23 @@
package org.eclipse.cdt.debug.ui.memory.memorybrowser;
import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
import org.eclipse.jface.preference.IPreferenceStore;
/**
* Class used to initialize default preference values.
*/
public class MemoryBrowserPreferenceInitializer extends AbstractPreferenceInitializer {
/*
* (non-Javadoc)
*
* @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
*/
public void initializeDefaultPreferences() {
IPreferenceStore store = MemoryBrowserPlugin.getDefault().getPreferenceStore();
// The following preferences should be kept in the store
store.setDefault(MemoryBrowser.PREF_DEFAULT_RENDERING, "");
}
}