update copyright
[fedora-idea.git] / java / idea-ui / src / com / intellij / openapi / roots / ui / configuration / artifacts / ArtifactErrorPanel.java
blob4bdac653f8c9a0abc94533b933aac172f34f5e35
1 /*
2 * Copyright 2000-2009 JetBrains s.r.o.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
16 package com.intellij.openapi.roots.ui.configuration.artifacts;
18 import com.intellij.openapi.util.IconLoader;
19 import com.intellij.packaging.ui.ArtifactProblemQuickFix;
20 import org.jetbrains.annotations.NotNull;
21 import org.jetbrains.annotations.Nullable;
23 import javax.swing.*;
24 import java.awt.event.ActionEvent;
25 import java.awt.event.ActionListener;
27 /**
28 * @author nik
30 public class ArtifactErrorPanel {
31 private JPanel myMainPanel;
32 private JButton myFixButton;
33 private JLabel myErrorLabel;
34 private ArtifactProblemQuickFix myCurrentQuickFix;
36 public ArtifactErrorPanel(final ArtifactEditorImpl artifactEditor) {
37 myErrorLabel.setIcon(IconLoader.getIcon("/runConfigurations/configurationWarning.png"));
38 myFixButton.addActionListener(new ActionListener() {
39 public void actionPerformed(ActionEvent e) {
40 if (myCurrentQuickFix != null) {
41 myCurrentQuickFix.performFix(artifactEditor);
42 artifactEditor.queueValidation();
45 });
46 clearError();
49 public void showError(@NotNull String message, @Nullable ArtifactProblemQuickFix quickFix) {
50 myErrorLabel.setVisible(true);
51 myErrorLabel.setText("<html>" + message + "</html>");
52 myMainPanel.setVisible(true);
53 myCurrentQuickFix = quickFix;
54 myFixButton.setVisible(quickFix != null);
55 if (quickFix != null) {
56 myFixButton.setText(quickFix.getActionName());
60 public void clearError() {
61 myMainPanel.setVisible(false);
62 myErrorLabel.setVisible(false);
63 myFixButton.setVisible(false);
66 public JComponent getMainPanel() {
67 return myMainPanel;