/* * 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; }