Class TableViewPainted
- java.lang.Object
-
- com.biglybt.ui.common.table.impl.TableViewImpl<java.lang.Object>
-
- com.biglybt.ui.swt.views.table.painted.TableViewPainted
-
- All Implemented Interfaces:
ParameterListener
,MessageText.MessageTextListener
,AEDiagnosticsEvidenceGenerator
,TableStructureModificationListener<java.lang.Object>
,TableView<java.lang.Object>
,BubbleTextBox.BubbleTextBoxChangeListener
,ObfuscateImage
,TableViewSWT<java.lang.Object>
public class TableViewPainted extends TableViewImpl<java.lang.Object> implements ParameterListener, TableViewSWT<java.lang.Object>, ObfuscateImage, MessageText.MessageTextListener, BubbleTextBox.BubbleTextBoxChangeListener
A TableView implemented by painting on a canvas TODO: Keyboard Selection Cursor Column move and resize past bounds
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
TableViewPainted.RedrawTableRunnable
private class
TableViewPainted.RefreshTableRunnable
-
Nested classes/interfaces inherited from class com.biglybt.ui.common.table.impl.TableViewImpl
TableViewImpl.filter<DATASOURCETYPE>
-
Nested classes/interfaces inherited from interface com.biglybt.ui.swt.views.table.TableViewSWT
TableViewSWT.ColorRequester
-
-
Field Summary
Fields Modifier and Type Field Description private org.eclipse.swt.graphics.Image
canvasImage
protected org.eclipse.swt.graphics.Rectangle
clientArea
Up to date table client area.private org.eclipse.swt.graphics.Color
colorLine
private int
columnsWidth
private org.eclipse.swt.widgets.Composite
cTable
private static boolean
DEBUG_REDRAW_CLIP
private static boolean
DEBUG_ROWCHANGE
private static boolean
DEBUG_WITH_SHELL
private int
defaultRowHeight
private boolean
destroying
static boolean
DIRECT_DRAW
private org.eclipse.swt.dnd.DragSource
dragSource
private org.eclipse.swt.dnd.DropTarget
dropTarget
private boolean
enableTabViews
private static boolean
expand_enabled_default
private boolean
expandEnabled
protected boolean
extendedErase
private boolean
filterSubRows
private TableRowPainted
focusedRow
protected int
graphicsUpdate
How often graphic cells get updatedprivate static boolean
hasGetScrollBarMode
private org.eclipse.swt.widgets.ScrollBar
hBar
private TableHeaderPainted
header
private java.lang.Object
heightChangeSync
protected float
iHeightEM
private boolean
in_swt_updateCanvasImage
protected boolean
isDragging
protected boolean
isFocused
private boolean
isMultiSelect
private boolean
isVisible
private int
lastMC
private int
lineHeight
private int
loopFactor
private org.eclipse.swt.widgets.Composite
mainComposite
private TableViewSWTPanelCreator
mainPanelCreator
private org.eclipse.swt.widgets.Menu
menu
static java.lang.String
MENUKEY_COLUMN
static java.lang.String
MENUKEY_IN_BLANK_AREA
static java.lang.String
MENUKEY_IS_HEADER
private java.util.concurrent.atomic.AtomicInteger
mutationCount
private java.util.Map<TableColumnCore,TableColumnPainted>
paintedColumns
private java.util.List<TableRowPainted>
pending_rows
(package private) boolean
qdRowHeightChanged
private FrequencyLimitedDispatcher
redraw_dispatcher
private int
redrawTableDisabled
private boolean
redrawTableScheduled
private FrequencyLimitedDispatcher
refresh_dispatcher
private TableViewPainted.RefreshTableRunnable
refreshTableRunnable
protected int
reOrderDelay
private org.eclipse.swt.widgets.Canvas
sCanvasImage
private java.lang.String
sDefaultSortOn
private org.eclipse.swt.widgets.Shell
shell
private boolean
tabViewsExpandedByDefault
private int
totalHeight
private TableViewSWT_Common
tvSWTCommon
private TableViewSWT_TabsCommon
tvTabsCommon
private org.eclipse.swt.widgets.ScrollBar
vBar
(package private) FrequencyLimitedDispatcher
vbarDispatcher
(package private) java.util.LinkedHashSet<TableRowPainted>
visibleRows
Rows visible to user.private java.lang.Object
visibleRows_sync
-
Fields inherited from class com.biglybt.ui.common.table.impl.TableViewImpl
configMan, DEBUG_SELECTION, DEBUGADDREMOVE, filter, propertiesPrefix, tableID
-
-
Constructor Summary
Constructors Constructor Description TableViewPainted(java.lang.Class<?> pluginDataSourceType, java.lang.String _sTableID, java.lang.String _sPropertiesPrefix, TableColumnCore[] _basicItems, java.lang.String _sDefaultSortOn, int _iTableStyle)
Main Initializer
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
__refreshTable(boolean bForceSort)
void
addKeyListener(org.eclipse.swt.events.KeyListener listener)
void
addMenuFillListener(TableViewSWTMenuFillListener l)
void
addRowMouseListener(TableRowMouseListener listener)
void
addRowPaintListener(TableRowSWTPaintListener listener)
void
bubbleTextBoxChanged(BubbleTextBox bubbleTextBox)
boolean
canHaveSubItems()
void
clipboardSelected()
Send Selected rows to the clipboard in a SpreadSheet friendly format (tab/cr delimited)void
columnOrderChanged(int[] iPositions)
void
columnSizeChanged(TableColumnCore tableColumn, int diff)
org.eclipse.swt.dnd.DragSource
createDragSource(int style)
Set a Drag Source and handle its disposal.org.eclipse.swt.dnd.DropTarget
createDropTarget(int style)
Set a Drop Target and handle its disposal
Should be called onTableLifeCycleListener.EVENT_TABLELIFECYCLE_INITIALIZED
event triggerorg.eclipse.swt.widgets.Composite
createMainPanel(org.eclipse.swt.widgets.Composite composite)
Creates a composite within the specified composite and sets its layout to a default FillLayout().private org.eclipse.swt.widgets.Menu
createMenu()
TableRowCore
createNewRow(java.lang.Object object)
void
delete()
void
disableFilterCheck()
void
disableSizeSlider()
void
editCell(TableColumnCore column, int row)
void
enableFilterCheck(BubbleTextBox txtFilter, TableViewFilterCheck<java.lang.Object> filterCheck)
void
enableFilterCheck(BubbleTextBox filterBox, TableViewFilterCheck<java.lang.Object> filterCheck, boolean filterSubRows)
void
enableFilterCheck(org.eclipse.swt.widgets.Text txtFilter, TableViewFilterCheck<java.lang.Object> filterCheck)
boolean
enableSizeSlider(org.eclipse.swt.widgets.Composite composite, int min, int max)
void
expandColumns()
private void
forceDebugShellRefresh(org.eclipse.swt.graphics.Rectangle bounds)
void
generate(IndentWriter writer)
org.eclipse.swt.graphics.Rectangle
getClientArea()
private org.eclipse.swt.graphics.Color
getColorLine()
protected TableColumnPainted
getColumnPainted(TableColumnCore c)
org.eclipse.swt.widgets.Composite
getComposite()
protected boolean
getFilterSubRows()
TableRowCore
getFocusedRow()
org.eclipse.swt.events.KeyListener[]
getKeyListeners()
private TableRowPainted
getLastVisibleRow()
int
getLineHeight()
protected TableViewSWTPanelCreator
getMainPanelCreator()
int
getMaxItemShown()
protected TableRowCore
getNextRow(TableRowCore relativeToRow)
void
getOffUIThread(AERunnable runnable)
protected TableRowCore
getPreviousRow(TableRowCore relativeToRow)
TableRowCore
getRow(int x, int y)
TableRowCore
getRow(org.eclipse.swt.dnd.DropTargetEvent event)
int
getRowDefaultHeight()
TableRowSWT
getRowSWT(java.lang.Object dataSource)
private int
getScrollbarsMode()
TableViewSWTFilter<?>
getSWTFilter()
java.lang.Object
getSyncObject()
TableCellCore
getTableCell(int x, int y)
org.eclipse.swt.graphics.Point
getTableCellMouseOffset(TableCellSWT tableCell)
TableCellCore
getTableCellWithCursor()
TableColumnCore
getTableColumnByOffset(int mouseX)
org.eclipse.swt.widgets.Composite
getTableComposite()
TableRowSWT
getTableRow(int x, int y, boolean anyX)
TableRowCore
getTableRowWithCursor()
Retrieves the row that has the cursor over itTableViewCreator
getTableViewCreator()
TableViewSWT_TabsCommon
getTabsCommon()
boolean
getTabViewsExpandedByDefault()
TableRowCore[]
getVisibleRows()
boolean
hasChangesPending()
boolean
hasFilterControl()
void
initialize(UISWTView parentView, org.eclipse.swt.widgets.Composite parent)
void
initialize(org.eclipse.swt.widgets.Composite parent)
void
invokePaintListeners(org.eclipse.swt.graphics.GC gc, TableRowCore row, TableColumnCore column, org.eclipse.swt.graphics.Rectangle cellArea)
void
invokeRowMouseListener(TableRowMouseEvent event)
boolean
isDisposed()
boolean
isDragging()
boolean
isEnabled()
boolean
isExpandEnabled()
protected boolean
isRowPartiallyVisible(TableRowPainted row)
boolean
isRowVisible(TableRowCore row)
boolean
isSingleSelection()
protected boolean
isTableFocused()
boolean
isTableSelected()
boolean
isTabViewsEnabled()
boolean
isVisible()
void
localeChanged(java.util.Locale old_locale, java.util.Locale new_locale)
org.eclipse.swt.graphics.Image
obfuscatedImage(org.eclipse.swt.graphics.Image image)
void
openFilterDialog()
void
packColumns()
void
parameterChanged(java.lang.String parameterName)
Called, when a parameter has changed.private java.lang.String
prettyIndex(TableRowCore row)
private void
recalculateVisibleRows(TableRowCore[] rows, int yStart, java.util.List<TableRowSWT> newVisibleRows, java.util.List<TableRowSWT> rowsStayedVisibleButMoved)
void
redrawRow(TableRowPainted row, boolean immediateRedraw)
void
redrawTable()
void
refreshTable(boolean bForceSort)
void
removeAllTableRows()
Remove all the data sources (table rows) from the table.void
removeKeyListener(org.eclipse.swt.events.KeyListener listener)
void
removeRowMouseListener(TableRowMouseListener listener)
void
removeRowPaintListener(TableRowSWTPaintListener listener)
void
requestFocus(int reason)
protected void
rowCreated()
void
rowHeightChanged(TableRowCore row, int oldHeight, int newHeight)
void
scrollVertically(int distance)
protected void
selectRowsTo(TableRowCore clickedRow)
void
setEnabled(boolean enable)
void
setEnableTabViews(boolean enableTabViews, boolean expandByDefault)
void
setExpandEnabled(boolean b)
void
setFilterText(java.lang.String s, boolean force)
void
setFocusedRow(TableRowCore row)
void
setHeaderVisible(boolean visible)
void
setMainPanelCreator(TableViewSWTPanelCreator mainPanelCreator)
void
setMaxItemShown(int newIndex)
void
setRedrawEnabled(boolean enabled)
void
setRowDefaultHeight(int iHeight)
void
setRowDefaultHeightEM(float lineHeight)
void
setRowDefaultHeightPX(int iHeight)
void
setRowSelected(TableRowCore row, boolean selected, boolean trigger)
void
setSelectedRows(TableRowCore[] newSelectionArray, boolean trigger)
void
showRow(TableRowCore rowToShow)
void
sortOrderChanged()
private void
sortRowsByVisibilityIndex(TableRowCore[] selectedRows)
protected void
swt_calculateClientArea()
protected void
swt_fixupSize()
protected void
swt_paintCanvasImage(org.eclipse.swt.graphics.GC gc, org.eclipse.swt.graphics.Rectangle drawBounds)
protected void
swt_paintComposite(org.eclipse.swt.events.PaintEvent e)
void
swt_updateCanvasImage(boolean immediateRedraw)
protected void
swt_updateCanvasImage(org.eclipse.swt.graphics.Rectangle bounds, boolean immediateRedraw)
protected void
swt_vBarChanged()
private void
swt_visibleRowsChanged()
void
tableMutated()
void
tableStructureChanged(boolean columnAddedOrRemoved, java.lang.Class forPluginDataSourceType)
protected void
triggerLifeCycleListener(int eventType)
void
triggerTabViewsDataSourceChanged()
protected void
uiChangeColumnIndicator()
int
uiGuessMaxVisibleRows()
void
uiRemoveRows(TableRowCore[] rows, java.lang.Integer[] rowIndexes)
void
uiSelectionChanged(TableRowCore[] newlySelectedRows, TableRowCore[] deselectedRows)
void
visibleRowsChanged()
-
Methods inherited from class com.biglybt.ui.common.table.impl.TableViewImpl
_sortColumn, addCountChangeListener, addDataSource, addDataSources, addExpansionChangeListener, addLifeCycleListener, addRefreshListener, addRefreshListener, addSelectionListener, addSortColumn, addTableDataSourceChangedListener, cellInvalidate, cellInvalidate, columnInvalidate, columnInvalidate, columnInvalidate, columnInvalidate, dataSourceExists, debug, fillRowGaps, getAllColumns, getColumnCells, getDataSources, getDataSources, getDataSourceType, getFilterText, getFirstSelectedDataSource, getFirstSelectedDataSource, getHeaderVisible, getParentDataSource, getPropertiesPrefix, getRow, getRow, getRowAndSubRowCount, getRowCount, getRowQuick, getRows, getRowsAndSubRows, getRowsSync, getSelectedDataSources, getSelectedDataSources, getSelectedDataSourcesList, getSelectedPluginDataSourcesList, getSelectedRows, getSelectedRowsList, getSelectedRowsSize, getSortColumnCount, getSortColumns, getTableColumn, getTableID, getVisibleColumns, hasPendingDSChanges, hasSortColumn, indexOf, invokeExpansionChangeListeners, invokeRefreshListeners, isColumnVisible, isFiltered, isLastRow, isMenuEnabled, isProvideIndexesOnRemove, isSelected, isUnfilteredDataSourceAdded, numberAllVisibleRows, processDataSourceQueue, processDataSourceQueueSync, reaffirmSelection, refilter, removeCountChangeListener, removeDataSource, removeDataSources, removeExpansionChangeListener, removeRefreshListener, removeTableDataSourceChangedListener, resetLastSortedOn, runForAllRows, runForAllRows, runForSelectedRows, selectAll, setColumnsOrdered, setMenuEnabled, setParentDataSource, setProvideIndexesOnRemove, setSelectedRows, setSortColumns, size, sortRows, tableInvalidate, triggerDefaultSelectedListeners, triggerDeselectionListeners, triggerFocusChangedListeners, triggerListenerRowAdded, triggerListenerRowRemoved, triggerMouseEnterExitRow, triggerSelectionChangeListeners, triggerSelectionListeners, triggerTableRefreshListeners
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.biglybt.ui.common.table.TableView
addCountChangeListener, addDataSource, addDataSources, addExpansionChangeListener, addLifeCycleListener, addRefreshListener, addSelectionListener, addSortColumn, addTableDataSourceChangedListener, columnInvalidate, columnInvalidate, columnInvalidate, dataSourceExists, getAllColumns, getColumnCells, getDataSources, getDataSources, getDataSourceType, getFirstSelectedDataSource, getHeaderVisible, getParentDataSource, getPropertiesPrefix, getRow, getRow, getRowAndSubRowCount, getRowCount, getRows, getRowsAndSubRows, getSelectedDataSources, getSelectedDataSources, getSelectedRows, getSelectedRowsSize, getSortColumnCount, getSortColumns, getTableColumn, getTableID, getVisibleColumns, hasSortColumn, indexOf, isColumnVisible, isSelected, isUnfilteredDataSourceAdded, processDataSourceQueue, processDataSourceQueueSync, removeCountChangeListener, removeDataSource, removeDataSources, removeExpansionChangeListener, removeTableDataSourceChangedListener, resetLastSortedOn, runForAllRows, runForAllRows, runForSelectedRows, selectAll, setParentDataSource, setSelectedRows, setSortColumns, size, sortRows
-
Methods inherited from interface com.biglybt.ui.swt.views.table.TableViewSWT
addRefreshListener, getFilterText, getRowQuick, invokeExpansionChangeListeners, invokeRefreshListeners, isFiltered, isMenuEnabled, refilter, removeRefreshListener, setMenuEnabled, tableInvalidate, triggerDefaultSelectedListeners
-
-
-
-
Field Detail
-
hasGetScrollBarMode
private static final boolean hasGetScrollBarMode
-
DEBUG_ROWCHANGE
private static final boolean DEBUG_ROWCHANGE
- See Also:
- Constant Field Values
-
DEBUG_WITH_SHELL
private static final boolean DEBUG_WITH_SHELL
- See Also:
- Constant Field Values
-
DIRECT_DRAW
public static final boolean DIRECT_DRAW
-
DEBUG_REDRAW_CLIP
private static final boolean DEBUG_REDRAW_CLIP
- See Also:
- Constant Field Values
-
expand_enabled_default
private static final boolean expand_enabled_default
-
MENUKEY_IN_BLANK_AREA
public static final java.lang.String MENUKEY_IN_BLANK_AREA
- See Also:
- Constant Field Values
-
MENUKEY_IS_HEADER
public static final java.lang.String MENUKEY_IS_HEADER
- See Also:
- Constant Field Values
-
MENUKEY_COLUMN
public static final java.lang.String MENUKEY_COLUMN
- See Also:
- Constant Field Values
-
cTable
private org.eclipse.swt.widgets.Composite cTable
-
loopFactor
private int loopFactor
-
graphicsUpdate
protected int graphicsUpdate
How often graphic cells get updated
-
reOrderDelay
protected int reOrderDelay
-
extendedErase
protected boolean extendedErase
-
defaultRowHeight
private int defaultRowHeight
-
lineHeight
private int lineHeight
-
iHeightEM
protected float iHeightEM
-
visibleRows
java.util.LinkedHashSet<TableRowPainted> visibleRows
Rows visible to user. We assume this list is always up to date
-
visibleRows_sync
private final java.lang.Object visibleRows_sync
-
clientArea
protected org.eclipse.swt.graphics.Rectangle clientArea
Up to date table client area. So far, the best places to refresh this variable are in the PaintItem event and the scrollbar's events. Typically table.getClientArea() is time consuming
-
isVisible
private boolean isVisible
-
shell
private org.eclipse.swt.widgets.Shell shell
-
colorLine
private org.eclipse.swt.graphics.Color colorLine
-
canvasImage
private org.eclipse.swt.graphics.Image canvasImage
-
sDefaultSortOn
private final java.lang.String sDefaultSortOn
-
tvSWTCommon
private TableViewSWT_Common tvSWTCommon
-
tvTabsCommon
private TableViewSWT_TabsCommon tvTabsCommon
-
mainPanelCreator
private TableViewSWTPanelCreator mainPanelCreator
-
isMultiSelect
private boolean isMultiSelect
-
columnsWidth
private int columnsWidth
-
menu
private org.eclipse.swt.widgets.Menu menu
-
focusedRow
private TableRowPainted focusedRow
-
enableTabViews
private boolean enableTabViews
-
tabViewsExpandedByDefault
private boolean tabViewsExpandedByDefault
-
isDragging
protected boolean isDragging
-
mainComposite
private org.eclipse.swt.widgets.Composite mainComposite
-
heightChangeSync
private java.lang.Object heightChangeSync
-
totalHeight
private int totalHeight
-
redrawTableScheduled
private boolean redrawTableScheduled
-
redrawTableDisabled
private int redrawTableDisabled
-
hBar
private org.eclipse.swt.widgets.ScrollBar hBar
-
vBar
private org.eclipse.swt.widgets.ScrollBar vBar
-
sCanvasImage
private org.eclipse.swt.widgets.Canvas sCanvasImage
-
filterSubRows
private boolean filterSubRows
-
expandEnabled
private boolean expandEnabled
-
mutationCount
private java.util.concurrent.atomic.AtomicInteger mutationCount
-
lastMC
private volatile int lastMC
-
header
private TableHeaderPainted header
-
dragSource
private org.eclipse.swt.dnd.DragSource dragSource
-
dropTarget
private org.eclipse.swt.dnd.DropTarget dropTarget
-
destroying
private boolean destroying
-
refreshTableRunnable
private TableViewPainted.RefreshTableRunnable refreshTableRunnable
-
refresh_dispatcher
private FrequencyLimitedDispatcher refresh_dispatcher
-
redraw_dispatcher
private FrequencyLimitedDispatcher redraw_dispatcher
-
isFocused
protected boolean isFocused
-
vbarDispatcher
FrequencyLimitedDispatcher vbarDispatcher
-
paintedColumns
private java.util.Map<TableColumnCore,TableColumnPainted> paintedColumns
-
in_swt_updateCanvasImage
private boolean in_swt_updateCanvasImage
-
qdRowHeightChanged
boolean qdRowHeightChanged
-
pending_rows
private java.util.List<TableRowPainted> pending_rows
-
-
Constructor Detail
-
TableViewPainted
public TableViewPainted(java.lang.Class<?> pluginDataSourceType, java.lang.String _sTableID, java.lang.String _sPropertiesPrefix, TableColumnCore[] _basicItems, java.lang.String _sDefaultSortOn, int _iTableStyle)
Main Initializer- Parameters:
_sTableID
- Which table to handle (seeTableManager
). Config settings are stored with the prefix of "Table.TableID"_sPropertiesPrefix
- Prefix for retrieving text from the properties file (MessageText). Typically TableID + "View"_basicItems
- Column Definitions_sDefaultSortOn
- Column name to sort on if user hasn't chosen one yet_iTableStyle
- SWT style constants used when creating the table
-
-
Method Detail
-
sortRowsByVisibilityIndex
private void sortRowsByVisibilityIndex(TableRowCore[] selectedRows)
-
isRowPartiallyVisible
protected boolean isRowPartiallyVisible(TableRowPainted row)
-
selectRowsTo
protected void selectRowsTo(TableRowCore clickedRow)
-
getPreviousRow
protected TableRowCore getPreviousRow(TableRowCore relativeToRow)
-
getNextRow
protected TableRowCore getNextRow(TableRowCore relativeToRow)
-
clipboardSelected
public void clipboardSelected()
Description copied from interface:TableView
Send Selected rows to the clipboard in a SpreadSheet friendly format (tab/cr delimited)- Specified by:
clipboardSelected
in interfaceTableView<java.lang.Object>
-
isDisposed
public boolean isDisposed()
- Specified by:
isDisposed
in interfaceTableView<java.lang.Object>
- Returns:
-
getVisibleRows
public TableRowCore[] getVisibleRows()
- Specified by:
getVisibleRows
in interfaceTableView<java.lang.Object>
-
hasChangesPending
public boolean hasChangesPending()
- Specified by:
hasChangesPending
in interfaceTableView<java.lang.Object>
-
refreshTable
public void refreshTable(boolean bForceSort)
- Specified by:
refreshTable
in interfaceTableView<java.lang.Object>
- Overrides:
refreshTable
in classTableViewImpl<java.lang.Object>
-
__refreshTable
private void __refreshTable(boolean bForceSort)
-
setEnableTabViews
public void setEnableTabViews(boolean enableTabViews, boolean expandByDefault)
- Specified by:
setEnableTabViews
in interfaceTableView<java.lang.Object>
-
isTabViewsEnabled
public boolean isTabViewsEnabled()
- Specified by:
isTabViewsEnabled
in interfaceTableViewSWT<java.lang.Object>
-
getTabViewsExpandedByDefault
public boolean getTabViewsExpandedByDefault()
- Specified by:
getTabViewsExpandedByDefault
in interfaceTableViewSWT<java.lang.Object>
-
requestFocus
public void requestFocus(int reason)
- Specified by:
requestFocus
in interfaceTableViewSWT<java.lang.Object>
- Parameters:
reason
- 1=selected content changed, 2=search filter left
-
setRowDefaultHeightEM
public void setRowDefaultHeightEM(float lineHeight)
- Specified by:
setRowDefaultHeightEM
in interfaceTableView<java.lang.Object>
-
setRowDefaultHeight
public void setRowDefaultHeight(int iHeight)
- Specified by:
setRowDefaultHeight
in interfaceTableView<java.lang.Object>
- Parameters:
iHeight
- Height will be adjusted for larger DPI
-
setRowDefaultHeightPX
public void setRowDefaultHeightPX(int iHeight)
- Specified by:
setRowDefaultHeightPX
in interfaceTableView<java.lang.Object>
-
getLineHeight
public int getLineHeight()
-
getRow
public TableRowCore getRow(int x, int y)
-
isRowVisible
public boolean isRowVisible(TableRowCore row)
- Specified by:
isRowVisible
in interfaceTableView<java.lang.Object>
- Returns:
-
getTableCellWithCursor
public TableCellCore getTableCellWithCursor()
- Specified by:
getTableCellWithCursor
in interfaceTableView<java.lang.Object>
- Returns:
-
getTableRowWithCursor
public TableRowCore getTableRowWithCursor()
Description copied from interface:TableView
Retrieves the row that has the cursor over it- Specified by:
getTableRowWithCursor
in interfaceTableView<java.lang.Object>
- Returns:
- null if mouse isn't over a row
-
getRowDefaultHeight
public int getRowDefaultHeight()
- Specified by:
getRowDefaultHeight
in interfaceTableView<java.lang.Object>
- Returns:
-
setEnabled
public void setEnabled(boolean enable)
- Specified by:
setEnabled
in interfaceTableView<java.lang.Object>
-
canHaveSubItems
public boolean canHaveSubItems()
- Specified by:
canHaveSubItems
in interfaceTableView<java.lang.Object>
-
setExpandEnabled
public void setExpandEnabled(boolean b)
- Specified by:
setExpandEnabled
in interfaceTableViewSWT<java.lang.Object>
-
isExpandEnabled
public boolean isExpandEnabled()
- Specified by:
isExpandEnabled
in interfaceTableViewSWT<java.lang.Object>
-
setHeaderVisible
public void setHeaderVisible(boolean visible)
- Specified by:
setHeaderVisible
in interfaceTableView<java.lang.Object>
- Overrides:
setHeaderVisible
in classTableViewImpl<java.lang.Object>
-
getMaxItemShown
public int getMaxItemShown()
- Specified by:
getMaxItemShown
in interfaceTableView<java.lang.Object>
-
setMaxItemShown
public void setMaxItemShown(int newIndex)
- Specified by:
setMaxItemShown
in interfaceTableView<java.lang.Object>
-
localeChanged
public void localeChanged(java.util.Locale old_locale, java.util.Locale new_locale)
- Specified by:
localeChanged
in interfaceMessageText.MessageTextListener
-
columnOrderChanged
public void columnOrderChanged(int[] iPositions)
- Specified by:
columnOrderChanged
in interfaceTableStructureModificationListener<java.lang.Object>
-
columnSizeChanged
public void columnSizeChanged(TableColumnCore tableColumn, int diff)
- Specified by:
columnSizeChanged
in interfaceTableStructureModificationListener<java.lang.Object>
-
sortOrderChanged
public void sortOrderChanged()
- Specified by:
sortOrderChanged
in interfaceTableStructureModificationListener<java.lang.Object>
-
addKeyListener
public void addKeyListener(org.eclipse.swt.events.KeyListener listener)
- Specified by:
addKeyListener
in interfaceTableViewSWT<java.lang.Object>
-
removeKeyListener
public void removeKeyListener(org.eclipse.swt.events.KeyListener listener)
- Specified by:
removeKeyListener
in interfaceTableViewSWT<java.lang.Object>
-
getKeyListeners
public org.eclipse.swt.events.KeyListener[] getKeyListeners()
- Specified by:
getKeyListeners
in interfaceTableViewSWT<java.lang.Object>
-
addMenuFillListener
public void addMenuFillListener(TableViewSWTMenuFillListener l)
- Specified by:
addMenuFillListener
in interfaceTableViewSWT<java.lang.Object>
-
createDragSource
public org.eclipse.swt.dnd.DragSource createDragSource(int style)
Description copied from interface:TableViewSWT
Set a Drag Source and handle its disposal.
Should be called onTableLifeCycleListener.EVENT_TABLELIFECYCLE_INITIALIZED
event trigger- Specified by:
createDragSource
in interfaceTableViewSWT<java.lang.Object>
-
createDropTarget
public org.eclipse.swt.dnd.DropTarget createDropTarget(int style)
Description copied from interface:TableViewSWT
Set a Drop Target and handle its disposal
Should be called onTableLifeCycleListener.EVENT_TABLELIFECYCLE_INITIALIZED
event trigger- Specified by:
createDropTarget
in interfaceTableViewSWT<java.lang.Object>
-
getComposite
public org.eclipse.swt.widgets.Composite getComposite()
- Specified by:
getComposite
in interfaceTableViewSWT<java.lang.Object>
-
getRow
public TableRowCore getRow(org.eclipse.swt.dnd.DropTargetEvent event)
- Specified by:
getRow
in interfaceTableViewSWT<java.lang.Object>
-
getRowSWT
public TableRowSWT getRowSWT(java.lang.Object dataSource)
- Specified by:
getRowSWT
in interfaceTableViewSWT<java.lang.Object>
- Returns:
-
getTableComposite
public org.eclipse.swt.widgets.Composite getTableComposite()
- Specified by:
getTableComposite
in interfaceTableViewSWT<java.lang.Object>
-
createMainPanel
public org.eclipse.swt.widgets.Composite createMainPanel(org.eclipse.swt.widgets.Composite composite)
Creates a composite within the specified composite and sets its layout to a default FillLayout().- Specified by:
createMainPanel
in interfaceTableViewSWT<java.lang.Object>
- Parameters:
composite
- to create your Composite under- Returns:
- The newly created composite
-
initialize
public void initialize(org.eclipse.swt.widgets.Composite parent)
- Specified by:
initialize
in interfaceTableViewSWT<java.lang.Object>
-
initialize
public void initialize(UISWTView parentView, org.eclipse.swt.widgets.Composite parent)
- Specified by:
initialize
in interfaceTableViewSWT<java.lang.Object>
-
swt_vBarChanged
protected void swt_vBarChanged()
-
rowCreated
protected void rowCreated()
-
tableMutated
public void tableMutated()
- Overrides:
tableMutated
in classTableViewImpl<java.lang.Object>
-
tableStructureChanged
public void tableStructureChanged(boolean columnAddedOrRemoved, java.lang.Class forPluginDataSourceType)
- Specified by:
tableStructureChanged
in interfaceTableStructureModificationListener<java.lang.Object>
- Overrides:
tableStructureChanged
in classTableViewImpl<java.lang.Object>
-
swt_paintComposite
protected void swt_paintComposite(org.eclipse.swt.events.PaintEvent e)
-
swt_paintCanvasImage
protected void swt_paintCanvasImage(org.eclipse.swt.graphics.GC gc, org.eclipse.swt.graphics.Rectangle drawBounds)
-
getColorLine
private org.eclipse.swt.graphics.Color getColorLine()
-
obfuscatedImage
public org.eclipse.swt.graphics.Image obfuscatedImage(org.eclipse.swt.graphics.Image image)
- Specified by:
obfuscatedImage
in interfaceObfuscateImage
- Specified by:
obfuscatedImage
in interfaceTableViewSWT<java.lang.Object>
-
getMainPanelCreator
protected TableViewSWTPanelCreator getMainPanelCreator()
-
getTableViewCreator
public TableViewCreator getTableViewCreator()
- Specified by:
getTableViewCreator
in interfaceTableView<java.lang.Object>
-
setMainPanelCreator
public void setMainPanelCreator(TableViewSWTPanelCreator mainPanelCreator)
- Specified by:
setMainPanelCreator
in interfaceTableViewSWT<java.lang.Object>
-
getTableCell
public TableCellCore getTableCell(int x, int y)
- Specified by:
getTableCell
in interfaceTableViewSWT<java.lang.Object>
- Returns:
-
getTableCellMouseOffset
public org.eclipse.swt.graphics.Point getTableCellMouseOffset(TableCellSWT tableCell)
- Specified by:
getTableCellMouseOffset
in interfaceTableViewSWT<java.lang.Object>
- Returns:
- Offset potision of the cursor relative to the cell the cursor is in
-
enableFilterCheck
public void enableFilterCheck(org.eclipse.swt.widgets.Text txtFilter, TableViewFilterCheck<java.lang.Object> filterCheck)
- Specified by:
enableFilterCheck
in interfaceTableViewSWT<java.lang.Object>
-
enableFilterCheck
public void enableFilterCheck(BubbleTextBox txtFilter, TableViewFilterCheck<java.lang.Object> filterCheck)
- Specified by:
enableFilterCheck
in interfaceTableViewSWT<java.lang.Object>
-
enableFilterCheck
public void enableFilterCheck(BubbleTextBox filterBox, TableViewFilterCheck<java.lang.Object> filterCheck, boolean filterSubRows)
- Specified by:
enableFilterCheck
in interfaceTableViewSWT<java.lang.Object>
-
getFilterSubRows
protected boolean getFilterSubRows()
- Specified by:
getFilterSubRows
in classTableViewImpl<java.lang.Object>
-
hasFilterControl
public boolean hasFilterControl()
- Specified by:
hasFilterControl
in interfaceTableViewSWT<java.lang.Object>
-
getColumnPainted
protected TableColumnPainted getColumnPainted(TableColumnCore c)
-
disableFilterCheck
public void disableFilterCheck()
- Specified by:
disableFilterCheck
in interfaceTableViewSWT<java.lang.Object>
-
setFilterText
public void setFilterText(java.lang.String s, boolean force)
- Specified by:
setFilterText
in interfaceTableViewSWT<java.lang.Object>
-
enableSizeSlider
public boolean enableSizeSlider(org.eclipse.swt.widgets.Composite composite, int min, int max)
- Specified by:
enableSizeSlider
in interfaceTableViewSWT<java.lang.Object>
-
disableSizeSlider
public void disableSizeSlider()
- Specified by:
disableSizeSlider
in interfaceTableViewSWT<java.lang.Object>
-
addRowPaintListener
public void addRowPaintListener(TableRowSWTPaintListener listener)
- Specified by:
addRowPaintListener
in interfaceTableViewSWT<java.lang.Object>
-
removeRowPaintListener
public void removeRowPaintListener(TableRowSWTPaintListener listener)
- Specified by:
removeRowPaintListener
in interfaceTableViewSWT<java.lang.Object>
-
invokePaintListeners
public void invokePaintListeners(org.eclipse.swt.graphics.GC gc, TableRowCore row, TableColumnCore column, org.eclipse.swt.graphics.Rectangle cellArea)
- Specified by:
invokePaintListeners
in interfaceTableViewSWT<java.lang.Object>
-
addRowMouseListener
public void addRowMouseListener(TableRowMouseListener listener)
- Specified by:
addRowMouseListener
in interfaceTableViewSWT<java.lang.Object>
-
removeRowMouseListener
public void removeRowMouseListener(TableRowMouseListener listener)
- Specified by:
removeRowMouseListener
in interfaceTableViewSWT<java.lang.Object>
-
invokeRowMouseListener
public void invokeRowMouseListener(TableRowMouseEvent event)
- Specified by:
invokeRowMouseListener
in interfaceTableViewSWT<java.lang.Object>
-
packColumns
public void packColumns()
- Specified by:
packColumns
in interfaceTableViewSWT<java.lang.Object>
-
parameterChanged
public void parameterChanged(java.lang.String parameterName)
Description copied from interface:ParameterListener
Called, when a parameter has changed. The listener could only react if the parameter name is relevant. Or the listener can just read all parameters again.- Specified by:
parameterChanged
in interfaceParameterListener
- Parameters:
parameterName
- the name of the parameter that has changed
-
createNewRow
public TableRowCore createNewRow(java.lang.Object object)
- Specified by:
createNewRow
in classTableViewImpl<java.lang.Object>
-
visibleRowsChanged
public void visibleRowsChanged()
- Specified by:
visibleRowsChanged
in interfaceTableViewSWT<java.lang.Object>
- Specified by:
visibleRowsChanged
in classTableViewImpl<java.lang.Object>
-
swt_visibleRowsChanged
private void swt_visibleRowsChanged()
-
recalculateVisibleRows
private void recalculateVisibleRows(TableRowCore[] rows, int yStart, java.util.List<TableRowSWT> newVisibleRows, java.util.List<TableRowSWT> rowsStayedVisibleButMoved)
-
uiGuessMaxVisibleRows
public int uiGuessMaxVisibleRows()
- Specified by:
uiGuessMaxVisibleRows
in classTableViewImpl<java.lang.Object>
-
uiRemoveRows
public void uiRemoveRows(TableRowCore[] rows, java.lang.Integer[] rowIndexes)
- Specified by:
uiRemoveRows
in classTableViewImpl<java.lang.Object>
-
getLastVisibleRow
private TableRowPainted getLastVisibleRow()
-
getOffUIThread
public void getOffUIThread(AERunnable runnable)
- Specified by:
getOffUIThread
in classTableViewImpl<java.lang.Object>
-
swt_calculateClientArea
protected void swt_calculateClientArea()
-
forceDebugShellRefresh
private void forceDebugShellRefresh(org.eclipse.swt.graphics.Rectangle bounds)
-
swt_updateCanvasImage
public void swt_updateCanvasImage(boolean immediateRedraw)
-
swt_updateCanvasImage
protected void swt_updateCanvasImage(org.eclipse.swt.graphics.Rectangle bounds, boolean immediateRedraw)
-
getClientArea
public org.eclipse.swt.graphics.Rectangle getClientArea()
- Specified by:
getClientArea
in interfaceTableViewSWT<java.lang.Object>
-
isVisible
public boolean isVisible()
- Specified by:
isVisible
in interfaceTableViewSWT<java.lang.Object>
-
removeAllTableRows
public void removeAllTableRows()
Description copied from interface:TableView
Remove all the data sources (table rows) from the table.- Specified by:
removeAllTableRows
in interfaceTableView<java.lang.Object>
- Overrides:
removeAllTableRows
in classTableViewImpl<java.lang.Object>
-
swt_fixupSize
protected void swt_fixupSize()
-
getScrollbarsMode
private int getScrollbarsMode()
-
uiChangeColumnIndicator
protected void uiChangeColumnIndicator()
- Specified by:
uiChangeColumnIndicator
in classTableViewImpl<java.lang.Object>
-
getTableColumnByOffset
public TableColumnCore getTableColumnByOffset(int mouseX)
- Specified by:
getTableColumnByOffset
in interfaceTableViewSWT<java.lang.Object>
-
getTableRow
public TableRowSWT getTableRow(int x, int y, boolean anyX)
- Specified by:
getTableRow
in interfaceTableViewSWT<java.lang.Object>
-
setSelectedRows
public void setSelectedRows(TableRowCore[] newSelectionArray, boolean trigger)
- Overrides:
setSelectedRows
in classTableViewImpl<java.lang.Object>
-
setRowSelected
public void setRowSelected(TableRowCore row, boolean selected, boolean trigger)
- Specified by:
setRowSelected
in interfaceTableViewSWT<java.lang.Object>
- Overrides:
setRowSelected
in classTableViewImpl<java.lang.Object>
-
editCell
public void editCell(TableColumnCore column, int row)
- Specified by:
editCell
in interfaceTableViewSWT<java.lang.Object>
-
isDragging
public boolean isDragging()
- Specified by:
isDragging
in interfaceTableViewSWT<java.lang.Object>
-
getSWTFilter
public TableViewSWTFilter<?> getSWTFilter()
- Specified by:
getSWTFilter
in interfaceTableViewSWT<java.lang.Object>
-
openFilterDialog
public void openFilterDialog()
- Specified by:
openFilterDialog
in interfaceTableViewSWT<java.lang.Object>
-
isSingleSelection
public boolean isSingleSelection()
- Specified by:
isSingleSelection
in interfaceTableViewSWT<java.lang.Object>
- Specified by:
isSingleSelection
in classTableViewImpl<java.lang.Object>
-
expandColumns
public void expandColumns()
- Specified by:
expandColumns
in interfaceTableViewSWT<java.lang.Object>
-
triggerTabViewsDataSourceChanged
public void triggerTabViewsDataSourceChanged()
- Specified by:
triggerTabViewsDataSourceChanged
in classTableViewImpl<java.lang.Object>
-
getTabsCommon
public TableViewSWT_TabsCommon getTabsCommon()
- Specified by:
getTabsCommon
in interfaceTableViewSWT<java.lang.Object>
-
uiSelectionChanged
public void uiSelectionChanged(TableRowCore[] newlySelectedRows, TableRowCore[] deselectedRows)
- Specified by:
uiSelectionChanged
in classTableViewImpl<java.lang.Object>
-
triggerLifeCycleListener
protected void triggerLifeCycleListener(int eventType)
- Overrides:
triggerLifeCycleListener
in classTableViewImpl<java.lang.Object>
-
delete
public void delete()
- Specified by:
delete
in interfaceTableView<java.lang.Object>
- Overrides:
delete
in classTableViewImpl<java.lang.Object>
-
generate
public void generate(IndentWriter writer)
- Specified by:
generate
in interfaceAEDiagnosticsEvidenceGenerator
- Overrides:
generate
in classTableViewImpl<java.lang.Object>
-
createMenu
private org.eclipse.swt.widgets.Menu createMenu()
-
getFocusedRow
public TableRowCore getFocusedRow()
- Specified by:
getFocusedRow
in interfaceTableView<java.lang.Object>
- Overrides:
getFocusedRow
in classTableViewImpl<java.lang.Object>
- Returns:
-
setFocusedRow
public void setFocusedRow(TableRowCore row)
-
showRow
public void showRow(TableRowCore rowToShow)
- Specified by:
showRow
in interfaceTableViewSWT<java.lang.Object>
-
scrollVertically
public void scrollVertically(int distance)
- Specified by:
scrollVertically
in interfaceTableView<java.lang.Object>
-
rowHeightChanged
public void rowHeightChanged(TableRowCore row, int oldHeight, int newHeight)
-
setRedrawEnabled
public void setRedrawEnabled(boolean enabled)
- Specified by:
setRedrawEnabled
in interfaceTableViewSWT<java.lang.Object>
-
redrawTable
public void redrawTable()
- Specified by:
redrawTable
in classTableViewImpl<java.lang.Object>
-
prettyIndex
private java.lang.String prettyIndex(TableRowCore row)
-
redrawRow
public void redrawRow(TableRowPainted row, boolean immediateRedraw)
-
getSyncObject
public java.lang.Object getSyncObject()
-
isTableSelected
public boolean isTableSelected()
- Specified by:
isTableSelected
in interfaceTableView<java.lang.Object>
- Overrides:
isTableSelected
in classTableViewImpl<java.lang.Object>
-
isTableFocused
protected boolean isTableFocused()
- Specified by:
isTableFocused
in classTableViewImpl<java.lang.Object>
-
isEnabled
public boolean isEnabled()
-
bubbleTextBoxChanged
public void bubbleTextBoxChanged(BubbleTextBox bubbleTextBox)
- Specified by:
bubbleTextBoxChanged
in interfaceBubbleTextBox.BubbleTextBoxChangeListener
-
-