framework version from existing library

This commit is contained in:
Dmitry Avdeev
2013-11-07 13:44:31 +04:00
parent 37f430f112
commit 9aee54e284
4 changed files with 33 additions and 16 deletions
@@ -125,10 +125,7 @@ public class LibraryOptionsPanel implements Disposable {
public void run() {
if (!myDisposed) {
showSettingsPanel(libraryDescription, baseDirectoryPath, versionFilter, showDoNotCreateOption, versions);
LibraryDownloadSettings settings = mySettings.getDownloadSettings();
if (settings != null) {
onVersionChanged(settings.getVersion());
}
onVersionChanged(getPresentableVersion());
}
}
});
@@ -141,7 +138,28 @@ public class LibraryOptionsPanel implements Disposable {
}
}
protected void onVersionChanged(FrameworkLibraryVersion version) {
@Nullable
private String getPresentableVersion() {
switch (myButtonEnumModel.getSelected()) {
case DOWNLOAD:
LibraryDownloadSettings settings = mySettings.getDownloadSettings();
if (settings != null) {
return settings.getVersion().getVersionNumber();
}
break;
case USE_LIBRARY:
LibraryEditor item = myLibraryComboBoxModel.getSelectedItem();
if (item instanceof ExistingLibraryEditor) {
return item.getName();
}
break;
default:
return null;
}
return null;
}
protected void onVersionChanged(@Nullable String version) {
}
public JPanel getSimplePanel() {
@@ -176,6 +194,7 @@ public class LibraryOptionsPanel implements Disposable {
@Override
public void actionPerformed(ActionEvent e) {
updateState();
onVersionChanged(getPresentableVersion());
}
});
@@ -208,6 +227,7 @@ public class LibraryOptionsPanel implements Disposable {
myButtonEnumModel.setSelected(Choice.USE_LIBRARY);
}
updateState();
onVersionChanged(getPresentableVersion());
}
});
myExistingLibraryComboBox.setRenderer(new ColoredListCellRenderer() {
@@ -100,7 +100,7 @@ public class FrameworkSupportOptionsComponent {
myLibraryOptionsPanel = new LibraryOptionsPanel(description, myModel.getBaseDirectoryForLibrariesPath(), createLibraryVersionFilter(),
container, !myConfigurable.isOnlyLibraryAdded()) {
@Override
protected void onVersionChanged(FrameworkLibraryVersion version) {
protected void onVersionChanged(@Nullable String version) {
if (myFrameworkVersionComponent == null) {
myModel.setSelectedLibraryVersion(provider.getId(), version);
}
@@ -16,7 +16,6 @@
package com.intellij.ide.util.newProjectWizard;
import com.intellij.framework.FrameworkOrGroup;
import com.intellij.framework.PresentableVersion;
import com.intellij.ide.util.newProjectWizard.impl.FrameworkSupportModelBase;
import com.intellij.ui.CheckboxTree;
import com.intellij.ui.CheckedTreeNode;
@@ -114,9 +113,9 @@ public class FrameworksTree extends CheckboxTree {
getTextRenderer().append(node.getTitle(), attributes);
if (node.isChecked()) {
FrameworkOrGroup object = node.getUserObject();
PresentableVersion version = myModel.getPresentableVersion(object.getId());
String version = myModel.getFrameworkVersion(object.getId());
if (version != null) {
getTextRenderer().append(" (" + version.getVersionNumber() + ")", SimpleTextAttributes.GRAYED_ATTRIBUTES);
getTextRenderer().append(" (" + version + ")", SimpleTextAttributes.GRAYED_ATTRIBUTES);
}
}
getTextRenderer().setIcon(node.getIcon());
@@ -17,10 +17,8 @@ package com.intellij.ide.util.newProjectWizard.impl;
import com.intellij.facet.impl.ui.libraries.FrameworkLibraryProvider;
import com.intellij.framework.FrameworkVersion;
import com.intellij.framework.PresentableVersion;
import com.intellij.framework.addSupport.FrameworkSupportInModuleProvider;
import com.intellij.framework.addSupport.FrameworkVersionListener;
import com.intellij.framework.library.FrameworkLibraryVersion;
import com.intellij.ide.util.frameworkSupport.FrameworkSupportConfigurable;
import com.intellij.ide.util.frameworkSupport.FrameworkSupportModel;
import com.intellij.ide.util.frameworkSupport.FrameworkSupportModelListener;
@@ -55,7 +53,7 @@ public abstract class FrameworkSupportModelBase extends UserDataHolderBase imple
private final Map<String, FrameworkSupportNode> mySettingsMap = new HashMap<String, FrameworkSupportNode>();
private final Map<String, FrameworkSupportOptionsComponent> myOptionsComponentsMap = new HashMap<String, FrameworkSupportOptionsComponent>();
private final Map<String, FrameworkVersion> mySelectedVersions = new HashMap<String, FrameworkVersion>();
private final Map<String, FrameworkLibraryVersion> myLibraryVersions = new HashMap<String, FrameworkLibraryVersion>();
private final Map<String, String> myFrameworkVersions = new HashMap<String, String>();
private FrameworkLibraryProvider myLibraryProvider;
public FrameworkSupportModelBase(final @Nullable Project project, @Nullable ModuleBuilder builder, @NotNull LibrariesContainer librariesContainer) {
@@ -205,13 +203,13 @@ public abstract class FrameworkSupportModelBase extends UserDataHolderBase imple
return myLibrariesContainer;
}
public void setSelectedLibraryVersion(String id, FrameworkLibraryVersion version) {
myLibraryVersions.put(id, version);
public void setSelectedLibraryVersion(String id, String version) {
myFrameworkVersions.put(id, version);
myVersionEventDispatcher.getMulticaster().versionChanged(getSelectedVersion(id));
}
public PresentableVersion getPresentableVersion(String id) {
public String getFrameworkVersion(String id) {
FrameworkVersion version = mySelectedVersions.get(id);
return version == null ? myLibraryVersions.get(id) : version;
return version == null ? myFrameworkVersions.get(id) : version.getVersionNumber();
}
}