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

📄 controlcontribution.java

📁 jfa2ce 源码帮助开发人员更好的理解运用
💻 JAVA
字号:
/******************************************************************************* * Copyright (c) 2000, 2005 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.jface.action;import org.eclipse.jface.util.Assert;import org.eclipse.swt.SWT;import org.eclipse.swt.widgets.Composite;import org.eclipse.swt.widgets.Control;import org.eclipse.swt.widgets.Menu;import org.eclipse.swt.widgets.ToolBar;import org.eclipse.swt.widgets.ToolItem;/** * An abstract contribution item implementation for adding an arbitrary  * SWT control to a tool bar.  * Note, however, that these items cannot be contributed to menu bars. * <p> * The <code>createControl</code> framework method must be implemented * by concrete subclasses. * </p> */public abstract class ControlContribution extends ContributionItem {    /**     * Creates a control contribution item with the given id.     *     * @param id the contribution item id     */    protected ControlContribution(String id) {        super(id);    }    /**     * Computes the width of the given control which is being added     * to a tool bar.  This is needed to determine the width of the tool bar item     * containing the given control.     * <p>     * The default implementation of this framework method returns      * <code>control.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x</code>.     * Subclasses may override if required.     * </p>     *     * @param control the control being added     * @return the width of the control     */    protected int computeWidth(Control control) {        return control.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x;    }    /**     * Creates and returns the control for this contribution item     * under the given parent composite.     * <p>     * This framework method must be implemented by concrete     * subclasses.     * </p>     *     * @param parent the parent composite     * @return the new control     */    protected abstract Control createControl(Composite parent);    /**     * The control item implementation of this <code>IContributionItem</code>     * method calls the <code>createControl</code> framework method.     * Subclasses must implement <code>createControl</code> rather than     * overriding this method.     */    public final void fill(Composite parent) {        createControl(parent);    }    /**     * The control item implementation of this <code>IContributionItem</code>     * method throws an exception since controls cannot be added to menus.     */    public final void fill(Menu parent, int index) {        Assert.isTrue(false, "Can't add a control to a menu");//$NON-NLS-1$    }    /**     * The control item implementation of this <code>IContributionItem</code>     * method calls the <code>createControl</code> framework method to     * create a control under the given parent, and then creates     * a new tool item to hold it.     * Subclasses must implement <code>createControl</code> rather than     * overriding this method.     */    public final void fill(ToolBar parent, int index) {        Control control = createControl(parent);        ToolItem ti = new ToolItem(parent, SWT.SEPARATOR, index);        ti.setControl(control);        ti.setWidth(computeWidth(control));    }}

⌨️ 快捷键说明

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