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

📄 hideadministration.java

📁 UML设计测试工具
💻 JAVA
字号:
/*
 * USE - UML based specification environment
 * Copyright (C) 1999-2004 Mark Richters, University of Bremen
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation; either version 2 of the
 * License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */

/* $ProjectHeader: use 2-3-0-release.1 Mon, 12 Sep 2005 20:18:33 +0200 green $ */

package org.tzi.use.gui.views.diagrams.event;

import java.util.Set;

import javax.swing.Action;

import org.tzi.use.graph.DirectedGraph;
import org.tzi.use.gui.util.Selection;
import org.tzi.use.gui.views.diagrams.DiagramView;
import org.tzi.use.gui.views.diagrams.LayoutInfos;
import org.tzi.use.gui.views.diagrams.classdiagram.NewClassDiagram;
import org.tzi.use.gui.views.diagrams.objectdiagram.NewObjectDiagram;

/**
 * Coordinates the hiding of nodes and edges in diagrams.
 *
 * @version $ProjectVersion: 2-3-0-release.1 $
 * @author Fabian Gutsche
 */
 public final class HideAdministration {
    private ActionHide fHideAction;

    /**
     * All actuall hidden nodes in a diagram.
     */
    private Set fHiddenNodes;
    /**
     * Actual selected nodes in the diagram.
     */
    private Selection fNodeSelection;
    /**
     * This graph contains all nodes and edges of a diagram.  
     */
    private DirectedGraph fGraph;
    /**
     * The diagram to which the graph, nodes and edges belong to.
     */
    private DiagramView fDiagram;
    /**
     * Layout information about the given diagram. 
     */    
    private LayoutInfos fLayoutInfos;
    
    public HideAdministration( Selection nodeSelection, DirectedGraph graph, 
                               LayoutInfos layoutInfos ) {
        fNodeSelection = nodeSelection;
        fGraph = graph;
        fLayoutInfos = layoutInfos;
        fDiagram = layoutInfos.getDiagram();
        
        if ( fDiagram instanceof NewObjectDiagram ) {
            fHideAction = new ActionHideObjectDiagram( "Hide", fHiddenNodes,
                                                       fNodeSelection, fGraph,
                                                       fLayoutInfos );
        } else if ( fDiagram instanceof NewClassDiagram ) {
            fHideAction = new ActionHideClassDiagram( "Hide", fHiddenNodes,
                                                      fNodeSelection, fGraph,
                                                      fLayoutInfos );
        }
    }

    public Action setValues( String text, Set selectedNodes ) {
        if ( fDiagram instanceof NewObjectDiagram ) {
            fHideAction = new ActionHideObjectDiagram( text, selectedNodes,
                                                       fNodeSelection, fGraph,
                                                       fLayoutInfos );
        } else if ( fDiagram instanceof NewClassDiagram ) {
            fHideAction = new ActionHideClassDiagram( text, selectedNodes,
                                                      fNodeSelection, fGraph,
                                                      fLayoutInfos );
        }
        return fHideAction;
    }

    /**
     * Displays all hidden elements again. The hidden elements need to be 
     * added to the diagram again, because they were deleted from the 
     * view before.
     */
    public void showAllHiddenElements() {
        fHideAction.showAllHiddenElements();
    }

    /**
     * Saves edges which are connected to the hidden nodes.
     */
    public void saveEdges( Set nodesToHide ) {
        fHideAction.saveEdges( nodesToHide );
    }

}

⌨️ 快捷键说明

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