📄 gpmarqueehandler.java
字号:
Graphics2D g2 = (Graphics2D) g;
g2.drawRect(bounds.x, bounds.y, bounds.width, bounds.height);
}
else if (buttonLane.isSelected()) {
Graphics2D g2 = (Graphics2D) g;
g2.drawRect(bounds.x, bounds.y, bounds.width, bounds.height);
}
else if (buttonStart.isSelected()) {
( (Square) bounds).limitToSquare();
g.drawOval(bounds.x, bounds.y, bounds.width, bounds.height);
}
else if (buttonInter.isSelected()) {
( (Square) bounds).limitToSquare();
g.drawOval(bounds.x, bounds.y, bounds.width, bounds.height);
}
else if (buttonEnd.isSelected()) {
( (Square) bounds).limitToSquare();
g.drawOval(bounds.x, bounds.y, bounds.width, bounds.height);
}
else if ( (buttonSplit.isSelected()) || (buttonEnd.isSelected())) {
g.drawRect(bounds.x, bounds.y, bounds.width, bounds.height);
}
}
}
protected void paintPort(Graphics g) {
if (port != null) {
boolean offset =
(GraphConstants.getOffset(port.getAllAttributes()) != null);
Rectangle r =
(offset) ? port.getBounds() : port.getParentView().getBounds();
r = graphpad.getCurrentGraph().toScreen(new Rectangle(r));
int s = 3;
r.translate( -s, -s);
r.setSize(r.width + 2 * s, r.height + 2 * s);
GPGraphUI ui = (GPGraphUI) graphpad.getCurrentGraph().getUI();
ui.paintCell(g, port, r, true);
}
}
//
// Cell Creation
//
public Object addVertex(
int type,
Object userObject,
Rectangle bounds,
boolean autosize,
Color border) {
Map viewMap = new Hashtable();
Map map;
GraphModelProvider gmp = graphpad.getCurrentGraphModelProvider();
GraphModel model = graphpad.getCurrentGraph().getModel();
// Create Vertex
Object obj = (userObject instanceof String) ? userObject : "";
map = GraphConstants.createMap();
GraphConstants.setBounds(map, bounds);
GraphConstants.setOpaque(map, false);
if (border != null) {
GraphConstants.setBorderColor(map, border);
}
String fontName = Translator.getString("FontName");
try {
int fontSize = Integer.parseInt(Translator.getString("FontSize"));
int fontStyle = Integer.parseInt(Translator.getString("FontStyle"));
GraphConstants.setFont(
map,
new Font(fontName, fontStyle, fontSize));
}
catch (Exception e) {
// handle error
}
if (autosize) {
GraphConstants.setAutoSize(map, true);
}
List toInsert = new LinkedList();
Object cell;
switch (type) {
case GraphModelProvider.CELL_VERTEX_TEXT:
cell =
gmp.createCell(
model,
GraphModelProvider.CELL_VERTEX_TEXT,
new GPUserObject(userObject.toString()),
map);
break;
default:
cell =
gmp.createCell(
model,
GraphModelProvider.CELL_VERTEX_DEFAULT,
new GPUserObject(userObject.toString()),
map);
break;
}
viewMap.put(cell, map);
toInsert.add(cell);
// Create Ports
int u = GraphConstants.PERMILLE;
//DefaultPort port;
Object port;
// Floating Center Port (Child 0 is Default)
// port = new DefaultPort("Center");
// cell.add(port);
port = gmp.createCell(model, GraphModelProvider.CELL_PORT_DEFAULT, "Center", null);
gmp.addPort(cell, port);
toInsert.add(port);
if (userObject instanceof ImageIcon) {
GraphConstants.setIcon(map, (ImageIcon) userObject);
// Single non-floating central-port
map = GraphConstants.createMap();
GraphConstants.setOffset(
map,
new Point( (int) (u / 2), (int) (u / 2)));
viewMap.put(port, map);
toInsert.add(port);
}
else {
// Top Left
//port = new DefaultPort("Topleft");
//cell.add(port);
map = GraphConstants.createMap();
GraphConstants.setOffset(map, new Point(0, 0));
port = gmp.createCell(model, GraphModelProvider.CELL_PORT_DEFAULT,
"Topleft", map);
gmp.addPort(cell, port);
viewMap.put(port, map);
toInsert.add(port);
// Top Center
//port = new DefaultPort("Topcenter");
//cell.add(port);
map = GraphConstants.createMap();
GraphConstants.setOffset(map, new Point( (int) (u / 2), 0));
port =
gmp.createCell(model, GraphModelProvider.CELL_PORT_DEFAULT,
"Topcenter", map);
gmp.addPort(cell, port);
viewMap.put(port, map);
toInsert.add(port);
// Top Right
//port = new DefaultPort("Topright");
//cell.add(port);
map = GraphConstants.createMap();
GraphConstants.setOffset(map, new Point(u, 0));
port =
gmp.createCell(model, GraphModelProvider.CELL_PORT_DEFAULT,
"Topright", map);
gmp.addPort(cell, port);
viewMap.put(port, map);
toInsert.add(port);
// Top Center
//port = new DefaultPort("Middleleft");
//cell.add(port);
map = GraphConstants.createMap();
GraphConstants.setOffset(map, new Point(0, (int) (u / 2)));
port =
gmp.createCell(model, GraphModelProvider.CELL_PORT_DEFAULT,
"Middleleft", map);
gmp.addPort(cell, port);
viewMap.put(port, map);
toInsert.add(port);
// Middle Right
//port = new DefaultPort("Middleright");
//cell.add(port);
map = GraphConstants.createMap();
GraphConstants.setOffset(map, new Point(u, (int) (u / 2)));
port =
gmp.createCell(
model,
GraphModelProvider.CELL_PORT_DEFAULT,
"Middleright",
map);
gmp.addPort(cell, port);
viewMap.put(port, map);
toInsert.add(port);
// Bottom Left
//port = new DefaultPort("Bottomleft");
//cell.add(port);
map = GraphConstants.createMap();
GraphConstants.setOffset(map, new Point(0, u));
port =
gmp.createCell(model, GraphModelProvider.CELL_PORT_DEFAULT,
"Bottomleft", map);
gmp.addPort(cell, port);
viewMap.put(port, map);
toInsert.add(port);
// Bottom Center
//port = new DefaultPort("Bottomcenter");
//cell.add(port);
map = GraphConstants.createMap();
GraphConstants.setOffset(map, new Point( (int) (u / 2), u));
port =
gmp.createCell(
model,
GraphModelProvider.CELL_PORT_DEFAULT,
"Bottomcenter",
map);
gmp.addPort(cell, port);
viewMap.put(port, map);
toInsert.add(port);
// Bottom Right
//port = new DefaultPort("Bottomright");
//cell.add(port);
map = GraphConstants.createMap();
GraphConstants.setOffset(map, new Point(u, u));
port =
gmp.createCell(
model,
GraphModelProvider.CELL_PORT_DEFAULT,
"Bottomright",
map);
gmp.addPort(cell, port);
viewMap.put(port, map);
toInsert.add(port);
}
graphpad.getCurrentGraph().getModel().insert(
toInsert.toArray(),
viewMap,
null,
null,
null);
return cell;
}
// Add interface for activity
public void addActivity(Rectangle bounds) {}
// Add interface for subProcess
public void addSubProcess(Rectangle bounds) {}
// Add interface for DataObj
public void addDataObj(Rectangle bounds) {}
// Add interface for TextAnnotation
public void addTextAnnotation(Rectangle bounds) {}
// Add interface for activity
public void addInter(Rectangle bounds) {}
// Add interface for decision
public void addDecision(Rectangle bounds) {}
//添加inclusive接口
public void addInclusiveGateway(Rectangle bounds) {}
//添加parallel接口
public void addParallelGateway(Rectangle bounds) {}
//添加complex接口
public void addComplexGateway(Rectangle bounds) {}
public void addPool(Rectangle bounds) {}
public void addLane(Rectangle bounds) {}
// Add interface for start
public void addStart(Rectangle bounds) {}
// Add interface for end
public void addEnd(Rectangle bounds) {}
public void addSplit(Rectangle bounds) {}
public void addJoin(Rectangle bounds) {}
/**
* Returns the buttonActivity.
* @return JToggleButton
*/
public JToggleButton getButtonActivity() {
return buttonActivity;
}
/**
* Returns the buttonDecision.
* @return JToggleButton
*/
public JToggleButton getButtonDecision() {
return buttonDecision;
}
//取得inclusive通路按钮
public JToggleButton getButtonInclusiveGateway() {
return buttonInclusiveGateway;
}
//取得parallel通路按钮
public JToggleButton getButtonParallelGateway() {
return buttonParallelGateway;
}
//取得complex通路按钮
public JToggleButton getButtonComplexGateway() {
return buttonComplexGateway;
}
//取得DataObj按钮
public JToggleButton getButtonDataObj() {
return buttonDataObj;
}
//取得textAnnotation按钮
public JToggleButton getButtonTextAnnotation() {
return buttonTextAnnotation;
}
//取得SubProcess按钮
public JToggleButton getButtonSubProcess() {
return buttonSubProcess;
}
public JToggleButton getButtonPool() {
return buttonPool;
}
public JToggleButton getButtonLane() {
return buttonLane;
}
public JToggleButton getButtonSequence() {
return buttonSequence;
}
public JToggleButton getButtonMessage() {
return buttonMessage;
}
public JToggleButton getButtonAssociate() {
return buttonAssociate;
}
/**
* Returns the buttonStart.
* @return JToggleButton
*/
public JToggleButton getButtonStart() {
return buttonStart;
}
/**
* Returns the buttonEnd.
* @return JToggleButton
*/
public JToggleButton getButtonEnd() {
return buttonEnd;
}
/**
* Returns the buttonSplit.
* @return JToggleButton
*/
public JToggleButton getButtonSplit() {
return buttonSplit;
}
/**
* Returns the buttonJoin.
* @return JToggleButton
*/
public JToggleButton getButtonJoin() {
return buttonJoin;
}
/**
* Returns the buttonEdge.
* @return JToggleButton
*/
public JToggleButton getButtonEdge() {
return buttonEdge;
}
/**
* Returns the buttonLine.
* @return JToggleButton
*/
public JToggleButton getButtonLine() {
return buttonLine;
}
/**
* Returns the buttonSelect.
* @return JToggleButton
*/
public JToggleButton getButtonSelect() {
return buttonSelect;
}
/**
* Returns the buttonText.
* @return JToggleButton
*/
public JToggleButton getButtonText() {
return buttonText;
}
/**
* Returns the buttonZoomArea.
* @return JToggleButton
*/
public JToggleButton getButtonZoomArea() {
return buttonZoomArea;
}
public javax.swing.JToggleButton getButtonInter() {
return buttonInter;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -