KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > versioning > diff > ShowDiffSidebarAction


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 package org.netbeans.modules.versioning.diff;
20
21 import org.openide.util.actions.SystemAction;
22 import org.openide.util.HelpCtx;
23 import org.openide.awt.Mnemonics;
24 import org.openide.awt.DynamicMenuContent;
25 import org.netbeans.modules.versioning.VersioningConfig;
26
27 import javax.swing.*;
28 import java.awt.event.ActionEvent JavaDoc;
29 import java.util.prefs.Preferences JavaDoc;
30 import org.openide.util.NbBundle;
31
32 /**
33  * View/Show Diff Sidebar toggle item in main menu.
34  *
35  * @author Maros Sandor
36  */

37 public class ShowDiffSidebarAction extends SystemAction implements DynamicMenuContent {
38
39     private JCheckBoxMenuItem [] menuItems;
40
41     public JComponent[] getMenuPresenters() {
42         createItems();
43         updateState();
44         return menuItems;
45     }
46
47     public JComponent[] synchMenuPresenters(JComponent[] items) {
48         updateState();
49         return items;
50     }
51
52     private void updateState() {
53         menuItems[0].setSelected(VersioningConfig.getDefault().getPreferences().getBoolean(DiffSidebarManager.SIDEBAR_ENABLED, true));
54     }
55
56     private void createItems() {
57         if (menuItems == null) {
58             menuItems = new JCheckBoxMenuItem[1];
59             menuItems[0] = new JCheckBoxMenuItem(this);
60             menuItems[0].setIcon(null);
61             Mnemonics.setLocalizedText(menuItems[0], NbBundle.getMessage(ShowDiffSidebarAction.class, "CTL_ShowDiffSidebar"));
62         }
63     }
64
65     public String JavaDoc getName() {
66         return NbBundle.getMessage(ShowDiffSidebarAction.class, "CTL_ShowDiffSidebar");
67     }
68
69     public boolean isEnabled() {
70         return true;
71     }
72
73     public HelpCtx getHelpCtx() {
74         return new HelpCtx(ShowDiffSidebarAction.class);
75     }
76
77     public void actionPerformed(ActionEvent JavaDoc e) {
78         Preferences JavaDoc prefs = VersioningConfig.getDefault().getPreferences();
79         prefs.putBoolean(DiffSidebarManager.SIDEBAR_ENABLED, !prefs.getBoolean(DiffSidebarManager.SIDEBAR_ENABLED, true));
80     }
81 }
82
Popular Tags