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

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

?? launcherview.java

?? eclipse建立工程 org.eclipse.swt.examples.launcher.rar
?? JAVA
字號:
/*******************************************************************************
 * Copyright (c) 2000, 2004 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.swt.examples.launcher;

import org.eclipse.swt.SWT;
import org.eclipse.swt.events.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;
import org.eclipse.ui.*;
import org.eclipse.ui.part.*;
import java.lang.reflect.*;

/**
 * Launcher uses <code>org.eclipse.swt</code> 
 * to launch the other registered examples.
 * 
 * @see ViewPart
 */
public class LauncherView extends ViewPart {
	private Shell workbenchShell;
	
	private Tree launchTree;
	private Text descriptionText;
	private Button runButton;

	/**
	 * Constructs a LauncherView.
	 */
	public LauncherView() {
		LauncherPlugin.initResources();
	}

	/**
	 * Creates the example.
	 * 
	 * @see ViewPart#createPartControl
	 */
	public void createPartControl(Composite parent) {
		workbenchShell = getSite().getShell();
		parent.setLayout(new SplitLayout());
				
		Group launchGroup = new Group(parent, SWT.NONE);
		launchGroup.setText(LauncherPlugin.getResourceString("view.launchGroup.text"));
		
		GridLayout gridLayout = new GridLayout();
		gridLayout.numColumns = 2;
		launchGroup.setLayout(gridLayout);

		launchTree = new Tree(launchGroup, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
		GridData gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL);
		gridData.horizontalSpan = 2;
		launchTree.setLayoutData(gridData);
		launchTree.addSelectionListener(new SelectionListener() {
			public void widgetSelected(SelectionEvent event) {
				final ItemDescriptor item = getSelectedItem();
				setDescriptionByItem(item);
			}
			public void widgetDefaultSelected(SelectionEvent event) {
				final ItemDescriptor item = getSelectedItem();
				setDescriptionByItem(item);
				if (item.getMainType() == null && item.getView() == null) {
					// Category selected, so just expand/colapse the node
					TreeItem treeItem = (TreeItem) event.item;
					boolean expanded = treeItem.getExpanded();
					if (treeItem != null) treeItem.setExpanded(!expanded);
					treeItem.setImage(LauncherPlugin.images[expanded ? LauncherPlugin.liClosedFolder : LauncherPlugin.liOpenFolder]);
				} else {
					launchItem(getSelectedItem());
				}
			}
		});
		launchTree.addTreeListener(new TreeListener() {
			public void treeCollapsed(TreeEvent event) {
				final TreeItem item = (TreeItem) event.item;
				if (item == null) return;
				item.setImage(LauncherPlugin.images[LauncherPlugin.liClosedFolder]);
			}
			public void treeExpanded(TreeEvent event) {
				final TreeItem item = (TreeItem) event.item;
				if (item == null) return;
				item.setImage(LauncherPlugin.images[LauncherPlugin.liOpenFolder]);
			}
		});

		runButton = new Button(launchGroup, SWT.PUSH);
		runButton.setText(LauncherPlugin.getResourceString("view.launchButton.text"));
		runButton.addSelectionListener(new SelectionListener() {
			public void widgetSelected(SelectionEvent event) {
				launchItem(getSelectedItem());
			}
			public void widgetDefaultSelected(SelectionEvent event) {
			}
		});

		Group descriptionGroup = new Group(parent, SWT.NONE);
		descriptionGroup.setText(LauncherPlugin.getResourceString("view.descriptionGroup.text"));
		descriptionGroup.setLayout(new FillLayout());
		
		descriptionText = new Text(descriptionGroup, SWT.MULTI | SWT.BORDER |
			SWT.WRAP | SWT.V_SCROLL | SWT.READ_ONLY);

		setDescriptionByItem(null);
		setItemDescriptors(LauncherPlugin.getLaunchItemTree());
	}

	/**
	 * Called when we must grab focus.
	 * 
	 * @see org.eclipse.ui.part.ViewPart#setFocus
	 */
	public void setFocus()  {
		launchTree.setFocus();
		runButton.getShell().setDefaultButton(runButton);
	}

	/**
	 * Called when the View is to be disposed
	 */	
	public void dispose() {
		workbenchShell = null;
		launchTree = null;
		descriptionText = null;
		runButton = null;		
		super.dispose();
	}

	/**
	 * Installs a new launch list.
	 * 
	 * @param newRoot the new tree of launch items for the UI
	 */
	public void setItemDescriptors(final ItemTreeNode newRoot) {
		if (workbenchShell == null) return;
		workbenchShell.getDisplay().syncExec(new Runnable() {
			public void run() {
				if ((launchTree == null) || (launchTree.isDisposed())) return;
				launchTree.removeAll();
			
				for (ItemTreeNode node = newRoot.getFirstChild(); node != null;
					node = node.getNextSibling()) {
					doNode(node, new TreeItem(launchTree, SWT.NONE)); // top-level TreeItem
				}
			}
			private void addGroup(TreeItem parent, ItemTreeNode node) {
				for (;node != null; node = node.getNextSibling()) {
					doNode(node, new TreeItem(parent, SWT.NONE)); // TreeItem at depth > 0
				}
			}
			private void doNode(ItemTreeNode node, TreeItem treeItem) {
				final ItemDescriptor item = node.getDescriptor();
				treeItem.setText(item.getName());
				treeItem.setData(item);
				if (node.getDescriptor().isFolder()) {
					treeItem.setExpanded(false);
					treeItem.setImage(LauncherPlugin.images[LauncherPlugin.liClosedFolder]);
				} else {
					treeItem.setImage(node.getDescriptor().getIcon());
				}
				addGroup(treeItem, node.getFirstChild());
			}
		});
	}

