Search in sources :

Example 11 with InternalFrameEvent

use of javax.swing.event.InternalFrameEvent in project drools by kiegroup.

the class AdventureFrame method handleRequestGive.

// public void receiveMessage(List cmd) {
// Performative p = null;
// 
// switch ( p ) {
// case REQUEST :
// //Performatives r = ( Performatives ) p ;
// }
// }
public void handleRequestGive() {
    final JOptionPane pane = new JOptionPane("xxx msg");
    pane.setWantsInput(true);
    pane.setInputValue("");
    pane.setOptions(new String[] { "Yes", "No" });
    JInternalFrame internalFrame = pane.createInternalFrame(contentPane, "xxx title");
    internalFrame.setVisible(true);
    pane.setVisible(true);
    internalFrame.addInternalFrameListener(new InternalFrameListener() {

        public void internalFrameOpened(InternalFrameEvent e) {
        }

        public void internalFrameIconified(InternalFrameEvent e) {
        }

        public void internalFrameDeiconified(InternalFrameEvent e) {
        }

        public void internalFrameDeactivated(InternalFrameEvent e) {
        }

        public void internalFrameClosing(InternalFrameEvent e) {
        }

        public void internalFrameClosed(InternalFrameEvent e) {
            System.out.println(pane.getInputValue() + ":" + pane.getValue());
        }

        public void internalFrameActivated(InternalFrameEvent e) {
        }
    });
}
Also used : InternalFrameListener(javax.swing.event.InternalFrameListener) InternalFrameEvent(javax.swing.event.InternalFrameEvent)

Example 12 with InternalFrameEvent

use of javax.swing.event.InternalFrameEvent in project mondrian by pentaho.

the class Workbench method newQueryMenuItemActionPerformed.

private void newQueryMenuItemActionPerformed(ActionEvent evt) {
    JMenuItem schemaMenuItem = schemaWindowMap.get(desktopPane.getSelectedFrame());
    final JInternalFrame jf = new JInternalFrame();
    jf.setTitle(getResourceConverter().getString("workbench.new.MDXQuery.title", "MDX Query"));
    QueryPanel qp = new QueryPanel(this);
    jf.getContentPane().add(qp);
    jf.setBounds(0, 0, 500, 480);
    jf.setClosable(true);
    jf.setIconifiable(true);
    jf.setMaximizable(true);
    jf.setResizable(true);
    jf.setVisible(true);
    desktopPane.add(jf);
    jf.show();
    try {
        jf.setSelected(true);
    } catch (Exception ex) {
        // do nothing
        LOGGER.error("newQueryMenuItemActionPerformed.setSelected", ex);
    }
    // add the mdx frame to this set of mdx frames for cascading method
    mdxWindows.add(jf);
    // create mdx menu item
    final javax.swing.JMenuItem queryMenuItem = new javax.swing.JMenuItem();
    queryMenuItem.setText(getResourceConverter().getFormattedString("workbench.new.MDXQuery.menuitem", "{0} MDX", Integer.toString(windowMenuMapIndex)));
    queryMenuItem.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent evt) {
            try {
                if (jf.isIcon()) {
                    jf.setIcon(false);
                } else {
                    jf.setSelected(true);
                }
            } catch (Exception ex) {
                LOGGER.error("queryMenuItem", ex);
            }
        }
    });
    // disable mdx frame close operation to provide our handler
    // to remove frame object from mdxframeset before closing
    jf.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
    jf.addInternalFrameListener(new InternalFrameAdapter() {

        public void internalFrameClosing(InternalFrameEvent e) {
            mdxWindows.remove(jf);
            jf.dispose();
            // follow this by removing file from schemaWindowMap
            windowMenu.remove(queryMenuItem);
            return;
        }
    });
    windowMenu.add(queryMenuItem, -1);
    windowMenu.add(jSeparator3, -1);
    windowMenu.add(cascadeMenuItem, -1);
    windowMenu.add(tileMenuItem, -1);
    windowMenu.add(minimizeMenuItem, -1);
    windowMenu.add(maximizeMenuItem, -1);
    windowMenu.add(closeAllMenuItem, -1);
    qp.setMenuItem(queryMenuItem);
    qp.setSchemaWindowMap(schemaWindowMap);
    qp.setWindowMenuIndex(windowMenuMapIndex++);
    if (schemaMenuItem != null) {
        qp.initConnection(schemaMenuItem.getText());
    } else {
        JOptionPane.showMessageDialog(this, getResourceConverter().getString("workbench.new.MDXQuery.no.selection", "No Mondrian connection. Select a Schema to connect."), getResourceConverter().getString("workbench.new.MDXQuery.no.selection.title", "Alert"), JOptionPane.WARNING_MESSAGE);
    }
}
Also used : javax.swing(javax.swing) InternalFrameAdapter(javax.swing.event.InternalFrameAdapter) InternalFrameEvent(javax.swing.event.InternalFrameEvent) KettleException(org.pentaho.di.core.exception.KettleException) KettleDatabaseException(org.pentaho.di.core.exception.KettleDatabaseException)

