summaryrefslogtreecommitdiff
path: root/platform/xdebugger-api/src
diff options
context:
space:
mode:
Diffstat (limited to 'platform/xdebugger-api/src')
-rw-r--r--platform/xdebugger-api/src/com/intellij/xdebugger/XDebuggerBundle.java1
-rw-r--r--platform/xdebugger-api/src/com/intellij/xdebugger/breakpoints/XBreakpointType.java10
-rw-r--r--platform/xdebugger-api/src/com/intellij/xdebugger/evaluation/XDebuggerEvaluator.java3
-rw-r--r--platform/xdebugger-api/src/com/intellij/xdebugger/settings/XDebuggerSettings.java26
-rw-r--r--platform/xdebugger-api/src/com/intellij/xdebugger/settings/XDebuggerSettingsManager.java36
5 files changed, 69 insertions, 7 deletions
diff --git a/platform/xdebugger-api/src/com/intellij/xdebugger/XDebuggerBundle.java b/platform/xdebugger-api/src/com/intellij/xdebugger/XDebuggerBundle.java
index a9594ca27ba7..23a262c32654 100644
--- a/platform/xdebugger-api/src/com/intellij/xdebugger/XDebuggerBundle.java
+++ b/platform/xdebugger-api/src/com/intellij/xdebugger/XDebuggerBundle.java
@@ -29,7 +29,6 @@ import java.util.ResourceBundle;
* @author nik
*/
public class XDebuggerBundle {
-
public static String message(@NotNull @PropertyKey(resourceBundle = BUNDLE) String key, @NotNull Object... params) {
return CommonBundle.message(getBundle(), key, params);
}
diff --git a/platform/xdebugger-api/src/com/intellij/xdebugger/breakpoints/XBreakpointType.java b/platform/xdebugger-api/src/com/intellij/xdebugger/breakpoints/XBreakpointType.java
index a6857c67c8d8..4f9ff38d6583 100644
--- a/platform/xdebugger-api/src/com/intellij/xdebugger/breakpoints/XBreakpointType.java
+++ b/platform/xdebugger-api/src/com/intellij/xdebugger/breakpoints/XBreakpointType.java
@@ -103,6 +103,16 @@ public abstract class XBreakpointType<B extends XBreakpoint<P>, P extends XBreak
return AllIcons.Debugger.Db_disabled_breakpoint;
}
+ @NotNull
+ public Icon getMutedEnabledIcon() {
+ return AllIcons.Debugger.Db_muted_breakpoint;
+ }
+
+ @NotNull
+ public Icon getMutedDisabledIcon() {
+ return AllIcons.Debugger.Db_muted_disabled_breakpoint;
+ }
+
/**
* @return the icon which is shown for a dependent breakpoint until its master breakpoint is reached
*/
diff --git a/platform/xdebugger-api/src/com/intellij/xdebugger/evaluation/XDebuggerEvaluator.java b/platform/xdebugger-api/src/com/intellij/xdebugger/evaluation/XDebuggerEvaluator.java
index 3065a2e05dba..098501af7489 100644
--- a/platform/xdebugger-api/src/com/intellij/xdebugger/evaluation/XDebuggerEvaluator.java
+++ b/platform/xdebugger-api/src/com/intellij/xdebugger/evaluation/XDebuggerEvaluator.java
@@ -26,6 +26,7 @@ import com.intellij.xdebugger.breakpoints.XBreakpoint;
import com.intellij.xdebugger.frame.XSuspendContext;
import com.intellij.xdebugger.frame.XValue;
import com.intellij.xdebugger.frame.XValueCallback;
+import com.intellij.xdebugger.settings.XDebuggerSettingsManager;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -167,7 +168,7 @@ public abstract class XDebuggerEvaluator {
* @return delay before showing value tooltip (in ms)
*/
public int getValuePopupDelay() {
- return 700;
+ return XDebuggerSettingsManager.getInstance().getDataViewSettings().getValueLookupDelay();
}
public interface XEvaluationCallback extends XValueCallback {
diff --git a/platform/xdebugger-api/src/com/intellij/xdebugger/settings/XDebuggerSettings.java b/platform/xdebugger-api/src/com/intellij/xdebugger/settings/XDebuggerSettings.java
index e3b101d2cb9b..52049f76ae72 100644
--- a/platform/xdebugger-api/src/com/intellij/xdebugger/settings/XDebuggerSettings.java
+++ b/platform/xdebugger-api/src/com/intellij/xdebugger/settings/XDebuggerSettings.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2009 JetBrains s.r.o.
+ * Copyright 2000-2014 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -19,8 +19,9 @@ import com.intellij.openapi.components.PersistentStateComponent;
import com.intellij.openapi.extensions.ExtensionPointName;
import com.intellij.openapi.options.Configurable;
import com.intellij.xdebugger.XDebuggerUtil;
-import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.NonNls;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
/**
* Implement this class to provide settings page for debugger. Settings page will be placed under 'Debugger' node in the 'Settings' dialog.
@@ -29,11 +30,16 @@ import org.jetbrains.annotations.NonNls;
* &lt;extensions defaultExtensionNs="com.intellij"&gt;<br>
* &nbsp;&nbsp;&lt;xdebugger.settings implementation="qualified-class-name"/&gt;<br>
* &lt;/extensions&gt;
- *
+ *
* @author nik
*/
public abstract class XDebuggerSettings<T> implements PersistentStateComponent<T> {
+ public enum Category {
+ ROOT, DATA_VIEWS, STEPPING
+ }
+
public static final ExtensionPointName<XDebuggerSettings> EXTENSION_POINT = ExtensionPointName.create("com.intellij.xdebugger.settings");
+
private final String myId;
protected XDebuggerSettings(final @NotNull @NonNls String id) {
@@ -48,6 +54,16 @@ public abstract class XDebuggerSettings<T> implements PersistentStateComponent<T
return myId;
}
- @NotNull
- public abstract Configurable createConfigurable();
+ @Nullable
+ public Configurable createConfigurable() {
+ return null;
+ }
+
+ @Nullable
+ public Configurable createConfigurable(@NotNull Category category) {
+ return null;
+ }
+
+ public void generalApplied(@NotNull Category category) {
+ }
}
diff --git a/platform/xdebugger-api/src/com/intellij/xdebugger/settings/XDebuggerSettingsManager.java b/platform/xdebugger-api/src/com/intellij/xdebugger/settings/XDebuggerSettingsManager.java
new file mode 100644
index 000000000000..2fa473d93935
--- /dev/null
+++ b/platform/xdebugger-api/src/com/intellij/xdebugger/settings/XDebuggerSettingsManager.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2000-2014 JetBrains s.r.o.
+ *
+ * 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.intellij.xdebugger.settings;
+
+import com.intellij.openapi.components.ServiceManager;
+import org.jetbrains.annotations.NotNull;
+
+public abstract class XDebuggerSettingsManager {
+ public static XDebuggerSettingsManager getInstance() {
+ return ServiceManager.getService(XDebuggerSettingsManager.class);
+ }
+
+ public interface DataViewSettings {
+ boolean isSortValues();
+
+ boolean isAutoExpressions();
+
+ int getValueLookupDelay();
+ }
+
+ @NotNull
+ public abstract DataViewSettings getDataViewSettings();
+} \ No newline at end of file