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 org
.jetbrains
.idea
.maven
.utils
;
18 import com
.intellij
.ide
.util
.ElementsChooser
;
19 import com
.intellij
.openapi
.project
.Project
;
20 import com
.intellij
.openapi
.ui
.DialogWrapper
;
21 import com
.intellij
.util
.ui
.UIUtil
;
22 import org
.jetbrains
.annotations
.Nullable
;
28 * @author Vladislav.Kaznacheev
30 public class ChooserDialog
<T
> extends DialogWrapper
{
31 private final ElementsChooser
<T
> myChooser
;
32 private final String myDescription
;
34 public ChooserDialog(final Project project
, ElementsChooser
<T
> chooser
, final String title
, final String description
) {
37 myChooser
.setPreferredSize(new Dimension(300, 150));
39 myDescription
= description
;
45 protected JComponent
createCenterPanel() {
46 return new JScrollPane(myChooser
);
49 protected JComponent
createNorthPanel() {
50 JTextPane description
= new JTextPane();
52 JLabel label
= new JLabel();
53 description
.setFont(label
.getFont());
54 description
.setForeground(label
.getForeground());
55 description
.setBackground(UIUtil
.getOptionPaneBackground());
56 description
.setText(myDescription
);
58 final JPanel panel
= new JPanel(new BorderLayout());
59 panel
.add(description
);
60 panel
.setBorder(BorderFactory
.createEmptyBorder(0, 5, 5, 5));