private void addSaveTableAsCsvMenuItem(final JPopupMenu popup, final Injector injector) { final JMenuItem saveAsCsvFileMenuItem = WidgetFactory.createMenuItem("Save table as CSV file", IconUtils.COMPONENT_TYPE_WRITE_DATA); final SaveTableAsCsvFileActionListener saveTableAsCsvFileActionListener = injector.getInstance(SaveTableAsCsvFileActionListener.class); saveAsCsvFileMenuItem.addActionListener(saveTableAsCsvFileActionListener); popup.add(saveAsCsvFileMenuItem); }
private void addSaveTableAsExcelMenuItem(final JPopupMenu popup, final Injector injector) { final JMenuItem saveAsExcelFileMenuItem = WidgetFactory.createMenuItem("Save table as Excel spreadsheet", IconUtils.COMPONENT_TYPE_WRITE_DATA); final SaveTableAsExcelSpreadsheetActionListener saveTableAsExcelSpreadsheetActionListener = injector.getInstance(SaveTableAsExcelSpreadsheetActionListener.class); saveAsExcelFileMenuItem.addActionListener(saveTableAsExcelSpreadsheetActionListener); popup.add(saveAsExcelFileMenuItem); }
private void addQuickAnalysisMenuItem(final Injector injector, final JPopupMenu popup) { final JMenuItem quickAnalysisMenuItem = WidgetFactory.createMenuItem("Quick analysis", IconUtils.MODEL_QUICK_ANALYSIS); final QuickAnalysisActionListener quickAnalysisActionListener = injector.getInstance(QuickAnalysisActionListener.class); quickAnalysisMenuItem.addActionListener(quickAnalysisActionListener); popup.add(quickAnalysisMenuItem); }
private void addRemoveTableFromSourceMenuItem(final Table table, final JPopupMenu popup) { final JMenuItem removeTableItem = WidgetFactory.createMenuItem("Remove table from source", "images/actions/toggle-source-table.png"); removeTableItem.addActionListener(e -> removeTable(table)); popup.add(removeTableItem); }
private void addAddTableToSourceMenuItem(final Table table, final JPopupMenu popup) { final JMenuItem addTableItem = WidgetFactory.createMenuItem("Add table to source", "images/actions/toggle-source-table.png"); addTableItem.addActionListener(e -> addTable(table)); popup.add(addTableItem); }
private void addAddTablesToSourceMenuItem(final Schema schema, final JPopupMenu popup) { final JMenuItem addTableItem = WidgetFactory .createMenuItem("Add all schema tables to source", "images/actions/toggle-source-table.png"); addTableItem.addActionListener(e -> { final TableMouseListener tableMouseListener = _tableMouseListenerProvider.get(); final List<Table> tables = schema.getTables(); for (final Table table : tables) { tableMouseListener.addTable(table); } }); popup.add(addTableItem); }
private void addQueryTableMenuItem(final Table table, final JPopupMenu popup) { final JMenuItem queryMenuItem = WidgetFactory.createMenuItem("Ad-hoc query", IconUtils.MODEL_QUERY); queryMenuItem .addActionListener(new QueryActionListener(_schemaTree.getWindowContext(), _analysisJobBuilder, table)); popup.add(queryMenuItem); }
private void showLibraryPopupMenu(final Object userObject, final MouseEvent mouseEvent) { final JMenuItem refreshLibraryMenuItem = WidgetFactory.createMenuItem("Refresh", IconUtils.MENU_REFRESH); refreshLibraryMenuItem.addActionListener( e -> _analysisJobBuilder.getConfiguration().getEnvironment().getDescriptorProvider().refresh()); final JPopupMenu popup = new JPopupMenu(userObject.toString()); popup.add(refreshLibraryMenuItem); popup.show((Component) mouseEvent.getSource(), mouseEvent.getX(), mouseEvent.getY()); } }
private void addDropTableMenuItem(final Table table, final JPopupMenu popup) { final Datastore datastore = _schemaTree.getDatastore(); if (datastore instanceof UpdateableDatastore) { popup.addSeparator(); final UpdateableDatastore updateableDatastore = (UpdateableDatastore) datastore; final JMenuItem dropTableMenuItem = WidgetFactory.createMenuItem("Drop table", IconUtils.ACTION_DROP_TABLE); dropTableMenuItem.addActionListener(e -> { final DropTableDialog dialog = new DropTableDialog(_windowContext, updateableDatastore, table, _schemaTree); dialog.open(); }); popup.add(dropTableMenuItem); } }
public static JMenuItem createMenuItem(final String text, final String iconPath) { Icon icon = null; if (iconPath != null) { icon = ImageManager.get().getImageIcon(iconPath, IconUtils.ICON_SIZE_MENU_ITEM); } return createMenuItem(text, icon); }
private void addPreviewTableMenuItem(final List<Column> columns, final JPopupMenu popup) { final JMenuItem previewMenuItem = WidgetFactory.createMenuItem("Preview table", IconUtils.ACTION_PREVIEW); previewMenuItem.addActionListener( new PreviewSourceDataActionListener(_schemaTree.getWindowContext(), _schemaTree.getDatastore(), columns)); popup.add(previewMenuItem); }
public void showPopup(final Component parentComponent, final int x, final int y) { final Icon renameIcon = ImageManager.get().getImageIcon(IconUtils.ACTION_RENAME, IconUtils.ICON_SIZE_SMALL); final JMenuItem renameMenuItem = WidgetFactory.createMenuItem("Rename component", renameIcon); renameMenuItem.addActionListener(new RenameComponentActionListener(_componentBuilder) { @Override protected void onNameChanged() { AbstractJobBuilderPopupListener.this.onNameChanged(); } }); final JMenuItem removeMenuItem = new RemoveComponentMenuItem(_componentBuilder) { private static final long serialVersionUID = 1L; @Override protected void onRemoved() { AbstractJobBuilderPopupListener.this.onRemoved(); } }; final JPopupMenu popup = new JPopupMenu(); popup.add(renameMenuItem); popup.add(removeMenuItem); popup.add(new ChangeRequirementMenu(_componentBuilder)); popup.show(parentComponent, x, y); }
private void showComponentPopupMenu(final Object userObject, final MouseEvent mouseEvent) { final ComponentDescriptor<?> componentDescriptor = (ComponentDescriptor<?>) userObject; if (SwingUtilities.isLeftMouseButton(mouseEvent) && mouseEvent.getClickCount() > 1) { _analysisJobBuilder.addComponent(componentDescriptor); } else if (SwingUtilities.isRightMouseButton(mouseEvent)) { final JMenuItem addTableItem = WidgetFactory.createMenuItem("Add component", IconUtils.getDescriptorIcon(componentDescriptor, IconUtils.ICON_SIZE_MENU_ITEM, false)); addTableItem.addActionListener(e -> _analysisJobBuilder.addComponent(componentDescriptor)); final JMenuItem referenceDocumentationItem = WidgetFactory.createMenuItem("Documentation", IconUtils.MENU_DOCUMENTATION); referenceDocumentationItem.addActionListener( new ComponentReferenceDocumentationActionListener(_analysisJobBuilder.getConfiguration(), componentDescriptor)); final JPopupMenu popup = new JPopupMenu(componentDescriptor.getDisplayName()); popup.add(addTableItem); popup.add(referenceDocumentationItem); popup.show((Component) mouseEvent.getSource(), mouseEvent.getX(), mouseEvent.getY()); } }
private void addCreateTableMenuItem(final Schema schema, final JPopupMenu popup) { final Datastore datastore = _schemaTree.getDatastore(); if (CreateTableDialog.isCreateTableAppropriate(datastore, schema)) { popup.addSeparator(); final UpdateableDatastore updateableDatastore = (UpdateableDatastore) datastore; final JMenuItem createTableMenuItem = WidgetFactory.createMenuItem("Create table", IconUtils.ACTION_CREATE_TABLE); createTableMenuItem.addActionListener(e -> { final CreateTableDialog dialog = new CreateTableDialog(_windowContext, updateableDatastore, schema); dialog.addListener((datastore1, schema1, tableName) -> _schemaTree.refreshDatastore()); dialog.open(); }); popup.add(createTableMenuItem); } } }
private PopupButton createExistingDatastoresButton() { final PopupButton existingDatastoresButton = WidgetFactory.createDefaultPopupButton("Existing datastores", IconUtils.FILE_FOLDER); final JPopupMenu menu = existingDatastoresButton.getMenu(); final String[] datastoreNames = _datastoreCatalog.getDatastoreNames(); for (final String datastoreName : datastoreNames) { final Datastore datastore = _datastoreCatalog.getDatastore(datastoreName); final JMenuItem menuItem = WidgetFactory.createMenuItem(datastoreName, IconUtils.getDatastoreIcon(datastore, IconUtils.ICON_SIZE_MENU_ITEM)); menuItem.addActionListener(e -> _datastoreSelectedListener.datastoreSelected(datastore)); menu.add(menuItem); } return existingDatastoresButton; }
private Component createMoreDatabasesButton(final List<DatastoreDescriptor> availableDatastoreDescriptors, final Set<String> promotedDatabases) { final PopupButton moreDatastoreTypesButton = WidgetFactory.createDefaultPopupButton("More databases", IconUtils.GENERIC_DATASTORE_IMAGEPATH); moreDatastoreTypesButton.setMenuPosition(MenuPosition.TOP); final JPopupMenu moreDatastoreTypesMenu = moreDatastoreTypesButton.getMenu(); for (int i = 0; i < availableDatastoreDescriptors.size(); i++) { final DatastoreDescriptor datastoreDescriptor = availableDatastoreDescriptors.get(i); if (!promotedDatabases.contains(datastoreDescriptor.getName())) { final String imagePath = datastoreDescriptor.getIconPath(); final ImageIcon icon = imageManager.getImageIcon(imagePath, IconUtils.ICON_SIZE_SMALL); final JMenuItem menuItem = WidgetFactory.createMenuItem(datastoreDescriptor.getName(), icon); menuItem.addActionListener( createActionListener(datastoreDescriptor.getName(), datastoreDescriptor.getDatastoreClass(), datastoreDescriptor.getDatastoreDialogClass())); moreDatastoreTypesMenu.add(menuItem); } } moreDatastoreTypesMenu.addSeparator(); final JMenuItem databaseDriversMenuItem = WidgetFactory.createMenuItem("Manage database drivers...", imageManager.getImageIcon(IconUtils.MENU_OPTIONS, IconUtils.ICON_SIZE_SMALL)); databaseDriversMenuItem.addActionListener(e -> { final OptionsDialog dialog = _optionsDialogProvider.get(); dialog.selectDatabaseDriversTab(); dialog.setVisible(true); }); moreDatastoreTypesMenu.add(databaseDriversMenuItem); return moreDatastoreTypesButton; }
private <D extends Datastore> JMenuItem createNewDatastoreButton(final String title, final String description, final String imagePath, final Class<D> datastoreClass, final Class<? extends AbstractDatastoreDialog<? extends Datastore>> dialogClass) { final JMenuItem item = WidgetFactory.createMenuItem(title, imagePath); item.setToolTipText(description); item.addActionListener(event -> { final Injector injectorWithNullDatastore = _dcModule.createInjectorBuilder().with(datastoreClass, null).createInjector(); final AbstractDatastoreDialog<? extends Datastore> dialog = injectorWithNullDatastore.getInstance(dialogClass); dialog.setVisible(true); dialog.addWindowListener(new WindowAdapter() { @Override public void windowClosed(final WindowEvent e) { if (dialog.getSavedDatastore() != null) { _datastoreSelectedListener.datastoreSelected(dialog.getSavedDatastore()); } } }); }); return item; }
public ExecuteButtonBuilder(final AnalysisJobBuilderWindow window) { _window = window; _analysisJobBuilder = window.getAnalysisJobBuilder(); _mainButton = WidgetFactory.createToolbarButton("Execute", IconUtils.MENU_EXECUTE); _alternativesButton = WidgetFactory.createToolbarButton(WidgetUtils.CHAR_CARET_DOWN, null); _alternativesButton.setFont(WidgetUtils.FONT_FONTAWESOME); _mainButton.addActionListener(e -> execute(_analysisJobBuilder)); _alternativesButton.addActionListener(e -> { final JPopupMenu menu = new JPopupMenu(); final Action<AnalysisJobBuilder> executeAction = this::execute; final List<ExecutionMenuItem> menuItems = ExecuteButtonOptions.getMenuItems(); for (final ExecutionMenuItem item : menuItems) { if (item instanceof ExecuteButtonOptions.Separator) { menu.addSeparator(); } else { final JMenuItem menuItem = WidgetFactory.createMenuItem(item.getText(), item.getIconPath()); final ActionListener actionListener = item.createActionListener(_analysisJobBuilder, executeAction, _window); if (actionListener == null) { menuItem.setEnabled(false); } else { menuItem.addActionListener(actionListener); } menu.add(menuItem); } } final int horizontalPosition = -1 * menu.getPreferredSize().width + _alternativesButton.getWidth(); menu.show(_alternativesButton, horizontalPosition, _alternativesButton.getHeight()); }); }
private JMenuItem createNewJdbcDatastoreButton(final String databaseName) { final DatabaseDriverDescriptor driverDescriptor = DatabaseDriverCatalog.getDatabaseDriverByDriverDatabaseName(databaseName); final JMenuItem item = WidgetFactory.createMenuItem(databaseName, driverDescriptor.getIconImagePath()); item.setToolTipText("Connect to " + databaseName); item.addActionListener(event -> { final Injector injectorWithDatastore = _dcModule.createInjectorBuilder().with(JdbcDatastore.class, null).createInjector(); final JdbcDatastoreDialog dialog = injectorWithDatastore.getInstance(JdbcDatastoreDialog.class); dialog.setSelectedDatabase(databaseName); dialog.setVisible(true); dialog.addWindowListener(new WindowAdapter() { @Override public void windowClosed(final WindowEvent e) { if (dialog.getSavedDatastore() != null) { _datastoreSelectedListener.datastoreSelected(dialog.getSavedDatastore()); } } }); }); return item; }
private void populateCreateDatastoreMenu(final JPopupMenu createDatastoreMenu) { final DatabaseDriverCatalog databaseDriverCatalog = _dcModule.createInjectorBuilder().getInstance(DatabaseDriverCatalog.class); final List<DatastoreDescriptor> availableDatastoreDescriptors = new DatastoreDescriptors(databaseDriverCatalog).getAvailableDatastoreDescriptors(); for (final DatastoreDescriptor datastoreDescriptor : availableDatastoreDescriptors) { if (_onlyUpdatableDatastores) { if (!datastoreDescriptor.isUpdatable()) { continue; } } final JMenuItem menuItem = WidgetFactory.createMenuItem(datastoreDescriptor.getName(), datastoreDescriptor.getIconPath()); menuItem.addActionListener( createActionListener(datastoreDescriptor.getName(), datastoreDescriptor.getDatastoreClass(), datastoreDescriptor.getDatastoreDialogClass())); createDatastoreMenu.add(menuItem); } }