// Near Infinity - An Infinity Engine Browser and Editor
// Copyright (C) 2001 - 2005 Jon Olav Hauglid
// See LICENSE.txt for license information
package org.infinity.resource;
import javax.swing.JComponent;
/** Adds support for multiple tabs in resource viewers. */
public interface HasViewerTabs
{
/**
* Returns the number of additional view tabs provided by the resource viewer.
* @return Number of provided view tabs.
*/
int getViewerTabCount();
/**
* Returns the name of the given view tab.
* @param index Identifies the view tab.
* @return The name of the given view tab. Should be short and unique.
*/
String getViewerTabName(int index);
/**
* Returns the panel containing required controls for the given view tab.
* @param index Identifies the view tab.
* @return Panel of controls for the given view tab.
*/
JComponent getViewerTab(int index);
/**
* Returns whether the given view tab is added before the "Edit" tab.
* @param index Identifies the view tab.
* @return true if added before the "Edit" tab, false otherwise.
*/
boolean viewerTabAddedBefore(int index);
}