001    package org.kuali.student.common.ui.client.widgets.layout;
002    
003    import org.kuali.student.common.ui.client.configurable.mvc.SectionTitle;
004    
005    import com.google.gwt.user.client.ui.FlowPanel;
006    import com.google.gwt.user.client.ui.Label;
007    import com.google.gwt.user.client.ui.Widget;
008    
009    /**
010     * A layout which contains content blocks, used for a layout which contains logical blocks of content.
011     * Each row contains a space of 3 blocks, and depending on size of blocks added will wrap to the next line.
012     * 
013     * @author Kuali Student Team
014     *
015     */
016    @Deprecated
017    public class ContentBlockLayout extends VerticalFlowPanel{
018            
019            private SectionTitle sectionTitle = SectionTitle.generateH1Title("");
020            private FlowPanel titlePanel = new FlowPanel();
021            //private FlowPanel blockPanel = new FlowPanel();
022            private FlowPanel currentRow;
023            private int rowSize = 0;
024            private int titleWidgetCount = 0;
025            
026            public ContentBlockLayout(String title){
027                    this.setContentTitle(title);
028                    titlePanel.add(sectionTitle);
029                    this.add(titlePanel);
030                    //this.add(blockPanel);
031                    sectionTitle.addStyleName("blockLayout-title");
032                    titlePanel.addStyleName("blockLayout-titlePanel");
033                    //blockPanel.addStyleName("blockLayout-content");
034                    this.addStyleName("blockLayout");
035            }
036            
037            public void setContentTitle(String title){
038                    sectionTitle.setText(title);
039            }
040            
041            public void addContentTitleWidget(Widget widget){
042                    
043                    if(titleWidgetCount != 0){
044                            Label separator = new Label(" | ");
045                            separator.addStyleName("titleWidget-separator");
046                            separator.addStyleName("blockLayout-title-widget");
047                            titlePanel.add(separator);
048                            titlePanel.add(widget);
049                    }
050                    else{
051                            titlePanel.add(widget);
052                    }
053                    widget.addStyleName("blockLayout-title-widget");
054                    titleWidgetCount++;
055            }
056            
057            public void addContentBlock(ContentBlock block){
058                    if(rowSize == 0){
059                            FlowPanel row = new FlowPanel();
060                            this.add(row);
061                            row.addStyleName("blockLayout-row");
062                            currentRow = row;
063                    }
064                    currentRow.add(block);
065                    rowSize = rowSize + block.getBlockSize();
066                    if(rowSize == 3){
067                            rowSize = 0;
068                    }
069                    block.addStyleName("blockLayout-blockPadding");
070            }
071    }