@Nullable public LocalChangeList getSelectedList(Project project) { ChangeListManager manager = ChangeListManager.getInstance(project); if (myRbNew.isSelected()) { String newText = myNewListPanel.getChangeListName(); if (manager.findChangeList(newText) != null) { Messages.showErrorDialog( project, VcsBundle.message("changes.newchangelist.warning.already.exists.text", newText), VcsBundle.message("changes.newchangelist.warning.already.exists.title")); return null; } } final boolean existingSelected = myRbExisting.isSelected(); VcsConfiguration.getInstance(myProject).PRESELECT_EXISTING_CHANGELIST = existingSelected; if (existingSelected) { return (LocalChangeList) myExistingListsCombo.getSelectedItem(); } else { LocalChangeList changeList = manager.addChangeList( myNewListPanel.getChangeListName(), myNewListPanel.getDescription()); myNewListPanel.changelistCreatedOrChanged(changeList); if (myNewListPanel.getMakeActiveCheckBox().isSelected()) { manager.setDefaultChangeList(changeList); } VcsConfiguration.getInstance(project).MAKE_NEW_CHANGELIST_ACTIVE = myNewListPanel.getMakeActiveCheckBox().isSelected(); return changeList; } }
private void updateControlsEnabled() { myClassPackageChooser.setEnabled(myToPackageRadioButton.isSelected()); myInnerClassChooser.setEnabled(myMakeInnerClassOfRadioButton.isSelected()); UIUtil.setEnabled( myTargetPanel, isMoveToPackage() && getSourceRoots().length > 1 && !myTargetDirectoryFixed, true); validateButtons(); }
private void updateEnabledState() { myLabelEditor.setEnabled(myRbExpressionLabel.isSelected()); final boolean isChildrenExpression = myRbExpressionChildrenRenderer.isSelected(); myChildrenExpandedEditor.setEnabled(isChildrenExpression); myExpandedLabel.setEnabled(isChildrenExpression); myChildrenEditor.setEnabled(isChildrenExpression); myTable.setEnabled(myRbListChildrenRenderer.isSelected()); }
public MoveClassesOrPackagesDialog( Project project, boolean searchTextOccurences, PsiElement[] elementsToMove, final PsiElement initialTargetElement, MoveCallback moveCallback) { super(project, true); myElementsToMove = elementsToMove; myMoveCallback = moveCallback; myManager = PsiManager.getInstance(myProject); setTitle(MoveHandler.REFACTORING_NAME); mySearchTextOccurencesEnabled = searchTextOccurences; selectInitialCard(); init(); if (initialTargetElement instanceof PsiClass) { myMakeInnerClassOfRadioButton.setSelected(true); myInnerClassChooser.setText(((PsiClass) initialTargetElement).getQualifiedName()); ApplicationManager.getApplication() .invokeLater( new Runnable() { public void run() { myInnerClassChooser.requestFocus(); } }, ModalityState.stateForComponent(myMainPanel)); } else if (initialTargetElement instanceof PsiPackage) { myClassPackageChooser.setText(((PsiPackage) initialTargetElement).getQualifiedName()); } updateControlsEnabled(); myToPackageRadioButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { updateControlsEnabled(); myClassPackageChooser.requestFocus(); } }); myMakeInnerClassOfRadioButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { updateControlsEnabled(); myInnerClassChooser.requestFocus(); } }); }
public void reset() { final TextWithImports emptyExpressionFragment = new TextWithImportsImpl(CodeFragmentKind.EXPRESSION, ""); ((CardLayout) myMainPanel.getLayout()) .show(myMainPanel, myRenderer == null ? EMPTY_PANEL_ID : DATA_PANEL_ID); if (myRenderer == null) { return; } final String className = myRenderer.getClassName(); myClassNameField.setText(className); final ValueLabelRenderer labelRenderer = myRenderer.getLabelRenderer(); final ChildrenRenderer childrenRenderer = myRenderer.getChildrenRenderer(); final NodeRendererSettings rendererSettings = NodeRendererSettings.getInstance(); if (rendererSettings.isBase(labelRenderer)) { myRbDefaultLabel.setSelected(true); myLabelEditor.setText(emptyExpressionFragment); } else { myRbExpressionLabel.setSelected(true); myLabelEditor.setText(((LabelRenderer) labelRenderer).getLabelExpression()); } if (rendererSettings.isBase(childrenRenderer)) { myRbDefaultChildrenRenderer.setSelected(true); myChildrenEditor.setText(emptyExpressionFragment); myChildrenExpandedEditor.setText(emptyExpressionFragment); getTableModel().clear(); } else if (childrenRenderer instanceof ExpressionChildrenRenderer) { myRbExpressionChildrenRenderer.setSelected(true); final ExpressionChildrenRenderer exprRenderer = (ExpressionChildrenRenderer) childrenRenderer; myChildrenEditor.setText(exprRenderer.getChildrenExpression()); myChildrenExpandedEditor.setText(exprRenderer.getChildrenExpandable()); getTableModel().clear(); } else { myRbListChildrenRenderer.setSelected(true); myChildrenEditor.setText(emptyExpressionFragment); myChildrenExpandedEditor.setText(emptyExpressionFragment); if (childrenRenderer instanceof EnumerationChildrenRenderer) { getTableModel().init(((EnumerationChildrenRenderer) childrenRenderer).getChildren()); } else { getTableModel().clear(); } } updateEnabledState(); updateContext(className); }
public void setDefaultSelection(final ChangeList defaultSelection) { if (defaultSelection == null) { myExistingListsCombo.setSelectedIndex(0); } else { myExistingListsCombo.setSelectedItem(defaultSelection); } // if defaultSelection was predefined as null then it means we could not use existing is this // context if (defaultSelection != null && VcsConfiguration.getInstance(myProject).PRESELECT_EXISTING_CHANGELIST) { myRbExisting.setSelected(true); } else { myRbNew.setSelected(true); } updateEnabledItems(); }
private void flushDataTo(final CompoundReferenceRenderer renderer) { // label LabelRenderer labelRenderer = null; if (myRbExpressionLabel.isSelected()) { labelRenderer = new LabelRenderer(); labelRenderer.setLabelExpression(myLabelEditor.getText()); } renderer.setLabelRenderer(labelRenderer); // children ChildrenRenderer childrenRenderer = null; if (myRbExpressionChildrenRenderer.isSelected()) { childrenRenderer = new ExpressionChildrenRenderer(); ((ExpressionChildrenRenderer) childrenRenderer) .setChildrenExpression(myChildrenEditor.getText()); ((ExpressionChildrenRenderer) childrenRenderer) .setChildrenExpandable(myChildrenExpandedEditor.getText()); } else if (myRbListChildrenRenderer.isSelected()) { childrenRenderer = new EnumerationChildrenRenderer(getTableModel().getExpressions()); } renderer.setChildrenRenderer(childrenRenderer); // classname renderer.setClassName(myClassNameField.getText()); }
public ChangeListChooserPanel( final Project project, @NotNull final NullableConsumer<String> okEnabledListener) { super(new BorderLayout()); myProject = project; myOkEnabledListener = okEnabledListener; add(myPanel, BorderLayout.CENTER); myRbExisting.addItemListener( new ItemListener() { public void itemStateChanged(ItemEvent e) { updateEnabledItems(); } }); }
private void updateEnabledItems() { if (myRbExisting.isSelected()) { myExistingListsCombo.setEnabled(true); UIUtil.setEnabled(myNewListPanel, false, true); myExistingListsCombo.requestFocus(); } else { myExistingListsCombo.setEnabled(false); UIUtil.setEnabled(myNewListPanel, true, true); myNewListPanel.requestFocus(); } if (myProject != null) { myNewListPanel.nameChangedImpl(myProject, null); } }
public void init() { myExistingListsCombo.setRenderer( new ColoredListCellRendererWrapper() { private final IssueLinkRenderer myLinkRenderer = new IssueLinkRenderer(myProject, this); @Override protected void doCustomize( JList list, Object value, int index, boolean selected, boolean hasFocus) { if (value instanceof LocalChangeList) { String name = ((LocalChangeList) value).getName(); if (myExistingListsCombo.getWidth() == 0) { name = name.length() > 10 ? name.substring(0, 7) + " .." : name; } else { final FontMetrics fm = list.getFontMetrics(list.getFont()); final int width = fm.stringWidth(name); final int listWidth = myExistingListsCombo.getWidth(); if ((listWidth > 0) && (width > listWidth)) { final String truncated = CommittedChangeListRenderer.truncateDescription( name, fm, listWidth - fm.stringWidth(" ..") - 7); if (truncated.length() > 5) { name = truncated + " .."; } } } myLinkRenderer.appendTextWithLinks( name, ((LocalChangeList) value).isDefault() ? SimpleTextAttributes.REGULAR_BOLD_ATTRIBUTES : SimpleTextAttributes.REGULAR_ATTRIBUTES); } } }); myNewListPanel.init(null); myRbNew.addFocusListener( new FocusAdapter() { @Override public void focusGained(FocusEvent e) { getPreferredFocusedComponent().requestFocusInWindow(); } }); final ComboboxSpeedSearch search = new ComboboxSpeedSearch(myExistingListsCombo); search.setComparator(new SpeedSearchComparator(true, false)); }
protected boolean isMoveToPackage() { return myHavePackages || myToPackageRadioButton.isSelected(); }
public JComponent getPreferredFocusedComponent() { return myRbExisting.isSelected() ? myExistingListsCombo : myNewListPanel.getPreferredFocusedComponent(); }
public JComponent createComponent() { if (myProject == null) { myProject = JavaDebuggerSupport.getContextProjectForEditorFieldsInDebuggerConfigurables(); } final JPanel panel = new JPanel(new GridBagLayout()); myRbDefaultLabel = new JRadioButton( DebuggerBundle.message("label.compound.renderer.configurable.use.default.renderer")); myRbExpressionLabel = new JRadioButton( DebuggerBundle.message("label.compound.renderer.configurable.use.expression")); final ButtonGroup labelButtonsGroup = new ButtonGroup(); labelButtonsGroup.add(myRbDefaultLabel); labelButtonsGroup.add(myRbExpressionLabel); myRbDefaultChildrenRenderer = new JRadioButton( DebuggerBundle.message("label.compound.renderer.configurable.use.default.renderer")); myRbExpressionChildrenRenderer = new JRadioButton( DebuggerBundle.message("label.compound.renderer.configurable.use.expression")); myRbListChildrenRenderer = new JRadioButton( DebuggerBundle.message("label.compound.renderer.configurable.use.expression.list")); final ButtonGroup childrenButtonGroup = new ButtonGroup(); childrenButtonGroup.add(myRbDefaultChildrenRenderer); childrenButtonGroup.add(myRbExpressionChildrenRenderer); childrenButtonGroup.add(myRbListChildrenRenderer); myLabelEditor = new DebuggerExpressionTextField(myProject, null, "ClassLabelExpression"); myChildrenEditor = new DebuggerExpressionTextField(myProject, null, "ClassChildrenExpression"); myChildrenExpandedEditor = new DebuggerExpressionTextField(myProject, null, "ClassChildrenExpression"); myChildrenListEditor = createChildrenListEditor(); final ItemListener updateListener = new ItemListener() { public void itemStateChanged(ItemEvent e) { updateEnabledState(); } }; myRbExpressionLabel.addItemListener(updateListener); myRbListChildrenRenderer.addItemListener(updateListener); myRbExpressionChildrenRenderer.addItemListener(updateListener); myClassNameField = new ClassNameEditorWithBrowseButton( new ActionListener() { public void actionPerformed(ActionEvent e) { PsiClass psiClass = DebuggerUtils.getInstance() .chooseClassDialog( DebuggerBundle.message( "title.compound.renderer.configurable.choose.renderer.reference.type"), myProject); if (psiClass != null) { String qName = JVMNameUtil.getNonAnonymousClassName(psiClass); myClassNameField.setText(qName); updateContext(qName); } } }, myProject); myClassNameField .getEditorTextField() .addFocusListener( new FocusAdapter() { public void focusLost(FocusEvent e) { final String qName = myClassNameField.getText(); updateContext(qName); } }); panel.add( new JLabel(DebuggerBundle.message("label.compound.renderer.configurable.apply.to")), new GridBagConstraints( 0, GridBagConstraints.RELATIVE, 1, 1, 1.0, 0.0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0)); panel.add( myClassNameField, new GridBagConstraints( 0, GridBagConstraints.RELATIVE, 1, 1, 1.0, 0.0, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL, new Insets(4, 0, 0, 0), 0, 0)); panel.add( new JLabel(DebuggerBundle.message("label.compound.renderer.configurable.when.rendering")), new GridBagConstraints( 0, GridBagConstraints.RELATIVE, 1, 1, 1.0, 0.0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(20, 0, 0, 0), 0, 0)); panel.add( myRbDefaultLabel, new GridBagConstraints( 0, GridBagConstraints.RELATIVE, 1, 1, 1.0, 0.0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(0, 10, 0, 0), 0, 0)); panel.add( myRbExpressionLabel, new GridBagConstraints( 0, GridBagConstraints.RELATIVE, 1, 1, 1.0, 0.0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(0, 10, 0, 0), 0, 0)); panel.add( myLabelEditor, new GridBagConstraints( 0, GridBagConstraints.RELATIVE, 1, 1, 1.0, 0.0, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL, new Insets(0, 30, 0, 0), 0, 0)); panel.add( new JLabel(DebuggerBundle.message("label.compound.renderer.configurable.when.expanding")), new GridBagConstraints( 0, GridBagConstraints.RELATIVE, 1, 1, 1.0, 0.0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(20, 0, 0, 0), 0, 0)); panel.add( myRbDefaultChildrenRenderer, new GridBagConstraints( 0, GridBagConstraints.RELATIVE, 1, 1, 1.0, 0.0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(0, 10, 0, 0), 0, 0)); panel.add( myRbExpressionChildrenRenderer, new GridBagConstraints( 0, GridBagConstraints.RELATIVE, 1, 1, 1.0, 0.0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(0, 10, 0, 0), 0, 0)); panel.add( myChildrenEditor, new GridBagConstraints( 0, GridBagConstraints.RELATIVE, 1, 1, 1.0, 0.0, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL, new Insets(0, 30, 0, 0), 0, 0)); myExpandedLabel = new JLabel(DebuggerBundle.message("label.compound.renderer.configurable.test.can.expand")); panel.add( myExpandedLabel, new GridBagConstraints( 0, GridBagConstraints.RELATIVE, 1, 1, 1.0, 0.0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(4, 30, 0, 0), 0, 0)); panel.add( myChildrenExpandedEditor, new GridBagConstraints( 0, GridBagConstraints.RELATIVE, 1, 1, 1.0, 0.0, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL, new Insets(0, 30, 0, 0), 0, 0)); panel.add( myRbListChildrenRenderer, new GridBagConstraints( 0, GridBagConstraints.RELATIVE, 1, 1, 1.0, 0.0, GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL, new Insets(0, 10, 0, 0), 0, 0)); panel.add( myChildrenListEditor, new GridBagConstraints( 0, GridBagConstraints.RELATIVE, 1, 1, 1.0, 1.0, GridBagConstraints.NORTHWEST, GridBagConstraints.BOTH, new Insets(4, 30, 0, 0), 0, 0)); myMainPanel = new JPanel(new CardLayout()); myMainPanel.add(new JPanel(), EMPTY_PANEL_ID); myMainPanel.add(panel, DATA_PANEL_ID); return myMainPanel; }