Example 13 with InternalFrameEvent

use of javax.swing.event.InternalFrameEvent in project mondrian by pentaho.

the class Workbench method openSchemaFrame.

private void openSchemaFrame(File file, boolean newFile) {
    try {
        setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
        if (!newFile) {
            // check if file not already open
            if (checkFileOpen(file)) {
                return;
            }
            // check if schema file exists
            if (!file.exists()) {
                JOptionPane.showMessageDialog(this, getResourceConverter().getFormattedString("workbench.open.schema.not.found", "{0} File not found.", file.getAbsolutePath()), getResourceConverter().getString("workbench.open.schema.not.found.title", "Alert"), JOptionPane.WARNING_MESSAGE);
                return;
            }
            // check if file is writable
            if (!file.canWrite()) {
                JOptionPane.showMessageDialog(this, getResourceConverter().getFormattedString("workbench.open.schema.not.writeable", "{0} is not writeable.", file.getAbsolutePath()), getResourceConverter().getString("workbench.open.schema.not.writeable.title", "Alert"), JOptionPane.WARNING_MESSAGE);
                return;
            }
            checkSchemaFile(file);
        }
        final JInternalFrame schemaFrame = new JInternalFrame();
        schemaFrame.setTitle(getResourceConverter().getFormattedString("workbench.open.schema.title", "Schema - {0}", file.getName()));
        getNewJdbcMetadata();
        schemaFrame.getContentPane().add(new SchemaExplorer(this, file, jdbcMetaData, newFile, schemaFrame));
        String errorOpening = ((SchemaExplorer) schemaFrame.getContentPane().getComponent(0)).getErrMsg();
        if (errorOpening != null) {
            JOptionPane.showMessageDialog(this, getResourceConverter().getFormattedString("workbench.open.schema.error", "Error opening schema - {0}.", errorOpening), getResourceConverter().getString("workbench.open.schema.error.title", "Error"), JOptionPane.ERROR_MESSAGE);
            schemaFrame.setClosed(true);
            return;
        }
        schemaFrame.setBounds(0, 0, 1000, 650);
        schemaFrame.setClosable(true);
        schemaFrame.setIconifiable(true);
        schemaFrame.setMaximizable(true);
        schemaFrame.setResizable(true);
        schemaFrame.setVisible(true);
        desktopPane.add(schemaFrame, javax.swing.JLayeredPane.DEFAULT_LAYER);
        schemaFrame.show();
        schemaFrame.setMaximum(true);
        displayWarningOnFailedConnection();
        final javax.swing.JMenuItem schemaMenuItem = new javax.swing.JMenuItem();
        schemaMenuItem.setText(windowMenuMapIndex++ + " " + file.getName());
        schemaMenuItem.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent evt) {
                try {
                    if (schemaFrame.isIcon()) {
                        schemaFrame.setIcon(false);
                    } else {
                        schemaFrame.setSelected(true);
                    }
                } catch (Exception ex) {
                    LOGGER.error("schemaMenuItem", ex);
                }
            }
        });
        windowMenu.add(schemaMenuItem, 0);
        windowMenu.setEnabled(true);
        windowMenu.add(jSeparator3, -1);
        windowMenu.add(cascadeMenuItem, -1);
        windowMenu.add(tileMenuItem, -1);
        windowMenu.add(minimizeMenuItem, -1);
        windowMenu.add(maximizeMenuItem, -1);
        windowMenu.add(closeAllMenuItem, -1);
        // add the file details in menu map
        schemaWindowMap.put(schemaFrame, schemaMenuItem);
        updateMDXCatalogList();
        schemaFrame.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
        schemaFrame.addInternalFrameListener(new InternalFrameAdapter() {

            public void internalFrameClosing(InternalFrameEvent e) {
                if (schemaFrame.getContentPane().getComponent(0) instanceof SchemaExplorer) {
                    SchemaExplorer se = (SchemaExplorer) schemaFrame.getContentPane().getComponent(0);
                    int response = confirmFrameClose(schemaFrame, se);
                    if (response == 3) {
                        // not dirty
                        if (se.isNewFile()) {
                            se.getSchemaFile().delete();
                        }
                        // default case for no save and not dirty
                        schemaWindowMap.remove(schemaFrame);
                        updateMDXCatalogList();
                        schemaFrame.dispose();
                        windowMenu.remove(schemaMenuItem);
                    }
                }
            }
        });
        schemaFrame.setFocusable(true);
        schemaFrame.addFocusListener(new FocusAdapter() {

            public void focusGained(FocusEvent e) {
                if (schemaFrame.getContentPane().getComponent(0) instanceof SchemaExplorer) {
                    SchemaExplorer se = (SchemaExplorer) schemaFrame.getContentPane().getComponent(0);
                    // update view menu based on schemaframe who gained
                    // focus
                    viewXmlMenuItem.setSelected(se.isEditModeXML());
                }
            }

            public void focusLost(FocusEvent e) {
                if (schemaFrame.getContentPane().getComponent(0) instanceof SchemaExplorer) {
                    SchemaExplorer se = (SchemaExplorer) schemaFrame.getContentPane().getComponent(0);
                    // update view menu based on
                    viewXmlMenuItem.setSelected(se.isEditModeXML());
                }
            }
        });
        viewXmlMenuItem.setSelected(false);
    } catch (Exception ex) {
        LOGGER.error("openSchemaFrame", ex);
    } finally {
        setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
    }
}
Also used : InternalFrameEvent(javax.swing.event.InternalFrameEvent) KettleException(org.pentaho.di.core.exception.KettleException) KettleDatabaseException(org.pentaho.di.core.exception.KettleDatabaseException) javax.swing(javax.swing) InternalFrameAdapter(javax.swing.event.InternalFrameAdapter)

