use of javafx.scene.control.CustomMenuItem in project pmd by pmd.
the class MainDesignerController method updateRecentFilesMenu.
private void updateRecentFilesMenu() {
List<MenuItem> items = new ArrayList<>();
List<File> filesToClear = new ArrayList<>();
for (final File f : recentFiles) {
if (f.exists() && f.isFile()) {
CustomMenuItem item = new CustomMenuItem(new Label(f.getName()));
item.setOnAction(e -> loadSourceFromFile(f));
item.setMnemonicParsing(false);
Tooltip.install(item.getContent(), new Tooltip(f.getAbsolutePath()));
items.add(item);
} else {
filesToClear.add(f);
}
}
recentFiles.removeAll(filesToClear);
if (items.isEmpty()) {
openRecentMenu.setDisable(true);
return;
}
Collections.reverse(items);
items.add(new SeparatorMenuItem());
MenuItem clearItem = new MenuItem();
clearItem.setText("Clear menu");
clearItem.setOnAction(e -> {
recentFiles.clear();
openRecentMenu.setDisable(true);
});
items.add(clearItem);
openRecentMenu.getItems().setAll(items);
}
use of javafx.scene.control.CustomMenuItem in project org.csstudio.display.builder by kasemir.
the class AutocompleteMenu method createHeaderItem.
private final CustomMenuItem createHeaderItem(final String header) {
final CustomMenuItem item = new CustomMenuItem(new Text(header), false);
item.getStyleClass().add("ac-menu-label");
item.setHideOnClick(false);
item.setMnemonicParsing(false);
return item;
}
Aggregations