📄 coolbartab.java
字号:
/*******************************************************************************
* Copyright (c) 2000, 2004 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.swt.examples.controlexample;
import org.eclipse.swt.*;
import org.eclipse.swt.graphics.*;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.events.*;
class CoolBarTab extends Tab {
/* Example widgets and group that contains them */
CoolBar coolBar;
CoolItem pushItem, dropDownItem, radioItem, checkItem, textItem;
Group coolBarGroup;
/* Style widgets added to the "Style" group */
Button dropDownButton, flatButton;
/* Other widgets added to the "Other" group */
Button lockedButton;
Point[] sizes;
int[] wrapIndices;
int[] order;
/**
* Creates the Tab within a given instance of ControlExample.
*/
CoolBarTab(ControlExample instance) {
super(instance);
}
/**
* Creates the "Other" group.
*/
void createOtherGroup () {
super.createOtherGroup ();
/* Create display controls specific to this example */
lockedButton = new Button (otherGroup, SWT.CHECK);
lockedButton.setText (ControlExample.getResourceString("Locked"));
/* Add the listeners */
lockedButton.addSelectionListener (new SelectionAdapter () {
public void widgetSelected (SelectionEvent event) {
setWidgetLocked ();
}
});
}
/**
* Creates the "Example" group.
*/
void createExampleGroup () {
super.createExampleGroup ();
coolBarGroup = new Group (exampleGroup, SWT.NONE);
coolBarGroup.setLayout (new GridLayout ());
coolBarGroup.setLayoutData (new GridData (GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
coolBarGroup.setText ("CoolBar");
}
/**
* Creates the "Example" widgets.
*/
void createExampleWidgets () {
int style = getDefaultStyle(), itemStyle = 0;
/* Compute the widget style */
int toolBarStyle = SWT.FLAT;
if (borderButton.getSelection()) style |= SWT.BORDER;
if (flatButton.getSelection()) style |= SWT.FLAT;
if (dropDownButton.getSelection()) itemStyle |= SWT.DROP_DOWN;
/*
* Create the example widgets.
*/
coolBar = new CoolBar (coolBarGroup, style);
/* create the push button toolbar */
ToolBar toolBar = new ToolBar (coolBar, toolBarStyle);
ToolItem item = new ToolItem (toolBar, SWT.PUSH);
item.setImage (instance.images[ControlExample.ciClosedFolder]);
item.setToolTipText ("SWT.PUSH");
item = new ToolItem (toolBar, SWT.PUSH);
item.setImage (instance.images[ControlExample.ciOpenFolder]);
item.setToolTipText ("SWT.PUSH");
item = new ToolItem (toolBar, SWT.PUSH);
item.setImage (instance.images[ControlExample.ciTarget]);
item.setToolTipText ("SWT.PUSH");
item = new ToolItem (toolBar, SWT.SEPARATOR);
item = new ToolItem (toolBar, SWT.PUSH);
item.setImage (instance.images[ControlExample.ciClosedFolder]);
item.setToolTipText ("SWT.PUSH");
item = new ToolItem (toolBar, SWT.PUSH);
item.setImage (instance.images[ControlExample.ciOpenFolder]);
item.setToolTipText ("SWT.PUSH");
pushItem = new CoolItem (coolBar, itemStyle);
pushItem.setControl (toolBar);
Point pushSize = toolBar.computeSize(SWT.DEFAULT, SWT.DEFAULT);
pushSize = pushItem.computeSize(pushSize.x, pushSize.y);
pushItem.setSize(pushSize);
pushItem.setMinimumSize(item.getWidth(), pushSize.y);
pushItem.addSelectionListener (new CoolItemSelectionListener());
/* create the dropdown toolbar */
toolBar = new ToolBar (coolBar, toolBarStyle);
item = new ToolItem (toolBar, SWT.DROP_DOWN);
item.setImage (instance.images[ControlExample.ciOpenFolder]);
item.setToolTipText ("SWT.DROP_DOWN");
item.addSelectionListener (new DropDownSelectionListener());
item = new ToolItem (toolBar, SWT.DROP_DOWN);
item.setImage (instance.images[ControlExample.ciClosedFolder]);
item.setToolTipText ("SWT.DROP_DOWN");
item.addSelectionListener (new DropDownSelectionListener());
dropDownItem = new CoolItem (coolBar, itemStyle);
dropDownItem.setControl (toolBar);
Point dropSize = toolBar.computeSize(SWT.DEFAULT, SWT.DEFAULT);
dropSize = dropDownItem.computeSize(dropSize.x, dropSize.y);
dropDownItem.setSize(dropSize);
dropDownItem.setMinimumSize(item.getWidth(), dropSize.y);
dropDownItem.addSelectionListener (new CoolItemSelectionListener());
/* create the radio button toolbar */
toolBar = new ToolBar (coolBar, toolBarStyle);
item = new ToolItem (toolBar, SWT.RADIO);
item.setImage (instance.images[ControlExample.ciClosedFolder]);
item.setToolTipText ("SWT.RADIO");
item = new ToolItem (toolBar, SWT.RADIO);
item.setImage (instance.images[ControlExample.ciClosedFolder]);
item.setToolTipText ("SWT.RADIO");
item = new ToolItem (toolBar, SWT.RADIO);
item.setImage (instance.images[ControlExample.ciClosedFolder]);
item.setToolTipText ("SWT.RADIO");
radioItem = new CoolItem (coolBar, itemStyle);
radioItem.setControl (toolBar);
Point radioSize = toolBar.computeSize(SWT.DEFAULT, SWT.DEFAULT);
radioSize = radioItem.computeSize(radioSize.x, radioSize.y);
radioItem.setSize(radioSize);
radioItem.setMinimumSize(item.getWidth(), radioSize.y);
radioItem.addSelectionListener (new CoolItemSelectionListener());
/* create the check button toolbar */
toolBar = new ToolBar (coolBar, toolBarStyle);
item = new ToolItem (toolBar, SWT.CHECK);
item.setImage (instance.images[ControlExample.ciClosedFolder]);
item.setToolTipText ("SWT.CHECK");
item = new ToolItem (toolBar, SWT.CHECK);
item.setImage (instance.images[ControlExample.ciTarget]);
item.setToolTipText ("SWT.CHECK");
item = new ToolItem (toolBar, SWT.CHECK);
item.setImage (instance.images[ControlExample.ciOpenFolder]);
item.setToolTipText ("SWT.CHECK");
item = new ToolItem (toolBar, SWT.CHECK);
item.setImage (instance.images[ControlExample.ciTarget]);
item.setToolTipText ("SWT.CHECK");
checkItem = new CoolItem (coolBar, itemStyle);
checkItem.setControl (toolBar);
Point checkSize = toolBar.computeSize(SWT.DEFAULT, SWT.DEFAULT);
checkSize = checkItem.computeSize(checkSize.x, checkSize.y);
checkItem.setSize(checkSize);
checkItem.setMinimumSize(item.getWidth(), checkSize.y);
checkItem.addSelectionListener (new CoolItemSelectionListener());
/* create the text */
Text text = new Text (coolBar, SWT.BORDER | SWT.SINGLE);
textItem = new CoolItem (coolBar, itemStyle);
textItem.setControl (text);
Point textSize = text.computeSize(SWT.DEFAULT, SWT.DEFAULT);
textSize = textItem.computeSize(textSize.x, textSize.y);
textItem.setSize(textSize);
textItem.setMinimumSize(textSize);
textItem.addSelectionListener (new CoolItemSelectionListener());
/* if we have saved state, restore it */
if (order != null) {
coolBar.setItemLayout(order, wrapIndices, sizes);
/*
* special case: because setItemLayout will restore the items
* to the sizes the user left them at, the preferred size may not
* be the same as the actual size. Thus we must explicitly set
* the preferred sizes.
*/
pushItem.setPreferredSize(pushSize);
dropDownItem.setPreferredSize(dropSize);
radioItem.setPreferredSize(radioSize);
checkItem.setPreferredSize(checkSize);
textItem.setPreferredSize(textSize);
}
else {
coolBar.setWrapIndices(new int[] {1, 3});
}
/* add a listener to resize the group box to match the coolbar */
coolBar.addListener(SWT.Resize, new Listener() {
public void handleEvent(Event event) {
exampleGroup.layout();
}
});
}
/**
* Creates the "Style" group.
*/
void createStyleGroup() {
super.createStyleGroup();
/* Create the extra widget */
borderButton = new Button (styleGroup, SWT.CHECK);
borderButton.setText ("SWT.BORDER");
flatButton = new Button (styleGroup, SWT.CHECK);
flatButton.setText ("SWT.FLAT");
Group itemGroup = new Group(styleGroup, SWT.NONE);
itemGroup.setLayout (new GridLayout ());
itemGroup.setLayoutData (new GridData (GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL));
itemGroup.setText(ControlExample.getResourceString("Item_Styles"));
dropDownButton = new Button (itemGroup, SWT.CHECK);
dropDownButton.setText ("SWT.DROP_DOWN");
dropDownButton.addSelectionListener (new SelectionAdapter () {
public void widgetSelected (SelectionEvent event) {
recreateExampleWidgets ();
}
});
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -