Example usage for com.intellij.openapi.wm WindowManager suggestParentWindow

List of usage examples for com.intellij.openapi.wm WindowManager suggestParentWindow

Introduction

In this page you can find the example usage for com.intellij.openapi.wm WindowManager suggestParentWindow.

Prototype

@Nullable
public abstract Window suggestParentWindow(@Nullable Project project);

Source Link

Document

Gets first window (starting from the active one) that can be the parent for other windows.

Usage

From source file:com.sixrr.metrics.offline.ViewOfflineMetricsResultsAction.java

License:Apache License

@Override
public void actionPerformed(AnActionEvent event) {
    final DataContext dataContext = event.getDataContext();
    final Project project = CommonDataKeys.PROJECT.getData(dataContext);
    if (project == null) {
        return;/* w ww . j  a  v  a 2  s.co m*/
    }

    final JFileChooser chooser = new JFileChooser();
    final FileFilter filter = new SnapshotFileFilter();
    chooser.setFileFilter(filter);
    final WindowManager myWindowManager = WindowManager.getInstance();
    final Window parent = myWindowManager.suggestParentWindow(project);
    final int returnVal = chooser.showOpenDialog(parent);

    if (returnVal != JFileChooser.APPROVE_OPTION) {
        return;
    }
    final File selectedFile = chooser.getSelectedFile();
    final MetricsRun results = MetricsRunImpl.readFromFile(selectedFile);
    if (results == null) {
        return;
    }
    final MetricsToolWindow toolWindow = MetricsToolWindow.getInstance(project);
    final MetricsProfileRepository repository = MetricsProfileRepository.getInstance();
    final String profileName = results.getProfileName();
    MetricsProfile profile = repository.getProfileForName(profileName);
    if (profile == null) {
        final List<Metric> metrics = results.getMetrics();
        final List<MetricInstance> instances = new ArrayList<MetricInstance>();
        for (Metric metric : metrics) {
            final MetricInstanceImpl metricInstance = new MetricInstanceImpl(metric);
            metricInstance.setEnabled(true);
            instances.add(metricInstance);
        }
        profile = new MetricsProfileImpl(profileName, instances);
        repository.addProfile(profile);
    }
    toolWindow.show(results, profile, null, false); //TODO
}

From source file:com.sixrr.metrics.ui.metricdisplay.CreateSnapshotAction.java

License:Apache License

private int selectFile(JFileChooser chooser) {
    final FileFilter filter = new SnapshotFileFilter();
    chooser.setFileFilter(filter);/*from w  w  w. j  a  va 2  s .  c  om*/
    final WindowManager myWindowManager = WindowManager.getInstance();
    final Window parent = myWindowManager.suggestParentWindow(project);
    return chooser.showSaveDialog(parent);
}

From source file:com.sixrr.metrics.ui.metricdisplay.DiffSnapshotAction.java

License:Apache License

@Override
public void actionPerformed(AnActionEvent event) {
    final JFileChooser chooser = new JFileChooser();
    final FileFilter filter = new SnapshotFileFilter();
    chooser.setFileFilter(filter);/*  www  .  ja  va 2  s. c o m*/
    final WindowManager myWindowManager = WindowManager.getInstance();
    final Window parent = myWindowManager.suggestParentWindow(project);
    final int returnVal = chooser.showOpenDialog(parent);

    if (returnVal == JFileChooser.APPROVE_OPTION) {
        final File selectedFile = chooser.getSelectedFile();
        final MetricsRun previousResults = MetricsRunImpl.readFromFile(selectedFile);
        toolWindow.reloadAsDiff(previousResults);
    }
}

From source file:com.sixrr.metrics.ui.metricdisplay.ExportAction.java

License:Apache License

@Override
public void actionPerformed(AnActionEvent event) {
    final MetricsRun currentResults = toolWindow.getCurrentRun();
    final JFileChooser chooser = new JFileChooser();
    final FileTypeFilter xmlFilter = new FileTypeFilter(".xml", MetricsReloadedBundle.message("xml.files"));
    //        final FileTypeFilter htmlFilter = new FileTypeFilter(".html", "HTML Files");
    final FileTypeFilter csvFilter = new FileTypeFilter(".csv", MetricsReloadedBundle.message("csv.files"));
    chooser.setAcceptAllFileFilterUsed(false);
    chooser.addChoosableFileFilter(csvFilter);
    //        chooser.addChoosableFileFilter(htmlFilter);
    chooser.addChoosableFileFilter(xmlFilter);
    final WindowManager myWindowManager;
    final Application application = ApplicationManager.getApplication();
    if (application != null && application.hasComponent(WindowManager.class)) {
        myWindowManager = WindowManager.getInstance();
    } else {/*from  w w w.j a v a 2 s . co m*/
        return;
    }
    final Window parent = myWindowManager.suggestParentWindow(project);
    final int returnVal = chooser.showSaveDialog(parent);

    if (returnVal != JFileChooser.APPROVE_OPTION) {
        return;
    }
    final File selectedFile = chooser.getSelectedFile();
    final FileTypeFilter filter = (FileTypeFilter) chooser.getFileFilter();
    String fileName = selectedFile.getAbsolutePath();
    final Exporter exporter;
    if (filter.equals(csvFilter)) {
        exporter = new CSVExporter(currentResults);
    }
    //        else if (filter.equals(htmlFilter))
    //        {
    //            exporter = new HTMLExporter(currentResults);
    //        }
    else {
        exporter = new XMLExporter(currentResults);
    }
    final String extension = filter.getExtension();
    if (!fileName.endsWith(extension)) {
        fileName += extension;
    }

    try {
        exporter.export(fileName);
    } catch (IOException ex) {
        LOGGER.info("Metrics export to file failed", ex);
    }
}