You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by gb...@apache.org on 2010/08/31 15:59:35 UTC

svn commit: r991195 - in /pivot/trunk/wtk/src/org/apache/pivot/wtk: ./ content/

Author: gbrown
Date: Tue Aug 31 13:59:35 2010
New Revision: 991195

URL: http://svn.apache.org/viewvc?rev=991195&view=rev
Log:
Clean up table view cell renderers a bit.

Modified:
    pivot/trunk/wtk/src/org/apache/pivot/wtk/TableView.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewCellRenderer.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewDateCellRenderer.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewFileSizeCellRenderer.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewMultiCellRenderer.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewNumberCellRenderer.java
    pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewTextAreaCellRenderer.java

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/TableView.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/TableView.java?rev=991195&r1=991194&r2=991195&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/TableView.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/TableView.java Tue Aug 31 13:59:35 2010
@@ -523,14 +523,14 @@ public class TableView extends Component
          * @param disabled
          * If <tt>true</tt>, the row is disabled.
          */
-        public void render(Object row, int rowIndex, int columnIndex,
-            TableView tableView, String columnName,
-            boolean selected, boolean highlighted, boolean disabled);
+        public void render(Object row, int rowIndex, int columnIndex, TableView tableView,
+            String columnName, boolean selected, boolean highlighted, boolean disabled);
 
         /**
          * Converts table view cell data to a string representation.
          *
          * @param row
+         * @param columnName
          *
          * @return
          * The cell data's string representation, or <tt>null</tt> if the data does not

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewCellRenderer.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewCellRenderer.java?rev=991195&r1=991194&r2=991195&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewCellRenderer.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewCellRenderer.java Tue Aug 31 13:59:35 2010
@@ -27,7 +27,6 @@ import org.apache.pivot.wtk.Label;
 import org.apache.pivot.wtk.TableView;
 import org.apache.pivot.wtk.VerticalAlignment;
 
-
 /**
  * Default table cell renderer. Renders cell contents as a string.
  */
@@ -47,30 +46,19 @@ public class TableViewCellRenderer exten
         validate();
     }
 
