// Sample code file: FilesystemToolBarItem.java
// Warning: This code has been marked up for HTML
/*
Copyright (c) 1997-1999 Novell, Inc. All Rights Reserved.
THIS WORK IS SUBJECT TO U.S. AND INTERNATIONAL COPYRIGHT LAWS AND TREATIES.
USE AND REDISTRIBUTION OF THIS WORK IS SUBJECT TO THE LICENSE AGREEMENT
ACCOMPANYING THE SOFTWARE DEVELOPMENT KIT (SDK) THAT CONTAINS THIS WORK.
PURSUANT TO THE SDK LICENSE AGREEMENT, NOVELL HEREBY GRANTS TO DEVELOPER A
ROYALTY-FREE, NON-EXCLUSIVE LICENSE TO INCLUDE NOVELL'S SAMPLE CODE IN ITS
PRODUCT. NOVELL GRANTS DEVELOPER WORLDWIDE DISTRIBUTION RIGHTS TO MARKET,
DISTRIBUTE, OR SELL NOVELL'S SAMPLE CODE AS A COMPONENT OF DEVELOPER'S
PRODUCTS. NOVELL SHALL HAVE NO OBLIGATIONS TO DEVELOPER OR DEVELOPER'S
CUSTOMERS WITH RESPECT TO THIS CODE.
*/
package com.novell.sample.snapins.filesystem;
import java.awt.*;
import java.util.*;
import javax.swing.*;
// ConsoleOne snapin interfaces.
import com.novell.application.console.snapin.*;
import com.novell.application.console.snapin.scope.*;
import com.novell.application.console.snapin.context.*;
/**
This example of a toolbar item snap-in places some buttons
and separators between the buttons on the toolbar
when the file system namespace is active.
*/
public class FilesystemToolBarItem implements ToolBarSnapin, Template
{
/** Shell instance */
private Shell shell = null;
private ToolBarSnapinContext tbContext = null;
private Integer instanceData = null;
public void setInstanceData(Object obj)
{
instanceData = (Integer)obj;
}
/*
Implementation of the ToolBarSnapin interface.
*/
/**
The getSnapinName() method (derived from Snapin interface) is called by
configurators to display the localized name of this snap-in. It returns
the translated name for this snap-in. The shell displays the name you
provide together with all the snap-ins of a given type. The user is then
allowed to select which snap-ins should be set as active in the current
configuration. The getSnapinName() method may be called before initSnapin().
*/
public String getSnapinName()
{
return "Novell's Sample Filesystem Namespace ToolBar Name";
}
/**
The getSnapinDescription() method (derived from Snapin interface) is called
by the configurators to display the localized description information
about this snap-in. It returns the snap-in description as a String.
*/
public String getSnapinDescription()
{
return "Novell's Sample Filesystem Namespace ToolBar Description";
}
/**
The initSnapin() method initializes this class. You should do any
onetime initialization here, such as adding event listeners. The method
returns a boolean set to <i>true</i> if the snap-in is able to successfully
complete initialization, or <i>false</i> if initialization fails. The 'info'
parameter contains data the snap-in may use for initialization, such as
references to the shell and the snap-in type, and may contain a reference
to snap-in context data.
*/
public boolean initSnapin(InitSnapinInfo info)
{
shell = info.getShell();
tbContext = (ToolBarSnapinContext)info.getSnapinContext();
return true;
}
/**
Implement shutdownSnapin() in your extending snap-in if there is anything
that needs to be cleaned up, such as removing shell event listeners.
*/
public void shutdownSnapin()
{
}
/**
The getToolBarItem() method should return a Java Component that will be
placed on the toolbar. This can be any object derived from Component,
such as a push button, a group of buttons, a combo box, a check box, and
so forth.
*/
public Component getToolBarItem()
{
/** Returns a button that does nothing. Also, depending on the instance
a separator is set for either or both sides of the current button being returned
*/
switch (instanceData.intValue())
{
case 1:tbContext.setButtonSeparator(tbContext.SEPARATOR_ON_LEFT |
tbContext.SEPARATOR_ON_RIGHT);
break;
case 2:break;
case 3:tbContext.setButtonSeparator(tbContext.SEPARATOR_ON_RIGHT);
break;
case 4:break;
}
return new JButton("Ex " + instanceData.intValue());
}
}