	/**
	 * Runs the specified launch item.
	 * 
	 * @param itemDescriptor the launch item to execute
	 */
	private void launchItem(ItemDescriptor itemDescriptor) {
		/* Case 1: The launch item is a view */
		String pluginViewId = itemDescriptor.getView ();
		if (pluginViewId != null) {
			final IWorkbenchPart workbenchPart = this;
			final IWorkbenchPartSite workbenchPartSite = workbenchPart.getSite();
			final IWorkbenchPage workbenchPage = workbenchPartSite.getPage();
			try {
				workbenchPage.showView(pluginViewId);
			} catch (PartInitException e) {
				LauncherPlugin.logError(LauncherPlugin.getResourceString("run.error.Invocation"), e);
			}
			return;
		}
		/* Case 2: The launch item is a standalone program */
		if (workbenchShell == null) return;
		try {
			Object instance = itemDescriptor.createItemInstance();
			if (instance != null) {
				Display display = workbenchShell.getDisplay();
				Method openMethod = instance.getClass().getDeclaredMethod("open", new Class[] {Display.class});
				openMethod.invoke(instance, new Object[] {display});
			}
		} catch (NoSuchMethodException e) {
			LauncherPlugin.logError(LauncherPlugin.getResourceString("run.error.DoesNotImplementMethod"), null);
		} catch (Exception e) {
			LauncherPlugin.logError(LauncherPlugin.getResourceString("run.error.CouldNotInstantiateClass"), e);
		}		
	}

	/**
	 * Obtains the selected launch item.
	 * 
	 * @return the currently selected ItemDescriptor
	 */
	private ItemDescriptor getSelectedItem() {
		final TreeItem[] selections = launchTree.getSelection();
		if (selections.length == 0) return null;
		final ItemDescriptor itemDescriptor = (ItemDescriptor) selections[0].getData();
		return itemDescriptor;
	}
	
