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.gef.cloudio.internal.ui.TagCloud
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddMouseListener(MouseListener listener)voidaddMouseMoveListener(MouseMoveListener listener)voidaddMouseTrackListener(MouseTrackListener listener)voidaddMouseWheelListener(MouseWheelListener listener)voidaddSelectionListener(SelectionListener listener)protected voidcalcExtents(IProgressMonitor monitor)Calculates the bounds of each word, by determining theRectanglea path would require to render an element.intgetBoost()floatgetBoostFactor()protected RectanglegetCloudArea()Returns the maximum cloud area.ImageDatagetImageData()Returns theImageDataof the text layer image (all rendered elements, unscaled, without highlighted selection).ILayoutergetLayouter()intgetMaxFontSize()intgetMinFontSize()java.util.Set<Word>getSelection()Returns the set of selected elements.ColorgetSelectionColor()java.util.List<Word>getWords()doublegetZoom()intlayoutCloud(IProgressMonitor monitor, boolean recalc)Does a full relayout of all displayed elements.protected intlayoutWords(java.util.Collection<Word> wordsToUse, IProgressMonitor monitor)Generates the layout of the given words.voidredrawTextLayerImage()voidremoveMouseListener(MouseListener listener)voidremoveMouseMoveListener(MouseMoveListener listener)voidremoveMouseTrackListener(MouseTrackListener listener)voidremoveMouseWheelListener(MouseWheelListener listener)voidremoveSelectionListener(SelectionListener listener)voidsetAntiAlias(boolean enabled)Enable or disable antialiasing.voidsetBackground(Color color)voidsetBackgroundMask(ImageData bgData)Set a background mask to define the drawable area of the cloud.voidsetBoost(int boost)Enable boosting for the firstboostelements.voidsetBoostFactor(float boostFactor)voidsetLayouter(ILayouter layouter)voidsetMaxFontSize(int maxSize)Sets the maximum font size (which must be a value greater 0).voidsetMinFontSize(int size)Sets the minimum font size.voidsetOpacity(int opacity)Sets the opacity of the words, which must be a value between 0 and 255 (inclusive).voidsetSelection(java.util.Set<Word> words)Marks the set of elements as selected.voidsetSelectionColor(Color color)Sets the highlight color of the cloud.intsetWords(java.util.List<Word> values, IProgressMonitor monitor)Sets the given list as input of the tag cloud, replacing any previous content.voidzoomFit()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).voidzoomIn()Zooms in, by the factor of 10 percent.voidzoomOut()Zooms out, by the factor of 10 percent.voidzoomReset()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
-
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, 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, checkWidget, dispose, getData, getData, getDisplay, getListeners, getStyle, isAutoDirection, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, 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 Detail
-
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:
Parameteraccuracydefines the size of the raster used when placing strings, and must be a value greater than0. An accuracy of1will theoretically give best results, as the drawable area is analyzed most detailed, but this will also be very slow.
ParametermaxSizedefines the maximum size of the drawable area and must be a power ofaccuracy, such thataccuracy^n=maxSizeholds.
To add scroll bars to the cloud, useSWT.HORIZONTALandSWT.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, useSWT.HORIZONTALandSWT.VERTICAL. This is a shortcut toTagCloud(Composite, int, int, int), which sets the accuracy to5and the maximum size of the drawable area to5120.- Parameters:
parent-style-
-
-
Method Detail
-
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 theRectanglea path would require to render an element.- Parameters:
monitor-
-
layoutWords
protected int layoutWords(java.util.Collection<Word> wordsToUse, IProgressMonitor monitor)
Generates the layout of the given words.- Parameters:
wordsToUse-monitor- may benull.- Returns:
- the number of words which could be placed
-
setWords
public int setWords(java.util.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 parameterbgDataisnull, the old mask will be removed.- Parameters:
bgData- a square containing black and white pixels only
-
addMouseListener
public void addMouseListener(MouseListener listener)
- Overrides:
addMouseListenerin classControl
-
addMouseMoveListener
public void addMouseMoveListener(MouseMoveListener listener)
- Overrides:
addMouseMoveListenerin classControl
-
addMouseTrackListener
public void addMouseTrackListener(MouseTrackListener listener)
- Overrides:
addMouseTrackListenerin classControl
-
addMouseWheelListener
public void addMouseWheelListener(MouseWheelListener listener)
- Overrides:
addMouseWheelListenerin classControl
-
addSelectionListener
public void addSelectionListener(SelectionListener listener)
-
removeMouseListener
public void removeMouseListener(MouseListener listener)
- Overrides:
removeMouseListenerin classControl
-
removeMouseMoveListener
public void removeMouseMoveListener(MouseMoveListener listener)
- Overrides:
removeMouseMoveListenerin classControl
-
removeMouseTrackListener
public void removeMouseTrackListener(MouseTrackListener listener)
- Overrides:
removeMouseTrackListenerin classControl
-
removeMouseWheelListener
public void removeMouseWheelListener(MouseWheelListener listener)
- Overrides:
removeMouseWheelListenerin classControl
-
removeSelectionListener
public void removeSelectionListener(SelectionListener listener)
-
setSelection
public void setSelection(java.util.Set<Word> words)
Marks the set of elements as selected.- Parameters:
words- must not benull.
-
redrawTextLayerImage
public void redrawTextLayerImage()
-
getSelection
public java.util.Set<Word> getSelection()
Returns the set of selected elements. Never returnsnull.- 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:
setBackgroundin classControl
-
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 ofaccuracyis recommended). By default, this value is 12.- Parameters:
size-
-
getImageData
public ImageData getImageData()
Returns theImageDataof 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 firstboostelements. 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 java.util.List<Word> getWords()
-
getLayouter
public ILayouter getLayouter()
-
-