Search in sources :

Example 41 with MenuItem

use of javafx.scene.control.MenuItem in project MiscellaneousStudy by mikoto2000.

the class ContextMenuSampleController method showContextMenu.

@FXML
public void showContextMenu(MouseEvent event) {
    ContextMenu cm = new ContextMenu();
    List<MenuItem> items = cm.getItems();
    MenuItem item1 = new MenuItem("Context Menu Item 1(instant)");
    item1.setOnAction((ActionEvent e) -> System.out.println("Clicked Context Menu Item 1"));
    items.add(item1);
    MenuItem item2 = new MenuItem("Context Menu Item 2(instant)");
    item2.setOnAction((ActionEvent e) -> System.out.println("Clicked Context Menu Item 2"));
    items.add(item2);
    MenuItem item3 = new MenuItem("Context Menu Item 3(instant)");
    item3.setOnAction((ActionEvent e) -> System.out.println("Clicked Context Menu Item 3"));
    items.add(item3);
    if (currentCm != null) {
        currentCm.hide();
    }
    currentCm = cm;
    cm.show(hbox, event.getScreenX(), event.getScreenY());
}
Also used : ActionEvent(javafx.event.ActionEvent) ContextMenu(javafx.scene.control.ContextMenu) MenuItem(javafx.scene.control.MenuItem) FXML(javafx.fxml.FXML)

Example 42 with MenuItem

use of javafx.scene.control.MenuItem in project jvarkit by lindenb.

the class IgvReview method start.

