mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
breakpoints ui. xbreakpoints properties panel
This commit is contained in:
@@ -123,7 +123,7 @@ public abstract class BreakpointFactory {
|
||||
|
||||
BreakpointPropertiesPanel breakpointPropertiesPanel = createBreakpointPropertiesPanel(breakpoint.getProject(), false);
|
||||
if (breakpointPropertiesPanel != null) {
|
||||
breakpointPropertiesPanel.initFrom(breakpoint, false);
|
||||
breakpointPropertiesPanel.initFrom(breakpoint, true);
|
||||
final JPanel mainPanel = breakpointPropertiesPanel.getPanel();
|
||||
panel.setDetailPanel(mainPanel);
|
||||
}
|
||||
|
||||
@@ -119,6 +119,11 @@ public class BookmarksAction extends AnAction implements DumbAware, MasterDetail
|
||||
return BookmarkManager.getInstance(project).hasBookmarksWithMnemonics();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean allowedToRemoveItem(ItemWrapper item) {
|
||||
return true;
|
||||
}
|
||||
|
||||
protected static class BookmarkInContextInfo {
|
||||
private final DataContext myDataContext;
|
||||
private final Project myProject;
|
||||
|
||||
@@ -188,23 +188,26 @@ public class MasterDetailPopupBuilder {
|
||||
for (Object value : values) {
|
||||
ItemWrapper item = (ItemWrapper)value;
|
||||
|
||||
DefaultListModel model = myList.getModel() instanceof DefaultListModel ? (DefaultListModel)myList.getModel() :
|
||||
(DefaultListModel)((FilteringListModel)myList.getModel()).getOriginalModel();
|
||||
model.removeElement(item);
|
||||
DefaultListModel model = myList.getModel() instanceof DefaultListModel
|
||||
? (DefaultListModel)myList.getModel()
|
||||
: (DefaultListModel)((FilteringListModel)myList.getModel()).getOriginalModel();
|
||||
if (myDelegate.allowedToRemoveItem(item)) {
|
||||
model.removeElement(item);
|
||||
|
||||
if (model.getSize() > 0) {
|
||||
if (model.getSize() == index) {
|
||||
myList.setSelectedIndex(model.getSize() - 1);
|
||||
if (model.getSize() > 0) {
|
||||
if (model.getSize() == index) {
|
||||
myList.setSelectedIndex(model.getSize() - 1);
|
||||
}
|
||||
else if (model.getSize() > index) {
|
||||
myList.setSelectedIndex(index);
|
||||
}
|
||||
}
|
||||
else if (model.getSize() > index) {
|
||||
myList.setSelectedIndex(index);
|
||||
else {
|
||||
myList.clearSelection();
|
||||
}
|
||||
}
|
||||
else {
|
||||
myList.clearSelection();
|
||||
myDelegate.itemRemoved(item, myProject);
|
||||
}
|
||||
|
||||
myDelegate.itemRemoved(item, myProject);
|
||||
}
|
||||
}
|
||||
else if (e.getModifiersEx() == 0) {
|
||||
@@ -238,6 +241,8 @@ public class MasterDetailPopupBuilder {
|
||||
void itemRemoved(ItemWrapper item, Project project);
|
||||
|
||||
boolean hasItemsWithMnemonic(Project project);
|
||||
|
||||
boolean allowedToRemoveItem(ItemWrapper item);
|
||||
}
|
||||
|
||||
public class ItemRenderer extends JPanel implements ListCellRenderer {
|
||||
|
||||
@@ -22,8 +22,8 @@ import com.intellij.xdebugger.XDebugSession;
|
||||
import com.intellij.xdebugger.XDebuggerManager;
|
||||
import com.intellij.xdebugger.impl.actions.*;
|
||||
import com.intellij.xdebugger.impl.actions.handlers.*;
|
||||
import com.intellij.xdebugger.impl.breakpoints.XBreakpointPanelProvider;
|
||||
import com.intellij.xdebugger.impl.breakpoints.ui.BreakpointPanelProvider;
|
||||
import com.intellij.xdebugger.impl.breakpoints.ui.XBreakpointPanelProvider;
|
||||
import com.intellij.xdebugger.impl.evaluate.quick.XQuickEvaluateHandler;
|
||||
import com.intellij.xdebugger.impl.evaluate.quick.common.QuickEvaluateHandler;
|
||||
import com.intellij.xdebugger.impl.settings.DebuggerSettingsPanelProvider;
|
||||
|
||||
+12
-1
@@ -13,7 +13,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.intellij.xdebugger.impl.breakpoints.ui;
|
||||
package com.intellij.xdebugger.impl.breakpoints;
|
||||
|
||||
import com.intellij.openapi.editor.LogicalPosition;
|
||||
import com.intellij.openapi.editor.markup.GutterIconRenderer;
|
||||
@@ -33,6 +33,10 @@ import com.intellij.xdebugger.breakpoints.ui.BreakpointItem;
|
||||
import com.intellij.xdebugger.impl.breakpoints.XBreakpointBase;
|
||||
import com.intellij.xdebugger.impl.breakpoints.XBreakpointUtil;
|
||||
import com.intellij.xdebugger.impl.breakpoints.XLineBreakpointImpl;
|
||||
import com.intellij.xdebugger.impl.breakpoints.ui.AbstractBreakpointPanel;
|
||||
import com.intellij.xdebugger.impl.breakpoints.ui.BreakpointPanelProvider;
|
||||
import com.intellij.xdebugger.impl.breakpoints.ui.XBreakpointPropertiesPanel;
|
||||
import com.intellij.xdebugger.impl.breakpoints.ui.XBreakpointsPanel;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -139,6 +143,13 @@ public class XBreakpointPanelProvider extends BreakpointPanelProvider<XBreakpoin
|
||||
if (sourcePosition != null) {
|
||||
panel.navigateInPreviewEditor(sourcePosition.getFile(), new LogicalPosition(sourcePosition.getLine(), sourcePosition.getOffset()));
|
||||
}
|
||||
|
||||
Project project = ((XBreakpointBase)breakpoint).getProject();
|
||||
|
||||
XBreakpointPropertiesPanel<XBreakpoint<?>> propertiesPanel =
|
||||
new XBreakpointPropertiesPanel<XBreakpoint<?>>(project, ((XBreakpointBase)breakpoint).getBreakpointManager(), breakpoint);
|
||||
|
||||
panel.setDetailPanel(propertiesPanel.getMainPanel());
|
||||
}
|
||||
};
|
||||
}
|
||||
+5
@@ -90,6 +90,11 @@ public class BreakpointsMasterDetailPopupFactory {
|
||||
public boolean hasItemsWithMnemonic(Project project) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean allowedToRemoveItem(ItemWrapper item) {
|
||||
return false;
|
||||
}
|
||||
}).createMasterDetailPopup();
|
||||
|
||||
return popup;
|
||||
|
||||
Reference in New Issue
Block a user