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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? scrolledpropertiesblock.java

?? eclipse開發(fā)筆記
?? JAVA
字號:
package com.plugindev.addressbook.editors;

import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.action.IMenuListener;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.action.Separator;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.*;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.KeyEvent;
import org.eclipse.swt.events.KeyListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;
import org.eclipse.ui.ISharedImages;
import org.eclipse.ui.IWorkbenchActionConstants;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.actions.ActionFactory;
import org.eclipse.ui.forms.*;
import org.eclipse.ui.forms.editor.FormPage;
import org.eclipse.ui.forms.widgets.*;

import com.plugindev.addressbook.editors.actions.RemoveAddressListAction;
import com.plugindev.addressbook.editors.models.BasicAddressList;
import com.plugindev.addressbook.editors.models.BasicAddressListProperties;
import com.plugindev.addressbook.editors.models.MasterContentProvider;
import com.plugindev.addressbook.editors.models.MasterLabelProvider;
import com.plugindev.addressbook.editors.models.PhoneAddressList;
import com.plugindev.addressbook.editors.models.PhoneAddressListItemProperties;
import com.plugindev.addressbook.editors.models.AreaAddressList;
import com.plugindev.addressbook.editors.models.AreaAddressListProperties;
import com.plugindev.addressbook.util.ImageKeys;
import com.plugindev.addressbook.util.Messages;
/**
 *
 */
public class ScrolledPropertiesBlock extends MasterDetailsBlock {
	private FormPage page;
	private TableViewer viewer;
	
	//在13.8節(jié)加入此字段
	private RemoveAddressListAction removeAction;
	private Action vaction;
	private Action haction;
	
	
	public ScrolledPropertiesBlock(FormPage page) {
		this.page = page;
	}

