Bug 335792 - various small changes to reduce the warning count
diff --git a/bundles/org.eclipse.core.databinding.observable/src/org/eclipse/core/internal/databinding/observable/EmptyObservableList.java b/bundles/org.eclipse.core.databinding.observable/src/org/eclipse/core/internal/databinding/observable/EmptyObservableList.java
index b06b5dd..7aff6ca 100644
--- a/bundles/org.eclipse.core.databinding.observable/src/org/eclipse/core/internal/databinding/observable/EmptyObservableList.java
+++ b/bundles/org.eclipse.core.databinding.observable/src/org/eclipse/core/internal/databinding/observable/EmptyObservableList.java
@@ -71,6 +71,8 @@
* @deprecated use instead the form of the constructor that takes Class as
* the parameter type for the element type
*/
+ // OK to ignore warnings in deprecated methods
+ @SuppressWarnings("unchecked")
public EmptyObservableList(Realm realm, Object elementType) {
this.realm = realm;
this.elementType = elementType;
@@ -92,8 +94,6 @@
* the element type of the constructed list
* @since 1.1
*/
- // We must set deprecated fields in case any one uses them
- @SuppressWarnings("deprecation")
public EmptyObservableList(Realm realm, Class<E> elementType) {
this.realm = realm;
this.elementType = elementType;
diff --git a/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/dialog/ValidationMessageProvider.java b/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/dialog/ValidationMessageProvider.java
index 00fcb10..a5bc340 100644
--- a/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/dialog/ValidationMessageProvider.java
+++ b/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/dialog/ValidationMessageProvider.java
@@ -31,8 +31,7 @@
*/
public String getMessage(ValidationStatusProvider statusProvider) {
if (statusProvider != null) {
- IStatus status = (IStatus) statusProvider.getValidationStatus()
- .getValue();
+ IStatus status = statusProvider.getValidationStatus().getValue();
return status.getMessage();
}
return null;
@@ -49,8 +48,7 @@
return IMessageProvider.NONE;
}
- IStatus status = (IStatus) statusProvider.getValidationStatus()
- .getValue();
+ IStatus status = statusProvider.getValidationStatus().getValue();
int severity = status.getSeverity();
switch (severity) {
case IStatus.OK:
diff --git a/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/fieldassist/ControlDecorationSupport.java b/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/fieldassist/ControlDecorationSupport.java
index 935fdc6..ea143ad 100644
--- a/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/fieldassist/ControlDecorationSupport.java
+++ b/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/fieldassist/ControlDecorationSupport.java
@@ -230,7 +230,7 @@
}
if (target instanceof IViewerObservable) {
- Viewer viewer = ((IViewerObservable) target).getViewer();
+ Viewer viewer = ((IViewerObservable<?>) target).getViewer();
return viewer.getControl();
}
diff --git a/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/swt/SWTObservables.java b/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/swt/SWTObservables.java
index f9959af..d95dd5d 100644
--- a/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/swt/SWTObservables.java
+++ b/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/swt/SWTObservables.java
@@ -29,17 +29,37 @@
import org.eclipse.jface.internal.databinding.swt.SWTDelayedObservableValueDecorator;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CCombo;
+import org.eclipse.swt.custom.CLabel;
+import org.eclipse.swt.custom.CTabItem;
import org.eclipse.swt.custom.StyledText;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Font;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Item;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Link;
import org.eclipse.swt.widgets.List;
+import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swt.widgets.Scale;
+import org.eclipse.swt.widgets.ScrollBar;
+import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Slider;
import org.eclipse.swt.widgets.Spinner;
+import org.eclipse.swt.widgets.TabItem;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.Text;
+import org.eclipse.swt.widgets.ToolItem;
+import org.eclipse.swt.widgets.ToolTip;
+import org.eclipse.swt.widgets.TrayItem;
+import org.eclipse.swt.widgets.TreeColumn;
import org.eclipse.swt.widgets.Widget;
/**
@@ -124,8 +144,12 @@
* @return an observable value tracking the enabled state of the given
* widget.
* @since 1.5
+ * @deprecated use instead one of the more specific methods
+ * observeEnabled(Control), observeEnabled(Menu),
+ * observeEnabled(MenuItem), observeEnabled(ScrollBar),
+ * observeEnabled(ToolItem)
*/
- public static ISWTObservableValue observeEnabled(Widget widget) {
+ public static ISWTObservableValue<Boolean> observeEnabled(Widget widget) {
return WidgetProperties.enabled().observe(widget);
}
@@ -138,8 +162,65 @@
* @return an observable value tracking the enabled state of the given
* control
*/
- public static ISWTObservableValue observeEnabled(Control control) {
- return observeEnabled((Widget) control);
+ public static ISWTObservableValue<Boolean> observeEnabled(Control control) {
+ return WidgetProperties.enabledControl().observe(control);
+ }
+
+ /**
+ * Returns an observable value tracking the enabled state of the given
+ * control
+ *
+ * @param menu
+ * the control to observe
+ * @return an observable value tracking the enabled state of the given
+ * control
+ * @since 1.7
+ */
+ public static ISWTObservableValue<Boolean> observeEnabled(Menu menu) {
+ return WidgetProperties.enabledMenu().observe(menu);
+ }
+
+ /**
+ * Returns an observable value tracking the enabled state of the given
+ * control
+ *
+ * @param menuItem
+ * the menu item to observe
+ * @return an observable value tracking the enabled state of the given menu
+ * item
+ * @since 1.7
+ */
+ public static ISWTObservableValue<Boolean> observeEnabled(MenuItem menuItem) {
+ return WidgetProperties.enabledMenuItem().observe(menuItem);
+ }
+
+ /**
+ * Returns an observable value tracking the enabled state of the given
+ * control
+ *
+ * @param scrollBar
+ * the scroll bar to observe
+ * @return an observable value tracking the enabled state of the given
+ * scroll bar
+ * @since 1.7
+ */
+ public static ISWTObservableValue<Boolean> observeEnabled(
+ ScrollBar scrollBar) {
+ return WidgetProperties.enabledScrollBar().observe(scrollBar);
+ }
+
+ /**
+ * Returns an observable value tracking the enabled state of the given tool
+ * item
+ *
+ * @param toolItem
+ * the control to observe
+ * @return an observable value tracking the enabled state of the given tool
+ * item
+ * @since 1.7
+ */
+ public static ISWTObservableValue<Boolean> observeEnabled(ToolItem toolItem) {
+ return WidgetProperties.enabledToolItem().observe(toolItem);
}
/**
@@ -151,7 +232,7 @@
* @return an observable value tracking the visible state of the given
* control
*/
- public static ISWTObservableValue observeVisible(Control control) {
+ public static ISWTObservableValue<Boolean> observeVisible(Control control) {
return WidgetProperties.visible().observe(control);
}
@@ -170,24 +251,117 @@
*
* @param widget
* @return an observable value tracking the tooltip text of the given item
- *
* @since 1.3
+ * @deprecated use instead one of the more specific methods
+ * observeTooltipText(Control), observeTooltipText(CTabItem),
+ * observeTooltipText(TabItem), observeTooltipText(TableColumn),
+ * observeTooltipText(ToolItem), observeTooltipText(TrayItem),
+ * observeTooltipText(TreeColumn)
*/
- public static ISWTObservableValue observeTooltipText(Widget widget) {
+ public static ISWTObservableValue<Boolean> observeTooltipText(Widget widget) {
return WidgetProperties.tooltipText().observe(widget);
}
/**
- * Returns an observable value tracking the tooltip text of the given
+ * Returns an observable value tracking the tool-tip text of the given
* control
*
* @param control
* the control to observe
- * @return an observable value tracking the tooltip text of the given
+ * @return an observable value tracking the tool-tip text of the given
* control
*/
- public static ISWTObservableValue observeTooltipText(Control control) {
- return observeTooltipText((Widget) control);
+ public static ISWTObservableValue<String> observeTooltipText(Control control) {
+ return WidgetProperties.tooltipControl().observe(control);
+ }
+
+ /**
+ * Returns an observable value tracking the tool-tip text of the given
+ * custom tab item
+ *
+ * @param cTabItem
+ * the control to observe
+ * @return an observable value tracking the tool-tip text of the given
+ * custom tab item
+ * @since 1.7
+ */
+ public static ISWTObservableValue<String> observeTooltipText(
+ CTabItem cTabItem) {
+ return WidgetProperties.tooltipCTabItem().observe(cTabItem);
+ }
+
+ /**
+ * Returns an observable value tracking the tool-tip text of the given tab
+ * item
+ *
+ * @param tabItem
+ * the control to observe
+ * @return an observable value tracking the tool-tip text of the given tab
+ * item
+ * @since 1.7
+ */
+ public static ISWTObservableValue<String> observeTooltipText(TabItem tabItem) {
+ return WidgetProperties.tooltipTabItem().observe(tabItem);
+ }
+
+ /**
+ * Returns an observable value tracking the tool-tip text of the given table
+ * column
+ *
+ * @param tableColumn
+ * the control to observe
+ * @return an observable value tracking the tool-tip text of the given table
+ * column
+ * @since 1.7
+ */
+ public static ISWTObservableValue<String> observeTooltipText(
+ TableColumn tableColumn) {
+ return WidgetProperties.tooltipTableColumn().observe(tableColumn);
+ }
+
+ /**
+ * Returns an observable value tracking the tool-tip text of the given tool
+ * item
+ *
+ * @param toolItem
+ * the control to observe
+ * @return an observable value tracking the tool-tip text of the given tool
+ * item
+ * @since 1.7
+ */
+ public static ISWTObservableValue<String> observeTooltipText(
+ ToolItem toolItem) {
+ return WidgetProperties.tooltipToolItem().observe(toolItem);
+ }
+
+ /**
+ * Returns an observable value tracking the tool-tip text of the given tray
+ * item
+ *
+ * @param trayItem
+ * the control to observe
+ * @return an observable value tracking the tool-tip text of the given tray
+ * item
+ * @since 1.7
+ */
+ public static ISWTObservableValue<String> observeTooltipText(
+ TrayItem trayItem) {
+ return WidgetProperties.tooltipTrayItem().observe(trayItem);
+ }
+
+ /**
+ * Returns an observable value tracking the tool-tip text of the given tree
+ * column
+ *
+ * @param treeColumn
+ * the control to observe
+ * @return an observable value tracking the tool-tip text of the given tree
+ * column
+ * @since 1.7
+ */
+ public static ISWTObservableValue<String> observeTooltipText(
+ TreeColumn treeColumn) {
+ return WidgetProperties.tooltipTreeColumn().observe(treeColumn);
}
/**
@@ -207,10 +381,11 @@
* @return observable value
* @throws IllegalArgumentException
* if <code>control</code> type is unsupported
- *
* @deprecated use instead one of the more specific methods
* (observeSelection(Button), observeSelection(Combo) etc)
*/
+ // It's ok to supress warnings on deprecated methods
+ @SuppressWarnings("unchecked")
public static ISWTObservableValue<?> observeSelection(Widget control) {
return WidgetProperties.selection().observe(control);
}
@@ -235,6 +410,8 @@
* @deprecated use instead one of the more specific methods
* (observeSelection(Button), observeSelection(Combo) etc)
*/
+ // It's ok to supress warnings on deprecated methods
+ @SuppressWarnings("unchecked")
public static ISWTObservableValue<?> observeSelection(Control control) {
return WidgetProperties.selection().observe(control);
}
@@ -513,7 +690,11 @@
* @return observable value
* @throws IllegalArgumentException
* if <code>control</code> type is unsupported
+ * @deprecated use instead one of the more specific methods
+ * observeText(Text), observeText(Styled)
*/
+ // It's ok to suppress warnings on deprecated methods
+ @SuppressWarnings("unchecked")
public static ISWTObservableValue<String> observeText(Control control,
int event) {
return WidgetProperties.text(event).observe(control);
@@ -521,6 +702,36 @@
/**
* Returns an observable observing the text attribute of the provided
+ * <code>org.eclipse.swt.widgets.Text</code>.
+ *
+ * @param control
+ * @param event
+ * event type to register for change events
+ * @return observable value
+ * @since 1.7
+ */
+ public static ISWTObservableValue<String> observeText(Text control,
+ int event) {
+ return WidgetProperties.textText(event).observe(control);
+ }
+
+ /**
+ * Returns an observable observing the text attribute of the provided
+ * <code>org.eclipse.swt.custom.StyledText</code>.
+ *
+ * @param control
+ * @param event
+ * event type to register for change events
+ * @return observable value
+ * @since 1.7
+ */
+ public static ISWTObservableValue<String> observeText(StyledText control,
+ int event) {
+ return WidgetProperties.textStyledText(event).observe(control);
+ }
+
+ /**
+ * Returns an observable observing the text attribute of the provided
* <code>widget</code>. The supported types are:
* <ul>
* <li>org.eclipse.swt.widgets.Button (as of 1.3)</li>
@@ -539,15 +750,138 @@
* @return observable value
* @throws IllegalArgumentException
* if the type of <code>widget</code> is unsupported
- *
* @since 1.3
+ * @deprecated use instead one of the more specific methods
+ * observeText(Button), observeText(CCombo) etc
*/
+ // It's ok to suppress warnings on deprecated methods
+ @SuppressWarnings({ "unchecked", "rawtypes" })
public static ISWTObservableValue observeText(Widget widget) {
return WidgetProperties.text().observe(widget);
}
/**
* Returns an observable observing the text attribute of the provided
+ * <code>Button</code>.
+ *
+ * @param widget
+ * @return observable value
+ * @since 1.7
+ */
+ public static ISWTObservableValue<String> observeText(Button widget) {
+ return WidgetProperties.textButton().observe(widget);
+ }
+
+ /**
+ * Returns an observable observing the text attribute of the provided
+ * <code>CCombo</code>.
+ *
+ * @param widget
+ * @return observable value
+ * @since 1.7
+ */
+ public static ISWTObservableValue<String> observeText(CCombo widget) {
+ return WidgetProperties.textCCombo().observe(widget);
+ }
+
+ /**
+ * Returns an observable observing the text attribute of the provided
+ * <code>CLabel</code>.
+ *
+ * @param widget
+ * @return observable value
+ * @since 1.7
+ */
+ public static ISWTObservableValue<String> observeText(CLabel widget) {
+ return WidgetProperties.textCLabel().observe(widget);
+ }
+
+ /**
+ * Returns an observable observing the text attribute of the provided
+ * <code>Combo</code>.
+ *
+ * @param widget
+ * @return observable value
+ * @since 1.7
+ */
+ public static ISWTObservableValue<String> observeText(Combo widget) {
+ return WidgetProperties.textCombo().observe(widget);
+ }
+
+ /**
+ * Returns an observable observing the text attribute of the provided
+ * <code>Item</code>.
+ *
+ * @param widget
+ * @return observable value
+ * @since 1.7
+ */
+ public static ISWTObservableValue<String> observeText(Item widget) {
+ return WidgetProperties.textItem().observe(widget);
+ }
+
+ /**
+ * Returns an observable observing the text attribute of the provided
+ * <code>Label</code>.
+ *
+ * @param widget
+ * @return observable value
+ * @since 1.7
+ */
+ public static ISWTObservableValue<String> observeText(Label widget) {
+ return WidgetProperties.textLabel().observe(widget);
+ }
+
+ /**
+ * Returns an observable observing the text attribute of the provided
+ * <code>Link</code>.
+ *
+ * @param widget
+ * @return observable value
+ * @since 1.7
+ */
+ public static ISWTObservableValue<String> observeText(Link widget) {
+ return WidgetProperties.textLink().observe(widget);
+ }
+
+ /**
+ * Returns an observable observing the text attribute of the provided
+ * <code>Shell</code>.
+ *
+ * @param widget
+ * @return observable value
+ * @since 1.7
+ */
+ public static ISWTObservableValue<String> observeText(Shell widget) {
+ return WidgetProperties.textShell().observe(widget);
+ }
+
+ /**
+ * Returns an observable observing the text attribute of the provided
+ * <code>StyledText</code>.
+ *
+ * @param widget
+ * @return observable value
+ * @since 1.7
+ */
+ public static ISWTObservableValue<String> observeText(StyledText widget) {
+ return WidgetProperties.textStyledText().observe(widget);
+ }
+
+ /**
+ * Returns an observable observing the text attribute of the provided
+ * <code>Text</code>.
+ *
+ * @param widget
+ * @return observable value
+ * @since 1.7
+ */
+ public static ISWTObservableValue<String> observeText(Text widget) {
+ return WidgetProperties.textText().observe(widget);
+ }
+
+ /**
+ * Returns an observable observing the text attribute of the provided
* <code>control</code>. The supported types are:
* <ul>
* <li>org.eclipse.swt.widgets.Button (as of 1.3)</li>
@@ -565,8 +899,12 @@
* @return observable value
* @throws IllegalArgumentException
* if <code>control</code> type is unsupported
+ * @deprecated use instead one of the more specific methods
+ * observeText(Button), observeText(CCombo) etc
*/
- public static ISWTObservableValue<String> observeText(Control control) {
+ // It's ok to suppress warnings on deprecated methods
+ @SuppressWarnings({ "rawtypes" })
+ public static ISWTObservableValue observeText(Control control) {
return observeText((Widget) control);
}
@@ -582,12 +920,40 @@
* @return an observable observing the message attribute of the provided
* <code>widget</code>.
* @since 1.3
+ * @deprecated use instead one of the more specific methods
+ * observeMessage(Text), observeMessage(ToolTip)
*/
+ // It's ok to suppress warnings on deprecated methods
+ @SuppressWarnings({ "rawtypes", "unchecked" })
public static ISWTObservableValue observeMessage(Widget widget) {
return WidgetProperties.message().observe(widget);
}
/**
+ * Returns an observable observing the message attribute of the provided
+ * <code>Text</code>.
+ *
+ * @param widget
+ * @return observable value
+ * @since 1.7
+ */
+ public static ISWTObservableValue<String> observeMessage(Text widget) {
+ return WidgetProperties.messageText().observe(widget);
+ }
+
+ /**
+ * Returns an observable observing the message attribute of the provided
+ * <code>Text</code>.
+ *
+ * @param widget
+ * @return observable value
+ * @since 1.7
+ */
+ public static ISWTObservableValue<String> observeMessage(ToolTip widget) {
+ return WidgetProperties.messageToolTip().observe(widget);
+ }
+
+ /**
* Returns an observable observing the image attribute of the provided
* <code>widget</code>. The supported types are:
* <ul>
@@ -602,12 +968,65 @@
* @throws IllegalArgumentException
* if <code>widget</code> type is unsupported
* @since 1.3
+ * @deprecated use instead one of the more specific methods
+ * observeImage(Button), observeImage(CLabel),
+ * observeImage(Item), observeImage(Label)
*/
+ // It's ok to suppress warnings on deprecated methods
+ @SuppressWarnings({ "rawtypes", "unchecked" })
public static ISWTObservableValue observeImage(Widget widget) {
return WidgetProperties.image().observe(widget);
}
/**
+ * Returns an observable observing the image attribute of the provided
+ * <code>Button</code>.
+ *
+ * @param widget
+ * @return observable value
+ * @since 1.7
+ */
+ public static ISWTObservableValue<Image> observeImage(Button widget) {
+ return WidgetProperties.imageButton().observe(widget);
+ }
+
+ /**
+ * Returns an observable observing the image attribute of the provided
+ * <code>CLabel</code>.
+ *
+ * @param widget
+ * @return observable value
+ * @since 1.7
+ */
+ public static ISWTObservableValue<Image> observeImage(CLabel widget) {
+ return WidgetProperties.imageCLabel().observe(widget);
+ }
+
+ /**
+ * Returns an observable observing the image attribute of the provided
+ * <code>Item</code>.
+ *
+ * @param widget
+ * @return observable value
+ * @since 1.7
+ */
+ public static ISWTObservableValue<Image> observeImage(Item widget) {
+ return WidgetProperties.imageItem().observe(widget);
+ }
+
+ /**
+ * Returns an observable observing the image attribute of the provided
+ * <code>Label</code>.
+ *
+ * @param widget
+ * @return observable value
+ * @since 1.7
+ */
+ public static ISWTObservableValue<Image> observeImage(Label widget) {
+ return WidgetProperties.imageLabel().observe(widget);
+ }
+
+ /**
* Returns an observable observing the items attribute of the provided
* <code>control</code>. The supported types are:
* <ul>
@@ -620,12 +1039,52 @@
* @return observable list
* @throws IllegalArgumentException
* if <code>control</code> type is unsupported
+ * @deprecated use instead one of the more specific methods
+ * observeItems(CCombo), observeItems(Combo), observeItems(List)
*/
+ // It's ok to suppress warnings on deprecated methods
+ @SuppressWarnings({ "rawtypes", "unchecked" })
public static IObservableList observeItems(Control control) {
return WidgetProperties.items().observe(control);
}
/**
+ * Returns an observable observing the items attribute of the provided
+ * <code>CCombo</code>.
+ *
+ * @param widget
+ * @return observable list of items
+ * @since 1.7
+ */
+ public static ISWTObservableList<String> observeItems(CCombo widget) {
+ return WidgetProperties.itemsCCombo().observe(widget);
+ }
+
+ /**
+ * Returns an observable observing the items attribute of the provided
+ * <code>Combo</code>.
+ *
+ * @param widget
+ * @return observable list of items
+ * @since 1.7
+ */
+ public static ISWTObservableList<String> observeItems(Combo widget) {
+ return WidgetProperties.itemsCombo().observe(widget);
+ }
+
+ /**
+ * Returns an observable observing the items attribute of the provided
+ * <code>List</code>.
+ *
+ * @param widget
+ * @return observable list of items
+ * @since 1.7
+ */
+ public static ISWTObservableList<String> observeItems(List widget) {
+ return WidgetProperties.itemsList().observe(widget);
+ }
+
+ /**
* Returns an observable observing the single selection index attribute of
* the provided <code>control</code>. The supported types are:
* <ul>
@@ -639,13 +1098,71 @@
* @return observable value
* @throws IllegalArgumentException
* if <code>control</code> type is unsupported
+ * @deprecated use instead one of the more specific methods
+ * observeSingleSelection(CCombo),
+ * observeSingleSelection(Combo), observeSingleSelection(List),
+ * observeSingleSelection(Table)
*/
+ // It's ok to suppress warnings on deprecated methods
+ @SuppressWarnings({ "rawtypes", "unchecked" })
public static ISWTObservableValue observeSingleSelectionIndex(
Control control) {
return WidgetProperties.singleSelectionIndex().observe(control);
}
/**
+ * Returns an observable observing the selection index of the provided
+ * <code>CCombo</code>.
+ *
+ * @param widget
+ * @return observable value of the integer index
+ * @since 1.7
+ */
+ public static ISWTObservableValue<Integer> observeSingleSelection(
+ CCombo widget) {
+ return WidgetProperties.singleSelectionIndexCCombo().observe(widget);
+ }
+
+ /**
+ * Returns an observable observing the selection index of the provided
+ * <code>Combo</code>.
+ *
+ * @param widget
+ * @return observable value of the integer index
+ * @since 1.7
+ */
+ public static ISWTObservableValue<Integer> observeSingleSelection(
+ Combo widget) {
+ return WidgetProperties.singleSelectionIndexCombo().observe(widget);
+ }
+
+ /**
+ * Returns an observable observing the selection index of the provided
+ * <code>List</code>.
+ *
+ * @param widget
+ * @return observable value of the integer index
+ * @since 1.7
+ */
+ public static ISWTObservableValue<Integer> observeSingleSelection(
+ List widget) {
+ return WidgetProperties.singleSelectionIndexList().observe(widget);
+ }
+
+ /**
+ * Returns an observable observing the selection index of the provided
+ * <code>Table</code>.
+ *
+ * @param widget
+ * @return observable value of the integer index
+ * @since 1.7
+ */
+ public static ISWTObservableValue<Integer> observeSingleSelection(
+ Table widget) {
+ return WidgetProperties.singleSelectionIndexTable().observe(widget);
+ }
+
+ /**
* Returns an observable value tracking the foreground color of the given
* control
*
@@ -654,7 +1171,7 @@
* @return an observable value tracking the foreground color of the given
* control
*/
- public static ISWTObservableValue observeForeground(Control control) {
+ public static ISWTObservableValue<Color> observeForeground(Control control) {
return WidgetProperties.foreground().observe(control);
}
@@ -667,7 +1184,7 @@
* @return an observable value tracking the background color of the given
* control
*/
- public static ISWTObservableValue observeBackground(Control control) {
+ public static ISWTObservableValue<Color> observeBackground(Control control) {
return WidgetProperties.background().observe(control);
}
@@ -678,7 +1195,7 @@
* the control to observe
* @return an observable value tracking the font of the given control
*/
- public static ISWTObservableValue observeFont(Control control) {
+ public static ISWTObservableValue<Font> observeFont(Control control) {
return WidgetProperties.font().observe(control);
}
@@ -690,7 +1207,7 @@
* @return an observable value tracking the size of the given control
* @since 1.3
*/
- public static ISWTObservableValue observeSize(Control control) {
+ public static ISWTObservableValue<Point> observeSize(Control control) {
return WidgetProperties.size().observe(control);
}
@@ -702,7 +1219,7 @@
* @return an observable value tracking the location of the given control
* @since 1.3
*/
- public static ISWTObservableValue observeLocation(Control control) {
+ public static ISWTObservableValue<Point> observeLocation(Control control) {
return WidgetProperties.location().observe(control);
}
@@ -714,7 +1231,7 @@
* @return an observable value tracking the focus of the given control
* @since 1.3
*/
- public static ISWTObservableValue observeFocus(Control control) {
+ public static ISWTObservableValue<Boolean> observeFocus(Control control) {
return WidgetProperties.focused().observe(control);
}
@@ -726,7 +1243,7 @@
* @return an observable value tracking the bounds of the given control
* @since 1.3
*/
- public static ISWTObservableValue observeBounds(Control control) {
+ public static ISWTObservableValue<Rectangle> observeBounds(Control control) {
return WidgetProperties.bounds().observe(control);
}
@@ -743,11 +1260,53 @@
* @return observable value
* @throws IllegalArgumentException
* if <code>control</code> type is unsupported
+ * @deprecated use instead one of the more specific methods
+ * observeEditable(CCombo), observeEditable(StyledText),
+ * observeEditable(Text)
*/
+ // It's ok to suppress warnings on deprecated methods
+ @SuppressWarnings({ "rawtypes", "unchecked" })
public static ISWTObservableValue observeEditable(Control control) {
return WidgetProperties.editable().observe(control);
}
+ /**
+ * Returns an observable observing the editable attribute of the provided
+ * <code>CCombo</code>.
+ *
+ * @param control
+ * @return observable value
+ * @since 1.7
+ */
+ public static ISWTObservableValue<Boolean> observeEditable(CCombo control) {
+ return WidgetProperties.editableCCombo().observe(control);
+ }
+
+ /**
+ * Returns an observable observing the editable attribute of the provided
+ * <code>StyledText</code>.
+ *
+ * @param control
+ * @return observable value
+ * @since 1.7
+ */
+ public static ISWTObservableValue<Boolean> observeEditable(
+ StyledText control) {
+ return WidgetProperties.editableStyledText().observe(control);
+ }
+
+ /**
+ * Returns an observable observing the editable attribute of the provided
+ * <code>Text</code>.
+ *
+ * @param control
+ * @return observable value
+ * @since 1.7
+ */
+ public static ISWTObservableValue<Boolean> observeEditable(Text control) {
+ return WidgetProperties.editableText().observe(control);
+ }
+
private static class DisplayRealm extends Realm {
private Display display;
diff --git a/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/swt/WidgetProperties.java b/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/swt/WidgetProperties.java
index 2baa2d2..a4cbe65 100644
--- a/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/swt/WidgetProperties.java
+++ b/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/swt/WidgetProperties.java
@@ -1421,8 +1421,8 @@
* tooltipCTabItem(), tooltipControl() etc
*/
// ok to ignore warnings in deprecated method
- @SuppressWarnings("rawtypes")
- public static IWidgetValueProperty tooltipText() {
+ @SuppressWarnings({ "unchecked" })
+ public static IWidgetValueProperty<Widget, Boolean> tooltipText() {
return new org.eclipse.jface.internal.databinding.swt.WidgetTooltipTextProperty();
}
diff --git a/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/viewers/CellEditorProperties.java b/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/viewers/CellEditorProperties.java
index 7212b83..6873f0c 100644
--- a/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/viewers/CellEditorProperties.java
+++ b/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/viewers/CellEditorProperties.java
@@ -14,6 +14,7 @@
import org.eclipse.core.databinding.property.value.IValueProperty;
import org.eclipse.jface.internal.databinding.viewers.CellEditorControlProperty;
import org.eclipse.jface.viewers.CellEditor;
+import org.eclipse.swt.widgets.Control;
/**
* A factory for creating properties of JFace {@link CellEditor cell editors}.
@@ -28,7 +29,7 @@
* @return a value property for observing the control of a
* {@link CellEditor}.
*/
- public static IValueProperty control() {
+ public static IValueProperty<CellEditor, Control> control() {
return new CellEditorControlProperty();
}
}
diff --git a/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/viewers/ObservableMapLabelProvider.java b/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/viewers/ObservableMapLabelProvider.java
index 0d69bb2..f19a421 100644
--- a/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/viewers/ObservableMapLabelProvider.java
+++ b/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/databinding/viewers/ObservableMapLabelProvider.java
@@ -93,7 +93,6 @@
* @param attributeMapsList
* @since 1.7
*/
- @SuppressWarnings("deprecation")
// This class must initialize the deprecated field
public ObservableMapLabelProvider(
List<IObservableMap<T, E>> attributeMapsList) {
diff --git a/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/swt/DateTimeSelectionProperty.java b/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/swt/DateTimeSelectionProperty.java
index 76ffe17..705dc88 100644
--- a/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/swt/DateTimeSelectionProperty.java
+++ b/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/swt/DateTimeSelectionProperty.java
@@ -23,7 +23,8 @@
* @since 3.2
*
*/
-public class DateTimeSelectionProperty extends WidgetValueProperty {
+public class DateTimeSelectionProperty extends
+ WidgetValueProperty<DateTime, Date> {
/**
*
*/
@@ -36,16 +37,14 @@
}
// One calendar per thread to preserve thread-safety
- private static final ThreadLocal calendar = new ThreadLocal() {
- protected Object initialValue() {
+ private static final ThreadLocal<Calendar> calendar = new ThreadLocal<Calendar>() {
+ protected Calendar initialValue() {
return Calendar.getInstance();
}
};
- protected Object doGetValue(Object source) {
- DateTime dateTime = (DateTime) source;
-
- Calendar cal = (Calendar) calendar.get();
+ protected Date doGetValue(DateTime dateTime) {
+ Calendar cal = calendar.get();
cal.clear();
if ((dateTime.getStyle() & SWT.TIME) != 0) {
cal.set(Calendar.HOUR_OF_DAY, dateTime.getHours());
@@ -59,18 +58,16 @@
return cal.getTime();
}
- protected void doSetValue(Object source, Object value) {
- DateTime dateTime = (DateTime) source;
-
+ protected void doSetValue(DateTime dateTime, Date value) {
if (value == null)
throw new IllegalArgumentException(
"Cannot set null selection on DateTime"); //$NON-NLS-1$
- Calendar cal = (Calendar) calendar.get();
- cal.setTime((Date) value);
+ Calendar cal = calendar.get();
+ cal.setTime(value);
if ((dateTime.getStyle() & SWT.TIME) != 0) {
- dateTime.setTime(cal.get(Calendar.HOUR_OF_DAY), cal
- .get(Calendar.MINUTE), cal.get(Calendar.SECOND));
+ dateTime.setTime(cal.get(Calendar.HOUR_OF_DAY),
+ cal.get(Calendar.MINUTE), cal.get(Calendar.SECOND));
} else {
dateTime.setDate(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH),
cal.get(Calendar.DAY_OF_MONTH));
diff --git a/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/swt/WidgetDelegatingListProperty.java b/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/swt/WidgetDelegatingListProperty.java
index 3f303c4..8508a2d 100644
--- a/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/swt/WidgetDelegatingListProperty.java
+++ b/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/swt/WidgetDelegatingListProperty.java
@@ -24,12 +24,23 @@
"Widget [" + source.getClass().getName() + "] is not supported."); //$NON-NLS-1$//$NON-NLS-2$
}
+ /**
+ *
+ * @param elementType
+ * @deprecated use the form which takes Class as a parameter. This is safer
+ * because code in this plug-in fails anyway if a Class is not
+ * passed.
+ */
public WidgetDelegatingListProperty(Object elementType) {
super(elementType);
}
+ public WidgetDelegatingListProperty(Class<E> elementType) {
+ super(elementType);
+ }
+
public ISWTObservableList<E> observe(S widget) {
- return (ISWTObservableList) observe(
+ return (ISWTObservableList<E>) observe(
SWTObservables.getRealm(widget.getDisplay()), widget);
}
}
\ No newline at end of file
diff --git a/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/viewers/ObservableCollectionTreeContentProvider.java b/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/viewers/ObservableCollectionTreeContentProvider.java
index 384a7a8..e315723 100644
--- a/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/viewers/ObservableCollectionTreeContentProvider.java
+++ b/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/viewers/ObservableCollectionTreeContentProvider.java
@@ -146,7 +146,8 @@
private void setViewer(Viewer viewer) {
viewerUpdater = createViewerUpdater(viewer);
comparer = getElementComparer(viewer);
- elementNodes = ViewerElementMap.<Object> withComparer(comparer);
+ elementNodes = ViewerElementMap
+ .<Object, TreeNode> withComparer(comparer);
viewerObservable.setValue(viewer); // (clears knownElements)
}
diff --git a/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/viewers/ViewerElementMap.java b/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/viewers/ViewerElementMap.java
index 9262dd9..e49f5df 100644
--- a/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/viewers/ViewerElementMap.java
+++ b/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/viewers/ViewerElementMap.java
@@ -20,7 +20,6 @@
import org.eclipse.core.runtime.Assert;
import org.eclipse.jface.databinding.util.Util;
-import org.eclipse.jface.internal.databinding.viewers.ObservableCollectionTreeContentProvider.TreeNode;
import org.eclipse.jface.viewers.IElementComparer;
import org.eclipse.jface.viewers.StructuredViewer;
@@ -445,9 +444,9 @@
* @return a Map for mapping viewer elements as keys to values, using the
* given {@link IElementComparer} for key comparisons.
*/
- public static <K> Map<K, TreeNode> withComparer(IElementComparer comparer) {
+ public static <K, V> Map<K, V> withComparer(IElementComparer comparer) {
if (comparer == null)
- return new HashMap<K, TreeNode>();
- return new ViewerElementMap<K, TreeNode>(comparer);
+ return new HashMap<K, V>();
+ return new ViewerElementMap<K, V>(comparer);
}
}
diff --git a/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/viewers/ViewerElementSet.java b/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/viewers/ViewerElementSet.java
index 99a605e..58bdbef 100644
--- a/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/viewers/ViewerElementSet.java
+++ b/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/viewers/ViewerElementSet.java
@@ -159,7 +159,7 @@
public Object[] toArray(Object[] a) {
int size = wrappedSet.size();
- ViewerElementWrapper[] wrappedArray = (ViewerElementWrapper[]) wrappedSet
+ ViewerElementWrapper[] wrappedArray = wrappedSet
.toArray(new ViewerElementWrapper[size]);
Object[] result = a;
if (a.length < size) {
@@ -200,9 +200,9 @@
* @return a Set for holding viewer elements, using the given
* {@link IElementComparer} for comparisons.
*/
- public static Set<Object> withComparer(IElementComparer comparer) {
+ public static <E> Set<E> withComparer(IElementComparer comparer) {
if (comparer == null)
- return new HashSet<Object>();
- return new ViewerElementSet(comparer);
+ return new HashSet<E>();
+ return new ViewerElementSet<E>(comparer);
}
}
diff --git a/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/viewers/ViewerUpdater.java b/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/viewers/ViewerUpdater.java
index 2bf9609..cfcb983 100644
--- a/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/viewers/ViewerUpdater.java
+++ b/bundles/org.eclipse.jface.databinding/src/org/eclipse/jface/internal/databinding/viewers/ViewerUpdater.java
@@ -71,7 +71,7 @@
Object element) {
if (!selection.isEmpty()) {
IElementComparer comparer = viewer.getComparer();
- for (Iterator iter = selection.iterator(); iter.hasNext();) {
+ for (Iterator<?> iter = selection.iterator(); iter.hasNext();) {
Object selectionElement = iter.next();
if (comparer == null ? Util.equals(element, selectionElement)
: comparer.equals(element, selectionElement)) {
diff --git a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet036ValidationMessageProvider.java b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet036ValidationMessageProvider.java
index 378da67..bb4d754 100644
--- a/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet036ValidationMessageProvider.java
+++ b/examples/org.eclipse.jface.examples.databinding/src/org/eclipse/jface/examples/databinding/snippets/Snippet036ValidationMessageProvider.java
@@ -110,12 +110,12 @@
setControl(container);
// Create the input fields.
- createTextLine(container, "Name", WritableValue
- .withValueType(String.class));
- createTextLine(container, "Age", WritableValue
- .withValueType(Integer.class));
- createTextLine(container, "Birthday", WritableValue
- .withValueType(Date.class));
+ createTextLine(container, "Name",
+ WritableValue.withValueType(String.class));
+ createTextLine(container, "Age",
+ WritableValue.withValueType(Integer.class));
+ createTextLine(container, "Birthday",
+ WritableValue.withValueType(Date.class));
// Attach the DBC's validation to the wizard.
WizardPageSupport wps = WizardPageSupport.create(this, dbc);
@@ -130,8 +130,8 @@
// Create the Label.
Label label = new Label(parent, SWT.LEFT);
label.setText(labelText);
- GridDataFactory.fillDefaults().align(SWT.LEFT, SWT.CENTER).applyTo(
- label);
+ GridDataFactory.fillDefaults().align(SWT.LEFT, SWT.CENTER)
+ .applyTo(label);
// Create the Text.
final Text text = new Text(parent, SWT.BORDER);
@@ -206,8 +206,7 @@
public int getMessageType(ValidationStatusProvider statusProvider) {
if (statusProvider instanceof Binding) {
Binding binding = (Binding) statusProvider;
- IStatus status = (IStatus) binding.getValidationStatus()
- .getValue();
+ IStatus status = binding.getValidationStatus().getValue();
// For required validations, we do not want to display an error
// icon since the user has not done anything wrong.
diff --git a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/NPETestScenario.java b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/NPETestScenario.java
index 2cdcd25..f2a6848 100644
--- a/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/NPETestScenario.java
+++ b/tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/scenarios/NPETestScenario.java
@@ -44,7 +44,7 @@
System.out
.println("Expecting message about not being able to attach a listener");
getDbc().bindValue(SWTObservables.observeText(text, SWT.Modify),
- BeansObservables.observeValue(person, "name"));
+ BeansObservables.observeValue(person, "name", String.class));
text.setText("Brad");
text.notifyListeners(SWT.FocusOut, null);