You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by sg...@apache.org on 2001/03/29 08:17:01 UTC

cvs commit: jakarta-jetspeed/src/java/org/apache/jetspeed/portal/controls PanedPortletControl.java

sgala       01/03/28 22:17:01

  Modified:    src/java/org/apache/jetspeed/portal/controls
                        PanedPortletControl.java
  Log:
  The table rendering was awful under some IE and Mozilla versions
  
  Revision  Changes    Path
  1.14      +98 -49    jakarta-jetspeed/src/java/org/apache/jetspeed/portal/controls/PanedPortletControl.java
  
  Index: PanedPortletControl.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/portal/controls/PanedPortletControl.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- PanedPortletControl.java	2001/03/07 06:46:06	1.13
  +++ PanedPortletControl.java	2001/03/29 06:17:00	1.14
  @@ -75,7 +75,7 @@
   portlet corresponding to the PortletSet managed</p>
   
   @author <a href="mailto:raphael@apache.org">Rapha�l Luta</a>
  -@version $Id: PanedPortletControl.java,v 1.13 2001/03/07 06:46:06 taylor Exp $
  +@version $Id: PanedPortletControl.java,v 1.14 2001/03/29 06:17:00 sgala Exp $
   */
   public class PanedPortletControl extends PortletControl {
   
  @@ -108,39 +108,75 @@
           int position = getPosition();
           
           switch ( position ) {
  -            case NORTH_POSITION:
  -                base.addElement( 
  -                    getTable( getWidth() ).addElement( titlebar )
  -                                          .addElement( getRuler( size, HORIZONTAL, rundata ) )
  -                                          .addElement( getPortletContent( portlet, HORIZONTAL, rundata ) )
  -                                          .addElement( getRuler( size, HORIZONTAL, rundata ) ) );
  -                titlebar.addElement( getTitleBar( portlet, HORIZONTAL, rundata ) );
  -                break;
  -            case SOUTH_POSITION:
  -                base.addElement( 
  -                    getTable( getWidth() ).addElement( getRuler( size, HORIZONTAL, rundata ) )
  -                                          .addElement( getPortletContent( portlet, HORIZONTAL, rundata ) )
  -                                          .addElement( getRuler( size, HORIZONTAL, rundata ) )
  -                                          .addElement( titlebar ) );
  -                titlebar.addElement( getTitleBar( portlet, HORIZONTAL, rundata ) );
  -                break;
  -            case WEST_POSITION:
  -                base.addElement(
  -                    getTable( getWidth() ).addElement( titlebar )
  -                                          .addElement( getRuler( size, VERTICAL, rundata ) )
  -                                          .addElement( getPortletContent( portlet, VERTICAL, rundata ) )
  -                                          .addElement( getRuler( size, VERTICAL, rundata ) ) );
  -                titlebar.addElement( getTitleBar( portlet, VERTICAL, rundata ) );
  -                break;
  -            case EAST_POSITION:
  -                base.addElement(
  -                    getTable( getWidth() ).addElement( getRuler( size, VERTICAL, rundata ) )
  -                                          .addElement( getPortletContent( portlet, VERTICAL, rundata ) )
  -                                          .addElement( getRuler( size, VERTICAL, rundata ) )
  -                                          .addElement( titlebar ) );
  -                titlebar.addElement( getTitleBar( portlet, VERTICAL, rundata ) );
  -                break;                                                               
  -         }
  +        case NORTH_POSITION:
  +            //Test with two separate tables: one for title and other for rest
  +            base.addElement( getTable(/* No width here */ null )
  +                             .addElement( titlebar ) );
  +            base.addElement(getTable( getWidth() ) 
  +                            .addElement( getRuler( size,
  +                                                   HORIZONTAL,
  +                                                   rundata ) )
  +                            .addElement( getPortletContent( portlet,
  +                                                            HORIZONTAL,
  +                                                            rundata ) )
  +                            .addElement( getRuler( size,
  +                                                   HORIZONTAL,
  +                                                   rundata ) ) );
  +            titlebar.addElement( getTitleBar( portlet,
  +                                              HORIZONTAL,
  +                                              rundata ) );
  +            break;
  +        case SOUTH_POSITION:
  +            base.addElement( getTable( getWidth() )
  +                             .addElement( getRuler( size,
  +                                                    HORIZONTAL,
  +                                                    rundata ) )
  +                             .addElement( getPortletContent( portlet,
  +                                                             HORIZONTAL,
  +                                                             rundata ) )
  +                             .addElement( getRuler( size,
  +                                                    HORIZONTAL,
  +                                                    rundata ) )
  +                             .addElement( titlebar ) );
  +            base.addElement( getTable(/* No width here */ null )
  +                             .addElement( titlebar ) );
  +            titlebar.addElement( getTitleBar( portlet,
  +                                              HORIZONTAL,
  +                                              rundata ) );
  +            break;
  +        case WEST_POSITION:
  +            base.addElement( getTable( getWidth() )
  +                             .addElement( titlebar )
  +                             .addElement( getRuler( size,
  +                                                    VERTICAL,
  +                                                    rundata ) )
  +                             .addElement( getPortletContent( portlet,
  +                                                             VERTICAL,
  +                                                             rundata ) )
  +                             .addElement( getRuler( size,
  +                                                    VERTICAL,
  +                                                    rundata ) ) );
  +            titlebar.addElement( getTitleBar( portlet,
  +                                              VERTICAL,
  +                                              rundata ) );
  +            break;
  +        case EAST_POSITION:
  +            base.addElement( getTable( getWidth() )
  +                             .addElement( getRuler( size,
  +                                                    VERTICAL,
  +                                                    rundata ) )
  +                             .addElement( getPortletContent( portlet,
  +                                                             VERTICAL,
  +                                                             rundata ) )
  +                             .addElement( getRuler( size,
  +                                                    VERTICAL,
  +                                                    rundata ) )
  +                             .addElement( titlebar ) );
  +            titlebar.addElement( getTitleBar( portlet,
  +                                              VERTICAL,
  +                                              rundata ) );
  +            break;
  +        }
            
           
   
  @@ -161,7 +197,11 @@
           if ( orientation == HORIZONTAL ) {
               TR tr = new TR();
               for( int i = 0; i < cells.length ; i++ ) {
  +                /* One cell with title */
                   tr.addElement( cells[i] );
  +                /* One empty cell for spacing */
  +                tr.addElement( new TD( "&nbsp;" ) );
  +
               }
               bar.addElement( tr );
           } else {
  @@ -170,9 +210,12 @@
               }
           }
           
  -        base.addElement( 
  -            new TD().setVAlign("top").addElement( 
  -                getTable( null ).setAlign( "left" ).addElement( bar ) ) );
  +        base.addElement( new TD()
  +            .setVAlign("top")
  +            .addElement( 
  +                        getTable( null )
  +                        .setAlign( "left" )
  +                        .addElement( bar ) ) );
                   
           if ( orientation == HORIZONTAL ) {
               return new TR().addElement( base );
  @@ -182,13 +225,14 @@
       }
   
       /**
  -    Utility method for generating tables
  +       Utility method for generating tables
       */
       private Table getTable( String width ) {
  -        Table t = new Table().setBorder(0)
  -                             .setCellPadding(0)
  -                             .setCellSpacing(0)
  -                             .setAlign( "center" );
  +        Table t = new Table()
  +            .setBorder(0)
  +            .setCellPadding(0)
  +            .setCellSpacing(0);
  +        /* .setAlign( "center" ) */
           
           if ( width != null ) t.setWidth( width );
           
  @@ -198,14 +242,17 @@
       /**
       Generates an horizontal or vertical HTML ruler
       */
  -    private ConcreteElement getRuler( int size, int orientation, RunData rundata ) {
  +    private ConcreteElement getRuler( int size,
  +                                      int orientation,
  +                                      RunData rundata ) {
           ElementContainer base = new ElementContainer();
   
           if ( size > 0 ) { 
               TD td = new TD().setBgColor( getSelectedColor() )
  -                            .addElement( new IMG( new ContentURI( rundata ).getURI( JetspeedResources.TRANSPARENT_IMAGE ) )
  -                                                .setHeight( size )
  -                                                .setWidth( size ) );
  +                .addElement( new IMG( new ContentURI( rundata )
  +                    .getURI( JetspeedResources.TRANSPARENT_IMAGE ) )
  +                    .setHeight( size )
  +                    .setWidth( size ) );
   
               if ( orientation == HORIZONTAL ) {
                   td.setHeight( size );
  @@ -254,9 +301,11 @@
           if ( portlet instanceof PortletSet ) {
               p = ((PortletSet)portlet).toArray();
               cells = new TD[((PortletSet)portlet).size()];
  +
  +            PortletController ctrlr = ((PortletSet)portlet).getController();
               
  -            if ( ((PortletSet)portlet).getController() instanceof CardPortletController ) {    
  -                controller = (CardPortletController)((PortletSet)portlet).getController();
  +            if (  ctrlr instanceof CardPortletController ) {    
  +                controller = (CardPortletController) ctrlr;
               }
           } else {
               p = new Portlet[1];
  @@ -280,7 +329,7 @@
                                           .addElement("  ") );
               if ( ( position == EAST_POSITION ) || ( position == WEST_POSITION ) ) {
                   cells[i].setWidth( getTabWidth() );
  -            } 
  +            }
           }
   
           return cells;
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jetspeed-dev-help@jakarta.apache.org