@Override
public void start(final Stage stage) throws Exception {
    stage.setTitle(getClass().getSimpleName());
    Predicate<VariantContext> ctxFilter;
    Map<String, String> params = super.getParameters().getNamed();
    if (params.containsKey("--filter")) {
        ctxFilter = JexlVariantPredicate.create(params.get("--filter"));
    } else {
        ctxFilter = V -> true;
    }
    final List<String> args = super.getParameters().getUnnamed();
    final File configFile;
    if (args.isEmpty()) {
        final FileChooser fc = new FileChooser();
        final String lastDirStr = preferences.get(LAST_USED_DIR_KEY, null);
        if (lastDirStr != null && !lastDirStr.isEmpty()) {
            fc.setInitialDirectory(new File(lastDirStr));
        }
        fc.getExtensionFilters().addAll(Collections.singletonList(new FileChooser.ExtensionFilter("Config file", "*.config", "*.cfg", "*.list")));
        configFile = fc.showOpenDialog(stage);
    } else if (args.size() == 1) {
        configFile = new File(args.get(0));
    } else {
        configFile = null;
    }
    if (configFile == null || !configFile.exists()) {
        JfxUtils.dialog().cause("Illegal number of arguments or file doesn't exists.").show(stage);
        Platform.exit();
        return;
    }
    if (configFile.isFile() && configFile.getParentFile() != null) {
        this.preferences.put(LAST_USED_DIR_KEY, configFile.getParentFile().getPath());
    }
    final List<String> configLines = Files.readAllLines(configFile.toPath());
    final Predicate<String> ignoreComment = (S) -> !S.startsWith("#");
    final Predicate<String> predVcf = S -> S.endsWith(".vcf") || S.endsWith(".vcf.gz");
    if (configLines.stream().filter(ignoreComment).filter(predVcf).count() != 1) {
        JfxUtils.dialog().cause("Found more than one vcf file in " + configFile).show(stage);
        Platform.exit();
        return;
    }
    final File vcfFile = configLines.stream().filter(ignoreComment).filter(predVcf).map(S -> new File(S)).findFirst().get();
    LOG.info("Opening vcf file and loading in memory");
    VCFFileReader vfr = null;
    CloseableIterator<VariantContext> iter = null;
    final Set<String> sampleNames;
    try {
        this.variants.clear();
        vfr = new VCFFileReader(vcfFile, false);
        this.vcfHeader = vfr.getFileHeader();
        sampleNames = new HashSet<>(this.vcfHeader.getSampleNamesInOrder());
        if (sampleNames.isEmpty()) {
            JfxUtils.dialog().cause("No Genotypes in " + vcfFile).show(stage);
            Platform.exit();
            return;
        }
        iter = vfr.iterator();
        this.variants.addAll(iter.stream().filter(ctxFilter).filter(CTX -> CTX.isVariant()).collect(Collectors.toList()));
    } catch (final Exception err) {
        JfxUtils.dialog().cause(err).show(stage);
        Platform.exit();
        return;
    } finally {
        CloserUtil.close(iter);
        CloserUtil.close(vfr);
    }
    if (this.variants.isEmpty()) {
        JfxUtils.dialog().cause("No Variants").show(stage);
        Platform.exit();
        return;
    }
    final SAMSequenceDictionary dict = this.vcfHeader.getSequenceDictionary();
    if (dict == null || dict.isEmpty()) {
        JfxUtils.dialog().cause(JvarkitException.VcfDictionaryMissing.getMessage(vcfFile.getPath())).show(stage);
        Platform.exit();
        return;
    }
    final SamReaderFactory srf = SamReaderFactory.makeDefault().validationStringency(ValidationStringency.LENIENT);
    configLines.stream().filter(ignoreComment).filter(S -> S.endsWith(".bam")).map(S -> new File(S)).forEach(F -> {
        final SamReader samIn = srf.open(F);
        final SAMFileHeader header = samIn.getFileHeader();
        CloserUtil.close(samIn);
        String sample = null;
        for (final SAMReadGroupRecord rg : header.getReadGroups()) {
            String s = rg.getSample();
            if (s == null)
                continue;
            if (sample == null) {
                sample = s;
            } else if (!sample.equals(s)) {
                JfxUtils.dialog().cause("Two samples in " + F).show(stage);
                Platform.exit();
                return;
            }
        }
        if (sample == null) {
            JfxUtils.dialog().cause("No sample in " + F + ". Ignoring").show(stage);
            return;
        }
        if (!sampleNames.contains(sample)) {
            JfxUtils.dialog().cause("Not in VCF header " + sample + " / " + F + ". Ignoring").show(stage);
            return;
        }
        this.sample2bamFile.put(sample, F);
    });
    if (this.sample2bamFile.isEmpty()) {
        JfxUtils.dialog().cause("No valid bam file in " + configFile).show(stage);
        return;
    }
    sampleNames.retainAll(this.sample2bamFile.keySet());
    if (sampleNames.isEmpty()) {
        JfxUtils.dialog().cause("No Sample associated to bam").show(stage);
        return;
    }
    ObservableList<VariantAndGenotype> genotypes = FXCollections.observableArrayList(this.variants.stream().flatMap(CTX -> CTX.getGenotypes().stream().filter(G -> sampleNames.contains(G.getSampleName())).map(G -> new VariantAndGenotype(CTX, G))).collect(Collectors.toList()));
    if (genotypes.isEmpty()) {
        JfxUtils.dialog().cause("No Genotype to show").show(stage);
        return;
    }
    Menu menu = new Menu("File");
    MenuItem menuItem = new MenuItem("Save as...");
    menuItem.setOnAction(AE -> {
        saveVariantsAs(stage);
    });
    menu.getItems().add(menuItem);
    menuItem = new MenuItem("Save");
    menuItem.setOnAction(AE -> {
        if (this.saveAsFile != null) {
            saveVariants(stage, this.saveAsFile);
        } else {
            saveVariantsAs(stage);
        }
    });
    menu.getItems().add(menuItem);
    menu.getItems().add(new SeparatorMenuItem());
    menuItem = new MenuItem("Quit");
    menuItem.setOnAction(AE -> {
        Platform.exit();
    });
    menu.getItems().add(menuItem);
    MenuBar bar = new MenuBar(menu);
    this.genotypeTable = new TableView<>(genotypes);
    this.genotypeTable.getColumns().add(makeColumn("CHROM", G -> G.ctx.getContig()));
    this.genotypeTable.getColumns().add(makeColumn("POS", G -> G.ctx.getStart()));
    this.genotypeTable.getColumns().add(makeColumn("ID", G -> G.ctx.getID()));
    this.genotypeTable.getColumns().add(makeColumn("REF", G -> G.ctx.getReference().getDisplayString()));
    this.genotypeTable.getColumns().add(makeColumn("ALT", G -> G.ctx.getAlternateAlleles().stream().map(A -> A.getDisplayString()).collect(Collectors.joining(","))));
    this.genotypeTable.getColumns().add(makeColumn("Sample", G -> G.g.getSampleName()));
    this.genotypeTable.getColumns().add(makeColumn("Type", G -> G.g.getType().name()));
    this.genotypeTable.getColumns().add(makeColumn("Alleles", G -> G.g.getAlleles().stream().map(A -> A.getDisplayString()).collect(Collectors.joining(","))));
    TableColumn<VariantAndGenotype, String> reviewCol = new TableColumn<>("Review");
    reviewCol.setCellValueFactory(C -> C.getValue().getReviewProperty());
    reviewCol.setCellFactory(TextFieldTableCell.forTableColumn());
    reviewCol.setOnEditCommit((E) -> {
        int y = E.getTablePosition().getRow();
        this.genotypeTable.getItems().get(y).setReview(E.getNewValue());
    });
    reviewCol.setEditable(true);
    this.genotypeTable.getColumns().add(reviewCol);
    this.genotypeTable.getSelectionModel().cellSelectionEnabledProperty().set(true);
    this.genotypeTable.setEditable(true);
    final ContextMenu cm = new ContextMenu();
    MenuItem mi1 = new MenuItem("Menu 1");
    cm.getItems().add(mi1);
    MenuItem mi2 = new MenuItem("Menu 2");
    cm.getItems().add(mi2);
    this.genotypeTable.setOnMousePressed(event -> {
        if (event.isPrimaryButtonDown() && (event.getClickCount() == 3 || event.isShiftDown())) {
            moveIgvTo(stage, genotypeTable.getSelectionModel().getSelectedItem());
        } else if (event.isSecondaryButtonDown()) {
            cm.show(genotypeTable, event.getScreenX(), event.getScreenY());
        }
    });
    final BorderPane pane2 = new BorderPane(this.genotypeTable);
    pane2.setPadding(new Insets(10, 10, 10, 10));
    VBox vbox1 = new VBox(bar, pane2);
    final Scene scene = new Scene(vbox1, 500, 300);
    stage.setScene(scene);
    stage.show();
}
Also used : JexlVariantPredicate(com.github.lindenb.jvarkit.util.vcf.JexlVariantPredicate) VCFFileReader(htsjdk.variant.vcf.VCFFileReader) VCFHeader(htsjdk.variant.vcf.VCFHeader) VariantContextWriterBuilder(htsjdk.variant.variantcontext.writer.VariantContextWriterBuilder) VBox(javafx.scene.layout.VBox) SAMFileHeader(htsjdk.samtools.SAMFileHeader) Application(javafx.application.Application) Vector(java.util.Vector) ContextMenu(javafx.scene.control.ContextMenu) IgvConstants(com.github.lindenb.jvarkit.util.igv.IgvConstants) Map(java.util.Map) TableView(javafx.scene.control.TableView) CloserUtil(htsjdk.samtools.util.CloserUtil) PrintWriter(java.io.PrintWriter) MenuItem(javafx.scene.control.MenuItem) GenotypeBuilder(htsjdk.variant.variantcontext.GenotypeBuilder) Predicate(java.util.function.Predicate) Logger(com.github.lindenb.jvarkit.util.log.Logger) Set(java.util.Set) Collectors(java.util.stream.Collectors) JvarkitException(com.github.lindenb.jvarkit.lang.JvarkitException) Platform(javafx.application.Platform) SeparatorMenuItem(javafx.scene.control.SeparatorMenuItem) List(java.util.List) SAMReadGroupRecord(htsjdk.samtools.SAMReadGroupRecord) VariantContextWriter(htsjdk.variant.variantcontext.writer.VariantContextWriter) VariantContext(htsjdk.variant.variantcontext.VariantContext) ObservableList(javafx.collections.ObservableList) BorderPane(javafx.scene.layout.BorderPane) SamReaderFactory(htsjdk.samtools.SamReaderFactory) VariantContextBuilder(htsjdk.variant.variantcontext.VariantContextBuilder) Genotype(htsjdk.variant.variantcontext.Genotype) CloseableIterator(htsjdk.samtools.util.CloseableIterator) Scene(javafx.scene.Scene) Socket(java.net.Socket) SimpleStringProperty(javafx.beans.property.SimpleStringProperty) FXCollections(javafx.collections.FXCollections) HashMap(java.util.HashMap) BackingStoreException(java.util.prefs.BackingStoreException) TextFieldTableCell(javafx.scene.control.cell.TextFieldTableCell) Function(java.util.function.Function) ValidationStringency(htsjdk.samtools.ValidationStringency) ArrayList(java.util.ArrayList) TableColumn(javafx.scene.control.TableColumn) HashSet(java.util.HashSet) Insets(javafx.geometry.Insets) Launcher(com.github.lindenb.jvarkit.util.jcommander.Launcher) VCFHeaderLineType(htsjdk.variant.vcf.VCFHeaderLineType) MenuBar(javafx.scene.control.MenuBar) Files(java.nio.file.Files) SAMSequenceDictionary(htsjdk.samtools.SAMSequenceDictionary) IOException(java.io.IOException) SamReader(htsjdk.samtools.SamReader) InputStreamReader(java.io.InputStreamReader) File(java.io.File) Preferences(java.util.prefs.Preferences) Menu(javafx.scene.control.Menu) FileChooser(javafx.stage.FileChooser) Stage(javafx.stage.Stage) Closeable(java.io.Closeable) JfxUtils(com.github.lindenb.jvarkit.jfx.components.JfxUtils) VCFFormatHeaderLine(htsjdk.variant.vcf.VCFFormatHeaderLine) Window(javafx.stage.Window) BufferedReader(java.io.BufferedReader) Collections(java.util.Collections) BorderPane(javafx.scene.layout.BorderPane) Insets(javafx.geometry.Insets) SAMReadGroupRecord(htsjdk.samtools.SAMReadGroupRecord) VCFFileReader(htsjdk.variant.vcf.VCFFileReader) VariantContext(htsjdk.variant.variantcontext.VariantContext) MenuBar(javafx.scene.control.MenuBar) ContextMenu(javafx.scene.control.ContextMenu) SAMSequenceDictionary(htsjdk.samtools.SAMSequenceDictionary) SamReader(htsjdk.samtools.SamReader) FileChooser(javafx.stage.FileChooser) ContextMenu(javafx.scene.control.ContextMenu) Menu(javafx.scene.control.Menu) SamReaderFactory(htsjdk.samtools.SamReaderFactory) MenuItem(javafx.scene.control.MenuItem) SeparatorMenuItem(javafx.scene.control.SeparatorMenuItem) SeparatorMenuItem(javafx.scene.control.SeparatorMenuItem) Scene(javafx.scene.Scene) TableColumn(javafx.scene.control.TableColumn) JvarkitException(com.github.lindenb.jvarkit.lang.JvarkitException) BackingStoreException(java.util.prefs.BackingStoreException) IOException(java.io.IOException) SAMFileHeader(htsjdk.samtools.SAMFileHeader) File(java.io.File) VBox(javafx.scene.layout.VBox)

