public void actionPerformed(ActionEvent ae) {
        //listener for popup menu
        if ("Mark".equals(ae.getActionCommand()) || "Unmark".equals(ae.getActionCommand())) {
            if ("Mark".equals(ae.getActionCommand())) {
                chart.chartData.getEntryList().get(rightClicked).setIsMarked(true);
            } else {
                chart.chartData.getEntryList().get(rightClicked).setIsMarked(false);
            }
            updateBoth();
            /*			if (chart.mainEntryNames.isAncestorOf(selected_entry))
             markMatchingLabel(chart.displayEntryNames, col);
             else			
             markMatchingLabel(chart.mainEntryNames, col);		*/
        } else if ("Show Details".equals(ae.getActionCommand()) || "Hide Details".equals(ae.getActionCommand())) {
            if ("Show Details".equals(ae.getActionCommand())) {
                toggleDetails(true);
            } else {
                toggleDetails(false);
            }
        } else if ("Edit".equals(ae.getActionCommand())) {
            chart.showEditView(1);
        } else if ("Show Report".equals(ae.getActionCommand())) {
            //This menu item opens one pdf report specific for this entry for the given attribute
            System.out.println("Report Clicked");
            
            //Get the current entry
            ChartEntry tempentry = chart.chartData.getEntryList().get(rightClicked); //get the current entry
            
            if (tempentry.map.get("Report Frame") != null) { //check if the entry has an associated report
                //The JFrame and SwingController inputs were created in ValueChart.java when the initial data was loaded
                //Since the window is initially hidden, or when the user closes the window is become hidden (not closed), we need to check this first
                //But only show the window if the request has been such
                JFrame window = tempentry.getReportFrame(); //get the window associated with the chart
                SwingController controller = tempentry.getReportController(); //get the controller associated with the window
                
                zoomToReport(window, controller, tempentry.name.toString()); //if there is a bookmark with the name of this entry, go to it, otherwise it will take you to the first page of the report
            } else {
                System.out.println("There is no associated report for scenario/entry ");
            }
        }
    }