/*
 * 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.