📄 guieventmanager.java
字号:
package gui;
import org.jgraph.graph.DefaultGraphModel;
import org.jgraph.graph.DefaultGraphCell;
import javax.swing.JOptionPane;
import graph.GraphEventManager;
import graph.Resource;
public class GUIEventManager
{
// De enige instantie van deze klasse
static private GUIEventManager gUIEventManager;
// Controle of er reeds instantie van deze klasse werd gemaakt
static private boolean $created = false;
private static ComponentManager componentManager;
public GUIController[] gUIController;
private static DisplayOptions displayOptions;
/****************************
* GENERAL *
****************************/
static public GUIEventManager getReference()
{
if (!$created)
{
gUIEventManager = new GUIEventManager();
componentManager = new ComponentManager();
displayOptions = new DisplayOptions();
$created = true;
}
return(gUIEventManager);
}
private GUIEventManager()
{
gUIController = new GUIController[10];
}
public void addGUIController(GUIController gUIController)
{
this.gUIController[0] = gUIController;
}
/****************************
* SHOW DIALOGS *
****************************/
public void eventShowLayoutDialog()
{
gUIController[0].showLayoutDialog();
}
public String eventGetString(String message, String standard)
{
String s = (String)JOptionPane.showInputDialog(
gUIController[0].getHoofdscherm(),
message,
"Question",
//JOptionPane.DEFAULT_OPTION,
//JOptionPane.YES_NO_CANCEL_OPTION,
/*Icon*/ JOptionPane.QUESTION_MESSAGE,
null,
null,
standard);
return s;
}
public Resource eventGetResource(String message)
{
String[] names = GraphEventManager.getReference().eventGetResourceNames();
String resourceName = (String)ListDialog.showDialog(
gUIController[0].getHoofdscherm(),
null,
message,
"Resource-Library",
names,
"test",
"test");
return GraphEventManager.getReference().eventGetResource(resourceName);
}
public void eventShowGraphConstructionDialog1()
{
gUIController[0].showGraphConstructionDialog1();
}
public void eventConstructNetworkGraph(int[] properties)
{
gUIController[0].askParametersForLevel(properties[0]);
//GUIEventManager.getReference().eventAskParametersForLevels(properties[0]);
}
public void eventLoadExistingGraphDialog(String tekst)
{
gUIController[0].showLoadExistingGraphDialog(tekst);
}
public void eventShowOpenDialog(String tekst)
{
gUIController[0].showOpenDialog(tekst);
}
public void eventShowSaveDialog()
{
gUIController[0].showSaveDialog();
}
/****************************
* UPDATES *
****************************/
public void eventUpdateModel(DefaultGraphModel model)
{
gUIController[0].updateModel(model);
}
public void eventUpdateInfoJPanel(DefaultGraphCell dgc)
{
this.gUIController[0].updateInfoJPanel(dgc);
}
public void eventRedrawGraph()
{
gUIController[0].redrawGraph();
}
public static ComponentManager getComponentManager()
{
return componentManager;
}
/****************************
* OPERATIONS *
****************************/
public void eventZoom(double factor)
{
gUIController[0].zoom(factor);
}
public void eventChangeColorFor(DefaultGraphCell dgc)
{
gUIController[0].showColorChooserDialog(dgc);
eventUpdateInfoJPanel(dgc);
eventRedrawGraph();
}
public void eventChangeNameFor(DefaultGraphCell dgc)
{
String newName = eventGetString("What is the new name ?", "New name");
GraphEventManager.getReference().eventChangeNameFor(dgc, newName);
eventUpdateInfoJPanel(dgc);
}
public void eventChangeCapacityFor(DefaultGraphCell dgc)
{
try
{
int newCapacity = Integer.valueOf(eventGetString("What is the new capacity ? \n (small = 1 < new capacity < 10 = large)", "6")).intValue();
GraphEventManager.getReference().eventChangeCapacityFor(dgc, newCapacity);
eventUpdateInfoJPanel(dgc);
}
catch(NumberFormatException e)
{
System.out.println("Invalid number-format");
}
}
public void eventAddResource(DefaultGraphCell dgc)
{
Resource resource = eventGetResource("What's the name of the resource ?");
GraphEventManager.getReference().eventAddResource(dgc, resource);
}
public void eventSearchForResource(DefaultGraphCell dgc)
{
Resource resource = GUIEventManager.getReference().eventGetResource("What are you looking for ?");
GraphEventManager.getReference().eventSearchForResource(dgc, resource.getName());
}
public void eventAddNewResourceToLibrary()
{
GraphEventManager.getReference().eventAddNewResourceToLibrary(eventGetString("What is the name of the new resource ?", "New resource"));
}
public void eventAskStrengthForGradientField(DefaultGraphCell dgc)
{
try
{
int strength = Integer.valueOf(eventGetString("What is the strength of the gradientField ?", "40")).intValue();
GraphEventManager.getReference().eventConstructGradientField(dgc, strength);
eventUpdateInfoJPanel(dgc);
}
catch(NumberFormatException e)
{
System.out.println("Invalid number-format");
}
}
public String eventLoadFile()
{
return "test.col";
}
public void eventApplyStandardLayoutAlgorithm()
{
gUIController[0].applyStandardLayoutAlgorithm();
}
public DefaultGraphCell eventGetGraphCellAtPosition(int x, int y)
{
return (DefaultGraphCell) gUIController[0].getHoofdscherm().getNetworkGraph().getFirstCellForLocation(x, y);
}
public static void setComponentManager(ComponentManager componentManagerParameter)
{
componentManager = componentManagerParameter;
}
public double eventGetScale()
{
return gUIController[0].getHoofdscherm().getNetworkGraph().getScale();
}
private static DisplayOptions getDisplayOptions()
{
return displayOptions;
}
private static void setDisplayOptions(DisplayOptions newDisplayOptions)
{
displayOptions = newDisplayOptions;
}
// IN NODE ABOVE
public String eventWhatInNode()
{
return getDisplayOptions().whatInNode();
}
public void eventShowInNode(String inNode)
{
getDisplayOptions().showInNode(inNode);
eventRedrawGraph();
}
// EDGES
public void eventSelectEdges(String edges)
{
if (edges != null)
{
getDisplayOptions().selectEdges(edges);
}
eventRedrawGraph();
}
public void eventSelectEdges()
{
eventSelectEdges(eventGetResource("The path to which resource ?").getName());
}
public String eventGetSelectedEdges()
{
return getDisplayOptions().getSelectedEdges();
}
// RESOURCES
public void eventSelectResource(String resource)
{
if (resource != null)
{
getDisplayOptions().selectResource(resource);
}
eventRedrawGraph();
}
public void eventSelectResource()
{
eventSelectResource(eventGetResource("The path to which resource ?").getName());
}
public String eventGetSelectedResources()
{
return getDisplayOptions().getSelectedResources();
}
public RequestAnalyser ra;
public void analyseRequests(DefaultGraphCell dgc)
{
//RequestAnalyser ra = new RequestAnalyser();
//ra.writeAllSearchRequests(dgc);
System.out.println("analyseRequests met dgc");
ra.actionPerformed(null);
}
public void analyseRequests()
{
ra = new RequestAnalyser();
ra.show();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -