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

📄 toolbarmanager2.java

📁 jfa2ce 源码帮助开发人员更好的理解运用
💻 JAVA
字号:
/******************************************************************************* * Copyright (c) 2006 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.internal.provisional.action;import org.eclipse.core.runtime.ListenerList;import org.eclipse.jface.action.ToolBarManager;import org.eclipse.jface.util.IPropertyChangeListener;import org.eclipse.jface.util.PropertyChangeEvent;import org.eclipse.swt.widgets.Composite;import org.eclipse.swt.widgets.Control;import org.eclipse.swt.widgets.ToolBar;/** * Extends <code>ToolBarManager</code> to implement <code>IToolBarManager2</code>. *  * <p> * <strong>EXPERIMENTAL</strong>. This class or interface has been added as * part of a work in progress. There is a guarantee neither that this API will * work nor that it will remain the same. Please do not use this API without * consulting with the Platform/UI team. * </p> *  * @since 3.2 */public class ToolBarManager2 extends ToolBarManager implements IToolBarManager2 {	/**	 * A collection of objects listening to changes to this manager. This	 * collection is <code>null</code> if there are no listeners.	 */	private transient ListenerList listenerList = null;		/**	 * Creates a new tool bar manager with the default SWT button style. Use the	 * <code>createControl</code> method to create the tool bar control.	 */	public ToolBarManager2() {		super();	}	/**	 * Creates a tool bar manager with the given SWT button style. Use the	 * <code>createControl</code> method to create the tool bar control.	 * 	 * @param style	 *            the tool bar item style	 * @see org.eclipse.swt.widgets.ToolBar for valid style bits	 */	public ToolBarManager2(int style) {		super(style);	}	/**	 * Creates a tool bar manager for an existing tool bar control. This manager	 * becomes responsible for the control, and will dispose of it when the	 * manager is disposed.	 * 	 * @param toolbar	 *            the tool bar control	 */	public ToolBarManager2(ToolBar toolbar) {		super(toolbar);	}		/* (non-Javadoc)	 * @see org.eclipse.jface.action.IToolBarManager2#createControl2(org.eclipse.swt.widgets.Composite)	 */	public Control createControl2(Composite parent) {		return createControl(parent);	}	/* (non-Javadoc)	 * @see org.eclipse.jface.action.IToolBarManager2#getControl2()	 */	public Control getControl2() {		return getControl();	}	/* (non-Javadoc)	 * @see org.eclipse.jface.action.IToolBarManager2#getItemCount()	 */	public int getItemCount() {		ToolBar toolBar = getControl();		if (toolBar == null || toolBar.isDisposed()) {			return 0;		}		return toolBar.getItemCount();	}	/* (non-Javadoc)	 * @see org.eclipse.jface.action.IToolBarManager2#addPropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener)	 */	public void addPropertyChangeListener(IPropertyChangeListener listener) {		if (listenerList == null) {			listenerList = new ListenerList(ListenerList.IDENTITY);		}		listenerList.add(listener);	}	/* (non-Javadoc)	 * @see org.eclipse.jface.action.IToolBarManager2#removePropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener)	 */	public void removePropertyChangeListener(IPropertyChangeListener listener) {		if (listenerList != null) {			listenerList.remove(listener);			if (listenerList.isEmpty()) {				listenerList = null;			}		}	}		/*	 * Returns the listeners attached to this event manager.	 * The listeners currently attached; may be empty, but never	 * null.	 */	protected final Object[] getListeners() {		final ListenerList list = listenerList;		if (list == null) {			return new Object[0];		}		return list.getListeners();	}	/*	 * Notifies any property change listeners that a property has changed. Only	 * listeners registered at the time this method is called are notified.	 */	private void firePropertyChange(final PropertyChangeEvent event) {		final Object[] list = getListeners();		for (int i = 0; i < list.length; ++i) {			((IPropertyChangeListener) list[i]).propertyChange(event);		}	}	/*	 * Notifies any property change listeners that a property has changed. Only	 * listeners registered at the time this method is called are notified. This	 * method avoids creating an event object if there are no listeners	 * registered, but calls firePropertyChange(PropertyChangeEvent) if there are.	 */	private void firePropertyChange(final String propertyName,			final Object oldValue, final Object newValue) {		if (listenerList != null) {			firePropertyChange(new PropertyChangeEvent(this, propertyName,					oldValue, newValue));		}	}	/* (non-Javadoc)	 * @see org.eclipse.jface.action.ToolBarManager#relayout(org.eclipse.swt.widgets.ToolBar, int, int)	 */	protected void relayout(ToolBar layoutBar, int oldCount, int newCount) {		super.relayout(layoutBar, oldCount, newCount);		firePropertyChange(PROP_LAYOUT, new Integer(oldCount), new Integer(newCount));	}}

⌨️ 快捷键说明

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