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

📄 nodesizecontrolpanel.java

📁 JPowerGraph is a Java library for creating directed graphs for SWT. It supports graph movement, sele
💻 JAVA
字号:
package net.sourceforge.jpowergraph.viewcontrols;

import net.sourceforge.jpowergraph.lens.Lens;
import net.sourceforge.jpowergraph.lens.LensListener;
import net.sourceforge.jpowergraph.lens.NodeSizeLens;
import net.sourceforge.jpowergraph.painters.NodePainter;

import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;

/**
 * @author Mick Kerrigan
 *
 * Created on 05-Aug-2005
 * Committed by $Author: morcen $
 *
 * $Source: /cvsroot/jpowergraph/swt/src/net/sourceforge/jpowergraph/viewcontrols/NodeSizeControlPanel.java,v $,
 * @version $Revision: 1.2 $ $Date: 2005/08/10 09:19:55 $
 */
public class NodeSizeControlPanel extends Composite {
    
    private Button smallNodes;
    private Button largeNodes;

    private NodeSizeLens nodeSizeLens;
    
    /**
     * 
     */
    public NodeSizeControlPanel(Composite theParent, NodeSizeLens theNodeSizeLens) {
        this(theParent, theNodeSizeLens, NodePainter.LARGE);
    }
    
    public NodeSizeControlPanel(Composite theParent, NodeSizeLens theNodeSizeLens, Integer theNodeSizeValue) {
        super(theParent, SWT.NONE);
        nodeSizeLens = theNodeSizeLens;
        
        Image small = new Image(getDisplay(), CursorControlPanel.class.getResourceAsStream("small.gif"));
        Image large = new Image(getDisplay(), CursorControlPanel.class.getResourceAsStream("large.gif"));
        
        GridLayout gridLayout = new GridLayout();
        gridLayout.numColumns = 2;
        gridLayout.marginWidth = 2;
        gridLayout.marginHeight = 0;
        this.setLayout(gridLayout);
        
        largeNodes = new Button(this, SWT.TOGGLE);
        largeNodes.setImage(large);
        largeNodes.setSelection(!true);
        largeNodes.setEnabled(nodeSizeLens != null);
        smallNodes = new Button(this, SWT.TOGGLE);
        smallNodes.setImage(small);
        smallNodes.setSelection(false);
        smallNodes.setEnabled(nodeSizeLens != null);
        setSelectedItemFromLens();
        this.addActionListeners();
    }

    /**
     * @param theNodeSizeValue
     */
    private void select(Integer theNodeSizeValue) {
        smallNodes.setSelection(theNodeSizeValue == NodePainter.SMALL);
        largeNodes.setSelection(theNodeSizeValue == NodePainter.LARGE);
    }
    
    private void addActionListeners() {
        if (nodeSizeLens != null && smallNodes != null){
            smallNodes.addSelectionListener(new SelectionAdapter(){
                public void widgetSelected(SelectionEvent e){
                    int value = -1;
                    if (smallNodes.getSelection()){
                        value = NodePainter.SMALL;
                    }
                    else{
                        value = NodePainter.LARGE;
                    }
                    
                    if (nodeSizeLens.getNodeSize() != value){
                        nodeSizeLens.setNodeSize(value);
                    }
                }
            });
        }
        
        if (nodeSizeLens != null && largeNodes != null){
            largeNodes.addSelectionListener(new SelectionAdapter(){
                public void widgetSelected(SelectionEvent e){
                    int value = -1;
                    if (largeNodes.getSelection()){
                        value = NodePainter.LARGE;
                    }
                    else{
                        value = NodePainter.SMALL;
                    }
                    
                    if (nodeSizeLens.getNodeSize() != value){
                        nodeSizeLens.setNodeSize(value);
                    }
                }
            });
        }
        
        if (nodeSizeLens != null){
            nodeSizeLens.addLensListener(new LensListener() {
                public void lensUpdated(Lens lens) {
                    setSelectedItemFromLens();
                }
            });
        }
    }

    protected void setSelectedItemFromLens() {
        if (nodeSizeLens != null && largeNodes != null && smallNodes != null){
            select(nodeSizeLens.getNodeSize());
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -