|
What this is
Other links
The source code/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is NetBeans. The Initial Developer of the Original * Code is Sun Microsystems, Inc. Portions Copyright 1997-2004 Sun * Microsystems, Inc. All Rights Reserved. */ package org.openide.explorer.propertysheet.editors; import java.awt.*; import java.beans.*; import java.lang.reflect.Modifier; import java.util.Locale; import java.util.StringTokenizer; import javax.swing.JPanel; import org.openide.src.ElementProperties; import org.openide.util.HelpCtx; import org.openide.explorer.propertysheet.ExPropertyEditor; import org.openide.explorer.propertysheet.PropertyEnv; import org.openide.ErrorManager; import org.openide.util.NbBundle; /** Property editors for java modifiers. * * @author Petr Hamernik */ public class ModifierEditor extends JPanel implements ExPropertyEditor { /** Instance of custom property editor - visual panel. */ private ModifierPanel panel; /** Serial version UID */ static final long serialVersionUID = 6324048239020120791L; /** Current mask */ private int mask; /** Current value */ private int modifier; private PropertyEnv env; /** Creates new modifiers editor with full mask. */ public ModifierEditor() { this(ModifierPanel.EDITABLE_MASK); } /** Creates new modifiers editor. * @param mask The mask of modifier values which should be possible to change. */ public ModifierEditor(int mask) { modifier = 0; setMask(mask & ModifierPanel.EDITABLE_MASK); getAccessibleContext().setAccessibleDescription(getString("ACSD_ModifierPanel")); } public void addNotify() { setLayout(new BorderLayout()); panel = new ModifierPanel(this); panel.setMnemonics(env); add(panel, BorderLayout.CENTER); super.addNotify(); } public void removeNotify() { super.removeNotify(); if (panel != null) { remove(panel); panel = null; } } /** Getter for property mask. *@return Value of property mask. */ int getMask() { return mask; } /** Set the mask of editable modifiers. * @param mask new value of the mask. */ public void setMask(int mask) { if (this.mask != mask) { int oldMask = this.mask; this.mask = mask & ModifierPanel.EDITABLE_MASK; firePropertyChange (ModifierPanel.PROP_MASK, new Integer (oldMask), new Integer (mask)); setModifier(modifier & mask); } } /** Getter for property modifier. *@return Value of property modifier. */ int getModifier() { return modifier; } /** Setter for property modifier. *@param modifier New value of property modifier. */ void setModifier(int modifier) { if (this.modifier != modifier) { int oldModifier = this.modifier; this.modifier = modifier; // for our panel firePropertyChange (ModifierPanel.PROP_MODIFIER, new Integer (oldModifier), new Integer (modifier)); // for the outside world firePropertyChange(ElementProperties.PROP_MODIFIERS, new Integer (oldModifier), new Integer (modifier)); } } /** Set new value */ public void setValue(Object object) throws IllegalArgumentException { if (object == null) { setModifier(0); return; } if (object instanceof Integer) { setModifier(((Integer) object).intValue()); } else { throw new IllegalArgumentException(); } } /** @return the java source code representation * of the current value. */ public String getJavaInitializationString() { return new Integer(getModifier()).toString(); } /** Get the value */ public Object getValue() { return new Integer(getModifier()); } /** @return |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.