/*
* PageTreeAdaptor.java
*
* Created on June 14, 2000, 2:49 PM
*/
package jas2.swingstudio.adaptor;
import java.util.*;
import java.io.File;
import javax.swing.*;
import jas2.swingstudio.*;
import jas2.plugin.*;
import jas2.hist.JASHist;
import jas2.job.PageAccess;
import jas2.util.*;
/**
*
* @author tonyj
* @version $Id:
*/
public class PageTreeAdaptor extends TreeAdaptor implements PageListener
{
public void init()
{
m_page = (PageAccess) getAssociatedObject();
}
protected void updateNode(int flags)
{
if ((flags & Job.SHOWNOW) != 0) onShow();
}
public void onShow()
{
JASPage jasPage;
if (pageContext != null) jasPage = (JASPage) pageContext.getPage();
else jasPage = new JASPage(m_page);
if (pageContext == null)
{
pageContext = getPluginContext().installPage(getName(),jasPage);
pageContext.addPageListener(this);
}
else pageContext.requestShow();
}
public void onDelete()
{
m_page.delete();
}
public void onRename()
{
startEditing();
}
public boolean stopEditing(String newName)
{
try
{
m_page.rename(newName);
return true;
}
catch (hepjas.analysis.NamedObject.RenameException x)
{
JavaAnalysisStudio.getApp().error("Illegal name",x);
return false;
}
}
protected boolean isEditable()
{
return true;
}
public void onDoubleClick()
{
onShow();
}
public void pageChanged(PageEvent e)
{
if (e.getID() == e.PAGECLOSED)
{
pageContext.removePageListener(this);
pageContext = null;
}
}
protected JPopupMenu getPopupMenu()
{
if (menu == null)
{
menu = new OnScreenPopupMenu();
menu.add(new JASMenuItem("Show",'S'));
menu.add(new JASMenuItem("Rename",'R'));
menu.add(new JASMenuItem("Delete",'D'));
}
return menu;
}
private static JPopupMenu menu;
private PageAccess m_page;
private PageContext pageContext;
}
Ads help maintain this website.