	protected void createMasterPart(final IManagedForm managedForm,
			Composite parent) {
		//final ScrolledForm form = managedForm.getForm();
		FormToolkit toolkit = managedForm.getToolkit();
		Section section = toolkit.createSection(parent, Section.DESCRIPTION|Section.TITLE_BAR);
		section.setText(Messages.SCROL_BLOC_NAME); //$NON-NLS-1$
		section.setDescription(Messages.SCROL_BLOC_DESCRIP); //$NON-NLS-1$
		section.marginWidth = 10;
		section.marginHeight = 5;
		Composite client = toolkit.createComposite(section, SWT.WRAP);
		GridLayout layout = new GridLayout();
		layout.numColumns = 2;
		layout.marginWidth = 2;
		layout.marginHeight = 2;
		client.setLayout(layout);
		Table t = toolkit.createTable(client, SWT.NULL);
		GridData gd = new GridData(GridData.FILL_BOTH);
		gd.heightHint = 20;
		gd.widthHint = 100;
		gd.verticalSpan = 2;
		t.setLayoutData(gd);
		toolkit.paintBordersFor(client);

		section.setClient(client);
		final SectionPart spart = new SectionPart(section);
		managedForm.addPart(spart);
		viewer = new TableViewer(t);
		viewer.addSelectionChangedListener(new ISelectionChangedListener() {
			public void selectionChanged(SelectionChangedEvent event) {
				managedForm.fireSelectionChanged(spart, event.getSelection());
			}
		});
		viewer.setContentProvider(new MasterContentProvider());
		viewer.setLabelProvider(new MasterLabelProvider());
		viewer.setInput(page.getEditor().getEditorInput());
		
		//在13.8節(jié)加入此段代碼
		createActions();
		createContextMenu();
		//結(jié)束在13.8節(jié)加入的此段代碼
		
		Button b = toolkit.createButton(client, Messages.SCROL_BLOC_ADD, SWT.PUSH);
		gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
		b.setLayoutData(gd);
		b = toolkit.createButton(client, Messages.SCROL_BLOC_DELETE, SWT.PUSH);
		
		//在13.8節(jié)加入此段代碼
		b.addSelectionListener(new SelectionAdapter() {
			public void widgetSelected(SelectionEvent event) {
				removeAction.run();
			}
		});
		//結(jié)束在13.8節(jié)加入的此段代碼
		
		//在13.8節(jié)加入此段代碼
		viewer.getTable().addKeyListener(new KeyListener(){
			public void keyPressed(KeyEvent e){
				if(e.character == SWT.DEL)
					removeAction.run();
			}
			public void keyReleased(KeyEvent e){
			}
		});
		//結(jié)束在13.8節(jié)加入的此段代碼
		
		gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL|GridData.VERTICAL_ALIGN_BEGINNING);
		b.setLayoutData(gd);
	}
	/*
	 * 在13.8節(jié)加入此方法
	 */
	private void createActions(){
		ImageDescriptor removeImage = 
			PlatformUI.
			getWorkbench().getSharedImages().
			getImageDescriptor(ISharedImages.IMG_TOOL_DELETE);
		ImageDescriptor disableRemoveImage = 
			PlatformUI.
			getWorkbench().getSharedImages().
			getImageDescriptor(ISharedImages.IMG_TOOL_DELETE_DISABLED);
		removeAction = 
			new RemoveAddressListAction(
					page.getEditor(),viewer,"刪除", removeImage);
		removeAction.setDisabledImageDescriptor(disableRemoveImage);
	}
	private void createContextMenu(){
		MenuManager menuMgr = new MenuManager("#PopupMenu");
		menuMgr.setRemoveAllWhenShown(true);
		menuMgr.addMenuListener(new IMenuListener(){
			public void menuAboutToShow(IMenuManager m){
				ScrolledPropertiesBlock.this.fillContextMenu(m);
			}
		});
		Table table = viewer.getTable();
		Menu menu = menuMgr.createContextMenu(table);
		table.setMenu(menu);
		page.getEditor().getSite().registerContextMenu(menuMgr, viewer);
	}
	/*
	 * 在13.8節(jié)加入此方法
	 */
	private void fillContextMenu(IMenuManager menuMgr){
		boolean isEmpty = viewer.getSelection().isEmpty();
		removeAction.setEnabled(!isEmpty);
		menuMgr.add(removeAction);
		menuMgr.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
	}

	protected void createToolBarActions(IManagedForm managedForm) {
		final ScrolledForm form = managedForm.getForm();
		haction = new Action("hor", Action.AS_RADIO_BUTTON) { //$NON-NLS-1$
			public void run() {
				sashForm.setOrientation(SWT.HORIZONTAL);
				form.reflow(true);
			}
		};
		haction.setChecked(true);
		haction.setToolTipText(Messages.SCROL_BLOC_HORIZONTAL);
		haction.setImageDescriptor(ImageKeys.getImageDescriptor(ImageKeys.IMG_HORIZONTAL));

		vaction = new Action("ver", Action.AS_RADIO_BUTTON) {
			public void run() {
				sashForm.setOrientation(SWT.VERTICAL);
				form.reflow(true);
			}
		};
		vaction.setChecked(false);
		vaction.setToolTipText(Messages.SCROL_BLOC_VERTICAL);
		vaction.setImageDescriptor(ImageKeys.getImageDescriptor(ImageKeys.IMG_VERTICAL));
		form.getToolBarManager().add(haction);
		form.getToolBarManager().add(vaction);
	}
	protected void registerPages(DetailsPart detailsPart) {
		detailsPart.registerPage(BasicAddressList.class, new BasicAddressListProperties());
		detailsPart.registerPage(PhoneAddressList.class, new PhoneAddressListItemProperties());
		detailsPart.registerPage(AreaAddressList.class, new AreaAddressListProperties());
	}
	/*
	 * 此方法在13.8節(jié)中加入
	 */
	public IAction getTableAction(String workbenchActionId){
		if(ActionFactory.DELETE.getId().equals(workbenchActionId))
			return removeAction;
		return null;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品免费一区二区三区| 日本欧洲一区二区| 免费成人在线观看| 三级精品在线观看| 三级欧美韩日大片在线看| 午夜精品国产更新| 国内一区二区在线| 国产乱国产乱300精品| 久久国产尿小便嘘嘘尿| 国产一区二区电影| 亚洲最新视频在线观看| 国产午夜精品一区二区三区嫩草| 欧美一区二区视频在线观看2020| 在线免费不卡视频| 欧美日韩国产高清一区二区 | 国产成人精品综合在线观看 | 亚洲精品在线观| 成人精品鲁一区一区二区| 亚洲欧美自拍偷拍色图| 欧美国产欧美综合| 亚洲欧美激情一区二区| 欧美经典一区二区| 精品国产乱码久久久久久影片| 国内外成人在线视频| 亚洲精品视频一区| 亚洲欧洲日产国产综合网| 国产精品久久久久永久免费观看 | 国产精品美女久久久久久2018| 精品久久久久久无| 94-欧美-setu| 精品免费国产二区三区| 欧美va亚洲va香蕉在线| 国产伦精一区二区三区| 亚洲免费电影在线| 久久激情五月激情| 欧美精品丝袜久久久中文字幕| 国产午夜精品一区二区三区嫩草| 日本欧美一区二区三区| 欧美一级一级性生活免费录像| 午夜精品免费在线| 韩国理伦片一区二区三区在线播放| 国产一区视频导航| 一本到不卡免费一区二区| 日韩一区二区三区在线观看| 综合久久久久久久| 日韩av午夜在线观看| 日本三级亚洲精品| 国产一区二区三区蝌蚪| 亚洲风情在线资源站| 中文字幕在线不卡一区二区三区 | 久久综合久色欧美综合狠狠| 久久蜜桃av一区二区天堂| 尤物av一区二区| 不卡一二三区首页| 精品福利二区三区| 五月开心婷婷久久| av电影天堂一区二区在线观看| 91麻豆精品国产91久久久久久| 中文字幕在线不卡一区| 国产美女娇喘av呻吟久久| 欧美美女一区二区| 亚洲精品国产a| 成人免费看视频| 国产三级一区二区| 国产真实乱子伦精品视频| 69成人精品免费视频| 国产一区二区调教| 日韩欧美国产小视频| 中文字幕av一区二区三区高| 国产精品家庭影院| 久久久久97国产精华液好用吗| 日本一区二区三区国色天香 | 99这里只有精品| 国产精品美女www爽爽爽| 亚洲色图20p| 国产精一区二区三区| 国产91精品免费| 精品视频1区2区3区| 天天综合色天天综合| 国产91高潮流白浆在线麻豆| 欧美午夜精品电影| 亚洲国产精品视频| 91麻豆精品国产91久久久更新时间| 亚洲免费毛片网站| 欧美人与z0zoxxxx视频| 日本不卡视频在线| 国产欧美va欧美不卡在线| 成人深夜在线观看| 一区二区三区国产精华| 欧美性一二三区| 黄色资源网久久资源365| 欧美国产日本韩| 欧美日韩国产中文| 久久精品国产亚洲a| 欧美激情一区在线| 欧美性做爰猛烈叫床潮| 久久疯狂做爰流白浆xx| 亚洲欧洲日韩一区二区三区| 欧美人牲a欧美精品| 国产成人精品影视| 亚洲 欧美综合在线网络| 日韩精品最新网址| 色婷婷av一区二区三区软件| 日韩专区一卡二卡| 亚洲日本电影在线| 久久久一区二区三区| 日本韩国欧美在线| 顶级嫩模精品视频在线看| 亚洲成人一区在线| **欧美大码日韩| 国产欧美一区二区精品久导航 | 亚洲激情在线激情| 国产性色一区二区| 日韩你懂的在线观看| 欧美中文一区二区三区| 毛片不卡一区二区| 亚洲www啪成人一区二区麻豆| 成人欧美一区二区三区白人| 欧美精品色综合| 91麻豆国产福利在线观看| 国产乱人伦精品一区二区在线观看 | 蜜臀久久99精品久久久画质超高清| 国产精品日产欧美久久久久| 欧美日韩免费一区二区三区| 美女视频网站久久| 一区二区三区成人| 国产精品美女久久久久久| 久久久久久久久99精品| 欧美日韩高清一区二区| 欧美私模裸体表演在线观看| 欧美中文字幕一二三区视频| 欧美色视频一区| 337p亚洲精品色噜噜狠狠| 欧美一卡二卡三卡四卡| 欧美成人猛片aaaaaaa| 久久久噜噜噜久久人人看| 国产精品久久99| 一区二区三区国产精华| 免费看日韩a级影片| 国产自产v一区二区三区c| 波多野结衣中文一区| 91国产免费看| 日韩精品自拍偷拍| 国产精品每日更新| 午夜精品一区二区三区三上悠亚| 麻豆成人av在线| 99精品久久久久久| 91精品国模一区二区三区| 亚洲国产精品传媒在线观看| 亚洲激情自拍视频| 国产精品影视网| 欧美日韩亚洲不卡| 中文字幕成人av| 日韩电影一区二区三区四区| 粉嫩在线一区二区三区视频| 欧美日本乱大交xxxxx| 国产精品网站在线观看| 亚洲成人自拍网| 99久久99精品久久久久久 | 国产亚洲一区字幕| 天使萌一区二区三区免费观看| 成人黄色软件下载| 2021中文字幕一区亚洲| 蜜桃av噜噜一区二区三区小说| 色诱视频网站一区| 中文字幕欧美三区| 久久精品99国产精品日本| 精品视频一区二区三区免费| 中文字幕视频一区二区三区久| 国产精品综合在线视频| 欧美一级午夜免费电影| 午夜精品爽啪视频| 91麻豆精品国产91久久久久久久久 | 91精品国产综合久久福利软件| 亚洲精品成人悠悠色影视| 成人sese在线| 中文av字幕一区| 成人午夜av影视| 国产精品久久久久久久久动漫| 国产毛片精品视频| 久久久久综合网| 成人免费视频视频| 国产精品传媒视频| 色婷婷av一区二区| 日韩精品成人一区二区三区| 555www色欧美视频| 国产一区视频在线看| 国产精品美女一区二区在线观看| 不卡av免费在线观看| 日韩毛片在线免费观看| 欧美日韩一本到| 精品一区二区综合| 国产精品久久久久一区二区三区共| 高清不卡一二三区| 亚洲线精品一区二区三区| 日韩免费一区二区| 不卡的av电影| 麻豆一区二区三| 亚洲日本护士毛茸茸| 日韩一区二区免费在线观看|