-
Notifications
You must be signed in to change notification settings - Fork 4
Decorators
greipadmin edited this page Dec 17, 2018
·
16 revisions
Decorators are graphical components to visualize data or images. You can also use all decorators for your own widgets.
IDecorator is the interface that is used by controls to paint decorators. All decorators must implement this interface. The base implementation is AbstractDecorator
.
-
void doPaint(GC gc, int x, int y)
, paints the decorator to the specified GC. -
Point getSize()
, returns the size of the decorator
AbstractDecorator is the base implementation of the IDecorator
interface. All decorator implementations are subclasses of this abstract class.
-
AbstractDecorator(Control parent)
-
parent
the parent control to paint the decorator
-
-
void dispose()
, is called when the parent control is disposed -
Display getDisplay()
, returns the display of the parent control -
Control getParent()
, returns the parent control -
void redraw()
, force decorator paintig by redrawing the parent control
Paint an image to the parent control. Supports all image formats supported by ImageLoader
plus animated GIFs.
-
void loadImage(InputStream stream)
, loads an image from input stream -
void loadImage(String filename)
, loads an image from the file -
void setImage(Image image)
, sets an image -
void scaleTo(final Point scaleTo)
, scales the image to the defined size
public static void main(final String[] args) {
final Display display = new Display();
final Shell shell = new Shell(display);
// creates the decorator and sets the image
final ImageDecorator decorator = new ImageDecorator(shell);
decorator.setImage(display.getSystemImage(SWT.ICON_INFORMATION));
// adds a listener to paint the decorator
shell.addListener(SWT.Paint, e -> decorator.doPaint(e.gc, 100, 10));
shell.setText("Greip - ImageDecorator Example");
shell.setSize(300, 100);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) display.sleep();
}
display.dispose();
}
Displays an percentage value as animated graphic.
Displays an absolute value as animated graphic.
-
void setFont(final Font font)
, sets the text font -
void setForeground(final Color color)
, sets the foreground (text) color -
void setInnerDiameter(int innerDiameter)
, sets the inner diameter in pixels -
void setOuterDiameter(int outerDiameter)
, sets the outer diameter in pixels -
void setShowAnimation(boolean animate)
, enables or disables the animation -
void setTreshholdColors(Map<Integer, Color> treshholdMap)
, defines color treshholds -
void setCircleColor(Color color)
, defines the circle color -
void setValue(int value)
, sets the displayed value
You can also use all related getters.
public static void main(final String[] args) {
final Display display = new Display();
final Shell shell = new Shell(display);
// creates the decorator and set value
final CountDecorator decorator = new CountDecorator(shell);
decorator.setValue(234);
decorator.setForeground(display.getSystemColor(SWT.COLOR_BLUE));
// adds a listener to paint the decorator
shell.addListener(SWT.Paint, e -> decorator.doPaint(e.gc, 100, 10));
shell.setText("Greip - CountDecorator Example");
shell.setSize(300, 150);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) display.sleep();
}
display.dispose();
}