Class FakeTableCell

java.lang.Object
com.biglybt.ui.swt.views.table.impl.FakeTableCell
All Implemented Interfaces:
TableCell, TableCellCore, TableCellSWT, Comparable, EventListener, org.eclipse.swt.events.MouseListener, org.eclipse.swt.events.MouseMoveListener, org.eclipse.swt.events.MouseTrackListener, org.eclipse.swt.events.PaintListener, org.eclipse.swt.internal.SWTEventListener

public class FakeTableCell extends Object implements TableCellSWT, org.eclipse.swt.events.PaintListener, org.eclipse.swt.events.MouseListener, org.eclipse.swt.events.MouseMoveListener, org.eclipse.swt.events.MouseTrackListener
  • Field Details

    • this_mon

      private AEMonitor this_mon
    • refreshListeners

      private ArrayList refreshListeners
    • disposeListeners

      private ArrayList disposeListeners
    • tooltipListeners

      private ArrayList tooltipListeners
    • cellMouseListeners

      private ArrayList cellMouseListeners
    • cellMouseMoveListeners

      private ArrayList cellMouseMoveListeners
    • cellVisibilityListeners

      private ArrayList cellVisibilityListeners
    • cellClipboardListeners

      private ArrayList<TableCellClipboardListener> cellClipboardListeners
    • image

      private org.eclipse.swt.graphics.Image image
    • imageBounds

      private org.eclipse.swt.graphics.Rectangle imageBounds
    • marginHeight

      private int marginHeight
    • orientation

      private int orientation
    • marginWidth

      private int marginWidth
    • sortValue

      private Comparable sortValue
    • coreDataSource

      private Object coreDataSource
    • composite

      private org.eclipse.swt.widgets.Composite composite
    • tableColumn

      private final TableColumnCore tableColumn
    • graphic

      private Graphic graphic
    • text

      private String text
    • textEquiv

      private String textEquiv
    • numericValue

      private double numericValue
    • pluginDataSource

      private Object pluginDataSource
    • tooltip

      private Object tooltip
    • default_tooltip

      private Object default_tooltip
    • cellArea

      private org.eclipse.swt.graphics.Rectangle cellArea
    • hadMore

      private boolean hadMore
    • wrapText

      private boolean wrapText
    • cellSWTPaintListeners

      private ArrayList cellSWTPaintListeners
    • valid

      private boolean valid
    • fakeRow

      private TableRow fakeRow
    • userData

      private Map<Object,Object> userData
  • Constructor Details

  • Method Details

    • addRefreshListener

      public void addRefreshListener(TableCellRefreshListener listener)
      Description copied from interface: TableCell
      Adds a listener that triggers when the TableCell needs refreshing
      Specified by:
      addRefreshListener in interface TableCell
      Parameters:
      listener - Listener Object to be called when refresh is needed.
    • removeRefreshListener

      public void removeRefreshListener(TableCellRefreshListener listener)
      Description copied from interface: TableCell
      Remove a previously added TableCellRefreshListener
      Specified by:
      removeRefreshListener in interface TableCell
      Parameters:
      listener - Previously added listener
    • addDisposeListener

      public void addDisposeListener(TableCellDisposeListener listener)
      Description copied from interface: TableCell
      Adds a listener that triggers when the TableCell has been disposed
      Specified by:
      addDisposeListener in interface TableCell
      Parameters:
      listener - listener object to be called
    • removeDisposeListener

      public void removeDisposeListener(TableCellDisposeListener listener)
      Description copied from interface: TableCell
      Remove a previously added TableCellDisposeListener
      Specified by:
      removeDisposeListener in interface TableCell
      Parameters:
      listener - Previously added listener
    • addToolTipListener

      public void addToolTipListener(TableCellToolTipListener listener)
      Description copied from interface: TableCell
      Adds a listener related to tooltip actions
      Specified by:
      addToolTipListener in interface TableCell
      Parameters:
      listener - listener object to be called
    • removeToolTipListener

      public void removeToolTipListener(TableCellToolTipListener listener)
      Description copied from interface: TableCell
      Remove a previously added TableCellToolTipListener
      Specified by:
      removeToolTipListener in interface TableCell
      Parameters:
      listener - Previously added listener
    • addMouseListener

      public void addMouseListener(TableCellMouseListener listener)
      Description copied from interface: TableCell
      Adds a listener that triggers when a TableCell that belongs to this column has a mouse event.
      Specified by:
      addMouseListener in interface TableCell
      Parameters:
      listener -
    • removeMouseListener

      public void removeMouseListener(TableCellMouseListener listener)
      Description copied from interface: TableCell
      Remove a previously added TableCellMouseListener
      Specified by:
      removeMouseListener in interface TableCell
      Parameters:
      listener - Previously added listener
    • addMenuListener

      public void addMenuListener(TableCellMenuListener listener)
      Specified by:
      addMenuListener in interface TableCell
    • removeMenuListener

      public void removeMenuListener(TableCellMenuListener listener)
      Specified by:
      removeMenuListener in interface TableCell
    • addMouseMoveListener

      public void addMouseMoveListener(TableCellMouseMoveListener listener)
    • removeMouseMoveListener

      public void removeMouseMoveListener(TableCellMouseMoveListener listener)
    • addVisibilityListener

      public void addVisibilityListener(TableCellVisibilityListener listener)
    • removeVisibilityListener

      public void removeVisibilityListener(TableCellVisibilityListener listener)
    • addSWTPaintListener

      private void addSWTPaintListener(TableCellSWTPaintListener listener)
      Parameters:
      listenerObject -
      Since:
      4.0.0.1
    • invokeSWTPaintListeners

      public void invokeSWTPaintListeners(org.eclipse.swt.graphics.GC gc)
    • addCellClipboardListener

      private void addCellClipboardListener(TableCellClipboardListener listener)
    • getClipboardText

      public String getClipboardText()
      Description copied from interface: TableCell
      Returns text that's meant for the clipboard
      Specified by:
      getClipboardText in interface TableCell
    • addListeners

      public void addListeners(Object listenerObject)
      Description copied from interface: TableCell
      A listener is added for every type of cell listener the supplied object implements
      Specified by:
      addListeners in interface TableCell
      Parameters:
      listenerObject - Object implementing some cell listeners
    • invokeMouseListeners

      public void invokeMouseListeners(TableCellMouseEvent event)
      Description copied from interface: TableCellCore
      Trigger all the mouse listeners that have been addded to this cell
      Specified by:
      invokeMouseListeners in interface TableCellCore
      Parameters:
      event - event to trigger
    • invokeMenuListeners

      public void invokeMenuListeners(TableCellMenuEvent event)
      Specified by:
      invokeMenuListeners in interface TableCellCore
    • getDataSource

      public Object getDataSource()
      Description copied from interface: TableCell
      Retrieve the data object associated with the current table row and cell. The results of this method MUST NOT BE CACHED. The link between a table cell and a DataSource is not persistent and can change from call to call (for example when the table is re-ordered, the link may be modified)
      Specified by:
      getDataSource in interface TableCell
      Returns:
      The return type is dependent upon which table the cell is for:
      TABLE_MYTORRENTS_*: Download object for the current row
      TABLE_TORRENT_PEERS: Peer object for the current row
      TABLE_TORRENT_FILES: DiskManagerFileInfo object for the current row
      TABLE_MYTRACKER: TrackerTorrent object for the current row
      TABLE_MYSHARES: ShareResource object for the current row
      remaining TABLE_* constants: undefined or null
    • getForeground

      public int[] getForeground()
      Description copied from interface: TableCell
      Get the foreground color of the cell
      Specified by:
      getForeground in interface TableCell
      Returns:
      array containing red, green, and blue color
    • getBackground

      public int[] getBackground()
      Description copied from interface: TableCell
      Get the background color of the cell
      Specified by:
      getBackground in interface TableCell
      Returns:
      array containing red, green, and blue color. Might be null
    • getBackgroundGraphic

      public Graphic getBackgroundGraphic()
      Description copied from interface: TableCell
      Returns a Graphic of what's behind the cell
      Specified by:
      getBackgroundGraphic in interface TableCell
      Returns:
    • getGraphic

      public Graphic getGraphic()
      Description copied from interface: TableCell
      Retrieve the SWT graphic related to this table item for TableColumn objects of TYPE_GRAPHIC only.
      Specified by:
      getGraphic in interface TableCell
      Returns:
      the Image that is draw in the cell, or null if there is none.
    • getHeight

      public int getHeight()
      Description copied from interface: TableCell
      Retrieve the height of the cell's drawing area (excluding any margin) for TableColumn objects of TYPE_GRAPHIC only.
      Specified by:
      getHeight in interface TableCell
      Returns:
      if you are filling the cell, this is the height your image should be
    • getMaxLines

      public int getMaxLines()
      Description copied from interface: TableCell
      Retrieves the number of lines available for setting text
      Specified by:
      getMaxLines in interface TableCell
      Returns:
      # of lines available, -1 if unknown
    • getSortValue

      public Comparable getSortValue()
      Description copied from interface: TableCell
      Retrieves the sorting value
      Specified by:
      getSortValue in interface TableCell
      Returns:
      Object that will be sorted on
    • getTableColumn

      public TableColumn getTableColumn()
      Description copied from interface: TableCell
      Retreive the TableColumn that this cell belongs to
      Specified by:
      getTableColumn in interface TableCell
      Returns:
      this cell's TableColumn
    • getTableID

      public String getTableID()
      Description copied from interface: TableCell
      Returns which table the cell is being displayed in.
      Specified by:
      getTableID in interface TableCell
      Returns:
      TableManager.TABLE_* constant
    • getTableRow

      public TableRow getTableRow()
      Description copied from interface: TableCell
      Retrieve the TableRow that this cell belongs to
      Specified by:
      getTableRow in interface TableCell
      Returns:
      this cell's TableRow
    • getText

      public String getText()
      Description copied from interface: TableCell
      Retrieve the Cell's text
      Specified by:
      getText in interface TableCell
      Returns:
      Cell's text
    • getTextSupplier

      public StringInterner.StringSupplier getTextSupplier()
      Specified by:
      getTextSupplier in interface TableCell
    • getToolTip

      public Object getToolTip()
      Description copied from interface: TableCell
      Retrieve the tooltip object assigned to this cell
      Specified by:
      getToolTip in interface TableCell
      Returns:
      tooltip object
      See Also:
    • getWidth

      public int getWidth()
      Description copied from interface: TableCell
      Retrieve the width of the cell's drawing area (excluding any margin) for TableColumn objects of TYPE_GRAPHIC only.
      Specified by:
      getWidth in interface TableCell
      Returns:
      if you are filling the cell, this is the width your image should be
    • invalidate

      public void invalidate()
      Description copied from interface: TableCell
      Sets the cell to invalid. This will result in a refresh on the next scheduled interval.
      Specified by:
      invalidate in interface TableCell
    • isDisposed

      public boolean isDisposed()
      Description copied from interface: TableCell
      Retrieve whether the cell has been disposed. This will return true after the TableCellDisposeListener is triggered.
      Specified by:
      isDisposed in interface TableCell
      Returns:
      disposal state
    • isShown

      public boolean isShown()
      Description copied from interface: TableCell
      Determines if the user has chosen to display the cell
      Specified by:
      isShown in interface TableCell
      Returns:
      True - User has chosen to display cell
    • isValid

      public boolean isValid()
      Description copied from interface: TableCell
      Validility of the cell's text.
      Specified by:
      isValid in interface TableCell
      Returns:
      True - Text is the same as last call. You do not need to update unless you have new text to display.
      False - Cell-to-Datasource link has changed, and the text is definitely not valid.
    • setFillCell

      public void setFillCell(boolean fillCell)
      Description copied from interface: TableCell
      Sets whether the graphic fills the whole cell for TableColumn objects of TYPE_GRAPHIC only. This may effect how often a refresh of the cell is needed, and effects alignment.
      Specified by:
      setFillCell in interface TableCell
      Parameters:
      fillCell - true - the whole cell is filled by the graphic
    • setWrapText

      public void setWrapText(boolean wrap)
    • setForeground

      public boolean setForeground(int red, int green, int blue)
      Description copied from interface: TableCell
      Change the cell's foreground color.

      pass -1 to return color back to default

      Specified by:
      setForeground in interface TableCell
      Parameters:
      red - red value (0 - 255)
      green - green value (0 - 255)
      blue - blue value (0 - 255)
      Returns:
      True - Color changed.
      False - Color was already set.
    • setForeground

      public boolean setForeground(int[] rgb)
      Description copied from interface: TableCell
      Change the cell's foreground color
      Specified by:
      setForeground in interface TableCell
      Parameters:
      rgb - int array containing red, green, and blue values, respectively. null to return color back to default
      Returns:
    • setForegroundToErrorColor

      public boolean setForegroundToErrorColor()
      Description copied from interface: TableCell
      Change the cell's foreground color to the user's defined "error" color.
      Specified by:
      setForegroundToErrorColor in interface TableCell
      Returns:
      True - Color changed.
      False - Color was already set.
    • setGraphic

      public boolean setGraphic(Graphic img)
      Description copied from interface: TableCell
      Sets the image to be drawn.

      From 3.0.1.1, setting the graphic to the same Graphic object will not redraw the image. You need to TableCell.invalidate() the cell if you know the image bits have changed (or you could pass a new Graphic object in each time a new image is generated)

      Previously, setting the graphic to the same object resulted in a repaint. Plugins were naughty and would do this on every refresh, causing horrible repaint slowdowns.

      Specified by:
      setGraphic in interface TableCell
      Parameters:
      img - image to be stored invalid input: '&' drawn
      Returns:
      true - image was changed.
      false = image was the same
    • setMarginHeight

      public void setMarginHeight(int height)
      Description copied from interface: TableCell
      Specifies the number of pixels of vertical margin that will be placed along the top and bottom edges of the layout for TableColumn objects of TYPE_GRAPHIC only.

      The default is 1.

      Specified by:
      setMarginHeight in interface TableCell
      Parameters:
      height - new margin height
    • setMarginWidth

      public void setMarginWidth(int width)
      Description copied from interface: TableCell
      Specifies the number of pixels of horizontal margin that will be placed along the left and right edges of the layout for TableColumn object of TYPE_GRAPHIC only.

      The default is 1.

      Specified by:
      setMarginWidth in interface TableCell
      Parameters:
      width - new margin width
    • setSortValue

      public boolean setSortValue(Comparable valueToSort)
      Description copied from interface: TableCell
      Sets a Comparable object that column sorting will act on. If you never call setSortValue, your column will be sorted by the cell's text.
      Specified by:
      setSortValue in interface TableCell
      Parameters:
      valueToSort - the object that will be used when the column cell's are compared to each other
      Returns:
      True - Sort Value changed.
      False - Sort Value was already set to object supplied.
    • setSortValue

      public boolean setSortValue(float valueToSort)
      Description copied from interface: TableCell
      Sets a float value that the column sorting will act upon.
      Specified by:
      setSortValue in interface TableCell
      Parameters:
      valueToSort - float sort value
      Returns:
      true if sort value changed, or false if sort value already set to value supplied
    • setText

      public boolean setText(String text)
      Description copied from interface: TableCell
      This method is called to set the cell's text. Caching is done, so that if same text is used several times, there won't be any 'flickering' effect. Ie the text is only updated if it's different from current value.

      This function must be called from the same thread that the GUI is running under. Listeners like TableCellAddedListener do not always get called on the GUI thread.

      If you wish to set the text and not worry about changing to the GUI thread, use TableCell.invalidate(), and set the text in the TableCellRefreshListener

      Specified by:
      setText in interface TableCell
      Parameters:
      text - the text to be set
      Returns:
      True - the text was updated.
      False - the text was the same and not modified.
    • setText

      public boolean setText(StringInterner.StringSupplier supplier)
      Specified by:
      setText in interface TableCell
    • getTextEquivalent

      public String getTextEquivalent()
      Description copied from interface: TableCell
      For image based cells should return a textual equivalent. This is useful for filtering, for example.
      Specified by:
      getTextEquivalent in interface TableCell
      Returns:
      the text value to be used or null if it should be ignored
    • setTextEquivalent

      public void setTextEquivalent(String str)
      Specified by:
      setTextEquivalent in interface TableCell
    • getNumeric

      public double getNumeric()
      Specified by:
      getNumeric in interface TableCell
      Returns:
      numeric value of the cell or Double.NaN if undefined
    • setNumeric

      public void setNumeric(double d)
      Description copied from interface: TableCell
      Set the numeric value of the cell. This is not used for formating, sort order, display, it is purely to allow the numeric value of a cell be set and retrieved
      Specified by:
      setNumeric in interface TableCell
      Parameters:
      d -
    • setToolTip

      public void setToolTip(Object tooltip)
      Description copied from interface: TableCell
      Set the cell's tooltip display.
      Specified by:
      setToolTip in interface TableCell
      Parameters:
      tooltip - Object to display. Currently, only String is supported
      See Also:
    • setDefaultToolTip

      public void setDefaultToolTip(Object o)
      Description copied from interface: TableCellCore
      Sets tooltip to be shown in absence of an explicit one
      Specified by:
      setDefaultToolTip in interface TableCellCore
    • getDefaultToolTip

      public Object getDefaultToolTip()
      Specified by:
      getDefaultToolTip in interface TableCellCore
    • updateTooltip

      private void updateTooltip()
    • _setSortValue

      private boolean _setSortValue(Comparable valueToSort)
    • setSortValue

      public boolean setSortValue(long valueToSort)
      Description copied from interface: TableCell
      Sets a long value that the column sorting will act on.
      Specified by:
      setSortValue in interface TableCell
      Parameters:
      valueToSort - sorting value.
      Returns:
      True - Sort Value changed.
      False - Sort Value was already set to value supplied.
    • doPaint

      public void doPaint(org.eclipse.swt.graphics.GC gc, org.eclipse.swt.graphics.Rectangle bounds)
    • refresh

      public boolean refresh()
      Description copied from interface: TableCellCore
      Refresh the cell, including graphic types
      Specified by:
      refresh in interface TableCellCore
    • setDataSource

      public void setDataSource(Object _coreDataSource)
    • setControl

      public void setControl(org.eclipse.swt.widgets.Composite composite)
    • setControl

      public void setControl(org.eclipse.swt.widgets.Composite composite, org.eclipse.swt.graphics.Rectangle cellArea, boolean addListeners)
    • paintControl

      public void paintControl(org.eclipse.swt.events.PaintEvent e)
      Specified by:
      paintControl in interface org.eclipse.swt.events.PaintListener
    • mouseUp

      public void mouseUp(org.eclipse.swt.events.MouseEvent e)
      Specified by:
      mouseUp in interface org.eclipse.swt.events.MouseListener
    • mouseDown

      public void mouseDown(org.eclipse.swt.events.MouseEvent e)
      Specified by:
      mouseDown in interface org.eclipse.swt.events.MouseListener
    • mouseDoubleClick

      public void mouseDoubleClick(org.eclipse.swt.events.MouseEvent e)
      Specified by:
      mouseDoubleClick in interface org.eclipse.swt.events.MouseListener
    • mouseMove

      public void mouseMove(org.eclipse.swt.events.MouseEvent e)
      Specified by:
      mouseMove in interface org.eclipse.swt.events.MouseMoveListener
    • mouseHover

      public void mouseHover(org.eclipse.swt.events.MouseEvent e)
      Specified by:
      mouseHover in interface org.eclipse.swt.events.MouseTrackListener
    • mouseExit

      public void mouseExit(org.eclipse.swt.events.MouseEvent e)
      Specified by:
      mouseExit in interface org.eclipse.swt.events.MouseTrackListener
    • mouseEnter

      public void mouseEnter(org.eclipse.swt.events.MouseEvent e)
      Specified by:
      mouseEnter in interface org.eclipse.swt.events.MouseTrackListener
    • buildMouseEvent

      protected TableCellMouseEvent buildMouseEvent(org.eclipse.swt.events.MouseEvent e, int eventType)
      Parameters:
      e -
      Returns:
      Since:
      3.0.2.1
    • setOrientationViaColumn

      private void setOrientationViaColumn()
    • dispose

      public void dispose()
      Description copied from interface: TableCellCore
      dispose of the cell
      Specified by:
      dispose in interface TableCellCore
    • getCursorID

      public int getCursorID()
      Description copied from interface: TableCellCore
      Get the cursor ID we are currently using XXX Should NOT be SWT.CURSOR_ constants!
      Specified by:
      getCursorID in interface TableCellCore
      Returns:
    • getObfuscatedText

      public String getObfuscatedText()
      Description copied from interface: TableCellCore
      Return the text used when generating diagnostics
      Specified by:
      getObfuscatedText in interface TableCellCore
      Returns:
    • getTableRowCore

      public TableRowCore getTableRowCore()
      Description copied from interface: TableCellCore
      Retrieve the row that this cell belongs to
      Specified by:
      getTableRowCore in interface TableCellCore
      Returns:
      the row that this cell belongs to
    • getVisuallyChangedSinceRefresh

      public boolean getVisuallyChangedSinceRefresh()
      Description copied from interface: TableCellCore
      Returns whether the cell has visually changed since the last refresh call. Could be used to prevent a refresh, or refresh early.
      Specified by:
      getVisuallyChangedSinceRefresh in interface TableCellCore
      Returns:
      visually changed since refresh state
    • invalidate

      public void invalidate(boolean mustRefresh)
      Specified by:
      invalidate in interface TableCellCore
    • invokeToolTipListeners

      public void invokeToolTipListeners(int type)
      Description copied from interface: TableCellCore
      Trigger all the tooltip listeners that have been added to this cell
      Specified by:
      invokeToolTipListeners in interface TableCellCore
      Parameters:
      type - TableCellCore.TOOLTIPLISTENER_HOVER, TableCellCore.TOOLTIPLISTENER_HOVERCOMPLETE
    • invokeVisibilityListeners

      public void invokeVisibilityListeners(int visibility, boolean invokeColumnListeners)
      Description copied from interface: TableCellCore
      Trigger all the visibility listeners that have been added to this cell.
      Specified by:
      invokeVisibilityListeners in interface TableCellCore
      Parameters:
      visibility - See TableCellVisibilityListener.VISIBILITY_* constants
    • isMouseOver

      public boolean isMouseOver()
      Specified by:
      isMouseOver in interface TableCellCore
    • setMouseOver

      public void setMouseOver(boolean b)
      Specified by:
      setMouseOver in interface TableCellSWT
    • isUpToDate

      public boolean isUpToDate()
      Description copied from interface: TableCellCore
      Returns whether the cell will need updating when it's visible again
      Specified by:
      isUpToDate in interface TableCellCore
      Returns:
    • locationChanged

      public void locationChanged()
      Description copied from interface: TableCellCore
      Location of the cell has changed
      Specified by:
      locationChanged in interface TableCellCore
    • needsPainting

      public boolean needsPainting()
      Description copied from interface: TableCellCore
      Retrieve whether the cell need any paint calls (graphic)
      Specified by:
      needsPainting in interface TableCellCore
      Returns:
      whether the cell needs painting
    • refresh

      public boolean refresh(boolean doGraphics)
      Description copied from interface: TableCellCore
      Refresh the cell
      Specified by:
      refresh in interface TableCellCore
      Parameters:
      doGraphics - Whether to update graphic cells
    • refresh

      public boolean refresh(boolean doGraphics, boolean rowVisible, boolean cellVisible)
      Description copied from interface: TableCellCore
      Refresh the cell. This method overide takes a bRowVisible paramater and a bCellVisible parameter in order to reduce the number of calls to TableRow.isVisible() and calculations of cell visibility.
      Specified by:
      refresh in interface TableCellCore
      Parameters:
      doGraphics - Whether to update graphic cells
      rowVisible - Assumed visibility state of row
      cellVisible - Assumed visibility state of the cell
    • refresh

      public boolean refresh(boolean doGraphics, boolean rowVisible)
      Description copied from interface: TableCellCore
      Refresh the cell. This method override takes a bRowVisible parameter in order to reduce the number of calls to TableRow.isVisible() in cases where multiple cells on the same row are being refreshed.
      Specified by:
      refresh in interface TableCellCore
      Parameters:
      doGraphics - Whether to update graphic cells
      rowVisible - Visibility state of row
    • setCursorID

      public boolean setCursorID(int cursorID)
      Description copied from interface: TableCellCore
      Set the cursor ID that should be used for the cell
      Specified by:
      setCursorID in interface TableCellCore
      Returns:
      changed
    • setUpToDate

      public void setUpToDate(boolean upToDate)
      Description copied from interface: TableCellCore
      Sets whether the cell will need updating when it's visible again
      Specified by:
      setUpToDate in interface TableCellCore
      Parameters:
      upToDate -
    • compareTo

      public int compareTo(Object arg0)
      Specified by:
      compareTo in interface Comparable
    • setOrentation

      public void setOrentation(int o)
    • getCellArea

      public org.eclipse.swt.graphics.Rectangle getCellArea()
    • setCellArea

      public void setCellArea(org.eclipse.swt.graphics.Rectangle cellArea)
    • getMouseOffset

      public int[] getMouseOffset()
      Description copied from interface: TableCell
      Return the position of the mouse relative to the cell.
      Specified by:
      getMouseOffset in interface TableCell
      Returns:
      array of 2 containing x and y position position relative to cell. null if cell doesn't have mouse.
    • getMarginHeight

      public int getMarginHeight()
      Specified by:
      getMarginHeight in interface TableCell
      Returns:
    • getMarginWidth

      public int getMarginWidth()
      Specified by:
      getMarginWidth in interface TableCell
      Returns:
    • refreshAsync

      public void refreshAsync()
      Specified by:
      refreshAsync in interface TableCellCore
    • redraw

      public void redraw()
      Specified by:
      redraw in interface TableCellCore
    • doPaint

      public void doPaint(org.eclipse.swt.graphics.GC gc)
      Description copied from interface: TableCellSWT
      Paint the cell (for graphics)
      Specified by:
      doPaint in interface TableCellSWT
      Parameters:
      gc - GC object to be used for painting
    • getBackgroundImage

      public org.eclipse.swt.graphics.Image getBackgroundImage()
      Specified by:
      getBackgroundImage in interface TableCellSWT
      Returns:
    • getBackgroundSWT

      public org.eclipse.swt.graphics.Color getBackgroundSWT()
      Specified by:
      getBackgroundSWT in interface TableCellSWT
      Returns:
    • getBounds

      public org.eclipse.swt.graphics.Rectangle getBounds()
      Specified by:
      getBounds in interface TableCellSWT
    • getForegroundSWT

      public org.eclipse.swt.graphics.Color getForegroundSWT()
      Specified by:
      getForegroundSWT in interface TableCellSWT
      Returns:
    • getGraphicSWT

      public org.eclipse.swt.graphics.Image getGraphicSWT()
      Specified by:
      getGraphicSWT in interface TableCellSWT
    • getIcon

      public org.eclipse.swt.graphics.Image getIcon()
      Specified by:
      getIcon in interface TableCellSWT
      Returns:
    • getSize

      public org.eclipse.swt.graphics.Point getSize()
      Specified by:
      getSize in interface TableCellSWT
    • getTableRowSWT

      public TableRowSWT getTableRowSWT()
      Specified by:
      getTableRowSWT in interface TableCellSWT
      Returns:
    • getTextAlpha

      public int getTextAlpha()
      Specified by:
      getTextAlpha in interface TableCellSWT
      Returns:
    • setForeground

      public boolean setForeground(org.eclipse.swt.graphics.Color color)
      Description copied from interface: TableCellSWT
      Change the cell's foreground color. NOTE: favor (R, G, B)
      Specified by:
      setForeground in interface TableCellSWT
      Parameters:
      color - SWT Color object.
      Returns:
      True - Color changed.
      False - Color was already set.
    • setGraphic

      public boolean setGraphic(org.eclipse.swt.graphics.Image img)
      Specified by:
      setGraphic in interface TableCellSWT
    • setIcon

      public boolean setIcon(org.eclipse.swt.graphics.Image img)
      Description copied from interface: TableCellSWT
      Set the cell's icon
      Specified by:
      setIcon in interface TableCellSWT
      Parameters:
      img - Cell's new icon
      Returns:
      true if the icon will be used
    • setTextAlpha

      public void setTextAlpha(int textOpacity)
      Specified by:
      setTextAlpha in interface TableCellSWT
      Parameters:
      textOpacity -
    • getBoundsOnDisplay

      public org.eclipse.swt.graphics.Rectangle getBoundsOnDisplay()
      Specified by:
      getBoundsOnDisplay in interface TableCellSWT
    • getTableColumnCore

      public TableColumnCore getTableColumnCore()
      Specified by:
      getTableColumnCore in interface TableCellCore
    • useSimpleSortValue

      public boolean useSimpleSortValue()
      Description copied from interface: TableCell
      When true, cell is part of a multi-column sort, and you should set the cell's sort value based solely on your column's data.

      Common scenario:
      User sorts just by your column, you may want to sort by the main value, and subsort by several secondary values. When user sorts by multiple columns (including yours), your secondary values can prevent other sort columns from being applied.

      Example:
      When sorted by itself, the "unopened" column would look better if sorted by last opened date. However, if useSimpleSortValue is not taken into account, and the user sorts by unopened + name, the order would not necessarily change. The end result would be a sort by unopened, last opened, and then 'bytes downloaded'.

      Specified by:
      useSimpleSortValue in interface TableCell
    • getData

      public Object getData(Object key)
      Specified by:
      getData in interface TableCell
    • setData

      public void setData(Object key, Object data)
      Specified by:
      setData in interface TableCell