| /******************************************************************************* |
| * Copyright (c) 2005, 2016 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| ******************************************************************************/ |
| |
| package org.eclipse.dltk.ruby.basicdebugger.preferences; |
| |
| import org.eclipse.core.resources.IProject; |
| import org.eclipse.dltk.debug.ui.preferences.DebuggingEngineConfigOptionsBlock; |
| import org.eclipse.dltk.ruby.basicdebugger.RubyBasicDebuggerConstants; |
| import org.eclipse.dltk.ruby.basicdebugger.RubyBasicDebuggerPlugin; |
| import org.eclipse.dltk.ruby.core.RubyNature; |
| import org.eclipse.dltk.ui.preferences.AbstractConfigurationBlockPropertyAndPreferencePage; |
| import org.eclipse.dltk.ui.preferences.AbstractOptionsBlock; |
| import org.eclipse.dltk.ui.preferences.PreferenceKey; |
| import org.eclipse.dltk.ui.util.IStatusChangeListener; |
| import org.eclipse.swt.widgets.Composite; |
| import org.eclipse.ui.preferences.IWorkbenchPreferenceContainer; |
| |
| public class RubyBasicDebuggerPreferencePage extends |
| AbstractConfigurationBlockPropertyAndPreferencePage { |
| |
| private static PreferenceKey ENABLE_LOGGING = new PreferenceKey( |
| RubyBasicDebuggerPlugin.PLUGIN_ID, |
| RubyBasicDebuggerConstants.ENABLE_LOGGING); |
| |
| private static PreferenceKey LOG_FILE_PATH = new PreferenceKey( |
| RubyBasicDebuggerPlugin.PLUGIN_ID, |
| RubyBasicDebuggerConstants.LOG_FILE_PATH); |
| |
| private static PreferenceKey LOG_FILE_NAME = new PreferenceKey( |
| RubyBasicDebuggerPlugin.PLUGIN_ID, |
| RubyBasicDebuggerConstants.LOG_FILE_NAME); |
| |
| private static String PREFERENCE_PAGE_ID = "org.eclipse.dltk.ruby.preferences.debug.engines.basicdebugger"; //$NON-NLS-1$ |
| private static String PROPERTY_PAGE_ID = "org.eclipse.dltk.ruby.propertyPage.debug.engines.basicdebugger"; //$NON-NLS-1$ |
| |
| @Override |
| protected AbstractOptionsBlock createOptionsBlock( |
| IStatusChangeListener newStatusChangedListener, IProject project, |
| IWorkbenchPreferenceContainer container) { |
| return new DebuggingEngineConfigOptionsBlock(newStatusChangedListener, |
| project, new PreferenceKey[] { ENABLE_LOGGING, LOG_FILE_PATH, |
| LOG_FILE_NAME }, container) { |
| |
| @Override |
| protected void createEngineBlock(Composite composite) { |
| // no engine preferences, yet... |
| } |
| |
| @Override |
| protected PreferenceKey getEnableLoggingPreferenceKey() { |
| return ENABLE_LOGGING; |
| } |
| |
| @Override |
| protected PreferenceKey getLogFileNamePreferenceKey() { |
| return LOG_FILE_NAME; |
| } |
| |
| @Override |
| protected PreferenceKey getLogFilePathPreferenceKey() { |
| return LOG_FILE_PATH; |
| } |
| }; |
| } |
| |
| @Override |
| protected String getHelpId() { |
| return null; |
| } |
| |
| @Override |
| protected String getNatureId() { |
| return RubyNature.NATURE_ID; |
| } |
| |
| @Override |
| protected String getPreferencePageId() { |
| return PREFERENCE_PAGE_ID; |
| } |
| |
| @Override |
| protected String getProjectHelpId() { |
| // TODO Auto-generated method stub |
| return null; |
| } |
| |
| @Override |
| protected String getPropertyPageId() { |
| return PROPERTY_PAGE_ID; |
| } |
| |
| @Override |
| protected void setDescription() { |
| setDescription(PreferenceMessages.PreferencesDescription); |
| } |
| |
| @Override |
| protected void setPreferenceStore() { |
| setPreferenceStore(RubyBasicDebuggerPlugin.getDefault() |
| .getPreferenceStore()); |
| } |
| } |