View Javadoc

1   package org.kuali.student.common.ui.client.widgets.layout;
2   
3   import org.kuali.student.common.ui.client.configurable.mvc.SectionTitle;
4   
5   import com.google.gwt.user.client.ui.FlowPanel;
6   import com.google.gwt.user.client.ui.Label;
7   import com.google.gwt.user.client.ui.Widget;
8   
9   /**
10   * A layout which contains content blocks, used for a layout which contains logical blocks of content.
11   * Each row contains a space of 3 blocks, and depending on size of blocks added will wrap to the next line.
12   * 
13   * @author Kuali Student Team
14   *
15   */
16  @Deprecated
17  public class ContentBlockLayout extends VerticalFlowPanel{
18  	
19  	private SectionTitle sectionTitle = SectionTitle.generateH1Title("");
20  	private FlowPanel titlePanel = new FlowPanel();
21  	//private FlowPanel blockPanel = new FlowPanel();
22  	private FlowPanel currentRow;
23  	private int rowSize = 0;
24  	private int titleWidgetCount = 0;
25  	
26  	public ContentBlockLayout(String title){
27  		this.setContentTitle(title);
28  		titlePanel.add(sectionTitle);
29  		this.add(titlePanel);
30  		//this.add(blockPanel);
31  		sectionTitle.addStyleName("blockLayout-title");
32  		titlePanel.addStyleName("blockLayout-titlePanel");
33  		//blockPanel.addStyleName("blockLayout-content");
34  		this.addStyleName("blockLayout");
35  	}
36  	
37  	public void setContentTitle(String title){
38  		sectionTitle.setText(title);
39  	}
40  	
41  	public void addContentTitleWidget(Widget widget){
42  		
43  		if(titleWidgetCount != 0){
44  			Label separator = new Label(" | ");
45  			separator.addStyleName("titleWidget-separator");
46  			separator.addStyleName("blockLayout-title-widget");
47  			titlePanel.add(separator);
48  			titlePanel.add(widget);
49  		}
50  		else{
51  			titlePanel.add(widget);
52  		}
53  		widget.addStyleName("blockLayout-title-widget");
54  		titleWidgetCount++;
55  	}
56  	
57  	public void addContentBlock(ContentBlock block){
58  		if(rowSize == 0){
59  			FlowPanel row = new FlowPanel();
60  			this.add(row);
61  			row.addStyleName("blockLayout-row");
62  			currentRow = row;
63  		}
64  		currentRow.add(block);
65  		rowSize = rowSize + block.getBlockSize();
66  		if(rowSize == 3){
67  			rowSize = 0;
68  		}
69  		block.addStyleName("blockLayout-blockPadding");
70  	}
71  }