Package org.netbeans.modules.openoffice.wizard.panels.service

Source Code of org.netbeans.modules.openoffice.wizard.panels.service.OOInterfacePanel

/*
* OOInterfacePanel.java
*
* Created on July 24, 2002, 3:01 PM
*/

package org.netbeans.modules.openoffice.wizard.panels.service;

import javax.swing.JPanel;
import java.awt.event.ActionEvent;
import org.openide.DialogDescriptor;
import org.openide.NotifyDescriptor;
import org.openide.TopManager;
import javax.swing.DefaultListModel;
import org.netbeans.modules.openoffice.wizard.OOServiceData;
import org.openide.src.Identifier;
import org.netbeans.modules.openoffice.wizard.util.OOIDLParser;
import org.netbeans.modules.openoffice.wizard.IDLInterface;

/**
*
* @author  Bertram Nolte
*/
public class OOInterfacePanel extends JPanel {
    private DefaultListModel defaultlistmodel;
    private OOServiceData ooservicedata;
   
    /** Creates new form OOInterfacePanel */
    public OOInterfacePanel() {
         defaultlistmodel = new DefaultListModel();

        initComponents();
       
        jListInterfaces.setModel( defaultlistmodel );
    }
   
    /** Creates new form OOInterfacePanel */
    public OOInterfacePanel( OOServiceData data ) {
        Identifier[] identifierInterfaceName = data.getInterfaces();
        ooservicedata = data;
        defaultlistmodel = new DefaultListModel();
        for ( int intIndexInterfaces = 0;
        intIndexInterfaces < identifierInterfaceName.length;
        intIndexInterfaces++ ) {
            defaultlistmodel.addElement(
            identifierInterfaceName[ intIndexInterfaces ].getFullName() );
        }
       
        initComponents();
       
        jListInterfaces.setModel( defaultlistmodel );
    }
   
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    private void initComponents() {//GEN-BEGIN:initComponents
        java.awt.GridBagConstraints gridBagConstraints;

        jButtonAddInterface = new javax.swing.JButton();
        jButtonRemoveInterface = new javax.swing.JButton();
        jScrollPaneInterfaces = new javax.swing.JScrollPane();
        jListInterfaces = new javax.swing.JList();
        jLabelInterfaces = new javax.swing.JLabel();

        setLayout(new java.awt.GridBagLayout());

        jButtonAddInterface.setText("Add");
        jButtonAddInterface.setToolTipText("Add interface to list.");
        jButtonAddInterface.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonAddInterfaceActionPerformed(evt);
            }
        });

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 1;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.insets = new java.awt.Insets(1, 1, 1, 1);
        add(jButtonAddInterface, gridBagConstraints);

        jButtonRemoveInterface.setText("Remove");
        jButtonRemoveInterface.setToolTipText("Remove Interface from list.");
        jButtonRemoveInterface.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonRemoveInterfaceActionPerformed(evt);
            }
        });

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.insets = new java.awt.Insets(1, 1, 1, 1);
        add(jButtonRemoveInterface, gridBagConstraints);

        jListInterfaces.setBorder(new javax.swing.border.EtchedBorder());
        jListInterfaces.setToolTipText("Interfaces to be implemented.");
        jListInterfaces.setPreferredSize(new java.awt.Dimension(300, 300));
        jScrollPaneInterfaces.setViewportView(jListInterfaces);

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 1;
        gridBagConstraints.gridheight = 3;
        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
        gridBagConstraints.insets = new java.awt.Insets(1, 1, 1, 1);
        add(jScrollPaneInterfaces, gridBagConstraints);

        jLabelInterfaces.setText("Interfaces:");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 0;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
        gridBagConstraints.insets = new java.awt.Insets(10, 1, 1, 1);
        add(jLabelInterfaces, gridBagConstraints);

    }//GEN-END:initComponents

    private void jButtonRemoveInterfaceActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonRemoveInterfaceActionPerformed
        Object[] objectInterfaces = jListInterfaces.getSelectedValues();
       
        for ( int intIndexInterfaces = 0;
        intIndexInterfaces < objectInterfaces.length;
        intIndexInterfaces++ ) {
//            IDLInterface idlinterface =
//            ( IDLInterface ) objectInterfaces[ intIndexInterfaces ];
           
            ooservicedata.removeIDLInterface(
//            idlinterface.getIDLName().getFullName() );
            ( String ) objectInterfaces[ intIndexInterfaces ] );
           
            defaultlistmodel.removeElement(
            ( String ) objectInterfaces[ intIndexInterfaces ] );
//            defaultlistmodel.removeElement( idlinterface );
        }
    }//GEN-LAST:event_jButtonRemoveInterfaceActionPerformed

    private void jButtonAddInterfaceActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonAddInterfaceActionPerformed
        InterfacePickUp interfacepickupPanel = new InterfacePickUp();
       
        if ( interfacepickupPanel.display() ) {
            OOIDLParser ooidlparser = new OOIDLParser(
            interfacepickupPanel.getInterfaceFile() );
           
            IDLInterface iDLInterface = ooidlparser.createIDLInterface();
           
            if( iDLInterface == null ) {
                // Message that the IDL does not contain a Interface
                TopManager.getDefault().notify(
                new NotifyDescriptor.Message(
                "The IDL file you have choosen, does not contain an "
                + "Interface. Please pick up an other one." ) );
            }
            else {
                if ( ooservicedata.addIDLInterface( iDLInterface ) ) {
                    defaultlistmodel.addElement(
                    iDLInterface.getIDLName().getFullName() );
                }
            }
        }
    }//GEN-LAST:event_jButtonAddInterfaceActionPerformed
   
    boolean display() {
        DialogDescriptor dialogdescriptor = new DialogDescriptor( this,
        "Interfaces to implement by your Service", true, 2,
        NotifyDescriptor.OK_OPTION, 0, null, null);
       
        TopManager.getDefault().notify( dialogdescriptor );
        return dialogdescriptor.getValue() == NotifyDescriptor.OK_OPTION;
    }
   
    Object[] getInterfaces() {
        return defaultlistmodel.toArray();
    }
   
    void addButtonActionPerformed(ActionEvent actionevent) {
    }
   
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jButtonRemoveInterface;
    private javax.swing.JButton jButtonAddInterface;
    private javax.swing.JLabel jLabelInterfaces;
    private javax.swing.JList jListInterfaces;
    private javax.swing.JScrollPane jScrollPaneInterfaces;
    // End of variables declaration//GEN-END:variables
   
}
TOP

Related Classes of org.netbeans.modules.openoffice.wizard.panels.service.OOInterfacePanel

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.