    001/*****************************************************************************
    002 * Copyright by The HDF Group.                                               *
    003 * Copyright by the Board of Trustees of the University of Illinois.         *
    004 * All rights reserved.                                                      *
    005 *                                                                           *
    006 * This file is part of the HDF Java Products distribution.                  *
    007 * The full copyright notice, including terms governing use, modification,   *
    008 * and redistribution, is contained in the files COPYING and Copyright.html. *
    009 * COPYING can be found at the root of the source code distribution tree.    *
    010 * Or, see https://support.hdfgroup.org/products/licenses.html               *
    011 * If you do not have access to either file, you may request a copy from     *
    012 * help@hdfgroup.org.                                                        *
    013 ****************************************************************************/
    014
    015package hdf.view.dialog;
    016
    017import org.eclipse.jface.preference.IPreferencePage;
    018import org.eclipse.jface.preference.PreferenceNode;
    019import org.eclipse.jface.resource.ImageDescriptor;
    020
    021/**
    022 * UserOptionsDialog displays components for choosing user options.
    023 */
    024public class UserOptionsNode extends PreferenceNode {
    025    private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(UserOptionsNode.class);
    026    /**
    027     * The name of the class that implements the <code>PreferencePage</code>
    028     * bound to this <code>ExtendedPreferenceNode</code>
    029     */
    030    private String classname;
    031
    032    /**
    033     * Creates an <code>UserOptionsNode</code> with the given id. The
    034     * new node has nosubnodes.
    035     *
    036     * @param id the node id
    037     */
    038    public UserOptionsNode(String id) {
    039        super(id);
    040    }
    041
    042    /**
    043     * Creates an <code>UserOptionsNode</code> with the given id,
    044     * label, and image, and lazily-loaded preference page. The preference node
    045     * assumes (sole) responsibility for disposing of the image; this will
    046     * happen when the node is disposed.
    047     *
    048     * @param id the node id
    049     * @param label the label used to display the node in the preference
    050     *            dialog's tree
    051     * @param image the image displayed left of the label in the preference
    052     *            dialog's tree, or <code>null</code> if none
    053     * @param className the class name of the preference page; this class must
    054     *            implement <code>IPreferencePage</code>
    055     */
    056    public UserOptionsNode(String id, String label,
    057            ImageDescriptor image, String className) {
    058        super(id, label, image, className);
    059        this.classname = className;
    060    }
    061
    062    /**
    063     * Creates an <code>UserOptionsNode</code> with the given id and
    064     * preference page. The title of the preference page is used for the node
    065     * label. The node will not have an image.
    066     *
    067     * @param id the node id
    068     * @param preferencePage the preference page
    069     */
    070    public UserOptionsNode(String id, IPreferencePage preferencePage) {
    071        super(id, preferencePage);
    072    }
    073}