private void updateFinalState() { if (myHasWriteAccess && myCbDeclareFinal != null) { myCbDeclareFinal.setEnabled(!myPanel.isReplaceAllOccurences()); if (myPanel.isReplaceAllOccurences()) { myCbDeclareFinal.setSelected(false); } } }
protected void dispose() { myNameField.removeDataChangedListener(myNameChangedListener); if (myCbReplaceAll != null) { myCbReplaceAll.removeItemListener(myReplaceAllListener); } myCbFinal.removeItemListener(myFinalListener); super.dispose(); }
protected void doOKAction() { if (!myValidator.isOK(this)) return; myNameSuggestionsManager.nameSelected(); myTypeSelectorManager.typeSelected(getSelectedType()); if (myCbFinal.isEnabled()) { JavaRefactoringSettings.getInstance().INTRODUCE_LOCAL_CREATE_FINALS = myCbFinal.isSelected(); } super.doOKAction(); }
private void updateControls() { if (myCbReplaceWrite != null) { if (myCbReplaceAll.isSelected()) { myCbReplaceWrite.makeSelectable(); } else { myCbReplaceWrite.makeUnselectable(true); } } if (myCbReplaceAll != null) { myTypeSelectorManager.setAllOccurrences(myCbReplaceAll.isSelected()); } else { myTypeSelectorManager.setAllOccurrences(false); } if (myDeclareFinalIfAll && myCbReplaceAll != null && myCbReplaceAll.isSelected()) { myCbFinal.setEnabled(false); myCbFinal.setSelected(true); } else if (myCbReplaceWrite != null && myCbReplaceWrite.isEnabled() && myCbReplaceWrite.isSelected()) { myCbFinal.setEnabled(false); myCbFinal.setSelected(false); } else { myCbFinal.setEnabled(true); myCbFinal.setSelected(myCbFinalState); } }
protected void doAction() { final JavaRefactoringSettings settings = JavaRefactoringSettings.getInstance(); settings.INTRODUCE_PARAMETER_REPLACE_FIELDS_WITH_GETTERS = myPanel.getReplaceFieldsWithGetters(); if (myCbDeclareFinal != null && myCbDeclareFinal.isEnabled()) { settings.INTRODUCE_PARAMETER_CREATE_FINALS = Boolean.valueOf(myCbDeclareFinal.isSelected()); } myPanel.saveSettings(settings); myNameSuggestionsManager.nameSelected(); boolean isDeleteLocalVariable = false; PsiExpression parameterInitializer = myExpression; if (myLocalVar != null) { if (myPanel.isUseInitializer()) { parameterInitializer = myLocalVar.getInitializer(); } isDeleteLocalVariable = myPanel.isDeleteLocalVariable(); } final IntroduceParameterProcessor processor = new IntroduceParameterProcessor( myProject, myMethodToReplaceIn, myMethodToSearchFor, parameterInitializer, myExpression, myLocalVar, isDeleteLocalVariable, getParameterName(), myPanel.isReplaceAllOccurences(), myPanel.getReplaceFieldsWithGetters(), isDeclareFinal(), myPanel.isGenerateDelegate(), getSelectedType(), myPanel.getParametersToRemove()); invokeRefactoring(processor); myParameterNameField.requestFocusInWindow(); }
protected JComponent createNorthPanel() { GridBagConstraints gbConstraints = new GridBagConstraints(); JPanel panel = new JPanel(new GridBagLayout()); gbConstraints.anchor = GridBagConstraints.WEST; gbConstraints.fill = GridBagConstraints.NONE; gbConstraints.gridx = 0; gbConstraints.insets = new Insets(4, 4, 4, 0); gbConstraints.gridwidth = 1; gbConstraints.weightx = 0; gbConstraints.weighty = 0; gbConstraints.gridy = 0; JLabel type = new JLabel(RefactoringBundle.message("parameter.of.type")); panel.add(type, gbConstraints); gbConstraints.insets = new Insets(4, 4, 4, 8); gbConstraints.gridx++; gbConstraints.weightx = 1; gbConstraints.fill = GridBagConstraints.BOTH; myTypeSelector = myTypeSelectorManager.getTypeSelector(); panel.add(myTypeSelector.getComponent(), gbConstraints); gbConstraints.insets = new Insets(4, 4, 4, 8); gbConstraints.gridwidth = 1; gbConstraints.weightx = 0; gbConstraints.gridx = 0; gbConstraints.gridy = 1; gbConstraints.fill = GridBagConstraints.NONE; myParameterNameField = new NameSuggestionsField(myProject); final JLabel nameLabel = new JLabel(RefactoringBundle.message("name.prompt")); nameLabel.setLabelFor(myParameterNameField.getComponent()); panel.add(nameLabel, gbConstraints); /* if (myNameSuggestions.length > 1) { myParameterNameField = createComboBoxForName(); } else { myParameterNameField = createTextFieldForName(); } */ gbConstraints.gridx++; gbConstraints.insets = new Insets(4, 4, 4, 8); gbConstraints.weightx = 1; gbConstraints.fill = GridBagConstraints.BOTH; panel.add(myParameterNameField.getComponent(), gbConstraints); myParameterNameChangedListener = new NameSuggestionsField.DataChanged() { public void dataChanged() { validateButtons(); } }; myParameterNameField.addDataChangedListener(myParameterNameChangedListener); myNameSuggestionsManager = new NameSuggestionsManager( myTypeSelector, myParameterNameField, myNameSuggestionsGenerator); myNameSuggestionsManager.setLabelsFor(type, nameLabel); gbConstraints.gridx = 0; gbConstraints.insets = new Insets(4, 0, 4, 8); gbConstraints.gridwidth = 2; if (myOccurenceNumber > 1 && !myPanel.myIsInvokedOnDeclaration) { gbConstraints.gridy++; myPanel.createOccurrencesCb(gbConstraints, panel, myOccurenceNumber); } if (myPanel.myCbReplaceAllOccurences != null) { gbConstraints.insets = new Insets(0, 16, 4, 8); } JavaRefactoringSettings settings = JavaRefactoringSettings.getInstance(); myPanel.createLocalVariablePanel(gbConstraints, panel, settings); myPanel.createRemoveParamsPanel(gbConstraints, panel); gbConstraints.insets = new Insets(4, 0, 4, 8); gbConstraints.gridy++; myCbDeclareFinal = new NonFocusableCheckBox(RefactoringBundle.message("declare.final")); final Boolean settingsFinals = settings.INTRODUCE_PARAMETER_CREATE_FINALS; myCbDeclareFinal.setSelected( settingsFinals == null ? CodeStyleSettingsManager.getSettings(myProject).GENERATE_FINAL_PARAMETERS : settingsFinals.booleanValue()); panel.add(myCbDeclareFinal, gbConstraints); if (myMustBeFinal) { myCbDeclareFinal.setSelected(true); myCbDeclareFinal.setEnabled(false); } else if (myHasWriteAccess && myPanel.isReplaceAllOccurences()) { myCbDeclareFinal.setSelected(false); myCbDeclareFinal.setEnabled(false); } gbConstraints.gridy++; myPanel.createDelegateCb(gbConstraints, panel); return panel; }
private boolean isDeclareFinal() { return myCbDeclareFinal != null && myCbDeclareFinal.isSelected(); }
protected JComponent createCenterPanel() { JPanel panel = new JPanel(new GridBagLayout()); GridBagConstraints gbConstraints = new GridBagConstraints(); gbConstraints.fill = GridBagConstraints.HORIZONTAL; gbConstraints.weightx = 1; gbConstraints.weighty = 0; gbConstraints.gridwidth = 1; gbConstraints.gridx = 0; gbConstraints.gridy = 0; gbConstraints.insets = JBUI.emptyInsets(); if (myOccurrencesCount > 1) { myCbReplaceAll = new NonFocusableCheckBox(); myCbReplaceAll.setText( RefactoringBundle.message("replace.all.occurences", myOccurrencesCount)); panel.add(myCbReplaceAll, gbConstraints); myReplaceAllListener = new ItemListener() { public void itemStateChanged(ItemEvent e) { updateControls(); } }; myCbReplaceAll.addItemListener(myReplaceAllListener); if (myAnyLValueOccurences) { myCbReplaceWrite = new StateRestoringCheckBox(); myCbReplaceWrite.setText(RefactoringBundle.message("replace.write.access.occurrences")); gbConstraints.insets = JBUI.insetsLeft(8); gbConstraints.gridy++; panel.add(myCbReplaceWrite, gbConstraints); myCbReplaceWrite.addItemListener(myReplaceAllListener); } } myCbFinal = new NonFocusableCheckBox(); myCbFinal.setText(RefactoringBundle.message("declare.final")); final Boolean createFinals = JavaRefactoringSettings.getInstance().INTRODUCE_LOCAL_CREATE_FINALS; myCbFinalState = createFinals == null ? CodeStyleSettingsManager.getSettings(myProject).GENERATE_FINAL_LOCALS : createFinals.booleanValue(); gbConstraints.insets = JBUI.emptyInsets(); gbConstraints.gridy++; panel.add(myCbFinal, gbConstraints); myFinalListener = new ItemListener() { public void itemStateChanged(ItemEvent e) { if (myCbFinal.isEnabled()) { myCbFinalState = myCbFinal.isSelected(); } } }; myCbFinal.addItemListener(myFinalListener); updateControls(); return panel; }
public boolean isDeclareFinal() { return myCbFinal.isSelected(); }
public boolean isReplaceAllOccurrences() { if (myOccurrencesCount <= 1) return false; return myCbReplaceAll.isSelected(); }