Example 14 with InternalFrameEvent

use of javax.swing.event.InternalFrameEvent in project mondrian by pentaho.

the class Workbench method newJDBCExplorerMenuItemActionPerformed.

private void newJDBCExplorerMenuItemActionPerformed(ActionEvent evt) {
    try {
        if (jdbcMetaData == null) {
            getNewJdbcMetadata();
        }
        final JInternalFrame jf = new JInternalFrame();
        jf.setTitle(getResourceConverter().getFormattedString("workbench.new.JDBCExplorer.title", "JDBC Explorer - {0} {1}", jdbcMetaData.getDatabaseProductName(), jdbcMetaData.getJdbcConnectionUrl()));
        getNewJdbcMetadata();
        JdbcExplorer jdbce = new JdbcExplorer(jdbcMetaData, this);
        jf.getContentPane().add(jdbce);
        jf.setBounds(0, 0, 500, 480);
        jf.setClosable(true);
        jf.setIconifiable(true);
        jf.setMaximizable(true);
        jf.setResizable(true);
        jf.setVisible(true);
        // create jdbc menu item
        final javax.swing.JMenuItem jdbcMenuItem = new javax.swing.JMenuItem();
        jdbcMenuItem.setText(getResourceConverter().getFormattedString("workbench.new.JDBCExplorer.menuitem", "{0} JDBC Explorer", Integer.toString(windowMenuMapIndex++)));
        jdbcMenuItem.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent evt) {
                try {
                    if (jf.isIcon()) {
                        jf.setIcon(false);
                    } else {
                        jf.setSelected(true);
                    }
                } catch (Exception ex) {
                    LOGGER.error("queryMenuItem", ex);
                }
            }
        });
        jf.addInternalFrameListener(new InternalFrameAdapter() {

            public void internalFrameClosing(InternalFrameEvent e) {
                jdbcWindows.remove(jf);
                jf.dispose();
                // follow this by removing file from schemaWindowMap
                windowMenu.remove(jdbcMenuItem);
                return;
            }
        });
        desktopPane.add(jf);
        jf.setVisible(true);
        jf.show();
        try {
            jf.setSelected(true);
        } catch (Exception ex) {
            // do nothing
            LOGGER.error("newJDBCExplorerMenuItemActionPerformed.setSelected", ex);
        }
        jdbcWindows.add(jf);
        windowMenu.add(jdbcMenuItem, -1);
        windowMenu.add(jSeparator3, -1);
        windowMenu.add(cascadeMenuItem, -1);
        windowMenu.add(tileMenuItem, -1);
        windowMenu.add(minimizeMenuItem, -1);
        windowMenu.add(maximizeMenuItem, -1);
        windowMenu.add(closeAllMenuItem, -1);
    } catch (Exception ex) {
        JOptionPane.showMessageDialog(this, getResourceConverter().getFormattedString("workbench.new.JDBCExplorer.exception", "Database connection not successful.\n{0}", ex.getLocalizedMessage()), getResourceConverter().getString("workbench.new.JDBCExplorer.exception.title", "Database Connection Error"), JOptionPane.ERROR_MESSAGE);
        LOGGER.error("newJDBCExplorerMenuItemActionPerformed", ex);
    }
}
Also used : javax.swing(javax.swing) InternalFrameAdapter(javax.swing.event.InternalFrameAdapter) InternalFrameEvent(javax.swing.event.InternalFrameEvent) KettleException(org.pentaho.di.core.exception.KettleException) KettleDatabaseException(org.pentaho.di.core.exception.KettleDatabaseException)

