⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stackbinding.java

📁 eclipse开发笔记
💻 JAVA
字号:
package rcpdev.todo.ui.todolist.common.beans.todoitem;

import org.eclipse.swt.custom.StackLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Event;

import rcpdev.common.ui.databinding.ControlBinding;

public class StackBinding extends ControlBinding {

	public static final String STACK_DATA = "stackData";

	public StackBinding(String attribute, Composite control) {
		super();
		setAttribute(attribute);
		assert control.getLayout() instanceof StackLayout;
		super.setControl(control);
	}

	@Override
	public void setValue(Object value) {
		super.setValue(value);
		if (value == null)
			return;
		Composite control = (Composite) getControl();
		StackLayout layout = (StackLayout) control.getLayout();
		Control[] children = control.getChildren();

		for (int i = 0; i < children.length; i++) {
			if (value.equals(children[i].getData(STACK_DATA))) {
				layout.topControl = children[i];
				control.layout();
				return;
			}
		}
	}

	public void handleEvent(Event event) {
		// No Event to handle
	}
}

⌨️ 快捷键说明

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