package org.openpnp.spi; import javax.swing.Action; import javax.swing.Icon; import javax.swing.JPanel; /** * Provides an interface that allows a caller to build a tree of configurable items each having one * or more JPanel based property sheets for configuring that item. By descending through the * children with getChildPropertySheetProviders() a tree can be built. */ public interface PropertySheetHolder { public interface PropertySheet { String getPropertySheetTitle(); JPanel getPropertySheetPanel(); } String getPropertySheetHolderTitle(); PropertySheetHolder[] getChildPropertySheetHolders(); PropertySheet[] getPropertySheets(); Action[] getPropertySheetHolderActions(); Icon getPropertySheetHolderIcon(); }