Package org.eclipse.zest.cloudio

# Class TagCloud

java.lang.Object
org.eclipse.swt.widgets.Widget
org.eclipse.swt.widgets.Control
org.eclipse.swt.widgets.Scrollable
org.eclipse.swt.widgets.Composite
org.eclipse.swt.widgets.Canvas
org.eclipse.zest.cloudio.TagCloud

All Implemented Interfaces:
  `Drawable`

public class TagCloud extends Canvas

## Field Summary

### Fields inherited from class org.eclipse.swt.widgets.Control

`view`

## Constructor Summary

Constructors
Constructor
Description
`TagCloud(Composite parent, int style)`
Creates a new Tag cloud on the given parent.
`TagCloud(Composite parent, int style, int accuracy, int maxSize)`
Creates a new Tag cloud on the given parent.

## Method Summary

Modifier and Type
Method
Description
`void`
`addMouseListener(MouseListener listener)`
`void`
`addMouseMoveListener(MouseMoveListener listener)`
`void`
`addMouseTrackListener(MouseTrackListener listener)`
`void`
`addMouseWheelListener(MouseWheelListener listener)`
`void`
`addSelectionListener(SelectionListener listener)`
`protected void`
`calcExtents(IProgressMonitor monitor)`
Calculates the bounds of each word, by determining the `Rectangle` a `Path` would require to render an element.
`int`
`getBoost()`
`float`
`getBoostFactor()`
`protected Rectangle`
`getCloudArea()`
Returns the maximum cloud area.
`ImageData`
`getImageData()`
Returns the `ImageData` of the text layer image (all rendered elements, unscaled, without highlighted selection).
`ILayouter`
`getLayouter()`
`int`
`getMaxFontSize()`
`int`
`getMinFontSize()`
`Set<Word>`
`getSelection()`
Returns the set of selected elements.
`Color`
`getSelectionColor()`
`List<Word>`
`getWords()`
`double`
`getZoom()`
`int`
`layoutCloud(IProgressMonitor monitor, boolean recalc)`
Does a full relayout of all displayed elements.
`protected int`
`layoutWords(Collection<Word> wordsToUse, IProgressMonitor monitor)`
Generates the layout of the given words.
`void`
`redrawTextLayerImage()`
`void`
`removeMouseListener(MouseListener listener)`
`void`
`removeMouseMoveListener(MouseMoveListener listener)`
`void`
`removeMouseTrackListener(MouseTrackListener listener)`
`void`
`removeMouseWheelListener(MouseWheelListener listener)`
`void`
`removeSelectionListener(SelectionListener listener)`
`void`
`setAntiAlias(boolean enabled)`
Enable or disable antialiasing.
`void`
`setBackground(Color color)`
`void`
`setBackgroundMask(ImageData bgData)`
Set a background mask to define the drawable area of the cloud.
`void`
`setBoost(int boost)`
Enable boosting for the first `boost` elements.
`void`
`setBoostFactor(float boostFactor)`
`void`
`setLayouter(ILayouter layouter)`
`void`
`setMaxFontSize(int maxSize)`
Sets the maximum font size (which must be a value greater 0).
`void`
`setMinFontSize(int size)`
Sets the minimum font size.
`void`
`setOpacity(int opacity)`
Sets the opacity of the words, which must be a value between 0 and 255 (inclusive).
`void`
`setSelection(Set<Word> words)`
Marks the set of elements as selected.
`void`
`setSelectionColor(Color color)`
Sets the highlight color of the cloud.
`int`
`setWords(List<Word> values, IProgressMonitor monitor)`
Sets the given list as input of the tag cloud, replacing any previous content.
`void`
`zoomFit()`
Resets the zoom such that the generated cloud will fit extactly into the available space (unless the zoom factor is too small or too large).
`void`
`zoomIn()`
Zooms in, by the factor of 10 percent.
`void`
`zoomOut()`
Zooms out, by the factor of 10 percent.
`void`
`zoomReset()`
Resets the zoom to 100 % (original size)

### Methods inherited from class org.eclipse.swt.widgets.Canvas

`drawBackground, getCaret, getIME, scroll, setCaret, setFont, setIME`

### Methods inherited from class org.eclipse.swt.widgets.Composite

`changed, checkSubclass, computeSize, drawBackground, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, layout, redraw, setBackgroundMode, setFocus, setLayout, setLayoutDeferred, setTabList, toString`

### Methods inherited from class org.eclipse.swt.widgets.Scrollable

`computeTrim, getClientArea, getHorizontalBar, getScrollbarsMode, getVerticalBar, setScrollbarsMode`

### Methods inherited from class org.eclipse.swt.widgets.Control

`addControlListener, addDragDetectListener, addFocusListener, addGestureListener, addHelpListener, addKeyListener, addMenuDetectListener, addPaintListener, addTouchListener, addTraverseListener, computeSize, dragDetect, dragDetect, forceFocus, getAccessible, getBackground, getBackgroundImage, getBorderWidth, getBounds, getCursor, getDragDetect, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getOrientation, getParent, getRegion, getShell, getSize, getTextDirection, getToolTipText, getTouchEnabled, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, print, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeGestureListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removePaintListener, removeTouchListener, removeTraverseListener, requestLayout, setAutoscalingMode, setBackgroundImage, setBounds, setBounds, setCapture, setCursor, setDragDetect, setEnabled, setForeground, setLayoutData, setLocation, setLocation, setMenu, setOrientation, setParent, setRedraw, setRegion, setSize, setSize, setTextDirection, setToolTipText, setTouchEnabled, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, traverse, traverse, update`

### Methods inherited from class org.eclipse.swt.widgets.Widget

`addDisposeListener, addListener, addTypedListener, checkWidget, dispose, getData, getData, getDisplay, getListeners, getStyle, getTypedListeners, isAutoDirection, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, removeListener, removeTypedListener, reskin, setData, setData`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.eclipse.swt.graphics.Drawable

`isAutoScalable`

## 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 of `accuracy`, such that `accuracy^n=maxSize` holds.
To add scroll bars to the cloud, use `SWT.HORIZONTAL` and `SWT.VERTICAL`.

Parameters:
  `parent` -
  `style` -
  `accuracy` -
  `maxSize` -

### 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 extactly 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.

### 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 b&w 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`.

### 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` -

### 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.

### 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()