Java tutorial
// Copyright 2009 Victor Iacoban // // 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 bazaar4idea.ui; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.DialogWrapper; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.uiDesigner.core.GridConstraints; import com.intellij.uiDesigner.core.GridLayoutManager; import com.intellij.uiDesigner.core.Spacer; import bazaar4idea.BzrFile; import bazaar4idea.command.BzrResolveCommand; import bazaar4idea.data.BzrResolveStatusEnum; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Collection; import java.util.Map; public class BzrRunConflictResolverDialog extends DialogWrapper { private JPanel mainPanel; private BzrRepositorySelectorComponent repositorySelector; private JList conflictsList; private final Project project; public BzrRunConflictResolverDialog(Project project) { super(project, false); this.project = project; repositorySelector.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { onChangeRepository(); } }); setTitle("Resolve Conflicts"); init(); } public VirtualFile getRepository() { return repositorySelector.getRepository(); } public void setRoots(Collection<VirtualFile> repos) { repositorySelector.setRoots(repos); onChangeRepository(); } protected JComponent createCenterPanel() { return mainPanel; } private void onChangeRepository() { VirtualFile repo = repositorySelector.getRepository(); BzrResolveCommand command = new BzrResolveCommand(project); Map<BzrFile, BzrResolveStatusEnum> status = command.list(repo); DefaultListModel model = new DefaultListModel(); for (Map.Entry<BzrFile, BzrResolveStatusEnum> entry : status.entrySet()) { if (entry.getValue() == BzrResolveStatusEnum.UNRESOLVED) { model.addElement(entry.getKey().getRelativePath()); } } setOKActionEnabled(!model.isEmpty()); if (model.isEmpty()) { model.addElement("No conflicts to resolve"); } conflictsList.setModel(model); } { // GUI initializer generated by IntelliJ IDEA GUI Designer // >>> IMPORTANT!! <<< // DO NOT EDIT OR ADD ANY CODE HERE! $$$setupUI$$$(); } /** Method generated by IntelliJ IDEA GUI Designer * >>> IMPORTANT!! <<< * DO NOT edit this method OR call it in your code! * @noinspection ALL */ private void $$$setupUI$$$() { mainPanel = new JPanel(); mainPanel.setLayout(new GridLayoutManager(3, 1, new Insets(0, 0, 0, 0), -1, -1)); repositorySelector = new BzrRepositorySelectorComponent(); mainPanel.add(repositorySelector.$$$getRootComponent$$$(), new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); final JPanel panel1 = new JPanel(); panel1.setLayout(new GridLayoutManager(1, 1, new Insets(0, 0, 0, 0), -1, -1)); mainPanel.add(panel1, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); panel1.setBorder(BorderFactory.createTitledBorder("Files with conflicts:")); conflictsList = new JList(); panel1.add(conflictsList, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, GridConstraints.SIZEPOLICY_WANT_GROW, GridConstraints.SIZEPOLICY_WANT_GROW, null, new Dimension(150, 150), null, 0, false)); final Spacer spacer1 = new Spacer(); mainPanel.add(spacer1, new GridConstraints(2, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_VERTICAL, 1, GridConstraints.SIZEPOLICY_WANT_GROW, null, null, null, 0, false)); } /** @noinspection ALL */ public JComponent $$$getRootComponent$$$() { return mainPanel; } }