Search in sources :

Example 36 with ZapTextField

use of org.zaproxy.zap.utils.ZapTextField in project zaproxy by zaproxy.

the class StandardFieldsDialog method addNodeSelectField.

/*
     * Add a 'node select' field which provides a button for showing a Node Select Dialog and a
     * non editable field for showing the node selected
     */
public void addNodeSelectField(int tabIndex, final String fieldLabel, final SiteNode value, final boolean editable, final boolean allowRoot) {
    validateTabbed(tabIndex);
    final ZapTextField text = new ZapTextField();
    text.setEditable(editable);
    if (value != null) {
        text.setText(getNodeText(value));
    }
    JButton selectButton = new JButton(Constant.messages.getString("all.button.select"));
    selectButton.setIcon(// Globe icon
    new ImageIcon(View.class.getResource("/resource/icon/16/094.png")));
    selectButton.addActionListener(new java.awt.event.ActionListener() {

        // Keep a local copy so that we can always select the last node chosen
        SiteNode node = value;

        @Override
        public void actionPerformed(java.awt.event.ActionEvent e) {
            NodeSelectDialog nsd = new NodeSelectDialog(StandardFieldsDialog.this);
            nsd.setAllowRoot(allowRoot);
            SiteNode node = nsd.showDialog(this.node);
            if (node != null) {
                text.setText(getNodeText(node));
                this.node = node;
                siteNodeSelected(fieldLabel, node);
            }
        }
    });
    JPanel panel = new JPanel();
    panel.setLayout(new GridBagLayout());
    panel.add(text, LayoutHelper.getGBC(0, 0, 1, 1.0D, 0.0D, GridBagConstraints.BOTH, new Insets(4, 4, 4, 4)));
    panel.add(selectButton, LayoutHelper.getGBC(1, 0, 1, 0.0D, 0.0D, GridBagConstraints.BOTH, new Insets(4, 4, 4, 4)));
    this.addField(this.tabPanels.get(tabIndex), this.tabOffsets.get(tabIndex), fieldLabel, text, panel, 0.0D);
    this.incTabOffset(tabIndex);
}
Also used : ImageIcon(javax.swing.ImageIcon) JPanel(javax.swing.JPanel) ActionListener(java.awt.event.ActionListener) Insets(java.awt.Insets) GridBagLayout(java.awt.GridBagLayout) JButton(javax.swing.JButton) ActionEvent(java.awt.event.ActionEvent) ZapTextField(org.zaproxy.zap.utils.ZapTextField) SiteNode(org.parosproxy.paros.model.SiteNode)

Example 37 with ZapTextField

use of org.zaproxy.zap.utils.ZapTextField in project zaproxy by zaproxy.

the class StandardFieldsDialog method addNodeSelectField.

/*
     * Add a 'node select' field which provides a button for showing a Node Select Dialog and a
     * non editable field for showing the node selected
     */
public void addNodeSelectField(final String fieldLabel, final SiteNode value, final boolean editable, final boolean allowRoot) {
    validateNotTabbed();
    final ZapTextField text = new ZapTextField();
    text.setEditable(editable);
    if (value != null) {
        text.setText(getNodeText(value));
    }
    JButton selectButton = new JButton(Constant.messages.getString("all.button.select"));
    selectButton.setIcon(// Globe icon
    new ImageIcon(View.class.getResource("/resource/icon/16/094.png")));
    selectButton.addActionListener(new java.awt.event.ActionListener() {

        // Keep a local copy so that we can always select the last node chosen
        SiteNode node = value;

        @Override
        public void actionPerformed(java.awt.event.ActionEvent e) {
            NodeSelectDialog nsd = new NodeSelectDialog(StandardFieldsDialog.this);
            nsd.setAllowRoot(allowRoot);
            SiteNode node = nsd.showDialog(this.node);
            if (node != null) {
                text.setText(getNodeText(node));
                this.node = node;
                siteNodeSelected(fieldLabel, node);
            }
        }
    });
    JPanel panel = new JPanel();
    panel.setLayout(new GridBagLayout());
    panel.add(text, LayoutHelper.getGBC(0, 0, 1, 1.0D, 0.0D, GridBagConstraints.BOTH, new Insets(4, 4, 4, 4)));
    panel.add(selectButton, LayoutHelper.getGBC(1, 0, 1, 0.0D, 0.0D, GridBagConstraints.BOTH, new Insets(4, 4, 4, 4)));
    this.addField(fieldLabel, text, panel, 0.0D);
}
Also used : ImageIcon(javax.swing.ImageIcon) JPanel(javax.swing.JPanel) ActionListener(java.awt.event.ActionListener) Insets(java.awt.Insets) GridBagLayout(java.awt.GridBagLayout) JButton(javax.swing.JButton) ActionEvent(java.awt.event.ActionEvent) ZapTextField(org.zaproxy.zap.utils.ZapTextField) SiteNode(org.parosproxy.paros.model.SiteNode)

