use of org.eclipse.nebula.widgets.grid.GridItem in project tdq-studio-se by Talend.
the class AbstractIndicatorSelectGrid method handleColumnHeaderHighlight.
private void handleColumnHeaderHighlight(MouseEvent e, GridVisibleRange range) {
GridColumn currentColumn = getColumn(new Point(e.x, e.y));
if (currentColumn != null && !isDraggingColumn()) {
int currentColumnIndex = indexOf(currentColumn);
for (GridItem item : range.getItems()) {
for (GridColumn column : range.getColumns()) {
int j = indexOf(column);
if (j == currentColumnIndex) {
item.setBackground(j, highlightBlue);
} else {
item.setBackground(j, getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
}
}
item.setBackground(0, gray);
item.setBackground(1, null);
}
for (GridColumn column : range.getColumns()) {
int j = indexOf(column);
column.getHeaderRenderer().setSelected(j == currentColumnIndex);
}
}
}
use of org.eclipse.nebula.widgets.grid.GridItem in project tdq-studio-se by Talend.
the class AbstractIndicatorSelectGrid method initializeGrid.
protected void initializeGrid() {
// first column is for indicator labels, it is hided from the cells but shown as row header.
createIndicatorLabelColumn();
// column
// select all column
createRowSelectColumn();
// database columns
for (int index = 0; index < _modelElementIndicators.length; index++) {
ModelElementIndicator _modelElementIndicator = _modelElementIndicators[index];
final GridColumn newCol = new TalendGridColumn(this, SWT.CHECK);
AbstractColumnHerderRenderer headerRenderer = getColumnHeaderRenderer();
headerRenderer.setRotation(COLUMN_HEADER_ROTATION);
newCol.setHeaderRenderer(headerRenderer);
newCol.setCellRenderer(getCellRenderer());
newCol.setText(ModelElementIndicatorHelper.getModelElementDisplayName(_modelElementIndicator));
newCol.setWidth(getPreferWidth(index));
newCol.setData(_modelElementIndicator);
newCol.setMoveable(true);
newCol.setResizeable(true);
newCol.setHeaderFont(headerFont);
IRepositoryNode repNode = _modelElementIndicator.getModelElementRepositoryNode();
if (repNode instanceof DBColumnRepNode && ((DBColumnRepNode) repNode).isKey()) {
newCol.setImage(ImageLib.getImage(ImageLib.PK_ICON));
}
newCol.addListener(SWT.Resize, new Listener() {
public void handleEvent(Event event) {
notifyObservers(event);
}
});
newCol.addListener(SWT.Move, new Listener() {
public void handleEvent(Event event) {
notifyObservers(event);
isColumnMoved = true;
}
});
}
recalculateHeader();
// initialize grid contents
createTableContent();
// show fixed column header
setHeaderVisible(true);
setTopLeftRenderer(new TdTopLeftRenderer());
// setCellHeaderSelectionBackground(IndicatorSelectGrid.standardYellow);
setEmptyColumnHeaderRenderer(new TdEmptyColumnHeaderRenderer());
setEmptyRowHeaderRenderer(new TdEmptyCellRenderer());
setEmptyCellRenderer(new TdEmptyCellRenderer());
// show fixed row header
TdRowHeaderRenderer rowHeaderRenderer = new TdRowHeaderRenderer();
setRowHeaderRenderer(rowHeaderRenderer);
rowHeaderRenderer.setTree(true);
rowHeaderRenderer.setWordWrap(false);
setRowHeaderVisible(true);
setLinesVisible(true);
setColumnScrolling(true);
setSelectionEnabled(false);
setCellSelectionEnabled(false);
setRowsResizeable(false);
setItemHeight(21);
setLineColor(lineColor);
setFont(itemFont);
setFocusRenderer(null);
for (GridItem gridItem : getItems()) {
gridItem.setBackground(0, gray);
}
}
use of org.eclipse.nebula.widgets.grid.GridItem in project tdq-studio-se by Talend.
the class AbstractTdCellRenderer method computeSize.
/*
* (non-Javadoc)
*
* @see org.eclipse.nebula.widgets.grid.IRenderer#computeSize(org.eclipse.swt.graphics.GC, int, int,
* java.lang.Object)
*/
public Point computeSize(GC gc, int wHint, int hHint, Object value) {
GridItem item = (GridItem) value;
gc.setFont(item.getFont(getColumn()));
int x = 0;
x += leftMargin;
if (isCheck()) {
x += getBounds().width + insideMargin;
}
int y = 0;
Image image = item.getImage(getColumn());
if (image != null) {
y = topMargin + image.getBounds().height + bottomMargin;
x += image.getBounds().width + insideMargin;
}
return new Point(x, y);
}
use of org.eclipse.nebula.widgets.grid.GridItem in project tdq-studio-se by Talend.
the class SelectPatternsWizard method performFinish.
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.wizard.Wizard#performFinish()
*/
@Override
public boolean performFinish() {
Grid table = patternSelectPage.getTable();
GridColumn[] gridColumns = table.getColumns();
GridItem[] gridItems = table.getItems();
for (GridItem item : gridItems) {
for (GridColumn column : gridColumns) {
int columnIndex = table.indexOf(column);
if (!item.getChecked(columnIndex)) {
// allMatchIndicator.getAllChildIndicators().remove(((Map<?, ?>) item.getData()).get(columnIndex));
patternSelectPage.getTableInputList().get(table.indexOf(item)).put(columnIndex, null);
}
}
}
return true;
}
use of org.eclipse.nebula.widgets.grid.GridItem in project tdq-studio-se by Talend.
the class GridColumnLabelProvider method update.
/**
* {@inheritDoc}
*/
public void update(ViewerCell cell) {
super.update(cell);
Object element = cell.getElement();
String rowText = getRowHeaderText(element);
int colSpan = getColumnSpan(element);
int rowSpan = getRowSpan(element);
GridItem gridItem = (GridItem) cell.getViewerRow().getItem();
if (rowText != null) {
gridItem.setHeaderText(rowText);
}
gridItem.setColumnSpan(cell.getColumnIndex(), colSpan);
gridItem.setRowSpan(cell.getColumnIndex(), rowSpan);
}
Aggregations