亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? deletecelljob.java

?? The ElectricTM VLSI Design System is an open-source Electronic Design Automation (EDA) system that c
?? JAVA
字號:
/* -*- tab-width: 4 -*- * * Electric(tm) VLSI Design System * * File: DeleteCellJob.java * Project management tool: Delete a cell from the Project Management repository * Written by: Steven M. Rubin * * Copyright (c) 2006 Sun Microsystems and Static Free Software * * Electric(tm) 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 3 of the License, or * (at your option) any later version. * * Electric(tm) 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 Electric(tm); see the file COPYING.  If not, write to * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, * Boston, Mass 02111-1307, USA. */package com.sun.electric.tool.project;import com.sun.electric.database.hierarchy.Cell;import com.sun.electric.database.hierarchy.Library;import com.sun.electric.database.topology.NodeInst;import com.sun.electric.database.variable.UserInterface;import com.sun.electric.tool.Job;import com.sun.electric.tool.JobException;import com.sun.electric.tool.user.ui.WindowFrame;import java.util.ArrayList;import java.util.HashSet;import java.util.Iterator;import java.util.List;/** * This class deletes a cell from the Project Management repository. */public class DeleteCellJob extends Job{	private ProjectDB pdb;	private Cell cell;	/**	 * Method to remove the currently edited cell from the repository.	 */	public static void removeThisCell()	{		UserInterface ui = Job.getUserInterface();		Cell cell = ui.needCurrentCell();		if (cell == null) return;		removeCell(cell);	}	/**	 * Method to remove a cell from the repository.	 */	public static void removeCell(Cell cell)	{		// make sure there is a valid user name and repository		if (Users.needUserName()) return;		if (Project.ensureRepository()) return;		// make sure the cell is not being used		HashSet<Cell> markedCells = new HashSet<Cell>();		for(Iterator<NodeInst> it = cell.getInstancesOf(); it.hasNext(); )		{			NodeInst ni = it.next();			Cell parent = ni.getParent();			int status = Project.getCellStatus(parent);			if (status == Project.NOTMANAGED || status == Project.OLDVERSION) continue;			markedCells.add(ni.getParent());		}		StringBuffer err = new StringBuffer();		for(Iterator<Library> it = Library.getLibraries(); it.hasNext(); )		{			Library oLib = it.next();			for(Iterator<Cell> cIt = oLib.getCells(); cIt.hasNext(); )			{				Cell oCell = cIt.next();				if (markedCells.contains(oCell))				{					if (err.length() > 0) err.append(", ");					err.append(oCell.describe(true));				}			}		}		if (markedCells.size() > 0)		{			Job.getUserInterface().showErrorMessage("Cannot delete " + cell + " because it is still being used by: " +				err.toString(), "Delete Cell Error");			return;		}		// make sure the user has no cells checked-out		boolean youOwn = false;		Library lib = cell.getLibrary();		ProjectLibrary pl = Project.projectDB.findProjectLibrary(lib);		for(Iterator<ProjectCell> it = pl.getProjectCells(); it.hasNext(); )		{			ProjectCell pc = it.next();			if (pc.getOwner().equals(Project.getCurrentUserName())) { youOwn = true;   break; }		}		if (youOwn)		{			StringBuffer infstr = new StringBuffer();			for(Iterator<ProjectCell> it = pl.getProjectCells(); it.hasNext(); )			{				ProjectCell pc = it.next();				if (!pc.getOwner().equals(Project.getCurrentUserName())) continue;				if (infstr.length() > 0) infstr.append(", ");				infstr.append(pc.describe());			}			Job.getUserInterface().showErrorMessage("Before deleting a cell from the repository, you must check-in all of your work. " +				"This is because the deletion may be dependent upon changes recently made. " +				"These cells are checked out to you: " + infstr.toString(), "Cell Deletion Error");			return;		}		boolean found = false;		for(Iterator<ProjectCell> it = pl.getProjectCells(); it.hasNext(); )		{			ProjectCell pc = it.next();			if (pc.getCellName().equals(cell.getName()) && pc.getView() == cell.getView())			{				found = true;				break;			}		}		if (!found)		{			Job.getUserInterface().showErrorMessage("This cell is not in the repository", "Cell Deletion Error");			return;		}		new DeleteCellJob(cell);	}	private DeleteCellJob(Cell cell)	{		super("Delete cell", Project.getProjectTool(), Job.Type.CHANGE, null, null, Job.Priority.USER);		this.pdb = Project.projectDB;		this.cell = cell;		startJob();	}	public boolean doIt() throws JobException	{		// find out which cell is being deleted		Library lib = cell.getLibrary();		ProjectLibrary pl = pdb.findProjectLibrary(lib);		// lock access to the project files (throws JobException on error)		pl.lockProjectFile();		// find this in the project file		List<ProjectCell> copyList = new ArrayList<ProjectCell>();		for(Iterator<ProjectCell> it = pl.getProjectCells(); it.hasNext(); )			copyList.add(it.next());		for(ProjectCell pc : copyList)		{			if (pc.getCellName().equals(cell.getName()) && pc.getView() == cell.getView())			{				// unlink it				pl.removeProjectCell(pc);				// disable change broadcast				Project.setChangeStatus(true);				// mark this cell unlocked				Project.markLocked(cell, false);		// CHANGES DATABASE				// restore change broadcast				Project.setChangeStatus(false);				System.out.println("Cell " + cell.describe(true) + " deleted from the repository");			}		}		// relase project file lock		pl.releaseProjectFileLock(true);		fieldVariableChanged("pdb");		return true;	}    public void terminateOK()    {    	// take the new version of the project database from the server    	Project.projectDB = pdb;    	// update explorer tree    	WindowFrame.wantToRedoLibraryTree();    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品欧美综合在线| 337p亚洲精品色噜噜噜| 欧美日韩激情一区二区三区| 欧美福利视频一区| 久久噜噜亚洲综合| 亚洲精品成a人| 免费高清视频精品| 99精品久久只有精品| 7777女厕盗摄久久久| 久久久久久夜精品精品免费| 亚洲六月丁香色婷婷综合久久| 日韩精品成人一区二区三区| 国产成人欧美日韩在线电影| 欧美在线播放高清精品| 久久综合九色综合97婷婷女人| 一区二区欧美在线观看| 激情综合网天天干| 91国产福利在线| 国产日韩视频一区二区三区| 午夜精彩视频在线观看不卡| 成人av片在线观看| 日韩欧美专区在线| 亚洲一二三四区| 国产成人在线视频网站| 欧美日韩精品一区二区| 日本一区二区三区在线观看| 五月婷婷另类国产| 99视频精品在线| 久久亚洲综合av| 午夜精品视频一区| 色综合欧美在线| 国产色产综合产在线视频| 午夜精品久久久久久久99樱桃 | 欧美一区日本一区韩国一区| 国产精品欧美久久久久无广告 | 久久久久久久久久久久久女国产乱| 亚洲制服丝袜av| 成人午夜在线免费| 欧美成人精品3d动漫h| 亚洲成人免费看| 色综合天天综合色综合av| 久久综合国产精品| 蜜臀av性久久久久蜜臀av麻豆| 日本国产一区二区| 亚洲欧洲性图库| 国产成人在线免费观看| 精品国内二区三区| 日韩精品1区2区3区| 欧美专区亚洲专区| 亚洲美女视频一区| 不卡区在线中文字幕| 国产日韩欧美电影| 国产一区二区三区免费观看| 欧美成人精品福利| 麻豆精品在线观看| 欧美一区二区视频在线观看2020 | 欧美精品少妇一区二区三区| 亚洲激情五月婷婷| 97国产一区二区| 中文字幕日韩一区| 不卡电影一区二区三区| 中文字幕国产精品一区二区| 国产精品主播直播| 国产亚洲精久久久久久| 国内精品久久久久影院一蜜桃| 欧美一区二区视频网站| 日韩 欧美一区二区三区| 在线成人av网站| 全国精品久久少妇| 精品国产免费久久| 国产精品18久久久久久久久久久久 | 国产精品一区二区三区乱码| 久久综合视频网| 国产a区久久久| 国产精品久久久久久久久久久免费看| 大陆成人av片| 亚洲视频在线观看三级| 色婷婷av久久久久久久| 一区二区三区日本| 欧美日韩一级二级三级| 午夜在线电影亚洲一区| 一区二区三区精品久久久| 91国偷自产一区二区开放时间 | 日韩免费观看高清完整版| 秋霞av亚洲一区二区三| 日韩三级在线免费观看| 另类人妖一区二区av| 精品国产一区a| 高清成人在线观看| 日韩毛片高清在线播放| 欧美日韩国产美女| 久久99久久99| 中文字幕欧美国产| 91福利精品视频| 男人的j进女人的j一区| 久久人人超碰精品| 一本到不卡精品视频在线观看| 亚洲国产一区视频| 精品免费99久久| 91丨porny丨国产| 亚洲成人午夜电影| 久久久九九九九| 色综合久久88色综合天天| 香港成人在线视频| 国产日韩精品一区二区浪潮av| aaa国产一区| 视频一区视频二区中文| 国产午夜亚洲精品羞羞网站| 91免费小视频| 日韩电影在线观看网站| 亚洲国产精品精华液ab| 欧美午夜精品久久久久久孕妇| 久久成人免费电影| 自拍偷拍国产精品| 欧美大片在线观看| proumb性欧美在线观看| 欧美日韩视频专区在线播放| 久久精品国产精品亚洲红杏| 中文字幕一区二区三| 337p亚洲精品色噜噜狠狠| 成人app下载| 久久国产精品第一页| 亚洲欧美日韩一区二区 | 国产福利一区二区三区视频| 一区二区三区久久| 精品福利一区二区三区| 91丨国产丨九色丨pron| 九色|91porny| 亚洲一区在线观看免费观看电影高清| 精品久久人人做人人爱| 欧美在线视频日韩| 成人成人成人在线视频| 美女视频一区二区| 亚洲一区二区视频| 国产欧美日产一区| 日韩一级二级三级| 色八戒一区二区三区| 国产精品综合视频| 日本女优在线视频一区二区| 亚洲人吸女人奶水| 久久久久久**毛片大全| 91麻豆精品国产无毒不卡在线观看 | 久久精品夜色噜噜亚洲a∨| 欧美日韩精品欧美日韩精品一综合| 粉嫩一区二区三区在线看| 蜜臀91精品一区二区三区| 亚洲国产一区二区三区青草影视| 国产精品久久午夜| 精品成a人在线观看| 欧美一区二区三区视频在线观看| 99精品在线观看视频| 国产精品一区在线观看乱码| 日本不卡一区二区| 亚洲午夜久久久久久久久久久| 国产精品嫩草影院com| 亚洲精品在线三区| 日韩精品资源二区在线| 欧美精品一卡两卡| 欧美日韩久久一区| 精品婷婷伊人一区三区三| 91理论电影在线观看| 成人av资源在线观看| 国产精品夜夜嗨| 精品无人码麻豆乱码1区2区| 在线成人午夜影院| 欧美性感一类影片在线播放| 一本在线高清不卡dvd| 成人精品视频一区二区三区尤物| 国产伦精一区二区三区| 九九热在线视频观看这里只有精品| 日韩av中文字幕一区二区| 水蜜桃久久夜色精品一区的特点 | 欧美一区欧美二区| 91麻豆精品国产91久久久资源速度 | 亚洲欧美综合色| 国产精品理伦片| 国产精品久久三| 中文字幕免费观看一区| 国产精品色在线观看| 中文欧美字幕免费| 中文字幕在线观看不卡| 国产精品美女久久久久高潮| 国产精品视频一二| 国产精品家庭影院| 成人欧美一区二区三区白人 | 欧美日韩精品一区二区三区蜜桃 | 精品一区二区三区在线观看国产| 看片的网站亚洲| 国产一区二区0| 国产激情偷乱视频一区二区三区| 国产成人综合自拍| 不卡欧美aaaaa| 在线视频一区二区三区| 欧美色精品天天在线观看视频| 欧美精品丝袜久久久中文字幕| 欧美一级一区二区| 久久久久国产一区二区三区四区 | 日本道精品一区二区三区| 欧洲av在线精品| 日韩你懂的在线观看|