mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
"Add Framework Support" UI
This commit is contained in:
+20
-2
@@ -40,7 +40,15 @@ public class AddFrameworkSupportDialog extends DialogWrapper {
|
||||
public String compute() {
|
||||
return contentRootPath;
|
||||
}
|
||||
});
|
||||
}) {
|
||||
|
||||
@Override
|
||||
protected void onFrameworkStateChanged() {
|
||||
setOKActionEnabled(isOKActionEnabled());
|
||||
}
|
||||
};
|
||||
|
||||
setOKActionEnabled(isOKActionEnabled());
|
||||
Disposer.register(myDisposable, myAddSupportPanel);
|
||||
init();
|
||||
}
|
||||
@@ -61,8 +69,13 @@ public class AddFrameworkSupportDialog extends DialogWrapper {
|
||||
return roots.length != 0 && FrameworkSupportUtil.hasProviders(module);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOKActionEnabled() {
|
||||
return myAddSupportPanel.hasSelectedFrameworks();
|
||||
}
|
||||
|
||||
protected void doOKAction() {
|
||||
if (myAddSupportPanel.haveSelectedFrameworks()) {
|
||||
if (myAddSupportPanel.hasSelectedFrameworks()) {
|
||||
if (!myAddSupportPanel.downloadLibraries()) {
|
||||
int answer = Messages.showYesNoDialog(myAddSupportPanel.getMainPanel(),
|
||||
ProjectBundle.message("warning.message.some.required.libraries.wasn.t.downloaded"),
|
||||
@@ -96,4 +109,9 @@ public class AddFrameworkSupportDialog extends DialogWrapper {
|
||||
protected JComponent createCenterPanel() {
|
||||
return myAddSupportPanel.getMainPanel();
|
||||
}
|
||||
|
||||
@Override
|
||||
public JComponent getPreferredFocusedComponent() {
|
||||
return myAddSupportPanel.getFrameworksTree();
|
||||
}
|
||||
}
|
||||
|
||||
+3
-1
@@ -31,7 +31,9 @@
|
||||
<grid row="2" column="0" row-span="1" col-span="1" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
|
||||
</constraints>
|
||||
<properties/>
|
||||
<border type="none"/>
|
||||
<border type="empty">
|
||||
<size top="3" left="0" bottom="0" right="0"/>
|
||||
</border>
|
||||
<children/>
|
||||
</grid>
|
||||
</children>
|
||||
|
||||
+16
-15
@@ -48,6 +48,7 @@ import com.intellij.ui.SeparatorFactory;
|
||||
import com.intellij.util.graph.CachingSemiGraph;
|
||||
import com.intellij.util.graph.DFSTBuilder;
|
||||
import com.intellij.util.graph.GraphGenerator;
|
||||
import com.intellij.util.ui.UIUtil;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -64,7 +65,6 @@ import java.util.List;
|
||||
*/
|
||||
public class AddSupportForFrameworksPanel implements Disposable {
|
||||
private static final Logger LOG = Logger.getInstance("#com.intellij.ide.util.newProjectWizard.AddSupportForFrameworksStep");
|
||||
@NonNls private static final String UNCHECKED_CARD = "unchecked";
|
||||
@NonNls private static final String EMPTY_CARD = "empty";
|
||||
private JPanel myMainPanel;
|
||||
private JPanel myFrameworksPanel;
|
||||
@@ -78,7 +78,6 @@ public class AddSupportForFrameworksPanel implements Disposable {
|
||||
private final FrameworksTree myFrameworksTree;
|
||||
private final Set<String> myInitializedOptionsPanelIds = new HashSet<String>();
|
||||
private FrameworkSupportNode myLastSelectedNode;
|
||||
private final JLabel myTickCheckboxLabel;
|
||||
|
||||
public AddSupportForFrameworksPanel(final List<FrameworkSupportProvider> providers, final @NotNull LibrariesContainer librariesContainer,
|
||||
@Nullable ModuleBuilder builder, Computable<String> baseDirForLibrariesGetter) {
|
||||
@@ -100,6 +99,7 @@ public class AddSupportForFrameworksPanel implements Disposable {
|
||||
updateOptionsPanel();
|
||||
frameworkSupportNode.getConfigurable().onFrameworkSelectionChanged(node.isChecked());
|
||||
myModel.onFrameworkSelectionChanged(frameworkSupportNode);
|
||||
onFrameworkStateChanged();
|
||||
}
|
||||
};
|
||||
myFrameworksTree.addTreeSelectionListener(new TreeSelectionListener() {
|
||||
@@ -107,17 +107,19 @@ public class AddSupportForFrameworksPanel implements Disposable {
|
||||
onSelectionChanged();
|
||||
}
|
||||
});
|
||||
|
||||
splitter.setFirstComponent(ScrollPaneFactory.createScrollPane(myFrameworksTree));
|
||||
myOptionsPanel = new JPanel(new CardLayout());
|
||||
myOptionsPanel.add(EMPTY_CARD, new JPanel());
|
||||
final JPanel uncheckedLabelPanel = new JPanel(new BorderLayout());
|
||||
myTickCheckboxLabel = new JLabel("Tick checkbox");
|
||||
uncheckedLabelPanel.add(BorderLayout.NORTH, myTickCheckboxLabel);
|
||||
myOptionsPanel.add(UNCHECKED_CARD, uncheckedLabelPanel);
|
||||
|
||||
splitter.setSecondComponent(myOptionsPanel);
|
||||
myFrameworksPanel.add(splitter, BorderLayout.CENTER);
|
||||
|
||||
myFrameworksTree.setSelectionRow(0);
|
||||
}
|
||||
|
||||
protected void onFrameworkStateChanged() {}
|
||||
|
||||
private void onSelectionChanged() {
|
||||
if (!myFrameworksTree.isProcessingMouseEventOnCheckbox()) {
|
||||
updateOptionsPanel();
|
||||
@@ -154,14 +156,9 @@ public class AddSupportForFrameworksPanel implements Disposable {
|
||||
private void updateOptionsPanel() {
|
||||
final FrameworkSupportNode node = getSelectedNode();
|
||||
if (node != null) {
|
||||
if (node.isChecked()) {
|
||||
initializeOptionsPanel(node);
|
||||
showCard(node.getProvider().getId());
|
||||
}
|
||||
else {
|
||||
myTickCheckboxLabel.setText("Select check box to add '" + node.getTitle() + "' support");
|
||||
showCard(UNCHECKED_CARD);
|
||||
}
|
||||
initializeOptionsPanel(node);
|
||||
showCard(node.getProvider().getId());
|
||||
UIUtil.setEnabled(myOptionsPanel, node.isChecked(), true);
|
||||
}
|
||||
else {
|
||||
showCard(EMPTY_CARD);
|
||||
@@ -314,7 +311,11 @@ public class AddSupportForFrameworksPanel implements Disposable {
|
||||
return myMainPanel;
|
||||
}
|
||||
|
||||
public boolean haveSelectedFrameworks() {
|
||||
public FrameworksTree getFrameworksTree() {
|
||||
return myFrameworksTree;
|
||||
}
|
||||
|
||||
public boolean hasSelectedFrameworks() {
|
||||
return !getFrameworkNodes(true).isEmpty();
|
||||
}
|
||||
|
||||
|
||||
@@ -481,7 +481,7 @@ composing.library.name.label=&Name:
|
||||
composing.library.download.missing.jars.to=&Download missing files to:
|
||||
composing.liibrary.new.library.label=The following library will be created
|
||||
composing.library.from.repository.label=&from {0}
|
||||
dialog.title.add.frameworks.support=Frameworks Support
|
||||
dialog.title.add.frameworks.support=Add Frameworks Support
|
||||
warning.message.some.required.libraries.wasn.t.downloaded=Some required library wasn't downloaded. Do you want to proceed without it?
|
||||
|
||||
save.as.library.checkbox=&Move copy to {0} level
|
||||
|
||||
Reference in New Issue
Block a user