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"/> <viewShortcut id="org.eclipse.cdt.debug.ui.memory.memorybrowser.MemoryBrowser"/>
</perspectiveExtension> </perspectiveExtension>
</extension> </extension>
<extension
point="org.eclipse.core.runtime.preferences">
<initializer class="org.eclipse.cdt.debug.ui.memory.memorybrowser.MemoryBrowserPreferenceInitializer"/>
</extension>
</plugin> </plugin>

View file

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