1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
/** BEGIN COPYRIGHT BLOCK
* Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
* Copyright (C) 2005 Red Hat, Inc.
* All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation version
* 2.1 of the License.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
* END COPYRIGHT BLOCK **/
package supermail.configuration;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import com.sun.java.swing.*;
import com.sun.java.swing.tree.*;
import com.netscape.management.client.*;
import com.netscape.management.client.console.*;
import com.netscape.management.client.util.*;
import com.netscape.management.nmclf.*;
import netscape.ldap.*;
/**
* Configuration Node model
* This is a minimal definition of a node. The node extends ResourceObject only to provide a
* custom RHP. For example of how to define node context menus see SuperMailServerNode.java
*/
public class ConfigurationNode extends ResourceObject
{
private JPanel _configPanel;
private ConsoleInfo _consoleInfo;
/**
* Node Constractor
* It is a common practice to pass ConsoleInfo to the constructor as a parameter, so that
* LDAP and HTTP requests can be handled from the node. (For the full list of properties in
* ConsoleInfo see ConsoleInfo class). This example does not use ConsoleInfo, because
* it does not interact with the back-end servers.
*/
public ConfigurationNode(ConsoleInfo consoleInfo) {
// Call the superclass to set the name of the node
super("Configuration");
_consoleInfo = consoleInfo;
setAllowsChildren(false);
}
/**
* Override getIcon() to specify an icon for this node. If the returned value is null,
* or the method is not defined, the node does not have an icon.
*/
public Icon getIcon() {
return new ImageIcon("images/panel.gif");
}
/**
* Called when the node is selected to get RHP
*/
public Component getCustomPanel()
{
return new ConfigurationNodeRHP(_consoleInfo);
}
}
|