001package jmri.jmrit.symbolicprog.tabbedframe;
002
003import jmri.util.BusyGlassPane;
004
005/**
006 * Interface for the container of a set of PaneProgPanes. The panes use services
007 * provided here to work with buttons and the busy cursor.
008 *
009 * @author Bob Jacobsen Copyright (C) 2010
010 */
011public interface PaneContainer {
012
013    public boolean isBusy();
014
015    public void paneFinished();
016
017    /**
018     * Enable the read/write buttons.
019     * <p>
020     * In addition, if a programming mode pane is present, it's "set" button is
021     * enabled.
022     *
023     * @param enable Are reads possible? If false, so not enable the read
024     *               buttons.
025     */
026    public void enableButtons(boolean enable);
027
028    public void prepGlassPane(javax.swing.AbstractButton activeButton);
029
030    public BusyGlassPane getBusyGlassPane();
031}