public XLightBreakpointPropertiesPanel( Project project, XBreakpointManager breakpointManager, B breakpoint, boolean showAllOptions) { myBreakpoint = breakpoint; XBreakpointType<B, ?> breakpointType = XBreakpointUtil.getType(breakpoint); mySuspendPolicyPanel.init(project, breakpointManager, breakpoint); mySuspendPolicyPanel.setDelegate(this); mySubPanels.add(mySuspendPolicyPanel); myMasterBreakpointPanel.init(project, breakpointManager, breakpoint); mySubPanels.add(myMasterBreakpointPanel); XDebuggerEditorsProvider debuggerEditorsProvider = breakpointType.getEditorsProvider(breakpoint, project); myActionsPanel.init(project, breakpointManager, breakpoint, debuggerEditorsProvider); mySubPanels.add(myActionsPanel); if (debuggerEditorsProvider != null) { myConditionComboBox = new XDebuggerExpressionComboBox( project, debuggerEditorsProvider, "breakpointCondition", myBreakpoint.getSourcePosition()); JComponent conditionComponent = myConditionComboBox.getComponent(); myConditionExpressionPanel.add(conditionComponent, BorderLayout.CENTER); } else { myConditionPanel.setVisible(false); } myShowMoreOptions = false; for (XBreakpointPropertiesSubPanel<B> panel : mySubPanels) { if (panel.lightVariant(showAllOptions)) { myShowMoreOptions = true; } } myCustomPanels = new ArrayList<XBreakpointCustomPropertiesPanel<B>>(); XBreakpointCustomPropertiesPanel<B> customPropertiesPanel = breakpointType.createCustomPropertiesPanel(); if (customPropertiesPanel != null) { myCustomPropertiesPanelWrapper.add(customPropertiesPanel.getComponent(), BorderLayout.CENTER); myCustomPanels.add(customPropertiesPanel); } XBreakpointCustomPropertiesPanel<B> customConditionPanel = breakpointType.createCustomConditionsPanel(); if (customConditionPanel != null) { myCustomConditionsPanelWrapper.add(customConditionPanel.getComponent(), BorderLayout.CENTER); myCustomPanels.add(customConditionPanel); } myMainPanel.addFocusListener( new FocusAdapter() { @Override public void focusGained(FocusEvent event) { if (myConditionComboBox != null) { IdeFocusManager.findInstance() .requestFocus(myConditionComboBox.getComponent(), false); } } }); myEnabledCheckbox.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent event) { myBreakpoint.setEnabled(myEnabledCheckbox.isSelected()); } }); }
public void setDetailView(DetailView detailView) { myMasterBreakpointPanel.setDetailView(detailView); }