⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tableviewswtimpl.java

📁 java 文件下载器。可自定义
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
			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 + -