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

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

?? checkoutjob.java

?? The ElectricTM VLSI Design System is an open-source Electronic Design Automation (EDA) system that c
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/* -*- tab-width: 4 -*- * * Electric(tm) VLSI Design System * * File: CheckOutJob.java * Project management tool * 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.geometry.GenMath.MutableInteger;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.HashMap;import java.util.HashSet;import java.util.Iterator;import java.util.List;import java.util.Set;/** * Class to check-out cells from the Project Management repository. */public class CheckOutJob extends Job{	private List<Cell> checkOutCells;	private ProjectDB pdb;	private DisplayedCells displayedCells;	private boolean autoCheckout;	/**	 * Method to check the currently edited cell out of the repository.	 */	public static void checkOutThisCell()	{		UserInterface ui = Job.getUserInterface();		Cell cell = ui.needCurrentCell();		if (cell == null) return;		checkOut(cell);	}	/**	 * Method to check a cell out of the repository.	 * @param cell the Cell to check-out.	 */	public static void checkOut(Cell cell)	{			// make sure there is a valid user name and repository		if (Users.needUserName()) return;		if (Project.ensureRepository()) return;			// make a list of just this cell		List<Cell> oneCell = new ArrayList<Cell>();		oneCell.add(cell);			new CheckOutJob(oneCell, false);	}	/**	 * Constructor to make a "check out cells" job.	 * @param checkOutCells the List of cells to check out.	 * @param autoCheckout true if the checkout is automatically done to allow a change.	 * False if the checkout was explicitly requested by the user.	 */	CheckOutJob(List<Cell> checkOutCells, boolean autoCheckout)	{		super("Check out cells", Project.getProjectTool(), Job.Type.CHANGE, null, null, Job.Priority.USER);		this.checkOutCells = checkOutCells;		this.autoCheckout = autoCheckout;		pdb = Project.projectDB;		// save the current window configuration		displayedCells = new DisplayedCells();		displayedCells.setCellsToBeChanged(checkOutCells);		startJob();	}	public boolean doIt() throws JobException	{		// make a set of project libraries that are affected		Set<ProjectLibrary> projectLibs = new HashSet<ProjectLibrary>();		for(Cell oldVers : checkOutCells)		{			Library lib = oldVers.getLibrary();			ProjectLibrary pl = pdb.findProjectLibrary(lib);			projectLibs.add(pl);		}		// lock access to the project files (throws JobException on error)		ProjectLibrary.lockManyProjectFiles(projectLibs);		// check out the cell		try		{			preCheckOutCells(pdb, checkOutCells);		} catch (JobException e)		{			ProjectLibrary.releaseManyProjectFiles(projectLibs);			throw e;		}		// prevent tools (including this one) from seeing the changes		Project.setChangeStatus(true);		// make new version		for(Cell oldVers : checkOutCells)		{			// change version information (throws JobException on error)			Cell newVers = bumpVersion(oldVers);		// CHANGES DATABASE			if (newVers != null)			{				// update records for the changed cells	        	bumpRecordVersions(pdb, oldVers, newVers);	        	// record that cells changed so that displays get updated	        	displayedCells.swap(oldVers, newVers);			}		}		Project.setChangeStatus(false);		ProjectLibrary.releaseManyProjectFiles(projectLibs);		fieldVariableChanged("pdb");		fieldVariableChanged("displayedCells");		return true;	}    public void terminateOK()    {    	// take the new version of the project database from the server    	Project.projectDB = pdb;    	// redisplay windows to show current versions    	displayedCells.updateWindows();		// update explorer tree		WindowFrame.wantToRedoLibraryTree();		if (!autoCheckout)		{			// print dependencies and display			Iterator<Cell> createdCells = displayedCells.getCreatedCells();			if (createdCells.hasNext())			{				Cell newVers = createdCells.next();				StringBuffer cellNames = new StringBuffer();				int numCells = 0;				for(Iterator<Cell> it = displayedCells.getCreatedCells(); it.hasNext(); )				{					Cell c = it.next();					if (cellNames.length() > 0) cellNames.append(", ");					cellNames.append(c.describe(false));					numCells++;				}				if (numCells > 1) System.out.println("Cells " + cellNames + " checked out for your use"); else					System.out.println("Cell " + cellNames + " checked out for your use");				// advise of possible problems with other checkouts higher up in the hierarchy				HashMap<Cell,MutableInteger> cellsMarked = new HashMap<Cell,MutableInteger>();				for(Iterator<Library> it = Library.getLibraries(); it.hasNext(); )				{					Library oLib = it.next();					for(Iterator<Cell> cIt = oLib.getCells(); cIt.hasNext(); )					{						Cell cell = cIt.next();						cellsMarked.put(cell, new MutableInteger(0));					}				}				MutableInteger miNewVers = cellsMarked.get(newVers);				miNewVers.setValue(1);				boolean propagated = true;				while (propagated)				{					propagated = false;					for(Iterator<Library> it = Library.getLibraries(); it.hasNext(); )					{						Library oLib = it.next();						for(Iterator<Cell> cIt = oLib.getCells(); cIt.hasNext(); )						{							Cell cell = cIt.next();							MutableInteger val = cellsMarked.get(cell);							if (val.intValue() == 1)							{								propagated = true;								val.setValue(2);								for(Iterator<NodeInst> nIt = cell.getInstancesOf(); nIt.hasNext(); )								{									NodeInst ni = nIt.next();									MutableInteger pVal = cellsMarked.get(ni.getParent());									if (pVal.intValue() == 0) pVal.setValue(1);								}							}						}					}				}				miNewVers.setValue(0);				int total = 0;				for(Iterator<Library> it = Library.getLibraries(); it.hasNext(); )				{					Library oLib = it.next();					for(Iterator<Cell> cIt = oLib.getCells(); cIt.hasNext(); )					{						Cell cell = cIt.next();						MutableInteger val = cellsMarked.get(cell);						if (val.intValue() == 0) continue;						if (Project.getCellStatus(cell) == Project.CHECKEDOUTTOOTHERS)						{							val.setValue(3);							total++;						}					}				}				if (total != 0)				{					System.out.println("*** Warning: the following cells are above this in the hierarchy");					System.out.println("*** and are checked out to others.  This may cause problems");					for(Iterator<Library> it = Library.getLibraries(); it.hasNext(); )					{						Library oLib = it.next();						for(Iterator<Cell> cIt = oLib.getCells(); cIt.hasNext(); )						{							Cell cell = cIt.next();							MutableInteger val = cellsMarked.get(cell);							if (val.intValue() != 3) continue;							System.out.println("    " + cell + " is checked out to " + Project.getCellOwner(cell));						}					}				}				// advise of possible problems with other checkouts lower down in the hierarchy				for(Iterator<Library> it = Library.getLibraries(); it.hasNext(); )				{					Library oLib = it.next();					for(Iterator<Cell> cIt = oLib.getCells(); cIt.hasNext(); )					{						Cell cell = cIt.next();						MutableInteger val = cellsMarked.get(cell);						val.setValue(0);					}				}				miNewVers.setValue(1);				propagated = true;				while(propagated)				{

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜久久久影院| 国产69精品久久99不卡| 免费观看91视频大全| 国产传媒欧美日韩成人| 欧美揉bbbbb揉bbbbb| 久久久久国产精品麻豆| 天天操天天色综合| fc2成人免费人成在线观看播放 | xnxx国产精品| 亚洲午夜在线视频| 成人小视频免费在线观看| 欧美精品xxxxbbbb| 亚洲精品视频在线观看网站| 国产在线国偷精品产拍免费yy| 欧美三级视频在线观看| 欧美激情在线一区二区| 久久成人羞羞网站| 欧美日本一区二区三区四区| 亚洲日本电影在线| 成人性视频免费网站| 久久蜜臀精品av| 捆绑调教一区二区三区| 欧美日韩成人综合在线一区二区| 中文字幕在线视频一区| 国产麻豆一精品一av一免费| 欧美一区二区国产| 丝袜亚洲另类欧美| 欧美日韩国产首页| 亚洲一二三四在线| 91免费观看在线| 国产精品理论片| 成人免费视频一区| 久久久久久一二三区| 国产真实乱对白精彩久久| 日韩美女主播在线视频一区二区三区 | 91视频一区二区三区| 国产精品天干天干在观线| 国产成人av一区二区三区在线观看| 精品国产一区二区三区四区四 | 亚洲猫色日本管| 91视频一区二区| 亚洲日本护士毛茸茸| 91搞黄在线观看| 亚洲一级电影视频| 7777精品伊人久久久大香线蕉经典版下载 | 亚洲欧美区自拍先锋| 91小视频在线观看| 亚洲精品成人少妇| 欧美日韩视频在线第一区| 亚洲r级在线视频| 欧美日韩国产美女| 麻豆一区二区三区| 久久婷婷综合激情| 国产91精品免费| 亚洲精品日产精品乱码不卡| 欧美三级日本三级少妇99| 日韩中文字幕麻豆| 精品人在线二区三区| 成人黄色av网站在线| 一区二区三区国产| 日韩欧美一二三区| 成人黄色国产精品网站大全在线免费观看| 国产精品久久久久久久久久免费看| 97se亚洲国产综合自在线| 亚洲3atv精品一区二区三区| 日韩一区二区在线观看视频| 国产精品一品二品| 一区二区三区蜜桃网| 日韩免费观看高清完整版| 成人黄动漫网站免费app| 亚洲综合成人在线视频| 精品国产凹凸成av人导航| 不卡一区二区在线| 日韩av电影免费观看高清完整版 | 9191精品国产综合久久久久久| 黄色精品一二区| 亚洲人吸女人奶水| 日韩精品一区二区三区老鸭窝| jlzzjlzz亚洲日本少妇| 日本中文字幕一区二区视频| 国产欧美一区二区三区在线老狼| 91激情五月电影| 精品制服美女丁香| 亚洲精品国产视频| 精品成人一区二区三区四区| 91极品美女在线| 高清在线观看日韩| 蜜桃久久精品一区二区| 综合在线观看色| 2017欧美狠狠色| 69堂亚洲精品首页| 色拍拍在线精品视频8848| 国产一区二区三区四| 偷窥少妇高潮呻吟av久久免费| 欧美激情在线看| www国产精品av| 51精品久久久久久久蜜臀| 91丨porny丨国产| 国产.欧美.日韩| 国产毛片精品国产一区二区三区| 五月婷婷激情综合| 一区二区三区欧美在线观看| 国产精品美女久久久久av爽李琼| 欧美电影精品一区二区 | 91一区二区在线| 成人国产亚洲欧美成人综合网 | 看电视剧不卡顿的网站| 一区二区在线观看视频 | 国产视频一区二区在线| 欧美成人video| 日韩女优av电影| 欧美不卡一区二区三区| 欧美一区二区三区四区视频 | 91麻豆6部合集magnet| 99riav一区二区三区| 不卡一区二区在线| 95精品视频在线| 91久久精品网| 欧美日韩国产综合一区二区三区| 在线视频国产一区| 欧美三级韩国三级日本一级| 欧美日韩一区视频| 欧美一区二区三区在线观看视频| 91精品国产乱码久久蜜臀| 日韩小视频在线观看专区| 日韩欧美在线123| 亚洲精品一区二区精华| 国产亚洲一区二区三区| 亚洲国产精品传媒在线观看| 中文字幕高清不卡| 国产精品免费av| 中文字幕日韩一区二区| 精品国产不卡一区二区三区| 精品国产乱码久久久久久久久| 丁香网亚洲国际| 91蜜桃在线免费视频| 91论坛在线播放| 欧洲精品在线观看| 日韩三级视频中文字幕| 精品区一区二区| 国产丝袜欧美中文另类| 亚洲精选视频在线| 亚洲成精国产精品女| 亚洲v精品v日韩v欧美v专区| 亚洲一区在线观看视频| 免费人成黄页网站在线一区二区| 麻豆精品视频在线观看免费| 国产精品一区二区免费不卡 | av电影在线观看一区| 91免费在线看| 欧美成人高清电影在线| 日韩欧美国产wwwww| 欧美日韩国产高清一区二区三区 | 欧美一级片在线看| 中文字幕乱码日本亚洲一区二区| 国产精品卡一卡二| 一区二区三区视频在线看| 极品尤物av久久免费看| 亚洲国产成人精品视频| 久久99精品久久久久婷婷| 91美女视频网站| 日韩一区二区影院| 亚洲国产激情av| 国产精品美女久久久久aⅴ | 日本女人一区二区三区| 成人免费福利片| 欧美精品欧美精品系列| 久久夜色精品一区| 国产精品青草综合久久久久99| 亚洲电影第三页| 国产成人自拍网| 欧美日韩日日骚| 最新国产成人在线观看| 日韩精品一卡二卡三卡四卡无卡| 韩日欧美一区二区三区| 欧美日韩国产综合久久| 国产农村妇女毛片精品久久麻豆| 一区二区三区中文字幕精品精品| 韩国女主播一区二区三区| 欧亚一区二区三区| 久久久欧美精品sm网站| 国产精品亲子乱子伦xxxx裸| 亚洲天堂免费在线观看视频| 蜜桃一区二区三区四区| 91福利国产成人精品照片| 久久亚洲精精品中文字幕早川悠里| 偷拍日韩校园综合在线| 99re在线视频这里只有精品| 精品国产乱子伦一区| 蜜臀av一区二区三区| 色天天综合久久久久综合片| 日本一区二区三区四区 | 一区二区免费看| 国产.欧美.日韩| 国产人成一区二区三区影院| 喷水一区二区三区| 欧美日韩一级二级三级| 亚洲亚洲精品在线观看| 91麻豆免费看| 中文字幕亚洲一区二区va在线|