下面列出了怎么用org.eclipse.swt.widgets.TabItem的API类实例代码及写法,或者点击链接到github查看源代码。
/**
* @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
*/
@Override
protected Control createDialogArea(Composite parent) {
Composite composite = (Composite) super.createDialogArea(parent);
mMainTab = new TabFolder(composite, SWT.NULL);
mMainTab.setLayoutData(new GridData(GridData.FILL_BOTH));
Composite generalSettings = createGeneralSection();
Composite advancedSettings = createAdvancedSection();
TabItem mainItem = new TabItem(mMainTab, SWT.NULL);
mainItem.setControl(generalSettings);
mainItem.setText(Messages.RuleConfigurationEditDialog_tabGeneral);
TabItem advancedItem = new TabItem(mMainTab, SWT.NULL);
advancedItem.setControl(advancedSettings);
advancedItem.setText(Messages.RuleConfigurationEditDialog_tabAdvanced);
initialize();
return composite;
}
public ReportConfigurationTab(TabFolder parent, FindbugsPropertyPage page, int style) {
super(parent, style);
this.propertyPage = page;
setLayout(new GridLayout());
TabItem tabDetector = new TabItem(parent, SWT.NONE);
tabDetector.setText(getMessage("property.reportConfigurationTab"));
tabDetector.setControl(this);
tabDetector.setToolTipText("Configure bugs reported to the UI");
Composite rankAndPrioGroup = new Composite(this, SWT.NONE);
rankAndPrioGroup.setLayout(new GridLayout(2, false));
createRankGroup(rankAndPrioGroup);
createPriorityGroup(rankAndPrioGroup);
createBugCategoriesGroup(rankAndPrioGroup, page.getProject());
createBugSeverityGroup(rankAndPrioGroup);
}
public void widgetSelected(SelectionEvent e) {
TabItem item = (TabItem)e.item;
if(item == null) {
return;
}
// get new
LogFileTab tab = getSelectedTab(item);
if(tab == null || tab.getDocument() == null) {
return;
}
// save old selection
if (oldTabItem != null) {
LogFileTab oldTab = getSelectedTab(oldTabItem);
if((oldTab != null) && (oldTab.getDocument() != null)) {
oldTab.setSelection(viewer.getSelection());
oldTab.setTopIndex(viewer.getTopIndex());
}
}
// restore
fileEncodingAction.setText(LogViewerPlugin.getResourceString("menu.encodingchange.text",new Object[] {tab.getDocument().getEncoding()})); //$NON-NLS-1$
showDocument(tab.getDocument(), tab.getSelection(), tab.getTopIndex(),false);
updateTailStartStopButtons(tab.getDocument().isMonitor());
refreshCurrentFileAction.setEnabled(true);
// set act tab item
oldTabItem = item;
}
protected void newTab(final String value) {
categoryList.add(value);
final TabItem item = new TabItem(folder, SWT.NONE);
item.setText(value);
final BoxSettingsTab p = new BoxSettingsTab();
final IBoxProvider provider = BoxProviderRegistry.getInstance().providerForName(value);
item.setControl(p.createContro(folder, provider));
item.setData(p);
if (categoryFiles == null) {
categoryFiles = new LinkedHashMap<>();
}
Collection<String> fileNames = p.getSettings().getFileNames();
if (fileNames == null) {
fileNames = Collections.emptyList();
}
categoryFiles.put(value, new LinkedHashSet<>(fileNames));
categoryList.setSelection(new String[] { value });
namesList.setItems(fileNames.toArray(new String[0]));
bAddFile.setEnabled(true);
}
@Override
public boolean performOk() {
final TabItem[] items = folder.getItems();
for (int i = 1; i < items.length; i++) {
final Object o = items[i].getData();
if (o instanceof BoxSettingsTab) {
final BoxSettingsTab pref = (BoxSettingsTab) o;
final String msg = pref.validate();
if (msg != null) {
folder.setSelection(i);
setMessage(msg);
return false;
}
pref.save();
}
}
if (providersChanged) {
BoxProviderRegistry.getInstance().storeProviders();
}
return true;
}
@Override
public void widgetSelected(final SelectionEvent e) {
final int i = categoryList.getSelectionIndex();
if (i > -1) {
final String name = categoryList.getItem(i);
categoryList.remove(i);
categoryFiles.remove(name);
namesList.setItems(new String[0]);
bAddFile.setEnabled(false);
final TabItem ti = folder.getItem(i + 1);
final Object o = ti.getData();
ti.dispose();
if (o instanceof BoxSettingsTab) {
((BoxSettingsTab) o).dispose();
}
BoxProviderRegistry.getInstance().removeProvider(name);
providersChanged = true;
}
}
private void buildBarSettings() {
TabFolder folderBarChart = new TabFolder(pageBarChart, SWT.NONE);
TabItem itemFolderBarChart_1 = new TabItem(folderBarChart, SWT.NONE);
TabItem itemFolderBarChart_2 = new TabItem(folderBarChart, SWT.NONE);
TabItem itemFolderBarChart_3 = new TabItem(folderBarChart, SWT.NONE);
TabItem itemFolderBarChart_4 = new TabItem(folderBarChart, SWT.NONE);
generalPageBar = new GeneralPageBar(folderBarChart, SWT.NONE);
itemFolderBarChart_1.setControl(generalPageBar);
itemFolderBarChart_1.setText("General Settings");
legendPageBar = new LegendPageBar(folderBarChart, SWT.NONE);
itemFolderBarChart_2.setControl(legendPageBar);
itemFolderBarChart_2.setText("Legend Settings");
seriesPageBar = new SeriesPageBar(folderBarChart, SWT.NONE);
itemFolderBarChart_3.setControl(seriesPageBar);
itemFolderBarChart_3.setText("Series Settings");
axisPageBar = new AxisPageBar(folderBarChart, SWT.NONE);
itemFolderBarChart_4.setControl(axisPageBar);
itemFolderBarChart_4.setText("Axis Settings");
}
private void buildBubbleSettings() {
pageBubbleChart.setLayout(new FillLayout());
TabFolder folderBubbleChart = new TabFolder(pageBubbleChart, SWT.NONE);
TabItem itemFolderBubbleChart_1 = new TabItem(folderBubbleChart, SWT.NONE);
TabItem itemFolderBubbleChart_2 = new TabItem(folderBubbleChart, SWT.NONE);
TabItem itemFolderBubbleChart_3 = new TabItem(folderBubbleChart, SWT.NONE);
gerneralPageBubble = new GeneralPageBubble(folderBubbleChart, SWT.NONE);
seriesPageBubble = new SeriesPageBubble(folderBubbleChart, SWT.NONE);
axisPageBubble = new AxisPageBubble(folderBubbleChart, SWT.NONE);
itemFolderBubbleChart_1.setControl(gerneralPageBubble);
itemFolderBubbleChart_2.setControl(seriesPageBubble);
itemFolderBubbleChart_3.setControl(axisPageBubble);
itemFolderBubbleChart_1.setText("General Settings");
itemFolderBubbleChart_2.setText("Series Settings");
itemFolderBubbleChart_3.setText("Axis Settings");
}
private void buildPieSettings() {
pagePieChart.setLayout(new FillLayout());
TabFolder folderPieChart = new TabFolder(pagePieChart, SWT.NONE);
TabItem itemFolderPieChart_1 = new TabItem(folderPieChart, SWT.NONE);
itemFolderPieChart_1.setText("General Settings");
TabItem itemFolderPieChart_2 = new TabItem(folderPieChart, SWT.NONE);
itemFolderPieChart_2.setText("Legend Settings");
TabItem itemFolderPieChart_3 = new TabItem(folderPieChart, SWT.NONE);
itemFolderPieChart_3.setText("Series Settings");
gerneralPagePie = new GeneralPagePie(folderPieChart, SWT.NONE);
itemFolderPieChart_1.setControl(gerneralPagePie);
legendPagePie = new LegendPagePie(folderPieChart, SWT.NONE);
itemFolderPieChart_2.setControl(legendPagePie);
seriesPagePie = new SeriesPagePie(folderPieChart, SWT.NONE);
itemFolderPieChart_3.setControl(seriesPagePie);
}
private void createParameterExceptionsFolder(Composite composite) {
TabFolder folder= new TabFolder(composite, SWT.TOP);
folder.setLayoutData(new GridData(GridData.FILL_BOTH));
TabItem item= new TabItem(folder, SWT.NONE);
item.setText(RefactoringMessages.ChangeSignatureInputPage_parameters);
item.setControl(createParameterTableControl(folder));
TabItem itemEx= new TabItem(folder, SWT.NONE);
itemEx.setText(RefactoringMessages.ChangeSignatureInputPage_exceptions);
itemEx.setControl(createExceptionsTableControl(folder));
folder.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
((TabItem) e.item).getControl().setFocus();
}
});
}
private void createFeatureListTab(TabFolder tabFolder, ActiveTab type) {
TabItem tabItem = new TabItem(tabFolder, SWT.NULL);
if (type == ActiveTab.ALL_FEATURES) {
tabItem.setText(ALL_FEATURES_TAB_TITLE);
} else {
tabItem.setText(UPDATES_TAB_TITLE);
}
ScrolledComposite scroll = new ScrolledComposite(tabFolder, SWT.V_SCROLL | SWT.H_SCROLL);
scroll.setLayout(new GridLayout());
scroll.setLayoutData(new GridData());
Group group = new Group(scroll, SWT.NONE);
group.setLayout(new GridLayout());
group.setLayoutData(new GridData());
listFeatures(group, type);
scroll.setContent(group);
scroll.setExpandHorizontal(true);
scroll.setExpandVertical(true);
scroll.setMinSize(group.computeSize(SWT.DEFAULT, SWT.DEFAULT));
tabItem.setControl(scroll);
}
@Override
protected Control createContents(Composite parent) {
isInit = true;
Composite tParent = new Composite(parent, SWT.BORDER);
tParent.setLayoutData(new GridData(GridData.FILL_BOTH));
tParent.setLayout(new GridLayout());
addSpellInstalGroup(tParent);
tabFolder = new TabFolder(tParent, SWT.NONE);
tabFolder.setLayoutData(new GridData(GridData.FILL_BOTH));
hunspellTabItem = new TabItem(tabFolder, SWT.NONE);
hunspellTabItem.setText(Messages.getString("qa.preference.SpellPage.hunspellTab"));
aspellTabItem = new TabItem(tabFolder, SWT.NONE);
aspellTabItem.setText(Messages.getString("qa.preference.SpellPage.aspellTab"));
createHunspellCmp();
createAspellCmp();
initData();
return parent;
}
private TabFolder createTabFolder( Composite parent )
{
tabFolder = new TabFolder( parent, SWT.NONE );
// Should not set layout for TabFolder.
// GridData gd = new GridData( GridData.FILL_BOTH );
// tabFolder.setLayoutData( gd );
// GridLayout layout = new GridLayout( );
// tabFolder.setLayout( layout );
rowArea = new TabItem( tabFolder, SWT.NONE );
rowArea.setText( Messages.getString( "AggregationDialog.TabItem.Title.RowArea" ) ); //$NON-NLS-1$
rowArea.setImage( CrosstabUIHelper.getImage( CrosstabUIHelper.ROWS_AREA_IMAGE ) );
columnArea = new TabItem( tabFolder, SWT.NONE );
columnArea.setText( Messages.getString( "AggregationDialog.TabItem.Title.ColumnArea" ) ); //$NON-NLS-1$
columnArea.setImage( CrosstabUIHelper.getImage( CrosstabUIHelper.COLUMNS_AREA_IMAGE ) );
return tabFolder;
}
public TabItem createContents( TabFolder tabFolder )
{
final Composite page = new Composite( tabFolder, SWT.NONE );
GridLayout layout = new GridLayout( );
layout.numColumns = 2;
layout.marginHeight = 10;
layout.verticalSpacing = 5;
page.setLayout( layout );
page.setLayoutData( new GridData( GridData.FILL_BOTH ) );
TabItem tabItem = new TabItem( tabFolder, SWT.NONE );
tabItem.setControl( page );
createComposite( page );
return tabItem;
}
/**
* Creates and returns the contents of the upper part of this dialog (above
* the button bar).
* <p>
* The <code>TabDialog</code> overrides this framework method to create and
* return a new <code>Composite</code> with an empty tab folder.
* </p>
*
* @param parent
* the parent composite to contain the dialog area
* @return the dialog area control
*/
protected Control createDialogArea( Composite parent )
{
Composite composite = (Composite) super.createDialogArea( parent );
TabFolder tabFolder = new TabFolder( composite, SWT.TOP );
tabFolder.setLayoutData( new GridData( GridData.FILL_BOTH ) );
addTabPages( ); // add pages
for ( Iterator<TabPage> iterator = tabList.iterator( ); iterator.hasNext( ); )
{
TabPage page = iterator.next( );
TabItem tabItem = new TabItem( tabFolder, SWT.NONE );
tabItem.setControl( page.createControl( tabFolder ) );
tabItem.setText( page.getName( ) );
}
return composite;
}
@Override
protected Composite createRootComposite(Composite parent) {
this.tabFolder = new TabFolder(parent, SWT.NONE);
this.tabItem = new TabItem(this.tabFolder, SWT.NONE);
this.tabItem.setText(ResourceString.getResourceString("label.basic"));
Composite composite = super.createRootComposite(this.tabFolder);
this.tabItem.setControl(composite);
this.tabItem = new TabItem(this.tabFolder, SWT.NONE);
this.tabItem.setText(ResourceString.getResourceString("label.detail"));
Composite detailComposite = this.createDetailTab(this.tabFolder);
this.initializeDetailTab(detailComposite);
this.tabItem.setControl(detailComposite);
return composite;
}
/**
* @param args
*/
public static void main(final String[] args) {
Locale.setDefault(Locale.ENGLISH);
final Display display = new Display();
final Shell shell = new Shell(display);
shell.setText("PropertyTable snippet");
shell.setLayout(new FillLayout(SWT.VERTICAL));
final TabFolder tabFolder = new TabFolder(shell, SWT.BORDER);
final TabItem item1 = new TabItem(tabFolder, SWT.NONE);
item1.setText("First");
item1.setControl(buildPropertyTable(tabFolder, true, true, true));
final TabItem item2 = new TabItem(tabFolder, SWT.NONE);
item2.setText("Second");
item2.setControl(buildPropertyTable(tabFolder, false, true, false));
final TabItem item3 = new TabItem(tabFolder, SWT.NONE);
item3.setText("Third");
item3.setControl(buildPropertyTable(tabFolder, true, false, true));
final TabItem item4 = new TabItem(tabFolder, SWT.NONE);
item4.setText("Forth");
item4.setControl(buildPropertyTable(tabFolder, true, false, false));
shell.setSize(800, 600);
shell.open();
SWTGraphicUtil.centerShell(shell);
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
@Override
public void createTab ( final TabFolder tabFolder )
{
this.item = new TabItem ( tabFolder, SWT.NONE );
this.item.setText ( Messages.InterfacesTab_TabItem_Label );
this.viewer = new ListViewer ( tabFolder );
this.item.setControl ( this.viewer.getControl () );
this.viewer.setContentProvider ( new ArrayContentProvider () );
}
@Override
public void createTab ( final TabFolder tabFolder )
{
this.display = tabFolder.getDisplay ();
this.item = new TabItem ( tabFolder, SWT.NONE );
this.item.setText ( "Privileges" );
this.viewer = new ListViewer ( tabFolder );
this.viewer.setContentProvider ( new ObservableSetContentProvider () );
this.item.setControl ( this.viewer.getControl () );
}
@Override
protected Control createDialogArea ( final Composite parent )
{
// initialize header area
setTitle ( Messages.search_for_events );
setMessage ( Messages.search_for_events_description );
// setHelpAvailable ( true );
// initialize content
final Composite rootComposite = (Composite)super.createDialogArea ( parent );
String filterString = ""; //$NON-NLS-1$
if ( this.initialFilter != null && this.initialFilter.second != null )
{
filterString = this.initialFilter.second;
}
final TabFolder tabFolder = new TabFolder ( rootComposite, SWT.NONE );
// create tabs
for ( final FilterTab tab : getFilterTabs () )
{
final TabItem tabItem = new TabItem ( tabFolder, SWT.NONE );
tabItem.setText ( tab.getName () );
tabItem.setControl ( tab.createControl ( tabFolder, this, SWT.NONE, filterString ) );
}
final GridData layoutData = new GridData ();
layoutData.horizontalAlignment = GridData.FILL;
layoutData.grabExcessHorizontalSpace = true;
layoutData.verticalAlignment = GridData.FILL;
layoutData.grabExcessVerticalSpace = true;
tabFolder.setLayoutData ( layoutData );
selectInitialFilterPage ( tabFolder );
return rootComposite;
}
private int findIndex ( final int index )
{
final TabItem[] items = this.folder.getItems ();
for ( int i = 0; i < items.length; i++ )
{
final TabItem item = items[i];
final int order = (Integer)item.getData ( "order" );
if ( order > index )
{
return i;
}
}
return -1;
}
private Composite createCreateComposite(Composite parent) {
Composite composite = new Composite(parent,SWT.NONE);
FillLayout layout = new FillLayout();
layout.marginHeight = 8;
layout.marginWidth = 8;
composite.setLayout(layout);
createTabFolder = new TabFolder(composite,SWT.NONE);
createTabFolder.setFont(subTitleFont);
createSearchTabItem = new TabItem(createTabFolder,SWT.NONE);
createSearchTabItem.setText(MessageText.getString("Wizard.Subscription.create.search"));
createSearchTabItem.setControl(createCreateSearchComposite(createTabFolder));
createRSSTabItem = new TabItem(createTabFolder,SWT.NONE);
createRSSTabItem.setText(" " + MessageText.getString("Wizard.Subscription.create.rss"));
createRSSTabItem.setControl(createCreateRSSComposite(createTabFolder));
createTabFolder.addListener(SWT.Selection, new Listener() {
@Override
public void handleEvent(Event event) {
TabItem[] selectedItems = createTabFolder.getSelection();
if(selectedItems.length != 1) {
return;
}
TabItem selectedItem = selectedItems[0];
if(selectedItem == createRSSTabItem) {
setMode(MODE_CREATE_RSS);
} else {
setMode(MODE_CREATE_SEARCH);
}
}
});
return composite;
}
/**
* @param tabFolder
* @return
*/
private Composite createTab(TabFolder tabFolder, String tabText) {
TabItem item1 = new TabItem(tabFolder, SWT.NULL);
item1.setText(tabText);
Composite p1 = new Composite(tabFolder, SWT.NONE);
p1.setLayoutData(new GridData(GridData.FILL_BOTH));
item1.setControl(p1);
return p1;
}
/**
* Create "Content type" tab
*
* @param folder
*/
private void createContentTypeTab(TabFolder folder) {
TabItem tab = new TabItem(folder, SWT.NONE);
tab.setText(TMUIMessages.GrammarPreferencePage_tab_contentType_text);
Composite parent = new Composite(folder, SWT.NONE);
parent.setLayout(new GridLayout());
parent.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
contentTypesWidget = new ContentTypesBindingWidget(parent, SWT.NONE);
contentTypesWidget.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
tab.setControl(parent);
}
/**
* Create "Injection" tab
*
* @param folder
*/
private void createInjectionTab(TabFolder folder) {
TabItem tab = new TabItem(folder, SWT.NONE);
tab.setText(TMUIMessages.GrammarPreferencePage_tab_injection_text);
Composite parent = new Composite(folder, SWT.NONE);
parent.setLayout(new GridLayout());
parent.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
// TODO: manage UI injection
tab.setControl(parent);
}
private TabItem createTab(TabFolder folder, String title) {
TabItem tab = new TabItem(folder, SWT.NONE);
tab.setText(title);
Composite parent = new Composite(folder, SWT.NONE);
parent.setLayout(new GridLayout());
parent.setLayoutData(new GridData(GridData.FILL_BOTH));
tab.setControl(parent);
return tab;
}
public ValidatableTabWrapper(AbstractDialog dialog, TabFolder parent,
int style, String title) {
super(parent, style);
this.dialog = dialog;
this.tabItem = new TabItem(parent, style);
this.tabItem.setText(ResourceString.getResourceString(title));
this.tabItem.setControl(this);
}
protected EditSdkDialogTabAbstract(TabFolder tabFolder, EditSdkDialog editSdkDialog) {
super(tabFolder, SWT.NONE);
this.editSdkDialog = editSdkDialog;
tabItem = new TabItem(tabFolder, SWT.NULL);
tabItem.setText(getTabName());
tabItem.setControl(this);
createTabControls();
}
private final void addTabPageNewAPI(String title, IModifyDialogTabPage tabPage) {
final TabItem tabItem = new TabItem(fTabFolder, SWT.NONE);
applyDialogFont(tabItem.getControl());
tabItem.setText(title);
tabItem.setData(tabPage);
tabItem.setControl(tabPage.createContents(fTabFolder));
fTabPages.add(tabPage);
}
private TabItem getSelectedItem() {
TabItem items[] = tabfolder.getSelection();
if(items.length > 0) {
return items[0];
} else {
return null;
}
}