use of org.eclipse.swt.widgets.Item in project tdi-studio-se by Talend.
the class JSONFileSchema2TreeLinker method updateLinksStyleAndControlsSelection.
public void updateLinksStyleAndControlsSelection(Control currentControl, boolean lastOne) {
// super.updateLinksStyleAndControlsSelection(currentControl);
boolean isTarget = false;
if (getSource() != currentControl) {
isTarget = true;
} else {
isTarget = false;
}
HashSet selectedItems = new HashSet();
Map itemsToSelect = new HashMap();
if (isTarget) {
getTarget().deselectAll();
TreeItem[] selection = getTarget().getSelection();
for (int i = 0; i < selection.length; i++) {
TreeItem tableItem = selection[i];
selectedItems.add(tableItem.getData());
}
} else {
TableItem[] selection = getSource().getSelection();
for (int i = 0; i < selection.length; i++) {
TableItem treeItem = selection[i];
selectedItems.add(treeItem.getData());
}
}
List<LinkDescriptor<Item, Object, Tree, Object>> links = linksManager.getLinks();
for (LinkDescriptor<Item, Object, Tree, Object> link : links) {
IStyleLink styleLink = null;
IExtremityLink extremity = null;
IExtremityLink otherExtremity = null;
if (isTarget) {
extremity = link.getExtremity2();
otherExtremity = link.getExtremity1();
} else {
extremity = link.getExtremity1();
otherExtremity = link.getExtremity2();
}
boolean currentItemIsSelected = selectedItems.contains(extremity.getDataItem());
if (extremity.getGraphicalObject() == jsonViewer.getTree() || otherExtremity.getGraphicalObject() == jsonViewer.getTree()) {
styleLink = getSelectedLoopStyleLink();
} else {
if (currentItemIsSelected) {
styleLink = getSelectedStyleLink();
if (isTarget) {
itemsToSelect.put((TableItem) otherExtremity.getGraphicalObject(), null);
} else {
Table currentTable = (Table) otherExtremity.getGraphicalObject();
List<TableItem> tableItemsToSelect = (List<TableItem>) itemsToSelect.get(currentTable);
if (tableItemsToSelect == null) {
tableItemsToSelect = new ArrayList<TableItem>();
itemsToSelect.put(currentTable, tableItemsToSelect);
}
TableItem tableItem = TableUtils.getTableItem(currentTable, otherExtremity.getDataItem());
tableItemsToSelect.add(tableItem);
}
} else {
styleLink = getUnselectedStyleLink();
}
}
if (styleLink == null) {
styleLink = getDefaultStyleLink();
}
link.setStyleLink(styleLink);
}
if (isTarget) {
(getSource()).setSelection((TableItem[]) itemsToSelect.keySet().toArray(new TableItem[0]));
} else {
Set<Table> set = itemsToSelect.keySet();
if (set.size() > 0) {
for (Table table : set) {
ArrayList<TableItem> tableItemsToSelect = (ArrayList<TableItem>) itemsToSelect.get(table);
table.deselectAll();
TableItem[] tableItems = (TableItem[]) tableItemsToSelect.toArray(new TableItem[0]);
table.setSelection(tableItems);
}
} else {
jsonViewer.getTree().deselectAll();
}
}
getLinksManager().sortLinks(getDrawingLinksComparator());
// for bug 9279
if (lastOne) {
getBackgroundRefresher().refreshBackground();
}
}
use of org.eclipse.swt.widgets.Item in project bndtools by bndtools.
the class NewTypeWizardPage method createSuperInterfacesControls.
/**
* Creates the controls for the superclass name field. Expects a <code>GridLayout</code> with at least 3 columns.
*
* @param composite
* the parent composite
* @param nColumns
* number of columns to span
*/
protected void createSuperInterfacesControls(Composite composite, int nColumns) {
//$NON-NLS-1$
final String INTERFACE = "interface";
fSuperInterfacesDialogField.doFillIntoGrid(composite, nColumns);
final TableViewer tableViewer = fSuperInterfacesDialogField.getTableViewer();
tableViewer.setColumnProperties(new String[] { INTERFACE });
TableTextCellEditor cellEditor = new TableTextCellEditor(tableViewer, 0) {
@Override
protected void doSetFocus() {
if (text != null) {
text.setFocus();
text.setSelection(text.getText().length());
checkSelection();
checkDeleteable();
checkSelectable();
}
}
};
JavaTypeCompletionProcessor superInterfaceCompletionProcessor = new JavaTypeCompletionProcessor(false, false, true);
superInterfaceCompletionProcessor.setCompletionContextRequestor(new CompletionContextRequestor() {
@Override
public StubTypeContext getStubTypeContext() {
return getSuperInterfacesStubTypeContext();
}
});
@SuppressWarnings("deprecation") org.eclipse.jface.contentassist.SubjectControlContentAssistant contentAssistant = ControlContentAssistHelper.createJavaContentAssistant(superInterfaceCompletionProcessor);
Text cellEditorText = cellEditor.getText();
@SuppressWarnings({ "deprecation", "unused" }) org.eclipse.ui.contentassist.ContentAssistHandler contentAssistantHandler = org.eclipse.ui.contentassist.ContentAssistHandler.createHandlerForText(cellEditorText, contentAssistant);
TextFieldNavigationHandler.install(cellEditorText);
cellEditor.setContentAssistant(contentAssistant);
tableViewer.setCellEditors(new CellEditor[] { cellEditor });
tableViewer.setCellModifier(new ICellModifier() {
@Override
public void modify(Object element, String property, Object value) {
Object el = element;
if (el instanceof Item)
el = ((Item) el).getData();
((InterfaceWrapper) el).interfaceName = (String) value;
fSuperInterfacesDialogField.elementChanged((InterfaceWrapper) el);
}
@Override
public Object getValue(Object element, String property) {
return ((InterfaceWrapper) element).interfaceName;
}
@Override
public boolean canModify(Object element, String property) {
return true;
}
});
tableViewer.getTable().addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent event) {
if (event.keyCode == SWT.F2 && event.stateMask == 0) {
ISelection selection = tableViewer.getSelection();
if (!(selection instanceof IStructuredSelection))
return;
IStructuredSelection structuredSelection = (IStructuredSelection) selection;
tableViewer.editElement(structuredSelection.getFirstElement(), 0);
}
}
});
GridData gd = (GridData) fSuperInterfacesDialogField.getListControl(null).getLayoutData();
if (fTypeKind == CLASS_TYPE) {
gd.heightHint = convertHeightInCharsToPixels(3);
} else {
gd.heightHint = convertHeightInCharsToPixels(6);
}
gd.grabExcessVerticalSpace = false;
gd.widthHint = getMaxFieldWidth();
}
use of org.eclipse.swt.widgets.Item in project eclipse.platform.swt by eclipse.
the class Tab method hookExampleWidgetListeners.
/**
* Hooks all listeners to all example controls
* and example control items.
*/
void hookExampleWidgetListeners() {
if (logging) {
Widget[] widgets = getExampleWidgets();
for (Widget widget : widgets) {
hookListeners(widget);
}
Item[] exampleItems = getExampleWidgetItems();
for (Item exampleItem : exampleItems) {
hookListeners(exampleItem);
}
String[] customNames = getCustomEventNames();
for (int i = 0; i < customNames.length; i++) {
if (eventsFilter[EVENT_INFO.length + i]) {
hookCustomListener(customNames[i]);
}
}
}
}
use of org.eclipse.swt.widgets.Item in project eclipse.platform.swt by eclipse.
the class Tab method createListenerSelectionDialog.
/**
* Creates and opens the "Listener selection" dialog.
*/
void createListenerSelectionDialog() {
final Shell dialog = new Shell(shell, SWT.DIALOG_TRIM | SWT.RESIZE | SWT.APPLICATION_MODAL);
dialog.setText(ControlExample.getResourceString("Select_Listeners"));
dialog.setLayout(new GridLayout(2, false));
final Table table = new Table(dialog, SWT.BORDER | SWT.V_SCROLL | SWT.CHECK);
GridData data = new GridData(GridData.FILL_BOTH);
data.verticalSpan = 3;
table.setLayoutData(data);
for (int i = 0; i < EVENT_INFO.length; i++) {
TableItem item = new TableItem(table, SWT.NONE);
item.setText(EVENT_INFO[i].name);
item.setChecked(eventsFilter[i]);
}
final String[] customNames = getCustomEventNames();
for (int i = 0; i < customNames.length; i++) {
TableItem item = new TableItem(table, SWT.NONE);
item.setText(customNames[i]);
item.setChecked(eventsFilter[EVENT_INFO.length + i]);
}
Button selectAll = new Button(dialog, SWT.PUSH);
selectAll.setText(ControlExample.getResourceString("Select_All"));
selectAll.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
selectAll.addSelectionListener(widgetSelectedAdapter(e -> {
TableItem[] items = table.getItems();
for (int i = 0; i < EVENT_INFO.length; i++) {
items[i].setChecked(true);
}
for (int i = 0; i < customNames.length; i++) {
items[EVENT_INFO.length + i].setChecked(true);
}
}));
Button deselectAll = new Button(dialog, SWT.PUSH);
deselectAll.setText(ControlExample.getResourceString("Deselect_All"));
deselectAll.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
deselectAll.addSelectionListener(widgetSelectedAdapter(e -> {
TableItem[] items = table.getItems();
for (int i = 0; i < EVENT_INFO.length; i++) {
items[i].setChecked(false);
}
for (int i = 0; i < customNames.length; i++) {
items[EVENT_INFO.length + i].setChecked(false);
}
}));
final Button editEvent = new Button(dialog, SWT.PUSH);
editEvent.setText(ControlExample.getResourceString("Edit_Event"));
editEvent.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING));
editEvent.addSelectionListener(widgetSelectedAdapter(e -> {
Point pt = editEvent.getLocation();
pt = e.display.map(editEvent, null, pt);
int index = table.getSelectionIndex();
if (getExampleWidgets().length > 0 && index != -1) {
createEditEventDialog(dialog, pt.x, pt.y, index);
}
}));
editEvent.setEnabled(false);
table.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
int fields = 0;
int index = table.getSelectionIndex();
if (index != -1 && index < EVENT_INFO.length) {
// TODO: Allow custom widgets to specify event info
fields = (EVENT_INFO[index].settableFields);
}
editEvent.setEnabled(fields != 0);
}
@Override
public void widgetDefaultSelected(SelectionEvent e) {
if (editEvent.getEnabled()) {
Point pt = editEvent.getLocation();
pt = e.display.map(editEvent, null, pt);
int index = table.getSelectionIndex();
if (getExampleWidgets().length > 0 && index != -1 && index < EVENT_INFO.length) {
createEditEventDialog(dialog, pt.x, pt.y, index);
}
}
}
});
new Label(dialog, SWT.NONE);
/* Filler */
Button ok = new Button(dialog, SWT.PUSH);
ok.setText(ControlExample.getResourceString("OK"));
dialog.setDefaultButton(ok);
ok.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
ok.addSelectionListener(widgetSelectedAdapter(e -> {
TableItem[] items = table.getItems();
for (int i = 0; i < EVENT_INFO.length; i++) {
eventsFilter[i] = items[i].getChecked();
}
for (int i = 0; i < customNames.length; i++) {
eventsFilter[EVENT_INFO.length + i] = items[EVENT_INFO.length + i].getChecked();
}
dialog.dispose();
}));
dialog.pack();
/*
* If the preferred size of the dialog is too tall for the display,
* then reduce the height, so that the vertical scrollbar will appear.
*/
Rectangle bounds = dialog.getBounds();
Rectangle trim = dialog.computeTrim(0, 0, 0, 0);
Rectangle clientArea = display.getClientArea();
if (bounds.height > clientArea.height) {
dialog.setSize(bounds.width, clientArea.height - trim.height);
}
dialog.setLocation(bounds.x, clientArea.y);
dialog.open();
while (!dialog.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
use of org.eclipse.swt.widgets.Item in project eclipse.platform.swt by eclipse.
the class HoverHelp method createPartControl.
/**
* Creates the example
*/
public void createPartControl(Composite frame) {
final ToolTipHandler tooltip = new ToolTipHandler(frame.getShell());
GridLayout layout = new GridLayout();
layout.numColumns = 3;
frame.setLayout(layout);
String platform = SWT.getPlatform();
String helpKey = "F1";
if (platform.equals("gtk"))
helpKey = "Ctrl+F1";
if (platform.equals("cocoa"))
helpKey = "Help";
ToolBar bar = new ToolBar(frame, SWT.BORDER);
for (int i = 0; i < 5; i++) {
ToolItem item = new ToolItem(bar, SWT.PUSH);
item.setText(getResourceString("ToolItem.text", new Object[] { Integer.valueOf(i) }));
item.setData("TIP_TEXT", getResourceString("ToolItem.tooltip", new Object[] { item.getText(), helpKey }));
item.setData("TIP_HELPTEXTHANDLER", (ToolTipHelpTextHandler) widget -> {
Item item1 = (Item) widget;
return getResourceString("ToolItem.help", new Object[] { item1.getText() });
});
}
GridData gridData = new GridData();
gridData.horizontalSpan = 3;
bar.setLayoutData(gridData);
tooltip.activateHoverHelp(bar);
Table table = new Table(frame, SWT.BORDER);
for (int i = 0; i < 4; i++) {
TableItem item = new TableItem(table, SWT.PUSH);
item.setText(getResourceString("Item", new Object[] { Integer.valueOf(i) }));
item.setData("TIP_IMAGE", images[hhiInformation]);
item.setText(getResourceString("TableItem.text", new Object[] { Integer.valueOf(i) }));
item.setData("TIP_TEXT", getResourceString("TableItem.tooltip", new Object[] { item.getText(), helpKey }));
item.setData("TIP_HELPTEXTHANDLER", (ToolTipHelpTextHandler) widget -> {
Item item1 = (Item) widget;
return getResourceString("TableItem.help", new Object[] { item1.getText() });
});
}
table.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL));
tooltip.activateHoverHelp(table);
Tree tree = new Tree(frame, SWT.BORDER);
for (int i = 0; i < 4; i++) {
TreeItem item = new TreeItem(tree, SWT.PUSH);
item.setText(getResourceString("Item", new Object[] { Integer.valueOf(i) }));
item.setData("TIP_IMAGE", images[hhiWarning]);
item.setText(getResourceString("TreeItem.text", new Object[] { Integer.valueOf(i) }));
item.setData("TIP_TEXT", getResourceString("TreeItem.tooltip", new Object[] { item.getText(), helpKey }));
item.setData("TIP_HELPTEXTHANDLER", (ToolTipHelpTextHandler) widget -> {
Item item1 = (Item) widget;
return getResourceString("TreeItem.help", new Object[] { item1.getText() });
});
}
tree.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL));
tooltip.activateHoverHelp(tree);
Button button = new Button(frame, SWT.PUSH);
button.setText(getResourceString("Hello.text"));
button.setData("TIP_TEXT", getResourceString("Hello.tooltip"));
tooltip.activateHoverHelp(button);
}
Aggregations