[graphl-cvs] graphl/src/org/mediavirus/graphl/gui GraphContextMenu.java EdgeContextMenu.java
Status: Pre-Alpha
Brought to you by:
flo1
From: Flo L. <fl...@us...> - 2004-12-10 16:13:12
|
Update of /cvsroot/graphl/graphl/src/org/mediavirus/graphl/gui In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9448/src/org/mediavirus/graphl/gui Modified Files: EdgeContextMenu.java Added Files: GraphContextMenu.java Log Message: added context menu for graph to switch configurations in the applet or without menubar Index: EdgeContextMenu.java =================================================================== RCS file: /cvsroot/graphl/graphl/src/org/mediavirus/graphl/gui/EdgeContextMenu.java,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** EdgeContextMenu.java 30 Nov 2004 09:38:33 -0000 1.15 --- EdgeContextMenu.java 10 Dec 2004 16:13:03 -0000 1.16 *************** *** 100,104 **** } - GraphlPane graphlPane; Edge currentEdge; --- 100,103 ---- --- NEW FILE: GraphContextMenu.java --- /* * Created on 30.11.2004 by flo */ package org.mediavirus.graphl.gui; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Iterator; import javax.swing.ButtonGroup; import javax.swing.JMenu; import javax.swing.JPopupMenu; import javax.swing.JRadioButtonMenuItem; import org.mediavirus.graphl.GraphlPane; import org.mediavirus.graphl.graph.Graph; import org.mediavirus.graphl.graph.Node; import org.mediavirus.graphl.view.FacetRegistry; import org.mediavirus.graphl.view.GraphFacetRegistry; /** * @author flo * created: 30.11.2004 23:26:57 */ public class GraphContextMenu extends JPopupMenu { GraphlPane graphlPane; public GraphContextMenu(GraphlPane parent){ this.graphlPane = parent; } protected class SettingsAdapter implements ActionListener { private Node node; SettingsAdapter(Node node) { this.node = node; } public void actionPerformed(ActionEvent e) { FacetRegistry newRegistry = new GraphFacetRegistry(graphlPane.getConfigurationGraph(),node); graphlPane.setFacetRegistry(newRegistry); } } public JMenu buildConfigMenu() { JMenu configMenu = new JMenu(); configMenu.setText("Active Configuration"); JRadioButtonMenuItem defaultItem = null; ButtonGroup settingsGroup = new ButtonGroup(); for (Iterator settings = graphlPane.getConfigurations().iterator(); settings.hasNext();) { Node node = (Node) settings.next(); JRadioButtonMenuItem item = new JRadioButtonMenuItem(node.getProperty("http://www.mediavirus.org/graphl#name","<unnamed>")); item.addActionListener(new SettingsAdapter(node)); configMenu.add(item); settingsGroup.add(item); if (node.getProperty("http://www.mediavirus.org/graphl#default","").equalsIgnoreCase("true")) { defaultItem = item; } } if (defaultItem != null) defaultItem.setSelected(true); return configMenu; } public void show(int x, int y, Graph graph) { this.removeAll(); this.add(buildConfigMenu()); this.show(graphlPane, x, y); } public void setVisible(boolean visible) { super.setVisible(visible); if (!visible) { graphlPane.resumeLayouter(); } } } |