📄 tableviewswtimpl.java
字号:
final TableViewSWTImpl this$0;
public void mouseDoubleClick(MouseEvent e)
{
TableColumnCore tc = getTableColumnByOffset(e.x);
TableCellSWT cell = getTableCell(e.x, e.y);
if (cell != null && tc != null)
{
TableCellMouseEvent event = createMouseEvent(cell, e, 2);
if (event != null)
{
tc.invokeCellMouseListeners(event);
cell.invokeMouseListeners(event);
if (event.skipCoreFunctionality)
lCancelSelectionTriggeredOn = System.currentTimeMillis();
}
}
}
public void mouseUp(MouseEvent e)
{
TableColumnCore tc = getTableColumnByOffset(e.x);
TableCellSWT cell = getTableCell(e.x, e.y);
if (cell != null && tc != null)
{
TableCellMouseEvent event = createMouseEvent(cell, e, 1);
if (event != null)
{
tc.invokeCellMouseListeners(event);
cell.invokeMouseListeners(event);
if (event.skipCoreFunctionality)
lCancelSelectionTriggeredOn = System.currentTimeMillis();
}
}
}
public void mouseDown(MouseEvent e)
{
updateSelectedRowIndexes();
TableColumnCore tc = getTableColumnByOffset(e.x);
TableCellSWT cell = getTableCell(e.x, e.y);
editCell(-1, -1);
if (cell != null && tc != null)
{
if (e.button == 2 && e.stateMask == 0x40000)
{
((TableCellImpl)cell).bDebug = !((TableCellImpl)cell).bDebug;
System.out.println((new StringBuilder()).append("Set debug for ").append(cell).append(" to ").append(((TableCellImpl)cell).bDebug).toString());
}
TableCellMouseEvent event = createMouseEvent(cell, e, 0);
if (event != null)
{
tc.invokeCellMouseListeners(event);
cell.invokeMouseListeners(event);
if (event.skipCoreFunctionality)
lCancelSelectionTriggeredOn = System.currentTimeMillis();
}
if (tc.isInplaceEdit() && e.button == 1 && lastClickRow == cell.getTableRowCore())
editCell(getColumnNo(e.x), cell.getTableRowCore().getIndex());
if (e.button == 1)
lastClickRow = cell.getTableRowCore();
}
iMouseX = e.x;
if (table.getItemCount() <= 0)
return;
int columnOrder[];
Point pMousePosition = new Point(e.x, e.y);
if (!clientArea.contains(pMousePosition))
break MISSING_BLOCK_LABEL_449;
columnOrder = table.getColumnOrder();
if (columnOrder.length == 0)
return;
Rectangle cellBounds;
TableItem ti = table.getItem(table.getItemCount() - 1);
cellBounds = ti.getBounds(columnOrder[columnOrder.length - 1]);
if (cellBounds.width <= 0 || cellBounds.height <= 0)
return;
try
{
if (e.x > cellBounds.x + cellBounds.width || e.y > cellBounds.y + cellBounds.height)
{
table.deselectAll();
updateSelectedRowIndexes();
}
}
catch (Exception ex)
{
System.out.println("MouseDownError");
Debug.printStackTrace(ex);
}
}
{
this$0 = TableViewSWTImpl.this;
table = table1;
super();
}
});
table.addMouseMoveListener(new MouseMoveListener() {
TableCellSWT lastCell;
int lastCursorID;
final Table val$table;
final TableViewSWTImpl this$0;
public void mouseMove(MouseEvent e)
{
try
{
iMouseX = e.x;
TableCellSWT cell = getTableCell(e.x, e.y);
int iCursorID = 0;
if (cell == null)
lastCell = null;
else
if (cell == lastCell)
{
iCursorID = lastCursorID;
} else
{
iCursorID = cell.getCursorID();
lastCell = cell;
}
if (iCursorID < 0)
iCursorID = 0;
if (iCursorID != lastCursorID)
{
lastCursorID = iCursorID;
if (iCursorID >= 0)
table.setCursor(table.getDisplay().getSystemCursor(iCursorID));
else
table.setCursor(null);
}
if (cell != null)
{
TableCellMouseEvent event = createMouseEvent(cell, e, 3);
if (event != null)
{
TableColumnCore tc = (TableColumnCore)cell.getTableColumn();
if (tc.hasCellMouseMoveListener())
((TableColumnCore)cell.getTableColumn()).invokeCellMouseListeners(event);
cell.invokeMouseListeners(event);
lastCursorID = cell.getCursorID();
}
}
}
catch (Exception ex)
{
Debug.out(ex);
}
}
{
this$0 = TableViewSWTImpl.this;
table = table1;
super();
lastCell = null;
lastCursorID = 0;
}
});
table.addSelectionListener(new SelectionListener() {
int wasSelected[];
final TableViewSWTImpl this$0;
public void widgetSelected(SelectionEvent event)
{
updateSelectedRowIndexes();
Arrays.sort(selectedRowIndexes);
int x = 0;
for (int i = 0; x < wasSelected.length && i < selectedRowIndexes.length; i++)
{
int index = selectedRowIndexes[i];
if (wasSelected[x] == index)
x++;
else
triggerDeselectionListeners(new TableRowCore[] {
getRow(wasSelected[x])
});
}
wasSelected = selectedRowIndexes;
triggerSelectionListeners(new TableRowCore[] {
getRow((TableItem)event.item)
});
triggerTabViewsDataSourceChanged();
}
public void widgetDefaultSelected(SelectionEvent e)
{
if (lCancelSelectionTriggeredOn > 0L && System.currentTimeMillis() - lCancelSelectionTriggeredOn < 200L)
{
e.doit = false;
lCancelSelectionTriggeredOn = -1L;
} else
{
runDefaultAction(e.stateMask);
}
}
{
this$0 = TableViewSWTImpl.this;
super();
wasSelected = new int[0];
}
});
if (SWT.getVersion() > 3200)
table.addListener(39, new Listener() {
final TableViewSWTImpl this$0;
public void handleEvent(Event e)
{
tableInvalidate();
}
{
this$0 = TableViewSWTImpl.this;
super();
}
});
new TableTooltips(this, table);
table.addKeyListener(new KeyListener() {
final Table val$table;
final TableViewSWTImpl this$0;
public void keyPressed(KeyEvent event)
{
Object listeners[] = listenersKey.toArray();
for (int i = 0; i < listeners.length; i++)
{
KeyListener l = (KeyListener)listeners[i];
l.keyPressed(event);
if (!event.doit)
{
lCancelSelectionTriggeredOn = SystemTime.getCurrentTime();
return;
}
}
if (event.keyCode == 0x100000e)
{
if ((event.stateMask & 0x20000) > 0)
runForSelectedRows(new TableGroupRowRunner() {
final 17 this$1;
public void run(TableRowCore row)
{
row.invalidate();
row.refresh(true);
}
{
this$1 = 17.this;
super();
}
});
else
sortColumn(true);
event.doit = false;
return;
}
int key = event.character;
if (key <= 26 && key > 0)
key += 96;
if (event.stateMask == SWT.MOD1)
{
switch (key)
{
case 97: // 'a'
if ((table.getStyle() & 2) > 0)
{
selectAll();
event.doit = false;
}
break;
case 43: // '+'
if (Constants.isUnix)
{
TableColumn tableColumnsSWT[] = table.getColumns();
for (int i = 0; i < tableColumnsSWT.length; i++)
{
TableColumnCore tc = (TableColumnCore)tableColumnsSWT[i].getData("TableColumnCore");
if (tc == null)
continue;
int w = tc.getPreferredWidth();
if (w <= 0)
{
w = tc.getMinWidth();
if (w <= 0)
w = 100;
}
tc.setWidth(w);
}
event.doit = false;
}
break;
}
if (!event.doit)
return;
}
}
public void keyReleased(KeyEvent event)
{
calculateClientArea();
visibleRowsChanged();
Object listeners[] = listenersKey.toArray();
for (int i = 0; i < listeners.length; i++)
{
KeyListener l = (KeyListener)listeners[i];
l.keyReleased(event);
if (!event.doit)
return;
}
}
{
this$0 = TableViewSWTImpl.this;
table = table1;
super();
}
});
ScrollBar bar = table.getVerticalBar();
if (bar != null)
bar.addSelectionListener(new SelectionAdapter() {
final Table val$table;
final TableViewSWTImpl this$0;
public void widgetSelected(SelectionEvent e)
{
visibleRowsChanged();
if (!table.isFocusControl())
table.setFocus();
}
{
this$0 = TableViewSWTImpl.this;
table = table1;
super();
}
});
table.setHeaderVisible(getHeaderVisible());
clientArea = table.getClientArea();
table.addListener(11, new Listener() {
final TableViewSWTImpl this$0;
public void handleEvent(Event event)
{
calculateClientArea();
}
{
this$0 = TableViewSWTImpl.this;
super();
}
});
initializeTableColumns(table);
}
public boolean getHeaderVisible()
{
return headerVisible;
}
public void setHeaderVisible(boolean visible)
{
headerVisible = visible;
if (table != null && !table.isDisposed())
table.setHeaderVisible(visible);
}
protected void calculateClientArea()
{
Rectangle oldClientArea = clientArea;
clientArea = table.getClientArea();
ScrollBar horizontalBar = table.getHorizontalBar();
if (horizontalBar != null)
{
int pos = horizontalBar.getSelection();
if (pos != lastHorizontalPos)
{
lastHorizontalPos = pos;
columnVisibilitiesChanged = true;
}
}
if (oldClientArea != null && (oldClientArea.x != clientArea.x || oldClientArea.width != clientArea.width))
columnVisibilitiesChanged = true;
}
protected void triggerSelectionListeners(TableRowCore rows[])
{
super.triggerSelectionListeners(rows);
}
protected void triggerDeselectionListeners(TableRowCore rows[])
{
super.triggerDeselectionListeners(rows);
}
protected void triggerTabViewsDataSourceChanged()
{
if (tabViews == null || tabViews.size() == 0)
return;
Object dataSourcesCore[] = getSelectedDataSources(true);
Object dataSourcesPlugin[] = null;
for (int i = 0; i < tabViews.size(); i++)
{
IView view = (IView)tabViews.get(i);
if (view == null)
continue;
if (view instanceof UISWTViewImpl)
{
if (dataSourcesPlugin == null)
dataSourcesPlugin = getSelectedDataSources(false);
((UISWTViewImpl)view).dataSourceChanged(((Object) (dataSourcesPlugin.length != 0 ? ((Object) (dataSourcesPlugin)) : null)));
} else
{
view.dataSourceChanged(((Object) (dataSourcesCore.length != 0 ? ((Object) (dataSourcesCore)) : null)));
}
}
}
private void editCell(final int column, final int row)
{
Text oldInput = (Text)editor.getEditor();
if (column >= table.getColumnCount() || row < 0 || row >= table.getItemCount())
{
cellEditNotifier = null;
if (oldInput != null && !oldInput.isDisposed())
editor.getEditor().dispose();
return;
}
TableColumn tcColumn = table.getColumn(column);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -