package org.archstudio.archipelago2;
import org.archstudio.xarchadt.IXArchADT;
import org.archstudio.xarchadt.IXArchADTModelListener;
import org.archstudio.xarchadt.ObjRef;
import org.eclipse.swt.widgets.Display;
/**
* Provides resources to the Archipelago outline view. Instances of this object will be registered
* with the MyxRegistry meaning that any events sent to the MyxRegistry will also be forwarded to
* this provider. For instance, this object will receive {@link IXArchADTModelListener xArch ADT
* Model Listener} events if it implements the {@link IXArchADTModelListener} interface.
*
* @author sahendrickson@gmail.com (Scott A. Hendrickson)
*/
public interface IArchipelago2Provider {
/**
* Initialize this provider with the context of the Archipelago outline page. This method will
* only be called once, immediately after instantiation.
*
* @param xarch The IXArchADT instance.
* @param docRef The root document reference.
* @param display The display to use for creating resources.
* @param outline The Archipelago outline.
*/
public void init(IXArchADT xarch, ObjRef docRef, Display display, IArchipelago2Outline outline);
/**
* Disposes of this provider.
*/
public void dispose();
}