diff org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet007ColorLabelProvider.d @ 99:5d5bd660917f

build some databind snippets
author Frank Benoit <benoit@tionex.de>
date Wed, 22 Apr 2009 18:59:26 +0200
parents 6086085e153d
children e884642ad36e
line wrap: on
line diff
--- a/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet007ColorLabelProvider.d	Wed Apr 22 07:30:21 2009 +0200
+++ b/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet007ColorLabelProvider.d	Wed Apr 22 18:59:26 2009 +0200
@@ -10,7 +10,9 @@
  *     IBM Corporation - see bug 137934
  ******************************************************************************/
 
-package org.eclipse.jface.examples.databinding.snippets;
+module org.eclipse.jface.examples.databinding.snippets.Snippet007ColorLabelProvider;
+
+import java.lang.all;
 
 import java.beans.PropertyChangeListener;
 import java.beans.PropertyChangeSupport;
@@ -48,173 +50,177 @@
  * @since 3.2
  */
 public class Snippet007ColorLabelProvider {
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		final List persons = new ArrayList();
-		persons.add(new Person("Fiona Apple", Person.FEMALE));
-		persons.add(new Person("Elliot Smith", Person.MALE));
-		persons.add(new Person("Diana Krall", Person.FEMALE));
-		persons.add(new Person("David Gilmour", Person.MALE));
+    /**
+     * @param args
+     */
+    public static void main(String[] args) {
+        final List persons = new ArrayList();
+        persons.add(new Person("Fiona Apple", Person.FEMALE));
+        persons.add(new Person("Elliot Smith", Person.MALE));
+        persons.add(new Person("Diana Krall", Person.FEMALE));
+        persons.add(new Person("David Gilmour", Person.MALE));
 
-		final Display display = new Display();
-		Realm.runWithDefault(SWTObservables.getRealm(display), new Runnable() {
-			public void run() {
-				Shell shell = new Shell(display);
-				shell.setText("Gender Bender");
-				shell.setLayout(new GridLayout());
+        final Display display = new Display();
+        Realm.runWithDefault(SWTObservables.getRealm(display), new Runnable() {
+            public void run() {
+                Shell shell = new Shell(display);
+                shell.setText("Gender Bender");
+                shell.setLayout(new GridLayout());
 
-				Table table = new Table(shell, SWT.SINGLE | SWT.H_SCROLL
-						| SWT.V_SCROLL | SWT.BORDER);
-				GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
-				table.setLayoutData(gridData);
-				table.setHeaderVisible(true);
-				table.setLinesVisible(true);
-				TableColumn column = new TableColumn(table, SWT.NONE);
-				column.setText("No");
-				column.setWidth(20);
-				column = new TableColumn(table, SWT.NONE);
-				column.setText("Name");
-				column.setWidth(100);
-				final TableViewer viewer = new TableViewer(table);
+                Table table = new Table(shell, SWT.SINGLE | SWT.H_SCROLL
+                        | SWT.V_SCROLL | SWT.BORDER);
+                GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
+                table.setLayoutData(gridData);
+                table.setHeaderVisible(true);
+                table.setLinesVisible(true);
+                TableColumn column = new TableColumn(table, SWT.NONE);
+                column.setText("No");
+                column.setWidth(20);
+                column = new TableColumn(table, SWT.NONE);
+                column.setText("Name");
+                column.setWidth(100);
+                final TableViewer viewer = new TableViewer(table);
 
-				IObservableList observableList = Observables
-						.staticObservableList(persons);
-				ObservableListContentProvider contentProvider = new ObservableListContentProvider();
+                IObservableList observableList = Observables
+                        .staticObservableList(persons);
+                ObservableListContentProvider contentProvider = new ObservableListContentProvider();
+
+                viewer.setContentProvider(contentProvider);
 
-				viewer.setContentProvider(contentProvider);
+                // this does not have to correspond to the columns in the table,
+                // we just list all attributes that affect the table content.
+                IObservableMap[] attributes = BeansObservables.observeMaps(
+                        contentProvider.getKnownElements(), Person.class,
+                        new String[] { "name", "gender" });
 
-				// this does not have to correspond to the columns in the table,
-				// we just list all attributes that affect the table content.
-				IObservableMap[] attributes = BeansObservables.observeMaps(
-						contentProvider.getKnownElements(), Person.class,
-						new String[] { "name", "gender" });
+                class ColorLabelProvider extends ObservableMapLabelProvider
+                        implements ITableColorProvider {
+                    Color male = display.getSystemColor(SWT.COLOR_BLUE);
 
-				class ColorLabelProvider extends ObservableMapLabelProvider
-						implements ITableColorProvider {
-					Color male = display.getSystemColor(SWT.COLOR_BLUE);
+                    Color female = new Color(display, 255, 192, 203);
 
-					Color female = new Color(display, 255, 192, 203);
-
-					ColorLabelProvider(IObservableMap[] attributes) {
-						super(attributes);
-					}
+                    ColorLabelProvider(IObservableMap[] attributes) {
+                        super(attributes);
+                    }
 
-					// to drive home the point that attributes does not have to
-					// match
-					// the columns
-					// in the table, we change the column text as follows:
-					public String getColumnText(Object element, int index) {
-						if (index == 0) {
-							return Integer
-									.toString(persons.indexOf(element) + 1);
-						}
-						return ((Person) element).getName();
-					}
+                    // to drive home the point that attributes does not have to
+                    // match
+                    // the columns
+                    // in the table, we change the column text as follows:
+                    public String getColumnText(Object element, int index) {
+                        if (index == 0) {
+                            return Integer
+                                    .toString(persons.indexOf(element) + 1);
+                        }
+                        return ((Person) element).getName();
+                    }
+
+                    public Color getBackground(Object element, int index) {
+                        return null;
+                    }
 
-					public Color getBackground(Object element, int index) {
-						return null;
-					}
+                    public Color getForeground(Object element, int index) {
+                        if (index == 0)
+                            return null;
+                        Person person = (Person) element;
+                        return (person.getGender() == Person.MALE) ? male
+                                : female;
+                    }
 
-					public Color getForeground(Object element, int index) {
-						if (index == 0)
-							return null;
-						Person person = (Person) element;
-						return (person.getGender() == Person.MALE) ? male
-								: female;
-					}
+                    public void dispose() {
+                        super.dispose();
+                        female.dispose();
+                    }
+                }
+                viewer.setLabelProvider(new ColorLabelProvider(attributes));
 
-					public void dispose() {
-						super.dispose();
-						female.dispose();
-					}
-				}
-				viewer.setLabelProvider(new ColorLabelProvider(attributes));
+                viewer.setInput(observableList);
 
-				viewer.setInput(observableList);
-
-				table.getColumn(0).pack();
+                table.getColumn(0).pack();
 
-				Button button = new Button(shell, SWT.PUSH);
-				button.setText("Toggle Gender");
-				button.addSelectionListener(new SelectionAdapter() {
-					public void widgetSelected(SelectionEvent arg0) {
-						StructuredSelection selection = (StructuredSelection) viewer
-								.getSelection();
-						if (selection != null && !selection.isEmpty()) {
-							Person person = (Person) selection
-									.getFirstElement();
-							person
-									.setGender((person.getGender() == Person.MALE) ? Person.FEMALE
-											: Person.MALE);
-						}
-					}
-				});
+                Button button = new Button(shell, SWT.PUSH);
+                button.setText("Toggle Gender");
+                button.addSelectionListener(new SelectionAdapter() {
+                    public void widgetSelected(SelectionEvent arg0) {
+                        StructuredSelection selection = (StructuredSelection) viewer
+                                .getSelection();
+                        if (selection != null && !selection.isEmpty()) {
+                            Person person = (Person) selection
+                                    .getFirstElement();
+                            person
+                                    .setGender((person.getGender() == Person.MALE) ? Person.FEMALE
+                                            : Person.MALE);
+                        }
+                    }
+                });
+
+                shell.setSize(300, 400);
+                shell.open();
 
-				shell.setSize(300, 400);
-				shell.open();
+                while (!shell.isDisposed()) {
+                    if (!display.readAndDispatch())
+                        display.sleep();
+                }
+            }
+        });
+        display.dispose();
+    }
 
-				while (!shell.isDisposed()) {
-					if (!display.readAndDispatch())
-						display.sleep();
-				}
-			}
-		});
-		display.dispose();
-	}
+    static class Person {
+        static final int MALE = 0;
+
+        static final int FEMALE = 1;
 
-	static class Person {
-		static final int MALE = 0;
+        private String name;
 
-		static final int FEMALE = 1;
+        private int gender;
 
-		private String name;
-
-		private int gender;
+        private PropertyChangeSupport changeSupport = new PropertyChangeSupport(
+                this);
 
-		private PropertyChangeSupport changeSupport = new PropertyChangeSupport(
-				this);
-
-		Person(String name, int gender) {
-			this.name = name;
-			this.gender = gender;
-		}
+        Person(String name, int gender) {
+            this.name = name;
+            this.gender = gender;
+        }
 
-		/**
-		 * Returns the name. Method declared public to satisfy Java bean
-		 * conventions
-		 * 
-		 * @return the name
-		 */
-		public String getName() {
-			return name;
-		}
+        /**
+         * Returns the name. Method declared public to satisfy Java bean
+         * conventions
+         * 
+         * @return the name
+         */
+        public String getName() {
+            return name;
+        }
+
+        /**
+         * @param listener
+         */
+        public void addPropertyChangeListener(PropertyChangeListener listener) {
+            changeSupport.addPropertyChangeListener(listener);
+        }
 
-		/**
-		 * @param listener
-		 */
-		public void addPropertyChangeListener(PropertyChangeListener listener) {
-			changeSupport.addPropertyChangeListener(listener);
-		}
-
-		public void removePropertyChangeListener(PropertyChangeListener listener) {
-			changeSupport.removePropertyChangeListener(listener);
-		}
+        public void removePropertyChangeListener(PropertyChangeListener listener) {
+            changeSupport.removePropertyChangeListener(listener);
+        }
 
-		/**
-		 * Returns the gender. Method declared public to satisfy Java bean
-		 * conventions
-		 * 
-		 * @return the gender
-		 */
-		public int getGender() {
-			return gender;
-		}
+        /**
+         * Returns the gender. Method declared public to satisfy Java bean
+         * conventions
+         * 
+         * @return the gender
+         */
+        public int getGender() {
+            return gender;
+        }
 
-		void setGender(int gender) {
-			changeSupport.firePropertyChange("gender", this.gender,
-					this.gender = gender);
-		}
-	}
+        void setGender(int gender) {
+            changeSupport.firePropertyChange("gender", this.gender,
+                    this.gender = gender);
+        }
+    }
 }
+
+void main( String[] args ){
+    Snippet007ColorLabelProvider.main(args);
+}