package org.chartsy.stockscanpro;
import org.chartsy.stockscanpro.ui.Content;
import java.awt.BorderLayout;
import java.util.logging.Logger;
import org.openide.util.ImageUtilities;
import org.openide.util.NbBundle;
import org.openide.windows.TopComponent;
import org.openide.windows.WindowManager;
/**
*
* @author Viorel
*/
public class StockScreenerComponent extends TopComponent
{
private static StockScreenerComponent instance;
private static final String PREFERRED_ID = "StockScreenerComponent";
private static final Logger LOG = Logger.getLogger(StockScreenerComponent.class.getPackage().getName());
public StockScreenerComponent()
{
setName(NbBundle.getMessage(StockScreenerComponent.class, "CTL_StockScreenerComponent"));
setToolTipText(NbBundle.getMessage(StockScreenerComponent.class, "HINT_StockScreenerComponent"));
setIcon(ImageUtilities.loadImage("org/chartsy/stockscanpro/resources/stock.png", true));
putClientProperty(TopComponent.PROP_DRAGGING_DISABLED, Boolean.TRUE);
putClientProperty(TopComponent.PROP_MAXIMIZATION_DISABLED, Boolean.TRUE);
putClientProperty(TopComponent.PROP_UNDOCKING_DISABLED, Boolean.TRUE);
setLayout(new BorderLayout());
add(new Content(), BorderLayout.CENTER);
}
public @Override int getPersistenceType()
{
return TopComponent.PERSISTENCE_NEVER;
}
protected @Override String preferredID()
{
return PREFERRED_ID;
}
public static synchronized StockScreenerComponent getDefault()
{
if (instance == null)
instance = new StockScreenerComponent();
return instance;
}
public static synchronized StockScreenerComponent findInstance()
{
TopComponent win = WindowManager.getDefault().findTopComponent(PREFERRED_ID);
if (win == null)
{
LOG.warning(
"Cannot find " + PREFERRED_ID + " component. It will not be located properly in the window system.");
return getDefault();
}
if (win instanceof StockScreenerComponent)
{
return (StockScreenerComponent) win;
}
LOG.warning(
"There seem to be multiple components with the '" + PREFERRED_ID
+ "' ID. That is a potential source of errors and unexpected behavior.");
return getDefault();
}
}