Example 38 with ZapTextField

use of org.zaproxy.zap.utils.ZapTextField in project zaproxy by zaproxy.

the class StandardFieldsDialog method addFileSelectField.

public void addFileSelectField(int tabIndex, final String fieldLabel, final File dir, final int mode, final FileFilter filter) {
    validateTabbed(tabIndex);
    final ZapTextField text = new ZapTextField();
    text.setEditable(false);
    if (dir != null) {
        text.setText(dir.getAbsolutePath());
    }
    final StandardFieldsDialog sfd = this;
    JButton selectButton = new JButton("...");
    selectButton.addActionListener(new java.awt.event.ActionListener() {

        @Override
        public void actionPerformed(java.awt.event.ActionEvent e) {
            JFileChooser chooser = new JFileChooser(dir);
            chooser.setFileSelectionMode(mode);
            if (filter != null) {
                chooser.setFileFilter(filter);
            }
            int rc = chooser.showSaveDialog(sfd);
            if (rc == JFileChooser.APPROVE_OPTION) {
                File file = chooser.getSelectedFile();
                if (file == null) {
                    return;
                }
                text.setText(file.getAbsolutePath());
            }
        }
    });
    JPanel panel = new JPanel();
    panel.setLayout(new GridBagLayout());
    panel.add(text, LayoutHelper.getGBC(0, 0, 1, 1.0D, 0.0D, GridBagConstraints.BOTH, new Insets(4, 4, 4, 4)));
    panel.add(selectButton, LayoutHelper.getGBC(1, 0, 1, 0.0D, 0.0D, GridBagConstraints.BOTH, new Insets(4, 4, 4, 4)));
    this.addField(this.tabPanels.get(tabIndex), this.tabOffsets.get(tabIndex), fieldLabel, text, panel, 0.0D);
    this.incTabOffset(tabIndex);
}
Also used : JPanel(javax.swing.JPanel) ActionListener(java.awt.event.ActionListener) Insets(java.awt.Insets) GridBagLayout(java.awt.GridBagLayout) JButton(javax.swing.JButton) ActionEvent(java.awt.event.ActionEvent) JFileChooser(javax.swing.JFileChooser) ZapTextField(org.zaproxy.zap.utils.ZapTextField) File(java.io.File)

Aggregations

ZapTextField (org.zaproxy.zap.utils.ZapTextField)38 ActionEvent (java.awt.event.ActionEvent)9 ActionListener (java.awt.event.ActionListener)9 GridBagLayout (java.awt.GridBagLayout)7 DocumentEvent (javax.swing.event.DocumentEvent)7 DocumentListener (javax.swing.event.DocumentListener)7 JButton (javax.swing.JButton)6 JPanel (javax.swing.JPanel)6 Insets (java.awt.Insets)5 ImageIcon (javax.swing.ImageIcon)4 JLabel (javax.swing.JLabel)4 KeyEvent (java.awt.event.KeyEvent)3 KeyAdapter (java.awt.event.KeyAdapter)2 JScrollPane (javax.swing.JScrollPane)2 SiteNode (org.parosproxy.paros.model.SiteNode)2 Target (org.zaproxy.zap.model.Target)2 KeyListener (java.awt.event.KeyListener)1 File (java.io.File)1 ProviderException (java.security.ProviderException)1 GroupLayout (javax.swing.GroupLayout)1