@ Override public boolean doLayout ( int availw , boolean force , boolean linestart ) { //if (getElement() != null && getElement().getAttribute("id").equals("gbzc")) // System.out.println("jo!"); //Skip if not displayed if ( ! displayed ) { content . setSize ( 0 , 0 ) ; bounds . setSize ( 0 , 0 ) ; return true ; } //remove previously splitted children from possible previous layout clearSplitted ( ) ; //shrink-to-fit when the width is not given by containing box or specified explicitly if ( ! hasFixedWidth ( ) ) { //int min = getMinimalContentWidthLimit(); int min = Math . max ( getMinimalContentWidthLimit ( ) , getMinimalContentWidth ( ) ) ; int max = getMaximalContentWidth ( ) ; int availcont = availw - emargin . left - border . left - padding . left - emargin . right - border . right - padding . right ; //int pref = Math.min(max, availcont); //if (pref < min) pref = min; int pref = Math . min ( Math . max ( min , availcont ) , max ) ; setContentWidth ( pref ) ; updateChildSizes ( ) ; } //the width should be fixed from this point widthComputed = true ; /* Always try to use the full width. If the box is not in flow, its width * is updated after the layout */ setAvailableWidth ( totalWidth ( ) ) ; if ( ! contblock ) //block elements containing inline elements only layoutInline ( ) ; else //block elements containing block elements layoutBlocks ( ) ; //allways fits as well possible return true ; }
Layout the sub - elements .