editlistsconfigwizardpage.java

来自「eclipse开发笔记」· Java 代码 · 共 98 行

JAVA
98
字号
package com.plugindev.addressbook.wizards;

import org.eclipse.jface.viewers.CheckboxTableViewer;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FormAttachment;
import org.eclipse.swt.layout.FormData;
import org.eclipse.swt.layout.FormLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;

import com.plugindev.addressbook.editors.models.AddressList;
import com.plugindev.addressbook.editors.models.MasterContentProvider;
import com.plugindev.addressbook.editors.models.SimpleFormEditorInput;
import com.plugindev.addressbook.models.AddressCategory;
import com.plugindev.addressbook.models.AddressItem;

public class EditListsConfigWizardPage extends WizardPage {

	   private CheckboxTableViewer checkboxTableViewer;
	   private AddressItem item;
	   private SimpleFormEditorInput input;
	   private Object[] checked;
	   
	public EditListsConfigWizardPage(){
		super("选择编辑列表");
		setTitle("设置编辑列表");
		setDescription("从系统默认的编辑列表项中选择需要的编辑列表");
	}
	public void createControl(Composite parent) {
		// TODO 自动生成方法存根
	      Composite container = new Composite(parent, SWT.NULL);
	      container.setLayout(new FormLayout());
	      setControl(container);

	      checkboxTableViewer =
	         CheckboxTableViewer.newCheckList(container, SWT.BORDER);
	      checkboxTableViewer.setContentProvider(
	         new MasterContentProvider());
	      checkboxTableViewer.setLabelProvider(
	         new TableViewerLabelProvider());
	      final Table table = checkboxTableViewer.getTable();
	      final FormData formData = new FormData();
	      formData.bottom = new FormAttachment(100, 0);
	      formData.right = new FormAttachment(100, 0);
	      formData.top = new FormAttachment(0, 0);
	      formData.left = new FormAttachment(0, 0);
	      table.setLayoutData(formData);
	      table.setHeaderVisible(true);

	      final TableColumn tableColumn =
	         new TableColumn(table, SWT.NONE);
	      tableColumn.setWidth(200);
	      tableColumn.setText("列表名称");

	      final TableColumn tableColumn_1 =
	         new TableColumn(table, SWT.NONE);
	      tableColumn_1.setWidth(250);
	      tableColumn_1.setText("列表描述");
	   }

	   /**
	    * Update the content before becoming visible.
	    */
	public void setVisible(boolean visible) {
		if (visible) {
			AddressCategory category = ((NewAddressItemWizardPage)getPreviousPage())
			.getSelectedAddressCategory();
			String peopleName = ((NewAddressItemWizardPage)getPreviousPage())
			.getSelectedName();
			item = new AddressItem(peopleName, category);
			input = new SimpleFormEditorInput(item.getName());
			checkboxTableViewer.setInput(input);
			checkboxTableViewer.setAllChecked(true);
		}
		super.setVisible(visible);
	}

	   /**
	    * Return the currently selected strings.
	    */
	   public AddressList[] getSelection() {
		  checked = checkboxTableViewer.getCheckedElements();
	      int count = checked.length;
	      AddressList[] extracted = new AddressList[count];
	      System.arraycopy(checked, 0, extracted, 0, count);
	      return extracted;
	   }
	   public AddressItem getAddressItem(){
		   return item;
	   }
	   public SimpleFormEditorInput getEditorInput(){
		   return input;
	   }
}

⌨️ 快捷键说明

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