Example 15 with InternalFrameEvent

use of javax.swing.event.InternalFrameEvent in project tetrad by cmu-phil.

the class TimeLagGraphEditor method createEditMenu.

// /**
// * Creates the "file" menu, which allows the user to load, save, and post
// * workbench models.
// *
// * @return this menu.
// */
// private JMenu createFileMenu() {
// JMenu file = new JMenu("File");
// 
// file.add(new LoadGraph(this, "Load Graph..."));
// file.add(new SaveGraph(this, "Save Graph..."));
// //        file.add(new SaveScreenshot(this, true, "Save Screenshot..."));
// file.add(new SaveComponentImage(getWorkbench(), "Save Graph Image..."));
// 
// return file;
// }
/**
 * Creates the "file" menu, which allows the user to load, save, and post
 * workbench models.
 *
 * @return this menu.
 */
private JMenu createEditMenu() {
    JMenu edit = new JMenu("Edit");
    // JMenuItem copy = new JMenuItem(new CopySubgraphAction(this));
    // JMenuItem paste = new JMenuItem(new PasteSubgraphAction(this));
    // 
    // copy.setAccelerator(
    // KeyStroke.getKeyStroke(KeyEvent.VK_C, ActionEvent.CTRL_MASK));
    // paste.setAccelerator(
    // KeyStroke.getKeyStroke(KeyEvent.VK_V, ActionEvent.CTRL_MASK));
    // 
    // edit.add(copy);
    // edit.add(paste);
    edit.addSeparator();
    JMenuItem configuration = new JMenuItem("Configuration...");
    edit.add(configuration);
    configuration.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            final TimeLagGraph graph = (TimeLagGraph) getLayoutEditable().getGraph();
            class ConfigurationEditor extends JPanel {

                private int maxLag;

                private int numInitialLags;

                public ConfigurationEditor(final TimeLagGraph graph) {
                    maxLag = graph.getMaxLag();
                    numInitialLags = graph.getNumInitialLags();
                    final SpinnerModel maxLagSpinnerModel = new SpinnerNumberModel(graph.getMaxLag(), 0, 300, 1);
                    JSpinner maxLagSpinner = new JSpinner(maxLagSpinnerModel);
                    maxLagSpinner.addChangeListener(new ChangeListener() {

                        public void stateChanged(ChangeEvent e) {
                            JSpinner spinner = (JSpinner) e.getSource();
                            SpinnerNumberModel model = (SpinnerNumberModel) spinner.getModel();
                            int value = (Integer) model.getValue();
                            setMaxLag(value);
                        }
                    });
                    final SpinnerModel initialLagsSpinnerModel = new SpinnerNumberModel(graph.getNumInitialLags(), 1, 300, 1);
                    JSpinner initialLagsSpinner = new JSpinner(initialLagsSpinnerModel);
                    initialLagsSpinner.addChangeListener(new ChangeListener() {

                        public void stateChanged(ChangeEvent e) {
                            JSpinner spinner = (JSpinner) e.getSource();
                            SpinnerNumberModel model = (SpinnerNumberModel) spinner.getModel();
                            int value = (Integer) model.getValue();
                            setNumInitialLags(value);
                        }
                    });
                    setLayout(new BorderLayout());
                    Box box = Box.createVerticalBox();
                    Box b1 = Box.createHorizontalBox();
                    b1.add(new JLabel("Time lag graph configuration:"));
                    b1.add(Box.createHorizontalGlue());
                    box.add(b1);
                    Box b2 = Box.createHorizontalBox();
                    b2.add(new JLabel("Maximum Lag = "));
                    b2.add(Box.createHorizontalGlue());
                    b2.add(maxLagSpinner);
                    box.add(b2);
                    // Box b3 = Box.createHorizontalBox();
                    // b3.add(new JLabel("# Initial Lags = "));
                    // b3.add(Box.createHorizontalGlue());
                    // b3.add(initialLagsSpinner);
                    // box.add(b3);
                    box.setBorder(new EmptyBorder(10, 10, 10, 10));
                    add(box, BorderLayout.CENTER);
                }

                public int getMaxLag() {
                    return maxLag;
                }

                public void setMaxLag(int maxLag) {
                    this.maxLag = maxLag;
                }

                public int getNumInitialLags() {
                    return numInitialLags;
                }

                public void setNumInitialLags(int numInitialLags) {
                    this.numInitialLags = numInitialLags;
                }
            }
            final ConfigurationEditor editor = new ConfigurationEditor((TimeLagGraph) getGraph());
            EditorWindow editorWindow = new EditorWindow(editor, "Configuration...", "Save", true, TimeLagGraphEditor.this);
            DesktopController.getInstance().addEditorWindow(editorWindow, JLayeredPane.PALETTE_LAYER);
            editorWindow.pack();
            editorWindow.setVisible(true);
            editorWindow.addInternalFrameListener(new InternalFrameAdapter() {

                public void internalFrameClosed(InternalFrameEvent e) {
                    EditorWindow window = (EditorWindow) e.getSource();
                    if (window.isCanceled()) {
                        return;
                    }
                    graph.setMaxLag(editor.getMaxLag());
                    graph.setNumInitialLags(editor.getNumInitialLags());
                    LayoutUtils.lastLayout(getLayoutEditable());
                }
            });
        }
    });
    return edit;
}
Also used : ActionEvent(java.awt.event.ActionEvent) InternalFrameEvent(javax.swing.event.InternalFrameEvent) ActionListener(java.awt.event.ActionListener) PropertyChangeEvent(java.beans.PropertyChangeEvent) ChangeEvent(javax.swing.event.ChangeEvent) ChangeListener(javax.swing.event.ChangeListener) PropertyChangeListener(java.beans.PropertyChangeListener) InternalFrameAdapter(javax.swing.event.InternalFrameAdapter) EmptyBorder(javax.swing.border.EmptyBorder)

Aggregations

InternalFrameEvent (javax.swing.event.InternalFrameEvent)22 InternalFrameAdapter (javax.swing.event.InternalFrameAdapter)19 EmptyBorder (javax.swing.border.EmptyBorder)7 ActionEvent (java.awt.event.ActionEvent)6 ActionListener (java.awt.event.ActionListener)6 ParseException (java.text.ParseException)4 ArrayList (java.util.ArrayList)3 javax.swing (javax.swing)3 KettleDatabaseException (org.pentaho.di.core.exception.KettleDatabaseException)3 KettleException (org.pentaho.di.core.exception.KettleException)3 Point (java.awt.Point)2 ItemEvent (java.awt.event.ItemEvent)2 ItemListener (java.awt.event.ItemListener)2 PropertyChangeEvent (java.beans.PropertyChangeEvent)2 PropertyChangeListener (java.beans.PropertyChangeListener)2 File (java.io.File)2 IOException (java.io.IOException)2 GeneralSecurityException (java.security.GeneralSecurityException)2 JComponent (javax.swing.JComponent)2 JPanel (javax.swing.JPanel)2