Class TagCloud

All Implemented Interfaces:
Drawable

public class TagCloud extends Canvas
  • Constructor Details

    • TagCloud

      public TagCloud(Composite parent, int style, int accuracy, int maxSize)
      Creates a new Tag cloud on the given parent. When using this constructor, please read the following carefully:
      Parameter accuracy defines the size of the raster used when placing strings, and must be a value greater than 0. An accuracy of 1 will theoretically give best results, as the drawable area is analyzed most detailed, but this will also be very slow.
      Parameter maxSize defines the maximum size of the drawable area and must be a power of accuracy, such that accuracy^n=maxSize holds.
      To add scroll bars to the cloud, use SWT.HORIZONTAL and SWT.VERTICAL.
      Parameters:
      accuracy -
      maxSize -
      parent -
      style -
    • TagCloud

      public TagCloud(Composite parent, int style)
      Creates a new Tag cloud on the given parent. To add scroll bars to the cloud, use SWT.HORIZONTAL and SWT.VERTICAL. This is a shortcut to TagCloud(Composite, int, int, int), which sets the accuracy to 5 and the maximum size of the drawable area to 5120.
      Parameters:
      parent -
      style -
  • Method Details

    • zoomReset

      public void zoomReset()
      Resets the zoom to 100 % (original size)
    • getZoom

      public double getZoom()
    • zoomFit

      public void zoomFit()
      Resets the zoom such that the generated cloud will fit exactly into the available space (unless the zoom factor is too small or too large).
    • zoomIn

      public void zoomIn()
      Zooms in, by the factor of 10 percent.
    • zoomOut

      public void zoomOut()
      Zooms out, by the factor of 10 percent.
    • getCloudArea

      protected Rectangle getCloudArea()
      Returns the maximum cloud area.
      Returns:
      the maximum cloud area
    • calcExtents

      protected void calcExtents(IProgressMonitor monitor)
      Calculates the bounds of each word, by determining the Rectangle a path would require to render an element.
      Parameters:
      monitor -
    • layoutWords

      protected int layoutWords(Collection<Word> wordsToUse, IProgressMonitor monitor)
      Generates the layout of the given words.
      Parameters:
      wordsToUse -
      monitor - may be null.
      Returns:
      the number of words which could be placed
    • setWords

      public int setWords(List<Word> values, IProgressMonitor monitor)
      Sets the given list as input of the tag cloud, replacing any previous content. By default, available word positions will be determined in-order, starting with the element at position 0.
      Parameters:
      values -
      monitor -
    • setBackgroundMask

      public void setBackgroundMask(ImageData bgData)
      Set a background mask to define the drawable area of the cloud. The image must be a square containing black and white pixels only. It is scaled to the full size of the drawable region. Black pixels are interpreted as used, such that strings will be drawn on white areas only. If parameter bgData is null, the old mask will be removed.
      Parameters:
      bgData - a square containing black and white pixels only
    • addMouseListener

      public void addMouseListener(MouseListener listener)
      Overrides:
      addMouseListener in class Control
    • addMouseMoveListener

      public void addMouseMoveListener(MouseMoveListener listener)
      Overrides:
      addMouseMoveListener in class Control
    • addMouseTrackListener

      public void addMouseTrackListener(MouseTrackListener listener)
      Overrides:
      addMouseTrackListener in class Control
    • addMouseWheelListener

      public void addMouseWheelListener(MouseWheelListener listener)
      Overrides:
      addMouseWheelListener in class Control
    • addSelectionListener

      public void addSelectionListener(SelectionListener listener)
    • removeMouseListener

      public void removeMouseListener(MouseListener listener)
      Overrides:
      removeMouseListener in class Control
    • removeMouseMoveListener

      public void removeMouseMoveListener(MouseMoveListener listener)
      Overrides:
      removeMouseMoveListener in class Control
    • removeMouseTrackListener

      public void removeMouseTrackListener(MouseTrackListener listener)
      Overrides:
      removeMouseTrackListener in class Control
    • removeMouseWheelListener

      public void removeMouseWheelListener(MouseWheelListener listener)
      Overrides:
      removeMouseWheelListener in class Control
    • removeSelectionListener

      public void removeSelectionListener(SelectionListener listener)
    • setSelection

      public void setSelection(Set<Word> words)
      Marks the set of elements as selected.
      Parameters:
      words - must not be null.
    • redrawTextLayerImage

      public void redrawTextLayerImage()
    • getSelection

      public Set<Word> getSelection()
      Returns the set of selected elements. Never returns null.
      Returns:
      the set of selected words
    • setSelectionColor

      public void setSelectionColor(Color color)
      Sets the highlight color of the cloud. Default color is red.
      Parameters:
      color -
    • setBackground

      public void setBackground(Color color)
      Overrides:
      setBackground in class Control
    • layoutCloud

      public int layoutCloud(IProgressMonitor monitor, boolean recalc)
      Does a full relayout of all displayed elements.
      Parameters:
      monitor -
      Returns:
      the number of words that could be placed
    • setMaxFontSize

      public void setMaxFontSize(int maxSize)
      Sets the maximum font size (which must be a value greater 0). Note that strings which are too large to fit into the cloud region will be skipped. By default, this value is 500.
      Parameters:
      maxSize -
    • setOpacity

      public void setOpacity(int opacity)
      Sets the opacity of the words, which must be a value between 0 and 255 (inclusive). Currently not very useful...
      Parameters:
      opacity -
    • setMinFontSize

      public void setMinFontSize(int size)
      Sets the minimum font size. Should be a reasonable value > 0 (twice of accuracy is recommended). By default, this value is 12.
      Parameters:
      size -
    • getImageData

      public ImageData getImageData()
      Returns the ImageData of the text layer image (all rendered elements, unscaled, without highlighted selection). Can be used to print or export the cloud.
      Returns:
      the image data of the text layer image
    • setBoost

      public void setBoost(int boost)
      Enable boosting for the first boost elements. By default, no elements are boosted.
      Parameters:
      boost -
    • setAntiAlias

      public void setAntiAlias(boolean enabled)
      Enable or disable antialiasing. Enabled by default.
      Parameters:
      enabled -
    • setBoostFactor

      public void setBoostFactor(float boostFactor)
    • getSelectionColor

      public Color getSelectionColor()
    • setLayouter

      public void setLayouter(ILayouter layouter)
    • getMaxFontSize

      public int getMaxFontSize()
    • getMinFontSize

      public int getMinFontSize()
    • getBoost

      public int getBoost()
    • getBoostFactor

      public float getBoostFactor()
    • getWords

      public List<Word> getWords()
    • getLayouter

      public ILayouter getLayouter()