-    @SuppressWarnings("unchecked")
     @Override
     public void render(Object row, int rowIndex, int columnIndex,
         TableView tableView, String columnName,
         boolean selected, boolean highlighted, boolean disabled) {
         renderStyles(tableView, selected, disabled);
 
-        if (row != null) {
-            // Get the row and cell data
-            Object cellData = null;
-
-            if (columnName != null) {
-                Dictionary<String, Object> rowData;
-                if (row instanceof Dictionary<?, ?>) {
-                    rowData = (Dictionary<String, Object>)row;
-                } else {
-                    rowData = new BeanAdapter(row);
-                }
-
-                cellData = rowData.get(columnName);
-            }
-
-            setText(cellData == null ? null : cellData.toString());
+        String text = null;
+        if (row != null
+            && columnName != null) {
+            text = toString(row, columnName);
         }
+
+        setText(text);
     }
 
     protected void renderStyles(TableView tableView, boolean rowSelected, boolean rowDisabled) {
@@ -98,22 +86,18 @@ public class TableViewCellRenderer exten
         styles.put("color", color);
     }
 
+    @Override
     @SuppressWarnings("unchecked")
     public String toString(Object row, String columnName) {
-        // Get the row and cell data
-        Object cellData = null;
-
-        if (columnName != null) {
-            Dictionary<String, Object> rowData;
-            if (row instanceof Dictionary<?, ?>) {
-                rowData = (Dictionary<String, Object>)row;
-            } else {
-                rowData = new BeanAdapter(row);
-            }
-
-            cellData = rowData.get(columnName);
+        Dictionary<String, Object> dictionary;
+        if (row instanceof Dictionary<?, ?>) {
+            dictionary = (Dictionary<String, Object>)row;
+        } else {
+            dictionary = new BeanAdapter(row);
         }
 
+        Object cellData = dictionary.get(columnName);
+
         return (cellData == null) ? null : cellData.toString();
     }
 }

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewDateCellRenderer.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewDateCellRenderer.java?rev=991195&r1=991194&r2=991195&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewDateCellRenderer.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewDateCellRenderer.java Tue Aug 31 13:59:35 2010
@@ -24,8 +24,6 @@ import java.util.Date;
 import org.apache.pivot.beans.BeanAdapter;
 import org.apache.pivot.collections.Dictionary;
 import org.apache.pivot.util.CalendarDate;
-import org.apache.pivot.wtk.TableView;
-
 
 /**
  * Default renderer for table view cells that contain date data. Renders
@@ -54,41 +52,29 @@ public class TableViewDateCellRenderer e
 
     @Override
     @SuppressWarnings("unchecked")
-    public void render(Object row, int rowIndex, int columnIndex,
-        TableView tableView, String columnName,
-        boolean selected, boolean highlighted, boolean disabled) {
-        renderStyles(tableView, selected, disabled);
-
-        String formattedDate = null;
-
-        if (row != null) {
-            // Get the row and cell data
-            if (columnName != null) {
-                Dictionary<String, Object> rowData;
-                if (row instanceof Dictionary<?, ?>) {
-                    rowData = (Dictionary<String, Object>)row;
-                } else {
-                    rowData = new BeanAdapter(row);
-                }
-
-                Object cellData = rowData.get(columnName);
-
-                if (cellData != null) {
-                    if (cellData instanceof Date) {
-                        formattedDate = dateFormat.format((Date)cellData);
-                    } else if (cellData instanceof Long) {
-                        formattedDate = dateFormat.format(new Date((Long)cellData));
-                    } else if (cellData instanceof Calendar) {
-                        formattedDate = dateFormat.format(((Calendar)cellData).getTime());
-                    } else if (cellData instanceof CalendarDate) {
-                        formattedDate = dateFormat.format(((CalendarDate)cellData).toCalendar().getTime());
-                    } else {
-                        System.err.println(getClass().getName() + " cannot render " + cellData);
-                    }
-                }
-            }
+    public String toString(Object row, String columnName) {
+        Dictionary<String, Object> dictionary;
+        if (row instanceof Dictionary<?, ?>) {
+            dictionary = (Dictionary<String, Object>)row;
+        } else {
+            dictionary = new BeanAdapter(row);
+        }
+
+        Object cellData = dictionary.get(columnName);
+
+        String string;
+        if (cellData instanceof Date) {
+            string = dateFormat.format((Date)cellData);
+        } else if (cellData instanceof Long) {
+            string = dateFormat.format(new Date((Long)cellData));
+        } else if (cellData instanceof Calendar) {
+            string = dateFormat.format(((Calendar)cellData).getTime());
+        } else if (cellData instanceof CalendarDate) {
+            string = dateFormat.format(((CalendarDate)cellData).toCalendar().getTime());
+        } else {
+            string = (cellData == null) ? null : cellData.toString();
         }
 
-        setText(formattedDate);
+        return string;
     }
 }

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewFileSizeCellRenderer.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewFileSizeCellRenderer.java?rev=991195&r1=991194&r2=991195&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewFileSizeCellRenderer.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewFileSizeCellRenderer.java Tue Aug 31 13:59:35 2010
@@ -21,7 +21,6 @@ import org.apache.pivot.collections.Dict
 import org.apache.pivot.text.FileSizeFormat;
 import org.apache.pivot.wtk.HorizontalAlignment;
 import org.apache.pivot.wtk.Insets;
-import org.apache.pivot.wtk.TableView;
 
 /**
  * Default renderer for table view cells that contain file size data. Renders
@@ -38,34 +37,23 @@ public class TableViewFileSizeCellRender
 
     @Override
     @SuppressWarnings("unchecked")
-    public void render(Object row, int rowIndex, int columnIndex,
-        TableView tableView, String columnName,
-        boolean selected, boolean highlighted, boolean disabled) {
-        renderStyles(tableView, selected, disabled);
-
-        if (row != null) {
-            String formattedFileSize = null;
-
-            // Get the row and cell data
-            if (columnName != null) {
-                Dictionary<String, Object> rowData;
-                if (row instanceof Dictionary<?, ?>) {
-                    rowData = (Dictionary<String, Object>)row;
-                } else {
-                    rowData = new BeanAdapter(row);
-                }
-
-                Object cellData = rowData.get(columnName);
-
-                if (cellData instanceof Number) {
-                    formattedFileSize = FileSizeFormat.getInstance().format(cellData);
-                } else {
-                    System.err.println("Data for \"" + columnName + "\" is not an instance of "
-                        + Number.class.getName());
-                }
-            }
+    public String toString(Object row, String columnName) {
+        Dictionary<String, Object> dictionary;
+        if (row instanceof Dictionary<?, ?>) {
+            dictionary = (Dictionary<String, Object>)row;
+        } else {
+            dictionary = new BeanAdapter(row);
+        }
+
+        Object cellData = dictionary.get(columnName);
 
-            setText(formattedFileSize);
+        String string;
+        if (cellData instanceof Number) {
+            string = FileSizeFormat.getInstance().format(cellData);
+        } else {
+            string = (cellData == null) ? null : cellData.toString();
         }
+
+        return string;
     }
 }

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewMultiCellRenderer.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewMultiCellRenderer.java?rev=991195&r1=991194&r2=991195&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewMultiCellRenderer.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewMultiCellRenderer.java Tue Aug 31 13:59:35 2010
@@ -27,7 +27,6 @@ import org.apache.pivot.wtk.Dimensions;
 import org.apache.pivot.wtk.TableView;
 import org.apache.pivot.wtk.content.TableViewCellRenderer;
 
-
 /**
  * Table cell renderer that supports dynamic rendering based on the type of
  * content being rendered.
@@ -310,8 +309,8 @@ public class TableViewMultiCellRenderer 
         return STYLES;
     }
 
-    @SuppressWarnings("unchecked")
     @Override
+    @SuppressWarnings("unchecked")
     public void render(Object row, int rowIndex, int columnIndex,
         TableView tableView, String columnName,
         boolean selected, boolean highlighted, boolean disabled) {
@@ -322,22 +321,16 @@ public class TableViewMultiCellRenderer 
                     selected, highlighted, disabled);
             }
         } else {
-            // Get the row and cell data
-            Object cellData = null;
-
-            if (columnName != null) {
-                Dictionary<String, Object> rowData;
-                if (row instanceof Dictionary<?, ?>) {
-                    rowData = (Dictionary<String, Object>)row;
-                } else {
-                    rowData = new BeanAdapter(row);
-                }
-
-                cellData = rowData.get(columnName);
+            Dictionary<String, Object> dictionary;
+            if (row instanceof Dictionary<?, ?>) {
+                dictionary = (Dictionary<String, Object>)row;
+            } else {
+                dictionary = new BeanAdapter(row);
             }
 
-            TableView.CellRenderer cellRenderer = null;
+            Object cellData = dictionary.get(columnName);
 
+            TableView.CellRenderer cellRenderer = null;
             Class<?> valueClass = (cellData == null ? null : cellData.getClass());
             while (cellRenderer == null
                 && valueClass != Object.class) {
@@ -362,24 +355,19 @@ public class TableViewMultiCellRenderer 
         }
     }
 
+    @Override
     @SuppressWarnings("unchecked")
     public String toString(Object row, String columnName) {
-        // Get the row and cell data
-        Object cellData = null;
-
-        if (columnName != null) {
-            Dictionary<String, Object> rowData;
-            if (row instanceof Dictionary<?, ?>) {
-                rowData = (Dictionary<String, Object>)row;
-            } else {
-                rowData = new BeanAdapter(row);
-            }
-
-            cellData = rowData.get(columnName);
+        Dictionary<String, Object> dictionary;
+        if (row instanceof Dictionary<?, ?>) {
+            dictionary = (Dictionary<String, Object>)row;
+        } else {
+            dictionary = new BeanAdapter(row);
         }
 
-        TableView.CellRenderer cellRenderer = null;
+        Object cellData = dictionary.get(columnName);
 
+        TableView.CellRenderer cellRenderer = null;
         Class<?> valueClass = (cellData == null ? null : cellData.getClass());
         while (cellRenderer == null
             && valueClass != Object.class) {

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewNumberCellRenderer.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewNumberCellRenderer.java?rev=991195&r1=991194&r2=991195&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewNumberCellRenderer.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewNumberCellRenderer.java Tue Aug 31 13:59:35 2010
@@ -23,7 +23,6 @@ import org.apache.pivot.beans.BeanAdapte
 import org.apache.pivot.collections.Dictionary;
 import org.apache.pivot.wtk.HorizontalAlignment;
 import org.apache.pivot.wtk.Insets;
-import org.apache.pivot.wtk.TableView;
 
 /**
  * Default renderer for table view cells that contain numeric data. Renders
@@ -60,35 +59,23 @@ public class TableViewNumberCellRenderer
 
     @Override
     @SuppressWarnings("unchecked")
-    public void render(Object row, int rowIndex, int columnIndex,
-        TableView tableView, String columnName,
-        boolean selected, boolean highlighted, boolean disabled) {
-        renderStyles(tableView, selected, disabled);
-
-        String formattedNumber = null;
-
-        if (row != null
-            && columnName != null) {
-            // Get the row and cell data
-            Dictionary<String, Object> rowData;
-            if (row instanceof Dictionary<?, ?>) {
-                rowData = (Dictionary<String, Object>)row;
-            } else {
-                rowData = new BeanAdapter(row);
-            }
-
-            Object cellData = rowData.get(columnName);
-
-            if (cellData != null) {
-                if (cellData instanceof Number) {
-                    formattedNumber = numberFormat.format(cellData);
-                } else {
-                    System.err.println("Data for \"" + columnName + "\" is a "
-                        + cellData.getClass().getName() + ", not a " + Number.class.getName());
-                }
-            }
+    public String toString(Object row, String columnName) {
+        Dictionary<String, Object> dictionary;
+        if (row instanceof Dictionary<?, ?>) {
+            dictionary = (Dictionary<String, Object>)row;
+        } else {
+            dictionary = new BeanAdapter(row);
         }
 
-        setText(formattedNumber);
+        Object cellData = dictionary.get(columnName);
+
+        String string;
+        if (cellData instanceof Number) {
+            string = numberFormat.format(cellData);
+        } else {
+            string = (cellData == null) ? null : cellData.toString();
+        }
+
+        return string;
     }
 }

Modified: pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewTextAreaCellRenderer.java
URL: http://svn.apache.org/viewvc/pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewTextAreaCellRenderer.java?rev=991195&r1=991194&r2=991195&view=diff
==============================================================================
--- pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewTextAreaCellRenderer.java (original)
+++ pivot/trunk/wtk/src/org/apache/pivot/wtk/content/TableViewTextAreaCellRenderer.java Tue Aug 31 13:59:35 2010
@@ -30,8 +30,7 @@ import org.apache.pivot.wtk.TextArea;
  * Renders cell contents as a string using a text area (which supports line feeds,
  * which the default label-based table view cell renderer does not).
  */
-public class TableViewTextAreaCellRenderer extends TextArea
-    implements TableView.CellRenderer {
+public class TableViewTextAreaCellRenderer extends TextArea implements TableView.CellRenderer {
     public TableViewTextAreaCellRenderer() {
         getStyles().put("margin", new Insets(2));
     }
@@ -45,30 +44,19 @@ public class TableViewTextAreaCellRender
         validate();
     }
 
-    @SuppressWarnings("unchecked")
     @Override
     public void render(Object row, int rowIndex, int columnIndex,
         TableView tableView, String columnName,
         boolean selected, boolean highlighted, boolean disabled) {
         renderStyles(tableView, selected, disabled);
 
-        if (row != null) {
-            Object cellData = null;
-
-            // Get the row and cell data
-            if (columnName != null) {
-                Dictionary<String, Object> rowData;
-                if (row instanceof Dictionary<?, ?>) {
-                    rowData = (Dictionary<String, Object>)row;
-                } else {
-                    rowData = new BeanAdapter(row);
-                }
-
-                cellData = rowData.get(columnName);
-            }
-
-            setText(cellData == null ? null : cellData.toString());
+        String text = null;
+        if (row != null
+            && columnName != null) {
+            text = toString(row, columnName);
         }
+
+        setText(text);
     }
 
     protected void renderStyles(TableView tableView, boolean rowSelected, boolean rowDisabled) {
@@ -96,22 +84,17 @@ public class TableViewTextAreaCellRender
         styles.put("color", color);
     }
 
+    @Override
     @SuppressWarnings("unchecked")
     public String toString(Object row, String columnName) {
-        Object cellData = null;
-
-        // Get the row and cell data
-        if (columnName != null) {
-            Dictionary<String, Object> rowData;
-            if (row instanceof Dictionary<?, ?>) {
-                rowData = (Dictionary<String, Object>)row;
-            } else {
-                rowData = new BeanAdapter(row);
-            }
-
-            cellData = rowData.get(columnName);
+        Dictionary<String, Object> dictionary;
+        if (row instanceof Dictionary<?, ?>) {
+            dictionary = (Dictionary<String, Object>)row;
+        } else {
+            dictionary = new BeanAdapter(row);
         }
 
+        Object cellData = dictionary.get(columnName);
         return (cellData == null) ? null : cellData.toString();
     }
 }