Package org.parosproxy.paros.view

Source Code of org.parosproxy.paros.view.MainPopupMenu

/*
*
* Paros and its related class files.
*
* Paros is an HTTP/HTTPS proxy for assessing web application security.
* Copyright (C) 2003-2004 Chinotec Technologies Company
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the Clarified Artistic License
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* Clarified Artistic License for more details.
*
* You should have received a copy of the Clarified Artistic License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
*/
package org.parosproxy.paros.view;

import java.awt.Component;
import java.util.List;

import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;

import org.parosproxy.paros.extension.ExtensionHookMenu;
import org.parosproxy.paros.extension.ExtensionPopupMenu;

/**
*
* To change the template for this generated type comment go to Window -
* Preferences - Java - Code Generation - Code and Comments
*/
public class MainPopupMenu extends JPopupMenu {

  private static final long serialVersionUID = -6459165340543015220L;
 
  private List<ExtensionPopupMenu> itemList = null;
  private PopupDeleteMenu popupDeleteMenu = null;
  private PopupPurgeMenu popupPurgeMenu = null;
  //private PopupExpandCollapseAllMenu popupExpandCollapseAllMenu = null;
  private PopupCopyUrlToClipboardMenu popupCopyUrlToClipboardMenu = null;

  /**
     *
     */
  public MainPopupMenu() {
    super();
    initialize();
  }

  /**
   * @param arg0
   */
  public MainPopupMenu(String arg0) {
    super(arg0);
  }

  public MainPopupMenu(List<ExtensionPopupMenu> itemList) {
    this();
    this.itemList = itemList;
  }

  /**
   * This method initializes this
   *
   * @return void
   */
  private void initialize() {
    this.add(getPopupDeleteMenu());
    this.add(getPopupPurgeMenu());
    //this.add(getPopupExpandCollapseAllMenu());
    this.add(getPopupCopyUrlToClipboardMenu());
  }

  public synchronized void show(Component invoker, int x, int y) {
    ExtensionPopupMenu menu = null;

    for (int i = 0; i < getComponentCount(); i++) {
      try {
        if (getComponent(i) != null
            && getComponent(i) instanceof ExtensionPopupMenu) {
          menu = (ExtensionPopupMenu) getComponent(i);
          menu.setVisible(menu.isEnableForComponent(invoker) && menu.isEnabled());
        }
      } catch (Exception e) {
        e.printStackTrace();
      }
    }

    for (int i = 0; i < itemList.size(); i++) {
      menu =  itemList.get(i);
      try {
        if (menu == ExtensionHookMenu.POPUP_MENU_SEPARATOR) {
          this.addSeparator();
          continue;
        }

        if (menu.isEnableForComponent(invoker)) {
          this.add(menu);
        }
      } catch (Exception e) {
        e.printStackTrace();
      }
    }
    super.show(invoker, x, y);
  }

  /**
   * This method initializes popupDeleteMenu
   *
   * @return javax.swing.JMenuItem
   */
  private JMenuItem getPopupDeleteMenu() {
    if (popupDeleteMenu == null) {
      popupDeleteMenu = new PopupDeleteMenu();
    }
    return popupDeleteMenu;
  }

  /**
   * This method initializes popupPurgeMenu
   *
   * @return org.parosproxy.paros.view.PopupPurgeMenu
   */
  private PopupPurgeMenu getPopupPurgeMenu() {
    if (popupPurgeMenu == null) {
      popupPurgeMenu = new PopupPurgeMenu();
    }
    return popupPurgeMenu;
  }
 
  /*private PopupExpandCollapseAllMenu getPopupExpandCollapseAllMenu() {
    if (popupExpandCollapseAllMenu == null) {
      popupExpandCollapseAllMenu = new PopupExpandCollapseAllMenu();
    }
    return popupExpandCollapseAllMenu;
  }*/
 
  private JMenuItem getPopupCopyUrlToClipboardMenu() {
    if (popupCopyUrlToClipboardMenu == null) {
      popupCopyUrlToClipboardMenu = new PopupCopyUrlToClipboardMenu();
    }
    return popupCopyUrlToClipboardMenu;
  }
}
TOP

Related Classes of org.parosproxy.paros.view.MainPopupMenu

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.