	/**
	 * Sets the currently visible description text to reflect that of a particular ItemDescriptor.
	 *
	 * @param itemDescriptor the launch item whose description is to be displayed, or null if none
	 */
	private void setDescriptionByItem(ItemDescriptor itemDescriptor) {
		String description;
		if (itemDescriptor == null) {
			description = LauncherPlugin.getResourceString("launchitem.Null.description");
			if (runButton != null) runButton.setEnabled(false);
		} else {
			description = itemDescriptor.getDescription();
			if (description == null)
				description = LauncherPlugin.getResourceString("launchitem.Missing.description");
			if (runButton != null) {
				runButton.setEnabled(itemDescriptor.getView() != null || itemDescriptor.getMainType() != null);
			}
		}
		descriptionText.setText(description);
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产 日韩 欧美大片| 欧美一区二区女人| 欧美精品一级二级三级| 亚洲国产成人私人影院tom| 日韩精品高清不卡| 色综合天天做天天爱| 久久综合成人精品亚洲另类欧美| 一区二区三区四区av| 东方aⅴ免费观看久久av| 91麻豆精品91久久久久同性| 综合色中文字幕| 国产成人福利片| 日韩美女一区二区三区| 亚洲图片一区二区| 91久久精品一区二区二区| 国产女人aaa级久久久级 | 亚洲欧美欧美一区二区三区| 精品一区二区三区在线观看国产| 欧美日本精品一区二区三区| 一区二区三区产品免费精品久久75| 成人av在线一区二区| 国产亚洲午夜高清国产拍精品| 美女www一区二区| 91精品国产免费久久综合| 午夜伊人狠狠久久| 欧美日韩一区二区欧美激情| 亚洲一区二区免费视频| 91麻豆高清视频| 成人欧美一区二区三区1314 | 亚洲精品一区二区三区99| 日日骚欧美日韩| 欧美麻豆精品久久久久久| 亚洲一区二区黄色| 欧美日免费三级在线| 亚洲一区成人在线| 欧美日韩在线播| 日韩精品亚洲专区| 日韩欧美亚洲国产另类| 国内精品嫩模私拍在线| 久久影院电视剧免费观看| 乱中年女人伦av一区二区| 日韩午夜在线观看视频| 黑人巨大精品欧美一区| 久久蜜桃一区二区| 成人视屏免费看| 国产精品毛片大码女人| 色综合久久久久久久久久久| 亚洲永久精品大片| 欧美一区二区三区视频免费| 精品无人码麻豆乱码1区2区 | 亚洲精品久久久久久国产精华液| 色国产综合视频| 亚洲精品成人少妇| 91精品在线麻豆| 九一九一国产精品| 中文字幕日韩av资源站| 欧美日韩一区国产| 久久99国产精品尤物| 国产欧美一区二区精品性色| 色8久久精品久久久久久蜜| 日韩电影在线观看电影| 久久久青草青青国产亚洲免观| 北岛玲一区二区三区四区| 亚洲成av人影院| 国产婷婷色一区二区三区四区| 99视频一区二区| 全国精品久久少妇| www国产成人| 色婷婷av一区二区三区软件 | 亚洲国产wwwccc36天堂| 日韩三级电影网址| 91蜜桃视频在线| 激情文学综合插| 一区二区三区在线视频免费| 欧美成人精品3d动漫h| 91丨porny丨蝌蚪视频| 欧美96一区二区免费视频| 亚洲人成网站色在线观看| 精品91自产拍在线观看一区| 色综合久久综合| 国产麻豆精品久久一二三| 一区二区三区免费| 国产欧美日韩另类视频免费观看| 欧美精品免费视频| 91社区在线播放| 国产一区二区三区蝌蚪| 天天综合色天天综合| 亚洲天堂网中文字| 国产欧美精品国产国产专区| 51久久夜色精品国产麻豆| 99精品一区二区| 国产成人精品免费一区二区| 玖玖九九国产精品| 日韩精品高清不卡| 午夜一区二区三区视频| 亚洲精品美腿丝袜| 日韩一区在线看| 国产精品久久久久一区二区三区 | 国产福利一区二区三区在线视频| 亚洲bt欧美bt精品777| 亚洲免费观看高清完整版在线 | 国产91色综合久久免费分享| 免费人成黄页网站在线一区二区| 一区二区三区电影在线播| 国产精品欧美极品| 久久久91精品国产一区二区精品 | 国产一区999| 精品一区二区三区欧美| 免费在线观看视频一区| 三级影片在线观看欧美日韩一区二区| 最新成人av在线| 国产精品久线在线观看| 中文字幕免费不卡在线| 欧美激情一区二区三区四区| 久久精品视频一区| 国产蜜臀av在线一区二区三区| 久久精品亚洲国产奇米99| 久久美女艺术照精彩视频福利播放| 欧美va亚洲va香蕉在线| 精品电影一区二区三区| 久久先锋影音av鲁色资源 | 日韩亚洲欧美高清| 欧美tickling网站挠脚心| 精品国产一区二区三区av性色 | 欧美一区二区三区四区久久 | 国产精品毛片a∨一区二区三区| 国产精品美女久久久久久久久久久 | 蜜臀a∨国产成人精品| 久久福利资源站| 国产.欧美.日韩| 色综合网站在线| 欧美日韩精品三区| 欧美成人三级在线| 国产精品久久久久久久久免费丝袜| 国产精品乱码一区二区三区软件| 亚洲三级免费电影| 亚洲福利一区二区三区| 极品少妇一区二区| 99久久er热在这里只有精品66| 91久久精品网| 日韩精品一区二区三区四区| 久久精品夜色噜噜亚洲a∨| 亚洲欧美日本韩国| 麻豆精品视频在线观看视频| 国产不卡一区视频| 欧美日韩精品一区视频| 久久综合视频网| 一区二区在线观看av| 蜜桃av一区二区| 色综合久久综合网| 日韩无一区二区| 亚洲日穴在线视频| 日本一区中文字幕| 99re热这里只有精品免费视频| 正在播放一区二区| 亚洲国产精品ⅴa在线观看| 香蕉久久夜色精品国产使用方法| 国产精品综合久久| 欧美日韩性生活| 国产精品久久久久久久久久免费看| 婷婷综合在线观看| 99久久精品情趣| 日韩欧美国产综合一区| 中文字幕一区二| 久久精品国产亚洲一区二区三区| 成人av动漫网站| 精品久久久久99| 天堂精品中文字幕在线| 国产成人自拍网| 欧美一区二区三区免费在线看| 国产精品丝袜在线| 九色porny丨国产精品| 欧美日韩国产欧美日美国产精品| 亚洲国产精华液网站w| 麻豆精品久久久| 欧美日本在线播放| 一个色综合av| av在线播放一区二区三区| 久久伊人蜜桃av一区二区| 丝瓜av网站精品一区二区| 一本大道av伊人久久综合| 国产网站一区二区三区| 韩国成人在线视频| 日韩欧美国产成人一区二区| 亚洲国产精品自拍| 欧美主播一区二区三区美女| 国产精品久久久久一区二区三区| 黄色成人免费在线| 欧美成人性战久久| 久久av资源网| 日韩你懂的电影在线观看| 日韩成人伦理电影在线观看| 欧美日韩一二三| 亚洲午夜在线电影| 91成人在线精品| 亚洲综合丝袜美腿| 欧美性猛交xxxx乱大交退制版| 一区二区三区在线观看网站| 色综合天天综合给合国产| 亚洲手机成人高清视频|