return model;
}
private static BasicPluginConfigModel createInstallationConfigGroup(final JythonPlugin plugin, final JythonPluginCore core, final JythonPluginInitialiser jpi, final BasicPluginConfigModel parent, final boolean init_ok) {
BasicPluginConfigModel model = core.plugin_interface.getUIManager().createBasicPluginConfigModel(parent.getSection(), "azjython.install");
addJythonStatusParameter(init_ok, core, model, false);
final List disable_on_install = new ArrayList();
ArrayList parameter_group = new ArrayList();
LabelParameter lp = model.addLabelParameter2("azjython.config.auto_config.info");
final ActionParameter start_param = model.addActionParameter2("azjython.blank", "azjython.config.auto_config.start");
final ActionParameter stop_param = model.addActionParameter2("azjython.blank", "azjython.config.auto_config.stop");
start_param.setEnabled(!init_ok);
stop_param.setEnabled(false);
parameter_group.add(lp);
parameter_group.add(start_param);
parameter_group.add(stop_param);
disable_on_install.add(start_param);
disable_on_install.add(stop_param);
createGroup(model, "auto_config", parameter_group);
final DirectoryParameter dm = model.addDirectoryParameter2("jython.path", "azjython.config.jythonpath", "");
disable_on_install.add(dm);
parameter_group.add(dm);
ActionParameter am = model.addActionParameter2("azjython.config.install", "azjython.config.install.action");
disable_on_install.add(am);
parameter_group.add(am);
final ParameterListener auto_install_listener = new ParameterListener() {
public void parameterChanged(Parameter p) {
boolean installed = jpi.installJython(true);
if (installed) {
for (int i=0; i < disable_on_install.size(); i++) {
((Parameter)disable_on_install.get(i)).setEnabled(false);
}
}
}
};
am.addListener(auto_install_listener);
am.setEnabled(!init_ok);