public TablePopupMenu(final WildsUI frame, final ProjectView pv) {
		this.pv = pv;
		
		//Edit Menu
		//***********************************************************************************
		editCounselor = new MenuItem("Edit counselor...", MenuBar.EDIT_COUNS_ACCEL, this);
		editCounselor.setIcon(new ImageIcon(Images.EDIT_COUNS_ICON));
		editCounselor.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if(on.getCounselor() == null) {
					frame.addCouns.setVisible();
				} else {
					Counselor c = on.getCounselor();
					frame.editCouns.setVisible(c);
				}
			}
		});
		
		editTeam = new MenuItem("Edit team...", MenuBar.EDIT_TEAM_ACCEL, this);
		editTeam.setIcon(new ImageIcon(Images.EDIT_TEAM_ICON));
		editTeam.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				if(on.getTeam() == null) {
					frame.addTeam.setVisible();
				} else {
					Team t = on.getTeam();
					frame.editTeam.setVisible(t);
				}
			}
		});
		
		addSeparator();
		
		//Clipboard Menu
		//***********************************************************************************
		
		cut = new MenuItem("Cut", MenuBar.EDIT_CUT_ACCEL, this);
		cut.setIcon(new ImageIcon(Images.CUT_ICON));
		cut.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				pv.cut();
			}
		});
		
		copy = new MenuItem("Copy", MenuBar.EDIT_COPY_ACCEL, this);
		copy.setIcon(new ImageIcon(Images.COPY_ICON));
		copy.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				pv.copy();
			}
		});
		
		paste = new MenuItem("Paste", MenuBar.EDIT_PASTE_ACCEL, this);
		paste.setIcon(new ImageIcon(Images.PASTE_ICON));
		paste.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				pv.paste();
			}
		});
		
		addSeparator();
		
		//Zoom Menu
		//***********************************************************************************
		
		MenuItem zoomIn = new MenuItem("Zoom In", this);
		zoomIn.setIcon(new ImageIcon(Images.ZOOM_IN_ICON));
		zoomIn.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_EQUALS, Event.CTRL_MASK));
		zoomIn.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				pv.zoomIn();
			}
		});
		
		MenuItem zoomOut = new MenuItem("Zoom Out", this);
		zoomOut.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_MINUS, Event.CTRL_MASK));
		zoomOut.setIcon(new ImageIcon(Images.ZOOM_OUT_ICON));
		zoomOut.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				pv.zoomOut();
			}
		});
		
		MenuItem resetZoom = new MenuItem("Reset Zoom", MenuBar.WIN_ZOOM_RESET_ACCEL, this);
		resetZoom.setIcon(new ImageIcon(Images.ZOOM_RESET_ICON));
		resetZoom.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				pv.resetZoom();
			}
		});
		
		addSeparator();
		
		//Preferences Menu
		//***********************************************************************************
		MenuItem preferences = new MenuItem("Preferences...", this);
		preferences.setIcon(new ImageIcon(Images.PREFS_ICON));
		preferences.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				frame.prefs.setVisible();
			}
		});
		
		MenuItem globalPreferences = new MenuItem("Global Preferences", this);
		globalPreferences.setIcon(new ImageIcon(Images.G_PREFS_ICON));
		globalPreferences.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				frame.gPrefs.setVisible();
			}
		});
	}