aboutsummaryrefslogtreecommitdiff
path: root/eclipse/plugins/com.android.ide.eclipse.ddms/src/com/android/ide/eclipse/ddms/preferences/PreferencePage.java
diff options
context:
space:
mode:
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.ddms/src/com/android/ide/eclipse/ddms/preferences/PreferencePage.java')
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.ddms/src/com/android/ide/eclipse/ddms/preferences/PreferencePage.java152
1 files changed, 152 insertions, 0 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.ddms/src/com/android/ide/eclipse/ddms/preferences/PreferencePage.java b/eclipse/plugins/com.android.ide.eclipse.ddms/src/com/android/ide/eclipse/ddms/preferences/PreferencePage.java
new file mode 100644
index 000000000..56af601e5
--- /dev/null
+++ b/eclipse/plugins/com.android.ide.eclipse.ddms/src/com/android/ide/eclipse/ddms/preferences/PreferencePage.java
@@ -0,0 +1,152 @@
+/*
+ * Copyright (C) 2007 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.ide.eclipse.ddms.preferences;
+
+import com.android.ddmlib.DdmPreferences;
+import com.android.ddmlib.Log.LogLevel;
+import com.android.ide.eclipse.base.InstallDetails;
+import com.android.ide.eclipse.ddms.DdmsPlugin;
+import com.android.ide.eclipse.ddms.i18n.Messages;
+import com.android.ide.eclipse.ddms.views.DeviceView.HProfHandler;
+
+import org.eclipse.jface.preference.BooleanFieldEditor;
+import org.eclipse.jface.preference.ComboFieldEditor;
+import org.eclipse.jface.preference.FieldEditorPreferencePage;
+import org.eclipse.jface.preference.IntegerFieldEditor;
+import org.eclipse.jface.preference.RadioGroupFieldEditor;
+import org.eclipse.jface.preference.StringFieldEditor;
+import org.eclipse.jface.util.PropertyChangeEvent;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+
+public class PreferencePage extends FieldEditorPreferencePage implements
+ IWorkbenchPreferencePage {
+
+ private BooleanFieldEditor mUseAdbHost;
+ private StringFieldEditor mAdbHostValue;
+ private IntegerFieldEditor mProfilerBufsize;
+
+ public PreferencePage() {
+ super(GRID);
+ setPreferenceStore(DdmsPlugin.getDefault().getPreferenceStore());
+ }
+
+ /**
+ * Creates the field editors. Field editors are abstractions of the common
+ * GUI blocks needed to manipulate various types of preferences. Each field
+ * editor knows how to save and restore itself.
+ */
+ @Override
+ public void createFieldEditors() {
+ IntegerFieldEditor ife;
+
+ ife = new IntegerFieldEditor(PreferenceInitializer.ATTR_DEBUG_PORT_BASE,
+ Messages.PreferencePage_Base_Local_Debugger_Port, getFieldEditorParent());
+ ife.setValidRange(1024, 32767);
+ addField(ife);
+
+ BooleanFieldEditor bfe;
+
+ bfe = new BooleanFieldEditor(PreferenceInitializer.ATTR_DEFAULT_THREAD_UPDATE,
+ Messages.PreferencePage_Thread_Updates_Enabled_By_Default, getFieldEditorParent());
+ addField(bfe);
+
+ bfe = new BooleanFieldEditor(PreferenceInitializer.ATTR_DEFAULT_HEAP_UPDATE,
+ Messages.PreferencePage_Heap_Updates_Enabled_Default, getFieldEditorParent());
+ addField(bfe);
+
+ ife = new IntegerFieldEditor(PreferenceInitializer.ATTR_THREAD_INTERVAL,
+ Messages.PreferencePage_Thread_Status_Refresh_Interval, getFieldEditorParent());
+ ife.setValidRange(1, 60);
+ addField(ife);
+
+ if (InstallDetails.isAdtInstalled()) {
+ ComboFieldEditor cfe = new ComboFieldEditor(PreferenceInitializer.ATTR_HPROF_ACTION,
+ Messages.PreferencePage_HPROF_Action, new String[][] {
+ {
+ Messages.PreferencePage_Save_Disk, HProfHandler.ACTION_SAVE
+ },
+ {
+ Messages.PreferencePage_Open_Eclipse, HProfHandler.ACTION_OPEN
+ },
+ }, getFieldEditorParent());
+ addField(cfe);
+ }
+
+ mProfilerBufsize = new IntegerFieldEditor(PreferenceInitializer.ATTR_PROFILER_BUFSIZE_MB,
+ "Method Profiler buffer size (MB):",
+ getFieldEditorParent());
+ addField(mProfilerBufsize);
+
+ ife = new IntegerFieldEditor(PreferenceInitializer.ATTR_TIME_OUT,
+ Messages.PreferencePage_ADB_Connection_Time_Out, getFieldEditorParent());
+ addField(ife);
+
+ RadioGroupFieldEditor rgfe = new RadioGroupFieldEditor(
+ PreferenceInitializer.ATTR_LOG_LEVEL,
+ Messages.PreferencePage_Logging_Level, 1, new String[][] {
+ {
+ Messages.PreferencePage_Verbose, LogLevel.VERBOSE.getStringValue()
+ },
+ {
+ Messages.PreferencePage_Debug, LogLevel.DEBUG.getStringValue()
+ },
+ {
+ Messages.PreferencePage_Info, LogLevel.INFO.getStringValue()
+ },
+ {
+ Messages.PreferencePage_Warning, LogLevel.WARN.getStringValue()
+ },
+ {
+ Messages.PreferencePage_Error, LogLevel.ERROR.getStringValue()
+ },
+ {
+ Messages.PreferencePage_Assert, LogLevel.ASSERT.getStringValue()
+ }
+ },
+ getFieldEditorParent(), true);
+ addField(rgfe);
+ mUseAdbHost = new BooleanFieldEditor(PreferenceInitializer.ATTR_USE_ADBHOST,
+ Messages.PreferencePage_Use_Adbhost, getFieldEditorParent());
+ addField(mUseAdbHost);
+ mAdbHostValue = new StringFieldEditor(PreferenceInitializer.ATTR_ADBHOST_VALUE,
+ Messages.PreferencePage_Adbhost_value, getFieldEditorParent());
+ mAdbHostValue.setEnabled(getPreferenceStore()
+ .getBoolean(PreferenceInitializer.ATTR_USE_ADBHOST), getFieldEditorParent());
+ addField(mAdbHostValue);
+ }
+
+ @Override
+ public void init(IWorkbench workbench) {
+ }
+
+ @Override
+ public void propertyChange(PropertyChangeEvent event) {
+ if (event.getSource().equals(mUseAdbHost)) {
+ mAdbHostValue.setEnabled(mUseAdbHost.getBooleanValue(), getFieldEditorParent());
+ } else if (event.getSource().equals(mProfilerBufsize)) {
+ DdmPreferences.setProfilerBufferSizeMb(mProfilerBufsize.getIntValue());
+ }
+ super.propertyChange(event);
+ }
+
+ @Override
+ protected void performDefaults() {
+ super.performDefaults();
+ mAdbHostValue.setEnabled(mUseAdbHost.getBooleanValue(), getFieldEditorParent());
+ }
+}