Example 43 with MenuItem

use of javafx.scene.control.MenuItem in project jvarkit by lindenb.

the class JfxNgs method createCommonMenuItems.

List<MenuItem> createCommonMenuItems(final Stage stage) {
    final List<MenuItem> L = new ArrayList<>();
    L.add(createMenuItem("About...", () -> doMenuAbout(stage)));
    L.add(createMenuItem("Preferences...", () -> showPreferencesDialog(stage)));
    L.add(createMenuItem("Open in Microsoft Excel...", () -> doMenuOpenInExcel(stage)));
    L.add(new SeparatorMenuItem());
    L.add(createMenuItem("Open VCF/BAM File...", () -> openNgsFile(stage)));
    L.add(createMenuItem("Open Remote BAM...", () -> openBamUrl(stage)));
    L.add(createMenuItem("Open Remote VCF...", () -> openVcfUrl(stage)));
    L.add(new SeparatorMenuItem());
    L.add(createMenuItem("Tool: index BAM file...", () -> doMenuIndexBam(stage)));
    L.add(createMenuItem("Tool: index VCF file...", () -> doMenuIndexVcf(stage)));
    L.add(new SeparatorMenuItem());
    L.add(createMenuItem("Close", () -> stage.hide()));
    return L;
}
Also used : ArrayList(java.util.ArrayList) CheckMenuItem(javafx.scene.control.CheckMenuItem) MenuItem(javafx.scene.control.MenuItem) SeparatorMenuItem(javafx.scene.control.SeparatorMenuItem) SeparatorMenuItem(javafx.scene.control.SeparatorMenuItem)

