Mercurial > projects > dwt2
diff org.eclipse.jface/src/org/eclipse/jface/action/Separator.d @ 12:bc29606a740c
Added dwt-addons in original directory structure of eclipse.org
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Sat, 14 Mar 2009 18:23:29 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/org.eclipse.jface/src/org/eclipse/jface/action/Separator.d Sat Mar 14 18:23:29 2009 +0100 @@ -0,0 +1,87 @@ +/******************************************************************************* + * Copyright (c) 2000, 2008 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 + * Port to the D programming language: + * Frank Benoit <benoit@tionex.de> + *******************************************************************************/ +module org.eclipse.jface.action.Separator; + +import org.eclipse.jface.action.AbstractGroupMarker; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Menu; +import org.eclipse.swt.widgets.MenuItem; +import org.eclipse.swt.widgets.ToolBar; +import org.eclipse.swt.widgets.ToolItem; + +import java.lang.all; + +/** + * A separator is a special kind of contribution item which acts + * as a visual separator and, optionally, acts as a group marker. + * Unlike group markers, separators do have a visual representation for + * menus and toolbars. + * <p> + * This class may be instantiated; it is not intended to be + * subclassed outside the framework. + * </p> + * @noextend This class is not intended to be subclassed by clients. + */ +public class Separator : AbstractGroupMarker { + alias AbstractGroupMarker.fill fill; + /** + * Creates a separator which does not start a new group. + */ + public this() { + super(); + } + + /** + * Creates a new separator which also defines a new group having the given group name. + * The group name must not be <code>null</code> or the empty string. + * The group name is also used as the item id. + * + * @param groupName the group name of the separator + */ + public this(String groupName) { + super(groupName); + } + + /* (non-Javadoc) + * Method declared on IContributionItem. + * Fills the given menu with a SWT separator MenuItem. + */ + public override void fill(Menu menu, int index) { + if (index >= 0) { + new MenuItem(menu, SWT.SEPARATOR, index); + } else { + new MenuItem(menu, SWT.SEPARATOR); + } + } + + /* (non-Javadoc) + * Method declared on IContributionItem. + * Fills the given tool bar with a SWT separator ToolItem. + */ + public override void fill(ToolBar toolbar, int index) { + if (index >= 0) { + new ToolItem(toolbar, SWT.SEPARATOR, index); + } else { + new ToolItem(toolbar, SWT.SEPARATOR); + } + } + + /** + * The <code>Separator</code> implementation of this <code>IContributionItem</code> + * method returns <code>true</code> + */ + public override bool isSeparator() { + return true; + } +}