1 /*******************************************************************************
2 * Copyright (c) 2007, 2010 Association for Decentralized Information Management
4 * All rights reserved. This program and the accompanying materials
5 * are made available under the terms of the Eclipse Public License v1.0
6 * which accompanies this distribution, and is available at
7 * http://www.eclipse.org/legal/epl-v10.html
10 * VTT Technical Research Centre of Finland - initial API and implementation
11 *******************************************************************************/
12 package org.simantics.g2d.gallery;
14 import org.eclipse.jface.viewers.ArrayContentProvider;
15 import org.eclipse.jface.viewers.BaseLabelProvider;
16 import org.eclipse.swt.graphics.Color;
17 import org.eclipse.swt.layout.FillLayout;
18 import org.eclipse.swt.widgets.Display;
19 import org.eclipse.swt.widgets.Shell;
20 import org.simantics.g2d.diagram.handler.layout.FlowLayout;
21 import org.simantics.g2d.image.DefaultImages;
22 import org.simantics.g2d.image.Image;
23 import org.simantics.utils.datastructures.cache.IProvider;
25 public class GalleryExample {
27 @SuppressWarnings("unchecked")
28 static IProvider<Image>[] content = new IProvider[] {
33 DefaultImages.ERROR_DECORATOR,
34 DefaultImages.HOURGLASS,
38 static class LabelProvider extends BaseLabelProvider implements ILabelProvider {
40 public Image getImage(Object element) {
41 @SuppressWarnings("unchecked")
42 IProvider<Image> img = (IProvider<Image>) element;
46 public String getText(Object element) {
47 return element.toString();
51 public java.awt.Image getToolTipImage(Object object) {
56 public String getToolTipText(Object element) {
57 return element.toString();
61 public Color getToolTipForegroundColor(Object object) {
66 public Color getToolTipBackgroundColor(Object object) {
71 public static void main (String [] args) {
72 Display display = new Display ();
73 Shell shell = new Shell (display);
74 shell.setLayout(new FillLayout());
75 shell.setText("Gallery Example");
78 GalleryViewer viewer = new GalleryViewer(shell);
80 viewer.setContentProvider(new ArrayContentProvider());
81 viewer.setLabelProvider(new LabelProvider());
82 viewer.setAlign(FlowLayout.Align.Left);
83 viewer.setInput(content);
86 shell.setSize (300, 300);
88 while (!shell.isDisposed()) {
89 if (!display.readAndDispatch ()) display.sleep ();