📄 casediagrampanel.java
字号:
m_CaseInformationLayer.getY()
+ m_CaseInformationLayer.getHeight();
if (width > oriWidth)
oriWidth = width;
if (height > oriHeight)
oriHeight = height;
if (oriWidth != m_PanelDiagramDrawing.getWidth()
|| oriHeight != m_PanelDiagramDrawing.getHeight())
m_PanelDiagramDrawing.setSize(oriWidth, oriHeight);
} else
m_PanelDiagramDrawing.setSize(getDimension());
}
else if(source==printItem) {
print();
}
else if(source==exportWorkflowDiagramItem) {
exportWorkflowDiagram(exportWorkflowDiagramItem.getLocation());
}
}
/*
private Rectangle getDiagramRange() {
}
*/
private void print() {
try {
String[] superscript = new String[1];
superscript[0] = Resource.srcStr("print_caseName")+": "+m_Parent.getCaseName();
Printer.printComponent(m_PanelDiagramDrawing, Resource.srcStr("print_tile_caseDiagram"), superscript);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
SysLog.error(this, e1);
}
}
private void exportWorkflowDiagram(Point p) {
int option = MessageDialog.showConfirmDialog(this, Resource.srcStr("export_choose_information"));
if(!(option==JOptionPane.CANCEL_OPTION)){
if(option==JOptionPane.YES_OPTION){
//show
m_CaseInformationButton.setVisible(true);
m_CaseInformationLayer.setVisible(true);
}
else if(option==JOptionPane.NO_OPTION){
//hide
m_CaseInformationButton.setVisible(false);
m_CaseInformationLayer.setVisible(false);
}
//Exporter.exportGraph(this,m_PanelDiagramDrawing);
String title = getCaseWindow().getCaseName();
char[] chars = title.toCharArray();
int size = chars.length;
int i=0;
for(i=0;i<size;i++) {
if(chars[i]=='|'||chars[i]=='/'||chars[i]=='\\'||chars[i]=='<'||chars[i]=='>'||chars[i]=='"'||chars[i]=='?'
||chars[i]==':'||chars[i]=='*'){
chars[i]=' ';
}
}
title=new String(chars);
Exporter.exportImage(this, m_PanelDiagramDrawing, exportWorkflowDiagramItem.getName(), title, p);
m_CaseInformationButton.setVisible(true);
}
}
/**
* @see java.awt.event.MouseListener#mouseClicked(MouseEvent)
*/
@SuppressWarnings("unchecked")
public void mouseClicked(MouseEvent e) {
Component[] comp = m_PanelDiagramDrawing.getComponents();
ArrowComponent arrow = null;
Operator operator = null;
boolean clickOnNode = false;
this.requestFocus();
resetOperatorEditState(comp);
// <27/07/2005 Kenneth Lai: Add for JHelp
if ( isHelpMode() ) {
for (int i = 0; comp != null && i < comp.length; i++) {
if (comp[i] instanceof Operator) {
operator = (Operator) comp[i];
if (operator // click on the operator node
.getModePanel()
.getBounds()
.contains(
e.getX() - operator.getX(),
e.getY() - operator.getY())) {
clickOnNode = true;
operator.requestFocus();
}
}
}
if ( !clickOnNode ) {
setHelpMode(false);
HelpObserveSubject.sendNotify(false);
}
// 27/07/2005 Kenneth Lai: Add for JHelp>>
} else {
if (m_CaseInformationLayer.isVisible()) {
if (e.getClickCount() == 1
&& e.getButton() == MouseEvent.BUTTON1) {
m_CaseInformationLayer.setVisible(false);
m_PanelDiagramDrawing.setSize(getDimension());
}
return;
}
for (int i = 0; comp != null && i < comp.length; i++) {
if (comp[i] instanceof ArrowComponent) {
arrow = (ArrowComponent) comp[i];
if (arrow.contains(e.getX(), e.getY())) {
if (e.getClickCount() == 1
&& e.getButton() == MouseEvent.BUTTON3) {
setActiveComponent(arrow);
if (m_Parent.getEditMode())
showArrowPopupMenu(e);
} else if (
e.getClickCount() == 1
// <<16/06/2005 Mark Li: Modified for multi-selection
// && e.getButton() == MouseEvent.BUTTON1)
&& e.getButton() == MouseEvent.BUTTON1
&& m_ActiveComponent == null)
// 16/06/2005 Mark Li: Modified for multi-selection>>
setActiveComponent(arrow);
return;
}
} else if (comp[i] instanceof Operator) {
operator = (Operator) comp[i];
if (operator
.getModePanel()
.getBounds()
.contains(
e.getX() - operator.getX(),
e.getY() - operator.getY())) {
if (e.getClickCount() == 1
&& e.getButton() == MouseEvent.BUTTON3) {
setActiveComponent(operator);
showOperatorPopupMenu(e);
} else if (
e.getClickCount() == 2
&& e.getButton() == MouseEvent.BUTTON1) {
setActiveComponent(operator);
showOperatorPropertyForm();
} else if (
e.getClickCount() == 1
&& e.getButton() == MouseEvent.BUTTON1)
//<<16/06/2005 Mark Li: Modified for multi-selection
{
if (e.isControlDown() && m_ActiveComponent != null) {
boolean refreshActiveComponent = true;
for (int n = 0; n < m_ActiveComponent.length; n++) {
if (operator == m_ActiveComponent[n])
refreshActiveComponent = false;
}
if (refreshActiveComponent) {
Vector<JComponent> tmpActiveComponents = new Vector<JComponent>(
m_ActiveComponent.length + 1);
for (int j = 0; j < m_ActiveComponent.length; j++)
tmpActiveComponents
.add(m_ActiveComponent[j]);
tmpActiveComponents.add(operator);
setActiveComponents(tmpActiveComponents);
continue;
}
} else {
setActiveComponent(operator);
}
}
//16/06/2005 Mark Li: Modified for multi-selection>>
return;
}
}
}
if (!e.isControlDown()) //<<16/06/2005 Mark Li: Add for multi-selection>>
setActiveComponent(null);
if (e.getClickCount() == 1 && e.getButton() == MouseEvent.BUTTON3)
showPanelPopupMenu(e);
} // end the else of help state
}
/**
* @see java.awt.event.MouseListener#mouseEntered(MouseEvent)
*/
public void mouseEntered(MouseEvent e) {
// <<28/07/2005 Kenneth Lai: Add for JHelp
Component[] comp = m_PanelDiagramDrawing.getComponents();
Operator operator = null;
if ( isHelpMode() ) {
if (m_CaseInformationLayer.isVisible()) {
// check which nodes are under the caseInfolayer
// set them to normal state
for (int i = 0; comp != null && i < comp.length; i++) {
if (comp[i] instanceof Operator) {
operator = (Operator) comp[i];
if (operator.getX() + operator.getWidth() < 300 &&
operator.getY() + operator.getHeight() < 310) {
operator.setHelpMode(false);
}
}
}
}
}
// 28/07/2005 Kenneth Lai: Add for JHelp>>
}
/**
* @see java.awt.event.MouseListener#mouseExited(MouseEvent)
*/
public void mouseExited(MouseEvent e) {
}
/**
* @see java.awt.event.MouseListener#mousePressed(MouseEvent)
*/
@SuppressWarnings("unchecked")
public void mousePressed(MouseEvent e) {
Component[] comp = m_PanelDiagramDrawing.getComponents();
Operator operator = null;
// <<25/07/2005 Kenneth Lai: Add for JHelp
if ( isHelpMode() ) {
// no operation
}
// 25/07/2005 Kenneth Lai: Add for JHelp>>
else {
// System.err.println("public void mousePressed(MouseEvent e) {");
// <<16/06/2005 Mark Li: Modified for multi-selection
boolean isHitOperatorFlag = false;
if (m_CaseInformationLayer.isVisible())
return;
for (int i = 0; comp != null && i < comp.length; i++) {
if (comp[i] instanceof Operator) {
operator = (Operator) comp[i];
//if (operator.getBounds().contains(e.getX(), e.getY())) {
if (operator
.getOperatorImage()
.getBounds()
.contains(
e.getX() - operator.getX(),
e.getY() - operator.getY())) {
m_IsDragging = true;
// <<16/06/2005 Mark Li: Modified for multi-selection
isHitOperatorFlag = true;
// 16/06/2005 Mark Li: Modified for multi-selection>>
if(m_ActiveComponent != null &&
m_ActiveComponent[0] instanceof Operator ) // <<01/08/2005 Kenneth Lai: Modified for multiple selection bug>>
m_Start.setLocation(
//// e.getX() - operator.getX(),
//// e.getY() - operator.getY());
e.getX() - getActiveComponentBorder().getX(),
e.getY() - getActiveComponentBorder().getY());
//<<16/06/2005 Mark Li: Modified for multi-selection
if(m_ActiveComponent != null && m_ActiveComponent[0] instanceof ArrowComponent)
setActiveComponent(null);
if(e.isControlDown()){
boolean refreshActiveComponent = true;
if(m_ActiveComponent == null){
setActiveComponent(operator);
m_Start.setLocation(
e.getX() - getActiveComponentBorder().getX(),
e.getY() - getActiveComponentBorder().getY());
// System.err.println("\ne.getX()->"+e.getX()+",e.getY()->"+e.getY());
// System.err.println("\noperator.getX()->"+operator.getX()+",operator.getY()->"+operator.getY());
// System.err.println("getActiveComponentBorder().getX()->"+getActiveComponentBorder().getX()+",getActiveComponentBorder().getY()->"+getActiveComponentBorder().getY());
// System.err.println("m_Start:x->"+m_Start.getX()+",y->"+m_Start.getY());
break;
}
for(int n = 0; n < m_ActiveComponent.length; n++){
if(operator == m_ActiveComponent[n])
refreshActiveComponent = false;
}
if(refreshActiveComponent){
Vector<JComponent> tmpActiveComponents = new Vector<JComponent>(m_ActiveComponent.length+1);
for(int j = 0; j<m_ActiveComponent.length; j++)
tmpActiveComponents.add(m_ActiveComponent[j]);
tmpActiveComponents.add(operator);
setActiveComponents(tmpActiveComponents);
m_Start.setLocation(
e.getX() - getActiveComponentBorder().getX(),
e.getY() - getActiveComponentBorder().getY());
// System.err.println("\ne.getX()->"+e.getX()+",e.getY()->"+e.getY());
// System.err.println("\noperator.getX()->"+operator.getX()+",operator.getY()->"+operator.getY());
// System.err.println("getActiveComponentBorder().getX()->"+getActiveComponentBorder().getX()+",getActiveComponentBorder().getY()->"+getActiveComponentBorder().getY());
// System.err.println("m_Start:x->"+m_Start.getX()+",y->"+m_Start.getY());
continue;
}
}else {
boolean isExistInActiveComponent = false;
if(m_ActiveComponent == null){
setActiveComponent(operator);
m_Start.setLocation(
e.getX() - getActiveComponentBorder().getX(),
e.getY() - getActiveComponentBorder().getY());
// System.err.println("\ne.getX()->"+e.getX()+",e.getY()->"+e.getY());
// System.err.println("\noperator.getX()->"+operator.getX()+",operator.getY()->"+operator.getY());
// System.err.println("getActiveComponentBorder().getX()->"+getActiveComponentBorder().getX()+",getActiveComponentBorder().getY()->"+getActiveComponentBorder().getY());
// System.err.println("m_Start:x->"+m_Start.getX()+",y->"+m_Start.getY());
break;
}
if(m_ActiveComponent.length == 1){
setActiveComponent(operator);
m_Start.setLocation(
e.getX() - getActiveComponentBorder().getX(),
e.getY() - getActiveComponentBorder().getY());
//System.err.println("\ne.getX()->"+e.getX()+",e.getY()->"+e.getY());
//System.err.println("\noperator.getX()->"+operator.getX()+",operator.getY()->"+operator.getY());
// System.err.println("getActiveComponentBorder().getX()->"+getActiveComponentBorder().getX()+",getActiveComponentBorder().getY()->"+getActiveComponentBorder().getY());
//System.err.println("m_Start:x->"+m_Start.getX()+",y->"+m_Start.getY());
}
if(m_ActiveComponent != null){
for (int j = 0; j<m_ActiveComponent.length;j++){
if(m_ActiveComponent[j] == operator)
isExistInActiveComponent = true;
}
}
//16/06/2005 Mark Li: Modified for multi-selection>>
if(!isExistInActiveComponent){
setActiveComponent(operator);
m_Start.setLocation(
e.getX() - getActiveComponentBorder().getX(),
e.getY() - getActiveComponentBorder().getY());
// System.err.println("\ne.getX()->"+e.getX()+",e.getY()->"+e.getY());
// System.err.println("\noperator.getX()->"+operator.getX()+",operator.getY()->"+operator.getY());
// System.err.println("getActiveComponentBorder().getX()->"+getActiveComponentBorder().getX()+",getActiveComponentBorder().getY()->"+getActiveComponentBorder().getY());
// System.err.println("m_Start:x->"+m_Start.getX()+",y->"+m_Start.getY());
}
}
break;
} else if (
operator.getModePanel().getBounds().contains(
e.getX() - operator.getX(),
e.getY() - operator.getY())) {
transparent = new JButton();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -