List of usage examples for org.eclipse.jface.viewers ViewerCell getColumnIndex
public int getColumnIndex()
From source file:org.thanlwinsoft.doccharconvert.eclipse.editors.MappingTableLabelProvider.java
License:Open Source License
@Override public void update(ViewerCell cell) { cell.setText(getColumnText(cell.getElement(), cell.getColumnIndex())); if (cell.getColumnIndex() >= COL_OFFSET) cell.setFont(getFont(cell.getElement(), cell.getColumnIndex())); }
From source file:org.thanlwinsoft.doccharconvert.eclipse.editors.ScriptsEditorPart.java
License:Open Source License
/** * @param section//w w w . jav a2 s. com * @param scriptArray */ private void addScriptTable(ExpandableComposite parent, final Script scriptArray) { final Table table = new Table(parent, SWT.H_SCROLL | SWT.V_SCROLL); table.setHeaderVisible(true); final TableViewer viewer = new TableViewer(table); viewer.setContentProvider(new IStructuredContentProvider() { public void dispose() { } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } public Object[] getElements(Object inputElement) { if (inputElement instanceof Script) { return ((Script) inputElement).getCluster().getComponentArray(); } return null; } }); final ITableLabelProvider labelProvider = new ITableLabelProvider() { // ID, Name, Priority, Min public Image getColumnImage(Object element, int columnIndex) { return null; } public String getColumnText(Object element, int columnIndex) { if (element instanceof Component) { Component c = (Component) element; switch (columnIndex) { case 0: if (c.isSetId()) return c.getId(); else if (c.isSetRefId()) return "[" + c.getRefId() + "]"; else return ""; case 1: StringBuilder builder = new StringBuilder(); for (int i = 0; i < c.getDomNode().getChildNodes().getLength(); i++) builder.append(c.getDomNode().getChildNodes().item(i).getNodeValue()); return builder.toString(); case 2: if (c.isSetPriority()) return c.getPriority().toString(); else return ""; case 3: if (c.isSetMin()) return c.getMin().toString(); else return ""; } } return ""; } public void addListener(ILabelProviderListener listener) { } public void dispose() { } public boolean isLabelProperty(Object element, String property) { return false; } public void removeListener(ILabelProviderListener listener) { } }; viewer.setLabelProvider(labelProvider); viewer.setInput(scriptArray); String[] columnNames = new String[] { MessageUtil.getString("ID"), MessageUtil.getString("Name"), MessageUtil.getString("Priority"), MessageUtil.getString("Minimum"), }; for (int i = 0; i < 4; i++) { TableColumn col = new TableColumn(table, SWT.LEAD); col.setWidth(100); col.setText(columnNames[i]); TableViewerColumn tvc = new TableViewerColumn(viewer, col); final int colNum = i; tvc.setEditingSupport(new EditingSupport(viewer) { TextCellEditor tce = null; ComboBoxCellEditor cbce = null; @Override protected boolean canEdit(Object element) { return (element instanceof Component); } @Override protected CellEditor getCellEditor(Object element) { Component c = (Component) element; if (colNum == 0 && !c.isSetId()) { ArrayList<String> items = new ArrayList<String>(); Cluster cluster = scriptArray.getCluster(); for (int j = 0; j < cluster.sizeOfComponentArray(); j++) { if (cluster.getComponentArray(j).isSetId()) items.add(cluster.getComponentArray(j).getId()); } if (cbce == null) cbce = new ComboBoxCellEditor(table, items.toArray(new String[items.size()])); else cbce.setItems(items.toArray(new String[items.size()])); Control control = cbce.getControl(); if (control instanceof CCombo) { CCombo cc = (CCombo) control; cc.setEditable(true); } return cbce; } if (tce == null) tce = new TextCellEditor(table); return tce; } @Override protected Object getValue(Object element) { if (colNum == 0 && element instanceof Component && !(((Component) element).isSetId())) { int componentIndex = -1; for (int j = 0; j < scriptArray.getCluster().sizeOfComponentArray(); j++) { Component c = scriptArray.getCluster().getComponentArray(j); if (c.isSetId()) { ++componentIndex; if (c.getId().equals(((Component) element).getRefId())) break; } } return new Integer(componentIndex); } return labelProvider.getColumnText(element, colNum); } @Override protected void setValue(Object element, Object value) { if (value == null || value.toString().equals(getValue(element))) return; try { Component c = (Component) element; switch (colNum) { case 0: if (value instanceof Integer) { if (((Integer) value).intValue() < 0) { Control control = cbce.getControl(); if (control instanceof CCombo) { String id = ((CCombo) control).getText(); if (id.length() < 1) break; c.setId(id.trim()); if (c.isSetRefId()) c.unsetRefId(); break; } } else { if (c.isSetId()) c.unsetId(); c.setRefId(cbce.getItems()[((Integer) value).intValue()]); break; } } if (c.getId() == null || !c.getId().equals(value.toString())) { if (isUniqueComponentId(value.toString())) { switchComponentId(c.getId(), value.toString()); c.setId(value.toString().trim()); if (c.isSetRefId()) c.unsetRefId(); } } break; case 1: org.w3c.dom.Text t = c.getDomNode().getOwnerDocument().createTextNode(value.toString()); while (c.getDomNode().hasChildNodes()) c.getDomNode().removeChild(c.getDomNode().getFirstChild()); c.getDomNode().appendChild(t); break; case 2: int iValue = Integer.parseInt(value.toString()); c.setPriority(BigInteger.valueOf(iValue)); break; case 3: int minValue = Integer.parseInt(value.toString()); c.setMin(BigInteger.valueOf(minValue)); break; } parentEditor.setDirty(true); viewer.refresh(element); } catch (NumberFormatException e) { } } }); tvc.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { cell.setText(labelProvider.getColumnText(cell.getElement(), cell.getColumnIndex())); } }); } MenuManager menuManager = new MenuManager(parentEditor.getPartName() + ":" + this.getPartName()); Action insertAction = new Action() { public void run() { int mapIndex = table.getSelectionIndex();// redo if sort if (mapIndex < 0) mapIndex = scriptArray.getCluster().sizeOfComponentArray(); int insertRowCount = Math.max(1, table.getSelectionCount()); for (int i = 0; i < insertRowCount; i++) { //Component c; if (mapIndex + i < scriptArray.getCluster().sizeOfComponentArray()) scriptArray.getCluster().insertNewComponent(mapIndex + i); else scriptArray.getCluster().addNewComponent(); int numComponents = scriptArray.getCluster().sizeOfComponentArray(); String id = "Side" + scriptArray.getSide() + numComponents; if (scriptArray.getSide().equals(Side.LEFT)) { id = MessageUtil.getString("LeftComponent", Integer.toString(numComponents)); for (int j = 0; j < scriptArray.getCluster().sizeOfComponentArray(); j++) { Component existing = scriptArray.getCluster().getComponentArray(j); if (existing.getId() != null && existing.getId().equals(id)) { id = MessageUtil.getString("LeftComponent", Integer.toString(++numComponents)); j = 0; } } } else if (scriptArray.getSide().equals(Side.RIGHT)) { id = MessageUtil.getString("RightComponent", Integer.toString(numComponents)); for (int j = 0; j < scriptArray.getCluster().sizeOfComponentArray(); j++) { Component existing = scriptArray.getCluster().getComponentArray(j); if (existing.getId() != null && existing.getId().equals(id)) { id = MessageUtil.getString("RightComponent", Integer.toString(++numComponents)); j = 0; } } } //c.setId(id); } viewer.refresh(); parentEditor.setDirty(true); } }; insertAction.setId("Insert"); insertAction.setText(MessageUtil.getString("Insert")); insertAction.setToolTipText(MessageUtil.getString("InsertToolTip")); Action deleteAction = new Action() { public void run() { int mapIndex = table.getSelectionIndex(); if (mapIndex < 0) return; scriptArray.getCluster().removeComponent(mapIndex); viewer.refresh(); parentEditor.setDirty(true); } }; deleteAction.setId("Delete"); deleteAction.setText(MessageUtil.getString("Delete")); deleteAction.setToolTipText(MessageUtil.getString("DeleteToolTip")); Action moveUpAction = new Action() { public void run() { int mapIndex = table.getSelectionIndex(); if (mapIndex < 1) return; XmlObject toMove = scriptArray.getCluster().getComponentArray(mapIndex).copy(); scriptArray.getCluster().removeComponent(mapIndex); Component moved = scriptArray.getCluster().insertNewComponent(mapIndex - 1); moved.set(toMove); viewer.refresh(); parentEditor.setDirty(true); } }; moveUpAction.setId("moveUp"); moveUpAction.setText(MessageUtil.getString("MoveUp")); moveUpAction.setToolTipText(MessageUtil.getString("MoveUpToolTip")); Action moveDownAction = new Action() { public void run() { int mapIndex = table.getSelectionIndex(); int numComponents = scriptArray.getCluster().sizeOfComponentArray(); if (mapIndex < 0 || mapIndex == numComponents - 1) return; XmlObject toMove = scriptArray.getCluster().getComponentArray(mapIndex).copy(); scriptArray.getCluster().removeComponent(mapIndex); Component moved = scriptArray.getCluster().insertNewComponent(mapIndex + 1); moved.set(toMove); viewer.refresh(); parentEditor.setDirty(true); } }; moveDownAction.setId("moveDown"); moveDownAction.setText(MessageUtil.getString("MoveDown")); moveDownAction.setToolTipText(MessageUtil.getString("MoveDownToolTip")); menuManager.add(insertAction); menuManager.add(deleteAction); menuManager.add(moveUpAction); menuManager.add(moveDownAction); menuManager.add(new Separator()); menuManager.setVisible(true); toolkit.adapt(table); table.setMenu(menuManager.createContextMenu(table)); parent.setClient(table); viewer.refresh(); }
From source file:org.xtuml.bp.ui.sem.viewers.SEMFocusCellHighlighter.java
License:Apache License
private void removeSelectionInformation(Event event, ViewerCell cell) { GC gc = event.gc;//w ww . ja v a2s. c o m gc.setBackground(cell.getViewerRow().getBackground(cell.getColumnIndex())); gc.setForeground(cell.getViewerRow().getForeground(cell.getColumnIndex())); event.detail &= ~SWT.SELECTED; }
From source file:ralfstx.mylyn.bugview.internal.TaskLabelProvider.java
License:Open Source License
@Override public void update(ViewerCell cell) { Object element = cell.getElement(); int columnIndex = cell.getColumnIndex(); cell.setText(getColumnText(element, columnIndex)); cell.setImage(getColumnImage(element, columnIndex)); cell.setBackground(getBackground(element)); cell.setForeground(getForeground(element)); cell.setFont(getFont(element));/*from w w w.j a v a2 s.c o m*/ }
From source file:sernet.verinice.rcp.IconSelectDialog.java
License:Open Source License
private void createTable(Composite parent) { final int gdHeightSubtrahend = 100; final int iconRowSize = 10; int style = SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER; style = style | SWT.SINGLE | SWT.FULL_SELECTION; viewer = new TableViewer(parent, style); viewer.setContentProvider(new ArrayContentProvider()); TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(viewer, new FocusCellOwnerDrawHighlighter(viewer)); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(viewer) { @Override/*from w w w .j a v a 2 s . co m*/ protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { boolean retVal = event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION; retVal = retVal || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == SWT.CR); return retVal || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; TableViewerEditor.create(viewer, focusCellManager, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); Table table = viewer.getTable(); GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true); gd.heightHint = SIZE_X - gdHeightSubtrahend; table.setLayoutData(gd); table.addListener(SWT.MeasureItem, new Listener() { @Override public void handleEvent(Event event) { // height cannot be per row so simply set event.height = getThumbnailSize() + ICON_SPACING; } }); table.addMouseListener(new MouseListener() { @Override public void mouseUp(MouseEvent e) { } @Override public void mouseDown(MouseEvent e) { ViewerCell cell = viewer.getCell(new Point(e.x, e.y)); if (cell != null) { selectedPath = getRelativePath( ((IconDescriptor[]) cell.getElement())[cell.getColumnIndex()].getPath()); if (LOG.isDebugEnabled()) { LOG.debug("Icon: " + selectedPath); //$NON-NLS-1$ } } } @Override public void mouseDoubleClick(MouseEvent e) { } }); for (int i = 0; i < iconRowSize; i++) { TableViewerColumn imageColumn = new TableViewerColumn(viewer, SWT.LEFT); imageColumn.setLabelProvider(new IconCellProvider(i)); imageColumn.getColumn().setWidth(getThumbnailSize() + ICON_SPACING); } if (!dirComboModel.isEmpty()) { dirComboModel.setSelectedIndex(2); dirCombo.select(2); directory = dirComboModel.getSelectedObject(); loadIcons(directory.getPath()); } else { loadIcons(ICON_DIRECTORY + "silk"); //$NON-NLS-1$ } }
From source file:tubame.portability.plugin.action.ConfirmItemChangeActionFactory.java
License:Apache License
/** * Add Action.<br/>// w w w . j av a 2s . com * For visual confirmation / hearing items, target column is added Action.<br/> * * @param isMenuView * Add existence flag * @param manager * Menu Manager * @param cell * Click the target cell */ private static void addAction(Boolean isMenuView, IMenuManager manager, ViewerCell cell) { if (isMenuView != null && isMenuView.booleanValue()) { if (JbmEditorEnum.VISUAL_CONFIRM_STATSU_ITEM.getCode() == cell.getColumnIndex()) { manager.add(ConfirmItemChangeActionFactory.eyeNGColorChange); manager.add(ConfirmItemChangeActionFactory.eyeOKColorChange); manager.add(ConfirmItemChangeActionFactory.eyeNonColorChange); } if (JbmEditorEnum.HIARING_STATUS.getCode() == cell.getColumnIndex()) { manager.add(ConfirmItemChangeActionFactory.hearingNGColorChange); manager.add(ConfirmItemChangeActionFactory.hearingOKColorChange); manager.add(ConfirmItemChangeActionFactory.hearingNonColorChange); } } }
From source file:tubame.portability.plugin.action.ConfirmItemChangeActionFactory.java
License:Apache License
/** * The return TRUE if the visual / hearing item, return FALSE if visual / * hearing fee.<br/>// w w w .ja v a 2 s . c o m * * @param item * Line data * @param cell * Target cell data * @return true:Confirmation item false:Unacknowledged item */ private static boolean isConfirm(JbmEditorMigrationRow item, ViewerCell cell) { // Visual confirmation if (JbmEditorEnum.VISUAL_CONFIRM_STATSU_ITEM.getCode() == cell.getColumnIndex()) { if (item.isCheckEye()) { return true; } } // Confirmation hearing if (JbmEditorEnum.HIARING_STATUS.getCode() == cell.getColumnIndex()) { if (item.isHearing()) { return true; } } return false; }
From source file:tubame.portability.plugin.editor.SelectionChangedListener.java
License:Apache License
/** * {@inheritDoc}/* ww w.j a v a 2 s .co m*/ */ @Override public void selectionChanged(SelectionChangedEvent event) { selectionObject = ((StructuredSelection) event.getSelection()).getFirstElement(); LOGGER.debug("Project path: " + editor.getProjectPath()); // Get the Cell that was clicked from mouse click coordinate Point point = editor.getMouseClickPoint(); ViewerCell cell = ((org.eclipse.jface.viewers.TreeViewer) event.getSource()).getCell(point); if (cell == null) { // That the cell can not I get a row that has been deleted return; } if (selectionObject instanceof JbmEditorMigrationRow) { // View checklist information view JbmEditorMigrationRow row = (JbmEditorMigrationRow) selectionObject; printInformationView(row.getNo()); // If the guide chapter number is clicked, it displays a guide if (JbmEditorEnum.CHAPTER_NO.getCode() == cell.getColumnIndex()) { try { GuideViewFacade.view(row.getChapterNo(), editor.getProjectPath()); } catch (IOException e) { LOGGER.error(MessageUtil.LOG_ERR_GUIDE_HTML_DISPLAY_FAIL, e); throw new RuntimeException(e); } } } }
From source file:tubame.portability.plugin.view.ConvertDoubleClickListener.java
License:Apache License
/** * {@inheritDoc}/*from www. j a va 2 s . com*/ */ @Override public void doubleClick(DoubleClickEvent event) { Object element = ((StructuredSelection) event.getSelection()).getFirstElement(); if (element instanceof MigrationTarget) { Point point = treeViewer.getMouseClickPoint(); ViewerCell cell = ((org.eclipse.jface.viewers.TreeViewer) event.getSource()).getCell(point); if (cell != null) { openFile(cell.getColumnIndex(), element); } } }
From source file:tubame.portability.plugin.view.ConvertLabelProvider.java
License:Apache License
/** * {@inheritDoc}//ww w .ja v a 2s . c om */ @Override public void update(ViewerCell cell) { // Set the string to be displayed in the cell String text = StringUtil.EMPTY; Object element = cell.getElement(); if (element instanceof MigrationItem) { MigrationItem migrationItem = (MigrationItem) element; text = parentGetColumnText(migrationItem, cell.getColumnIndex()); } else if (element instanceof MigrationTarget) { MigrationTarget migrationTarget = (MigrationTarget) element; text = childGetColumnText(migrationTarget, cell.getColumnIndex()); } cell.setText(text); }