⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 casediagrampanel.java

📁 一个数据挖掘软件ALPHAMINERR的整个过程的JAVA版源代码
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
					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 + -