renames & javadoc

This commit is contained in:
nik
2010-11-01 14:47:18 +03:00
parent ac661a0469
commit 75e4cb1c12
5 changed files with 50 additions and 17 deletions
@@ -20,7 +20,7 @@ import com.intellij.openapi.roots.AnnotationOrderRootType;
import com.intellij.openapi.roots.JavadocOrderRootType;
import com.intellij.openapi.roots.OrderRootType;
import com.intellij.openapi.roots.libraries.ui.AttachRootButtonDescriptor;
import com.intellij.openapi.roots.libraries.ui.AttachRootButtonDescriptorBase;
import com.intellij.openapi.roots.libraries.ui.ChooserBasedAttachRootButtonDescriptor;
import com.intellij.openapi.roots.libraries.ui.LibraryRootsComponentDescriptor;
import com.intellij.openapi.roots.libraries.ui.OrderRootTypePresentation;
import com.intellij.openapi.roots.ui.configuration.OrderRootTypeUIFactory;
@@ -46,8 +46,8 @@ public class DefaultLibraryRootsComponentDescriptor extends LibraryRootsComponen
@NotNull
@Override
public List<? extends AttachRootButtonDescriptor> createAttachButtons() {
return Arrays.asList(new AttachClassesAction(), new AttachJarDirectoriesAction(), new AttachSourcesAction(),
new AttachAnnotationsAction(), new AttachJavadocAction(), new AttachUrlJavadocAction());
return Arrays.asList(new AttachClassesDescriptor(), new AttachJarDirectoriesDescriptor(), new AttachSourcesDescriptor(),
new AttachAnnotationsDescriptor(), new AttachJavadocDescriptor(), new AttachUrlJavadocDescriptor());
}
public static OrderRootTypePresentation getDefaultPresentation(OrderRootType type) {
@@ -55,8 +55,8 @@ public class DefaultLibraryRootsComponentDescriptor extends LibraryRootsComponen
return new OrderRootTypePresentation(factory.getNodeText(), factory.getIcon());
}
private static class AttachClassesAction extends AttachRootButtonDescriptorBase {
private AttachClassesAction() {
private static class AttachClassesDescriptor extends ChooserBasedAttachRootButtonDescriptor {
private AttachClassesDescriptor() {
super(OrderRootType.CLASSES, ProjectBundle.message("module.libraries.attach.classes.button"));
}
@@ -78,8 +78,8 @@ public class DefaultLibraryRootsComponentDescriptor extends LibraryRootsComponen
}
}
private static class AttachJarDirectoriesAction extends AttachRootButtonDescriptorBase {
private AttachJarDirectoriesAction() {
private static class AttachJarDirectoriesDescriptor extends ChooserBasedAttachRootButtonDescriptor {
private AttachJarDirectoriesDescriptor() {
super(OrderRootType.CLASSES, ProjectBundle.message("module.libraries.attach.jar.directories.button"));
}
@@ -105,8 +105,8 @@ public class DefaultLibraryRootsComponentDescriptor extends LibraryRootsComponen
}
}
private class AttachSourcesAction extends AttachRootButtonDescriptorBase {
private AttachSourcesAction() {
private class AttachSourcesDescriptor extends ChooserBasedAttachRootButtonDescriptor {
private AttachSourcesDescriptor() {
super(OrderRootType.SOURCES, ProjectBundle.message("module.libraries.attach.sources.button"));
}
@@ -124,8 +124,8 @@ public class DefaultLibraryRootsComponentDescriptor extends LibraryRootsComponen
}
}
private static class AttachAnnotationsAction extends AttachRootButtonDescriptorBase {
private AttachAnnotationsAction() {
private static class AttachAnnotationsDescriptor extends ChooserBasedAttachRootButtonDescriptor {
private AttachAnnotationsDescriptor() {
super(AnnotationOrderRootType.getInstance(), ProjectBundle.message("attach.annotations.button"));
}
@@ -143,8 +143,8 @@ public class DefaultLibraryRootsComponentDescriptor extends LibraryRootsComponen
}
}
private static class AttachJavadocAction extends AttachRootButtonDescriptorBase {
private AttachJavadocAction() {
private static class AttachJavadocDescriptor extends ChooserBasedAttachRootButtonDescriptor {
private AttachJavadocDescriptor() {
super(JavadocOrderRootType.getInstance(), ProjectBundle.message("module.libraries.javadoc.attach.button"));
}
@@ -157,8 +157,8 @@ public class DefaultLibraryRootsComponentDescriptor extends LibraryRootsComponen
}
}
private static class AttachUrlJavadocAction extends AttachRootButtonDescriptor {
private AttachUrlJavadocAction() {
private static class AttachUrlJavadocDescriptor extends AttachRootButtonDescriptor {
private AttachUrlJavadocDescriptor() {
super(JavadocOrderRootType.getInstance(), ProjectBundle.message("module.libraries.javadoc.url.button"));
}
@@ -19,10 +19,19 @@ import com.intellij.openapi.extensions.ExtensionPointName;
import com.intellij.openapi.roots.libraries.ui.LibraryEditorComponent;
import com.intellij.openapi.roots.libraries.ui.LibraryPropertiesEditor;
import com.intellij.openapi.roots.libraries.ui.LibraryRootsComponentDescriptor;
import com.intellij.openapi.vfs.VirtualFile;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.List;
/**
* Override this class to provide custom library type. The implementation should be registered in plugin.xml:
* <p>
* &lt;extensions defaultExtensionNs="com.intellij"&gt;<br>
* &nbsp;&nbsp;&lt;library.type implementation="qualified-class-name"/&gt;<br>
* &lt;/extensions&gt;
*
* @author nik
*/
public abstract class LibraryType<P extends LibraryProperties> extends LibraryPresentationProvider<P> {
@@ -32,12 +41,19 @@ public abstract class LibraryType<P extends LibraryProperties> extends LibraryPr
super(libraryKind);
}
/**
* @return text to show in 'New Library' popup
*/
@NotNull
public abstract String getCreateActionName();
@NotNull
public abstract P createDefaultProperties();
/**
* Override this method to customize the library roots editor
* @return {@link com.intellij.openapi.roots.libraries.ui.LibraryRootsComponentDescriptor} instance
*/
@Nullable
public LibraryRootsComponentDescriptor createLibraryRootsComponentDescriptor() {
return null;
@@ -45,4 +61,9 @@ public abstract class LibraryType<P extends LibraryProperties> extends LibraryPr
@Nullable
public abstract LibraryPropertiesEditor createPropertiesEditor(@NotNull LibraryEditorComponent<P> properties);
@Override
public P detect(@NotNull List<VirtualFile> classesRoots) {
return null;
}
}
@@ -21,6 +21,9 @@ import org.jetbrains.annotations.Nullable;
import javax.swing.*;
/**
* Describes an 'attach' button in the library roots component.
*
* @see ChooserBasedAttachRootButtonDescriptor
* @author nik
*/
public abstract class AttachRootButtonDescriptor {
@@ -26,8 +26,8 @@ import javax.swing.*;
/**
* @author nik
*/
public abstract class AttachRootButtonDescriptorBase extends AttachRootButtonDescriptor {
public AttachRootButtonDescriptorBase(@NotNull OrderRootType rootType, @NotNull String buttonText) {
public abstract class ChooserBasedAttachRootButtonDescriptor extends AttachRootButtonDescriptor {
public ChooserBasedAttachRootButtonDescriptor(@NotNull OrderRootType rootType, @NotNull String buttonText) {
super(rootType, buttonText);
}
@@ -14,6 +14,7 @@ package com.intellij.openapi.roots.libraries.ui;
import com.intellij.openapi.roots.OrderRootType;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.List;
@@ -21,8 +22,16 @@ import java.util.List;
* @author nik
*/
public abstract class LibraryRootsComponentDescriptor {
/**
* Defines presentation for root type nodes in the library roots editor
* @return custom presentation or {@code null} if default presentation should be used
*/
@Nullable
public abstract OrderRootTypePresentation getRootTypePresentation(@NotNull OrderRootType type);
/**
* @return descriptors for 'Attach' buttons in the library roots editor
*/
@NotNull
public abstract List<? extends AttachRootButtonDescriptor> createAttachButtons();
}