Example 44 with MenuItem

use of javafx.scene.control.MenuItem in project jvarkit by lindenb.

the class JfxNgs method start.

/*
    private void showPreferenceDialoge(Window parentStage)
	    {
	    Stage dialog = new Stage();


	     dialog.setTitle("Preferences");
		 dialog.initOwner(parentStage);
		 dialog.initModality(Modality.APPLICATION_MODAL);
		 dialog.showAndWait();
	    }*/
@Override
public void start(final Stage primaryStage) throws Exception {
    final Parameters params = this.getParameters();
    primaryStage.setTitle(getClass().getSimpleName());
    Menu menu = new Menu("File");
    menu.getItems().addAll(createCommonMenuItems(primaryStage));
    menu.getItems().add(new SeparatorMenuItem());
    MenuItem menuItem = new MenuItem("Quit...");
    menuItem.setOnAction(AE -> doMenuQuit());
    menu.getItems().add(menuItem);
    MenuBar bar = new MenuBar(menu);
    FlowPane flow = new FlowPane(5, 5);
    flow.setPadding(new Insets(10));
    flow.getChildren().add(new Label("Set Location of all frames to:"));
    final TextField textField = new TextField();
    textField.setPrefColumnCount(25);
    textField.setPromptText("Location. e:g '2:1234-5678'");
    flow.getChildren().add(textField);
    Button button = new Button("Go");
    flow.getChildren().add(button);
    textField.setTooltip(new Tooltip("set genomic location can be: empty, 'contig', 'contig:pos', 'contig:start-end' and (\"unmapped\" for bam)"));
    final EventHandler<ActionEvent> handler = new EventHandler<ActionEvent>() {

        @Override
        public void handle(final ActionEvent event) {
            final String loc = textField.getText().trim();
            LOG.info("moveTo all to " + loc);
            for (final NgsStage<?, ?> sc : all_opened_stages) {
                LOG.info("moveTo " + sc.getTitle() + " to " + loc);
                sc.moveTo(loc);
            }
        }
    };
    button.setOnAction(handler);
    button.setTooltip(new Tooltip("Go the specified genomic location."));
    textField.setOnAction(handler);
    BorderPane pane = new BorderPane();
    pane.setPadding(new Insets(5));
    pane.setBottom(new Label("Author: Pierre Lindenbaum PhD."));
    VBox vbox1 = new VBox(bar, flow, pane);
    final Scene scene = new Scene(vbox1, 500, 300);
    primaryStage.setScene(scene);
    Exception lastException = null;
    primaryStage.addEventHandler(WindowEvent.WINDOW_SHOWING, new EventHandler<WindowEvent>() {

        @Override
        public void handle(final WindowEvent event) {
            final List<String> unnamedParams = new ArrayList<>(params.getUnnamed());
            String startPos = "";
            int optind = 0;
            while (optind + 1 < unnamedParams.size()) {
                if (unnamedParams.get(optind).equals("-h") || unnamedParams.get(optind).equals("--help")) {
                    unnamedParams.remove(optind);
                    System.out.println("JfxNgs : Pierre Lindenbaum PhD 2017");
                    System.out.println("Options:");
                    System.out.println(" -h|--help this screen.");
                    System.out.println(" -p|--position (string) the starting position");
                    Platform.exit();
                } else if (unnamedParams.get(optind).equals("-p") || unnamedParams.get(optind).equals("--position")) {
                    startPos = unnamedParams.get(optind + 1);
                    unnamedParams.remove(optind + 1);
                    unnamedParams.remove(optind);
                } else {
                    optind++;
                }
            }
            for (final String arg : unnamedParams) {
                VcfFile vcfin = null;
                BamFile bamin = null;
                try {
                    if (IOUtil.isUrl(arg)) {
                        if (arg.endsWith(".bam")) {
                            bamin = BamFile.newInstance(arg);
                        } else if (arg.endsWith(".vcf.gz")) {
                            vcfin = VcfFile.newInstance(arg);
                        }
                    } else {
                        final File f = new File(arg);
                        if (fileMatchExtensionFilter(f.getName(), BamStage.EXTENSION_FILTERS)) {
                            bamin = BamFile.newInstance(f);
                        } else if (fileMatchExtensionFilter(f.getName(), VcfStage.EXTENSION_FILTERS)) {
                            vcfin = VcfFile.newInstance(f);
                        } else {
                            JfxNgs.showExceptionDialog(primaryStage, "Cannot open " + f);
                        }
                    }
                    if (vcfin != null) {
                        new VcfStage(JfxNgs.this, vcfin).setLocationOnOpen(startPos).show();
                    } else if (bamin != null) {
                        new BamStage(JfxNgs.this, bamin).show();
                    }
                } catch (Exception e) {
                    CloserUtil.close(vcfin);
                    CloserUtil.close(bamin);
                    showExceptionDialog(primaryStage, e);
                }
            }
        }
    });
    primaryStage.show();
}
Also used : BorderPane(javafx.scene.layout.BorderPane) Insets(javafx.geometry.Insets) ActionEvent(javafx.event.ActionEvent) Label(javafx.scene.control.Label) MenuBar(javafx.scene.control.MenuBar) EventHandler(javafx.event.EventHandler) Button(javafx.scene.control.Button) FlowPane(javafx.scene.layout.FlowPane) TextField(javafx.scene.control.TextField) ObservableList(javafx.collections.ObservableList) ArrayList(java.util.ArrayList) List(java.util.List) Menu(javafx.scene.control.Menu) Tooltip(javafx.scene.control.Tooltip) CheckMenuItem(javafx.scene.control.CheckMenuItem) MenuItem(javafx.scene.control.MenuItem) SeparatorMenuItem(javafx.scene.control.SeparatorMenuItem) SeparatorMenuItem(javafx.scene.control.SeparatorMenuItem) Scene(javafx.scene.Scene) ScriptException(javax.script.ScriptException) BackingStoreException(java.util.prefs.BackingStoreException) IOException(java.io.IOException) WindowEvent(javafx.stage.WindowEvent) VBox(javafx.scene.layout.VBox) File(java.io.File)

