use of org.eclipse.che.ide.api.resources.marker.Marker in project che by eclipse.
the class ResourceNode method updatePresentation.
@Override
public void updatePresentation(@NotNull NodePresentation presentation) {
final StringBuilder cssBuilder = new StringBuilder();
final Optional<Marker> presentableTextMarker = getData().getMarker(PresentableTextMarker.ID);
if (presentableTextMarker.isPresent() && getData() instanceof Container) {
presentation.setPresentableText(((PresentableTextMarker) presentableTextMarker.get()).getPresentableText());
} else {
presentation.setPresentableText(getData().getName());
}
if (resourceIsCut) {
cssBuilder.append("opacity:0.5;");
} else {
cssBuilder.append("opacity:1;");
}
SVGResource icon = null;
for (NodeIconProvider iconProvider : nodeIconProviders) {
icon = iconProvider.getIcon(getData());
if (icon != null) {
break;
}
}
if (icon != null) {
presentation.setPresentableIcon(icon);
} else {
if (getData().getResourceType() == FOLDER) {
presentation.setPresentableIcon(getData().getName().startsWith(".") ? nodesResources.hiddenSimpleFolder() : nodesResources.simpleFolder());
} else if (getData().getResourceType() == PROJECT) {
presentation.setPresentableIcon(((Project) getData()).isProblem() ? nodesResources.notValidProjectFolder() : nodesResources.projectFolder());
cssBuilder.append("font-weight:bold;");
} else if (getData().getResourceType() == FILE) {
presentation.setPresentableIcon(nodesResources.file());
}
}
presentation.setPresentableTextCss(cssBuilder.toString());
}
use of org.eclipse.che.ide.api.resources.marker.Marker in project che by eclipse.
the class ProjectConfigSynchronized method onSelectionChanged.
@Override
public void onSelectionChanged(SelectionChangedEvent event) {
final Project project = appContext.getRootProject();
if (project == null) {
return;
}
final Optional<Marker> marker = project.getMarker(PROBLEM_PROJECT);
if (!marker.isPresent()) {
return;
}
final Project.ProblemProjectMarker problemProjectMarker = (Project.ProblemProjectMarker) marker.get();
final Map<Integer, String> problems = problemProjectMarker.getProblems();
//If no project folder on file system
final String noProjectFolderProblem = problems.get(NO_PROJECT_ON_FILE_SYSTEM);
if (!isNullOrEmpty(noProjectFolderProblem)) {
showImportDialog(project);
}
}
use of org.eclipse.che.ide.api.resources.marker.Marker in project che by eclipse.
the class ResourceImpl method getParentWithMarker.
/** {@inheritDoc} */
@Override
public Optional<Resource> getParentWithMarker(String type) {
checkArgument(!isNullOrEmpty(type), "Invalid marker type occurred");
if (getMarker(type).isPresent()) {
return Optional.<Resource>of(this);
}
Container optParent = getParent();
while (optParent != null) {
Container parent = optParent;
final Optional<Marker> marker = parent.getMarker(type);
if (marker.isPresent()) {
return Optional.<Resource>of(parent);
}
optParent = parent.getParent();
}
return absent();
}
use of org.eclipse.che.ide.api.resources.marker.Marker in project che by eclipse.
the class TestFolderDecorator method transform.
protected Node transform(ResourceNode resourceNode) {
final Optional<Resource> srcFolder = resourceNode.getData().getParentWithMarker(SourceFolderMarker.ID);
if (!srcFolder.isPresent()) {
return resourceNode;
}
final Optional<Marker> marker = srcFolder.get().getMarker(SourceFolderMarker.ID);
final ContentRoot contentRoot = ((SourceFolderMarker) marker.get()).getContentRoot();
if (contentRoot == ContentRoot.TEST_SOURCE && !resourceNode.getData().getLocation().equals(srcFolder.get().getLocation())) {
resourceNode.getAttributes().put(CUSTOM_BACKGROUND_FILL, singletonList(Style.theme.projectExplorerTestItemBackground()));
}
return resourceNode;
}
Aggregations