Scott,

You need to commit your local update to FragmentNotInLayoutException as trunk 
currently is broken:

    [javac] Compiling 13 source files to 
D:\workspace\jetspeed-2\layout-portlets\target\classes
    [javac] 
D:\workspace\jetspeed-2\layout-portlets\src\java\org\apache\jetspeed\portlets\layout\ColumnLayout.java:658:
cannot find symbol
    [javac] symbol  : constructor 
FragmentNotInLayoutException(org.apache.jetspeed.om.page.Fragment)
    [javac] location: class 
org.apache.jetspeed.portlets.layout.FragmentNotInLayoutException
    [javac]             throw new FragmentNotInLayoutException(fragment);
    [javac]                   ^
    [javac] Note: Some input files use unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.
    [javac] 1 error

[EMAIL PROTECTED] wrote:
Author: weaver
Date: Wed Aug 17 11:13:08 2005
New Revision: 233228

URL: http://svn.apache.org/viewcvs?rev=233228&view=rev
Log:
Column widths have been internalized into the ColumnLayout model object.

Modified:
    
portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/ColumnLayout.java

Modified: 
portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/ColumnLayout.java
URL: 
http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/ColumnLayout.java?rev=233228&r1=233227&r2=233228&view=diff
==============================================================================
--- 
portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/ColumnLayout.java
 (original)
+++ 
portals/jetspeed-2/trunk/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/ColumnLayout.java
 Wed Aug 17 11:13:08 2005
@@ -75,6 +75,9 @@
     /** SortedMap of Columns (which are also sorted maps */
     private final SortedMap columns;
+ /** Width settings for eacah column */
+    private final String[] columnWidthes;
+ /** * The type of layout this is, required for extract row/column properties
      * from a fragment.
@@ -88,7 +91,7 @@
     private final Map coordinates;
/** All of the LayoutEventListeners registered to this layout */
-    private final List eventListeners;
+ private final List eventListeners; /** * @@ -102,10 +105,11 @@
      *            formats without one format effecting the settings of another.
      * @see org.apache.jetspeed.om.page.Fragment#getType()
      */
-    public ColumnLayout(int numberOfColumns, String layoutType)
+    public ColumnLayout(int numberOfColumns, String layoutType, String[] 
columnWidthes)
     {
         this.numberOfColumns = numberOfColumns;
         this.layoutType = layoutType;
+        this.columnWidthes = columnWidthes;
         eventListeners = new ArrayList();
columns = new TreeMap();
@@ -142,9 +146,9 @@
      * @param fragments Initial set of fragments to add to this layout.
      * @throws LayoutEventException
      */
-    public ColumnLayout(int numberOfColumns, String layoutType, Collection 
fragments) throws LayoutEventException
+    public ColumnLayout(int numberOfColumns, String layoutType, Collection 
fragments, String[] columnWidthes) throws LayoutEventException
     {
-        this(numberOfColumns, layoutType);
+        this(numberOfColumns, layoutType, columnWidthes);
         Iterator fragmentsItr = fragments.iterator();
         try
         {
@@ -232,6 +236,61 @@
     {
         return 
Collections.unmodifiableCollection(getColumnMap(columnNumber).values());
     }
+ + /**
+     * returns the width to be used with the specified column.  If
+     * there is no specific column setting sfor the specified column
+     * 0 is returned.
+ * + * @param columnNumber whose width has been requested.
+     * @return the width to be used with the specified column.  Or 0 if no 
value
+     * has been specified.
+     */
+    public int getColumnWidth(int columnNumber)
+    {
+        if (columnNumber < numberOfColumns)
+        {
+            String stringValue = columnWidthes[columnNumber];
+            if (stringValue.endsWith("%"))
+            {
+                return Integer.parseInt(stringValue.substring(0, 
(stringValue.length() - 1)));
+            }
+            else
+            {
+                return Integer.parseInt(stringValue);
+            }
+        }
+        else
+        {
+            return 0;
+        }
+    }
+ + /**
+     * IE has a non-conformant box modle that takes into account both padding
+     * and margin settings.  You can use this method to return the column width
+ * reduced by the <code>reductionAmount</code> to prevent unwanted + * scrolling/wrapping.
+     *
+ * + * @param columnNumber whose width has been requested. Will be reduced by
+     * the <code>reductionAmount</code> argument.
+     * @param reductionAmount amount to subtract from the column's width 
setting
+     * @return column width reduced by the <code>reductionAmount</code>.
+     */
+    public int getSafeColumnWidth(int columnNumber, int reductionAmount)
+    {
+        int columnWidth = getColumnWidth(columnNumber);
+        if(columnWidth > 0)
+        {
+            return (columnWidth - reductionAmount);
+        }
+        else
+        {
+            return 0;
+        }
+ + } /**
      * @return <code>java.util.Collection</code> all of columns (also
@@ -596,7 +655,7 @@
         }
         else
         {
-            throw new FragmentNotInLayoutException((fragment == null)? "null 
fragment": fragment.getId());
+            throw new FragmentNotInLayoutException(fragment);
         }
     }


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]








---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to