Example 45 with MenuItem

use of javafx.scene.control.MenuItem in project jvarkit by lindenb.

the class NgsStage method createJavascriptSnippetMenu.

/**
 * generate the javascript Menu, containing the snippets.
 * the snippet are stored as a xml file in the jar file
 * @return
 */
protected Menu createJavascriptSnippetMenu() {
    final Menu menu = new Menu("Snippets");
    loadSnippets().stream().filter(C -> C.isFilterScope()).forEach(C -> {
        final MenuItem item = new MenuItem(C.label + (C.function ? "[Function]" : ""));
        item.setOnAction(new EventHandler<ActionEvent>() {

            @Override
            public void handle(ActionEvent event) {
                if (!C.function) {
                    NgsStage.this.javascriptArea.setText(C.code);
                } else {
                    final int caret = NgsStage.this.javascriptArea.getCaretPosition();
                    NgsStage.this.javascriptArea.insertText(caret, C.code);
                }
            }
        });
        menu.getItems().add(item);
    });
    return menu;
}
Also used : Arrays(java.util.Arrays) ChartFactory(com.github.lindenb.jvarkit.tools.vcfviewgui.chart.ChartFactory) ScrollPane(javafx.scene.control.ScrollPane) ReadOnlyObjectWrapper(javafx.beans.property.ReadOnlyObjectWrapper) Map(java.util.Map) Hershey(com.github.lindenb.jvarkit.util.Hershey) ScriptException(javax.script.ScriptException) CloserUtil(htsjdk.samtools.util.CloserUtil) PrintWriter(java.io.PrintWriter) GraphicsContext(javafx.scene.canvas.GraphicsContext) Set(java.util.Set) Canvas(javafx.scene.canvas.Canvas) FilterOutputStream(java.io.FilterOutputStream) CellDataFeatures(javafx.scene.control.TableColumn.CellDataFeatures) Platform(javafx.application.Platform) Separator(javafx.scene.control.Separator) Clipboard(javafx.scene.input.Clipboard) FlowPane(javafx.scene.layout.FlowPane) QName(javax.xml.namespace.QName) BorderPane(javafx.scene.layout.BorderPane) Hyperlink(javafx.scene.control.Hyperlink) CloseableIterator(htsjdk.samtools.util.CloseableIterator) ByteArrayOutputStream(java.io.ByteArrayOutputStream) FXCollections(javafx.collections.FXCollections) TextFlow(javafx.scene.text.TextFlow) Supplier(java.util.function.Supplier) ArrayList(java.util.ArrayList) AbstractIterator(htsjdk.samtools.util.AbstractIterator) Color(javafx.scene.paint.Color) FileOutputStream(java.io.FileOutputStream) IOException(java.io.IOException) File(java.io.File) Menu(javafx.scene.control.Menu) FileChooser(javafx.stage.FileChooser) Tab(javafx.scene.control.Tab) CompiledScript(javax.script.CompiledScript) ObservableValue(javafx.beans.value.ObservableValue) EventHandler(javafx.event.EventHandler) Button(javafx.scene.control.Button) IOUtil(htsjdk.samtools.util.IOUtil) XMLInputFactory(javax.xml.stream.XMLInputFactory) IgvSocket(com.github.lindenb.jvarkit.util.igv.IgvSocket) CycleMethod(javafx.scene.paint.CycleMethod) LinearGradient(javafx.scene.paint.LinearGradient) VBox(javafx.scene.layout.VBox) XMLEvent(javax.xml.stream.events.XMLEvent) AlertType(javafx.scene.control.Alert.AlertType) WindowEvent(javafx.stage.WindowEvent) TableView(javafx.scene.control.TableView) Pane(javafx.scene.layout.Pane) Orientation(javafx.geometry.Orientation) Alert(javafx.scene.control.Alert) HBox(javafx.scene.layout.HBox) TextField(javafx.scene.control.TextField) MenuItem(javafx.scene.control.MenuItem) Stop(javafx.scene.paint.Stop) Predicate(java.util.function.Predicate) Logger(com.github.lindenb.jvarkit.util.log.Logger) Font(javafx.scene.text.Font) Spinner(javafx.scene.control.Spinner) Chart(javafx.scene.chart.Chart) Collectors(java.util.stream.Collectors) SeparatorMenuItem(javafx.scene.control.SeparatorMenuItem) Text(javafx.scene.text.Text) SimpleBindings(javax.script.SimpleBindings) Priority(javafx.scene.layout.Priority) List(java.util.List) Paint(javafx.scene.paint.Paint) Optional(java.util.Optional) ClipboardContent(javafx.scene.input.ClipboardContent) Scene(javafx.scene.Scene) TextArea(javafx.scene.control.TextArea) ButtonType(javafx.scene.control.ButtonType) HashMap(java.util.HashMap) Function(java.util.function.Function) TableColumn(javafx.scene.control.TableColumn) HashSet(java.util.HashSet) Interval(htsjdk.samtools.util.Interval) TableCell(javafx.scene.control.TableCell) Attribute(javax.xml.stream.events.Attribute) Insets(javafx.geometry.Insets) StartElement(javax.xml.stream.events.StartElement) Callback(javafx.util.Callback) Tooltip(javafx.scene.control.Tooltip) OutputStream(java.io.OutputStream) PrintStream(java.io.PrintStream) XMLEventReader(javax.xml.stream.XMLEventReader) Locatable(htsjdk.samtools.util.Locatable) Modality(javafx.stage.Modality) Label(javafx.scene.control.Label) MenuBar(javafx.scene.control.MenuBar) SAMSequenceDictionary(htsjdk.samtools.SAMSequenceDictionary) FileInputStream(java.io.FileInputStream) ActionEvent(javafx.event.ActionEvent) Stage(javafx.stage.Stage) SAMSequenceRecord(htsjdk.samtools.SAMSequenceRecord) ExtensionFilter(javafx.stage.FileChooser.ExtensionFilter) Collections(java.util.Collections) InputStream(java.io.InputStream) ActionEvent(javafx.event.ActionEvent) MenuItem(javafx.scene.control.MenuItem) SeparatorMenuItem(javafx.scene.control.SeparatorMenuItem) Menu(javafx.scene.control.Menu)

Aggregations

MenuItem (javafx.scene.control.MenuItem)133 ContextMenu (javafx.scene.control.ContextMenu)72 Menu (javafx.scene.control.Menu)41 SeparatorMenuItem (javafx.scene.control.SeparatorMenuItem)41 ActionEvent (javafx.event.ActionEvent)30 File (java.io.File)23 VBox (javafx.scene.layout.VBox)21 List (java.util.List)20 Scene (javafx.scene.Scene)20 ArrayList (java.util.ArrayList)19 Label (javafx.scene.control.Label)19 Collectors (java.util.stream.Collectors)16 MenuBar (javafx.scene.control.MenuBar)15 ObservableList (javafx.collections.ObservableList)13 IOException (java.io.IOException)12 EventHandler (javafx.event.EventHandler)12 Button (javafx.scene.control.Button)12 FXCollections (javafx.collections.FXCollections)11 ImageView (javafx.scene.image.ImageView)11 KeyCodeCombination (javafx.scene.input.KeyCodeCombination)11