KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > xml > multiview > ui > RefreshSaveDialog


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.modules.xml.multiview.ui;
21
22 import org.openide.util.NbBundle;
23
24 /**
25  * A dialog to be shown when the editor is being closed the model is not valid.
26  * Presents options for fixing, refreshing and saving.
27  *
28  * Created on November 28, 2004, 7:18 PM
29  * @author mkuchtiak
30  */

31 public class RefreshSaveDialog extends org.openide.DialogDescriptor {
32     public static final Integer JavaDoc OPTION_FIX=new Integer JavaDoc(0);
33     public static final Integer JavaDoc OPTION_REFRESH=new Integer JavaDoc(1);
34     public static final Integer JavaDoc OPTION_SAVE=new Integer JavaDoc(2);
35
36     private static final String JavaDoc[] OPTIONS = new String JavaDoc[] {
37         NbBundle.getMessage(RefreshSaveDialog.class,"OPT_FixNow"),
38         NbBundle.getMessage(RefreshSaveDialog.class,"OPT_Refresh"),
39         NbBundle.getMessage(RefreshSaveDialog.class,"OPT_Save")
40     };
41
42     /** Creates a new instance of RefreshSaveDialog */
43     public RefreshSaveDialog(ErrorPanel errorPanel) {
44         this (errorPanel, errorPanel.getErrorMessage());
45     }
46    
47     /** Creates a new instance of RefreshSaveDialog */
48     public RefreshSaveDialog(ErrorPanel errorPanel, String JavaDoc errorMessage ) {
49         super (
50             NbBundle.getMessage(RefreshSaveDialog.class,"TTL_warning_message",errorMessage),
51             NbBundle.getMessage(RefreshSaveDialog.class,"TTL_warning"),
52             true,
53             OPTIONS,
54             OPTIONS[0],
55             BOTTOM_ALIGN,
56             null,
57             null
58         );
59         setButtonListener(new DialogListener(errorPanel));
60         setClosingOptions(null);
61     }
62     public Object JavaDoc getValue() {
63         Object JavaDoc ret = super.getValue();
64         if (ret.equals(OPTIONS[1])) return OPTION_REFRESH;
65         else if (ret.equals(OPTIONS[2])) return OPTION_SAVE;
66         else return OPTION_FIX;
67     }
68     
69     private class DialogListener implements java.awt.event.ActionListener JavaDoc {
70         private ErrorPanel errorPanel;
71         DialogListener(ErrorPanel errorPanel) {
72             this.errorPanel=errorPanel;
73         }
74         public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt) {
75             if (evt.getSource().equals(OPTIONS[1]) || evt.getSource().equals(OPTIONS[2])) {
76                 errorPanel.clearError();
77             }
78         }
79     }
80 }
81
Popular Tags