public abstract class AbstractExternalSystemConfigurable<ProjectSettings extends ExternalProjectSettings,L extends ExternalSystemSettingsListener<ProjectSettings>,SystemSettings extends AbstractExternalSystemSettings<SystemSettings,ProjectSettings,L>> extends java.lang.Object implements SearchableConfigurable, Configurable.NoScroll
SearchableConfigurable.Delegate, SearchableConfigurable.Merged, SearchableConfigurable.Parent
Configurable.Composite, Configurable.NoMargin, Configurable.NoScroll, Configurable.TopComponentController, Configurable.TopComponentProvider, Configurable.VariableProjectAppLevel, Configurable.WithEpDependencies
APPLICATION_CONFIGURABLE, PROJECT_CONFIGURABLE
Modifier | Constructor and Description |
---|---|
protected |
AbstractExternalSystemConfigurable(Project project,
ProjectSystemId externalSystemId) |
Modifier and Type | Method and Description |
---|---|
void |
apply()
Stores the settings from the Swing form to the configurable component.
|
javax.swing.JComponent |
createComponent()
Creates new Swing form that enables user to configure the settings.
|
protected abstract ExternalSystemSettingsControl<ProjectSettings> |
createProjectSettingsControl(ProjectSettings settings)
Creates a control for managing given project settings.
|
protected abstract ExternalSystemSettingsControl<SystemSettings> |
createSystemSettingsControl(SystemSettings settings)
Creates a control for managing given system-level settings (if any).
|
void |
disposeUIResources()
Notifies the configurable component that the Swing form will be closed.
|
java.lang.String |
getDisplayName()
Returns the visible name of the configurable component.
|
Project |
getProject() |
protected java.lang.String |
getProjectName(java.lang.String path) |
boolean |
isModified()
Indicates whether the Swing form was modified or not.
|
protected abstract ProjectSettings |
newProjectSettings() |
void |
reset()
Loads the settings from the configurable component to the Swing form.
|
void |
selectProject(java.lang.String linkedProjectPath) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
enableSearch, getId, getOriginalClass
getHelpTopic, getPreferredFocusedComponent, isModified, isModified, isModified, isModified
cancel
protected AbstractExternalSystemConfigurable(Project project, ProjectSystemId externalSystemId)
public Project getProject()
public java.lang.String getDisplayName()
Configurable
getDisplayName
in interface Configurable
public javax.swing.JComponent createComponent()
UnnamedConfigurable
Also this place is designed to allocate resources (subscriptions/listeners etc.)
createComponent
in interface UnnamedConfigurable
null
if it cannot be createdUnnamedConfigurable.disposeUIResources()
public void selectProject(java.lang.String linkedProjectPath)
protected abstract ExternalSystemSettingsControl<ProjectSettings> createProjectSettingsControl(ProjectSettings settings)
settings
- target external project settingsprotected java.lang.String getProjectName(java.lang.String path)
protected abstract ExternalSystemSettingsControl<SystemSettings> createSystemSettingsControl(SystemSettings settings)
settings
- target system settingsnull
if current external system doesn't have system-level settings (only project-level settings)public boolean isModified()
UnnamedConfigurable
isModified
in interface UnnamedConfigurable
true
if the settings were modified, false
otherwisepublic void apply() throws ConfigurationException
UnnamedConfigurable
apply
in interface UnnamedConfigurable
ConfigurationException
- if values cannot be appliedprotected abstract ProjectSettings newProjectSettings()
public void reset()
UnnamedConfigurable
reset
in interface UnnamedConfigurable
public void disposeUIResources()
UnnamedConfigurable
disposeUIResources
in interface UnnamedConfigurable