/* * SIP Communicator, the OpenSource Java VoIP and Instant Messaging client. * * Distributable under LGPL license. * See terms of license at gnu.org. */ package net.java.sip.communicator.service.gui; /** * The ConfigurationWindow is a contianer contianing * ConfigurationForms. It is meant to be implemented by the * UIService implementation to provide a mechanism for adding and removing * configuration forms in the GUI. *
* A bundle could have its own specific configurations that should be configured * by the user. By implementing the ConfigurationForm interface * each bundle is able to provide its own configuration form in the UI by adding * it through this interface. *
* The ConfigurationWindow for the current ui implementation could
* be obtained by invoking UIService.getConfigurationWindow method.
*
* @author Yana Stamcheva
*/
public interface ConfigurationWindow extends ApplicationWindow {
/**
* Adds the given ConfigurationForm in this
* ConfigurationWindow. Meant to be used by bundles that want to
* add to the UI their own specific configuration forms.
* @param configForm The ConfigurationForm to add.
* @throws ClassCastException if the contained form object in the given
* ConfigurationForm is not an instance of a class supported by
* the service implementation.
*/
public void addConfigurationForm(ConfigurationForm configForm)
throws ClassCastException;
/**
* Removes the given ConfigurationForm from this
* ConfigurationWindow.
*
* @param configForm The ConfigurationForm to remove.
* @throws IllegalArgumentException if the given ConfigurationForm
* is not contained in this ConfigurationWindow.
*/
public void removeConfigurationForm(ConfigurationForm configForm)
throws IllegalArgumentException;
}